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 Type
Ja 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 Sub
Ja 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.