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.