Moikka! Elikkä koitan tehä semmosta character creation systeemiä, roolipelin alkuosioon ja mulla on moduuli missä on seuraavat tiedot:
Option Explicit
Public Type tPlayer
name As String
race As String
age As Integer
'Attributes
str As Integer
dex As Integer
con As Integer
wis As Integer
cha As Integer
'General stuff
lvl As Integer
nextlvl As Integer
gold As Integer
xp As Integer
hp As Integer
maxhp As Integer
sp As Integer
maxsp As Integer
af As Single
df As Single
points As Integer
'Battle stuff
hitfctr As Single
dmgfctr As Single
tohit As Single
dice As Single
dmg As Single
realdmg As Integer
End TypeJa sitte mulla on formissa buttoneita seuraavilla tiedoilla:
Private Sub btnChaApply_Click(Index As Integer)
player.points = 38
lblStr.Caption = player.str
lblDex.Caption = player.dex
lblCon.Caption = player.con
lblWis.Caption = player.wis
lblCha.Caption = player.cha
Select Case (Index)
Case 0
player.str = player.str + 1
player.points = player.points - 1
lblPoints.Caption = player.points
Case 1
player.str = player.str - 1
player.points = player.points + 1
lblPoints.Caption = player.points
Case 2
player.dex = player.dex + 1
player.points = player.points - 1
lblPoints.Caption = player.points
Case 3
player.dex = player.dex - 1
player.points = player.points + 1
lblPoints.Caption = player.points
Case 4
player.con = player.con + 1
player.points = player.points - 1
lblPoints.Caption = player.points
Case 5
player.con = player.con - 1
player.points = player.points + 1
lblPoints.Caption = player.points
Case 6
player.wis = player.wis + 1
player.points = player.points - 1
lblPoints.Caption = player.points
Case 7
player.wis = player.wis - 1
player.points = player.points + 1
lblPoints.Caption = player.points
Case 8
player.cha = player.cha + 1
player.points = player.points - 1
lblPoints.Caption = player.points
Case 9
player.cha = player.cha - 1
player.points = player.points + 1
lblPoints.Caption = player.points
End Select
End Sub
Private Sub cmdApply_Click()
fraApply.Visible = True
player.age = txtAge.Text
player.name = txtName.Text
lblName.Caption = player.name
lblAge.Caption = player.age
cmdRoll.Enabled = False
cmdApply.Enabled = False
txtName.Enabled = False
txtAge.Enabled = False
player.str = 5
player.dex = 5
player.con = 5
player.wis = 5
player.cha = 5
End SubJa tossa btnChaApply-nappisekasikiössä on siis monta nappia (10) joista joka toinen on + captionilla ja joka toinen - captionilla. Eli tarkoitus ois siis että kun klikkaa plussaa niin (yllätys, yllätys) atribuutin pitäis nousta yhdellä ja käytössä olevien pisteiden pitäis vähentyä yhdellä jne. Seuraavanlaisia bugeja ainakin oli ku yritin kokeilla:
ku klikkaa plussaa mistä tahansa atribuutista niin total pointsit menee 37:ään ja kun klikkaa miinusta mistä tahansa atribuutista niin total pointsit menee 39:ään.
jos klikkaa esim dexterityn (dex) kohdalta plussaa niin se atribuutti ei nouse ennenku on klikannu jotain muuta nappia (ihan sama mitä niistä napeista, eli päivitys ei ilmeisesti ole ihan kohdallaan)
ja sitte ku koittaa vaihtaa atribuuttia mitä nostaa niin se muuttaa edellistä atribuuttia vielä kerran ennenkun alkaa muokkaamaan sitä mitä nyt klikkasit, eli esim klikkaan dexterity + 1 nappia ja sen jälkeen constitution + 1 nappia niin nostaa vielä yhden dexterityä vaikka painan sitä constitutionia.
Siinä formilla näkyy siis noi playerin tiedot labeleissa.
Muuten voisin hommaa googlettaakkin, mutta kun en oikein ymmärrä ongelmaa joten joudun teitä Putkalaisia häiritsemään taas vähän typerillä kysymyksillä :(
-Feltsu
feltsu kirjoitti:
ku klikkaa plussaa mistä tahansa atribuutista niin total pointsit menee 37:ään ja kun klikkaa miinusta mistä tahansa atribuutista niin total pointsit menee 39:ään.
Joka kerta, kun klikkaat btnChaApply-nappia, asetat player.pointsin uudestaan 38:ksi.
feltsu kirjoitti:
jos klikkaa esim dexterityn (dex) kohdalta plussaa niin se atribuutti ei nouse ennenku on klikannu jotain muuta nappia (ihan sama mitä niistä napeista, eli päivitys ei ilmeisesti ole ihan kohdallaan)
Klikatessa btnChaApplya päivität labelien captionit jo ennen kuin asetat attribuuteille uuden arvon. Eli vaihdat vain niiden paikkoja, niin pitäisi toimia.
Viimeiseen kysymykseen en nyt äkkiseltään löydä vastausta koodia katsomalla, kun ei ole VB6:tta asennettu enkä voi kokeilla.
Aivan! Kiitos RQ, nyt lähti pelittää niinku halusinkin :) Mut tässä nyt vois samaan syssyyn kysästä että mistä löytää semmosen "optionin" tai mikä se nyt sitte oliskaan että formit avautuu aina samaan kohtaan, että ku tossa samaisessa pelissä nyt on useampi formi ja sitte vähä vaihtelee että mitä formei näkyy milläkin hetkellä niin miten saan sillai että form2 latautuu juuri piiloon menneen form1:sen päälle? Vähän meinaa rasittavaa ku kokoajan pomppii formit ruudulla paikasta toiseen :) Meni kyllä vähän offtopiciksi tähän alkuperäiseen kysymykseen nähden, mutta sattuu sitä paremmissakin piireissä :)
-Feltsu
Aihe on jo aika vanha, joten et voi enää vastata siihen.