Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: VB6: Apua nettipeliin

Sivun loppuun

CoDeR [27.04.2005 17:15:50]

#

Eli olen siis tekemässä vb:llä tekstipohjaista nettiroolipeliä. Sen ideana on siis että yksi ihminen toimii GameMasterina (ja tekee siis servun johon pelaajat liittyvät).
GameMaster (GM) toimii siis pelin "johtajana" ja pelaajat pelaavat tiimissä. Pelaajat huolehtivat siis hahmoistaan ja yrittävät tiimissä päästä pelin läpi. Ja homma alkaa niin että yksi ihminen loggaa GM:na sisään (ilmestyy ikkuna jossa luodaan servua ja odotetaan pelaajia jotta peli voisi alkaa -> http://koti.mbnet.fi/w64/ikkuna.bmp) Sitten pari muuta ihmistä loggaa pelaajina sisään ja yhditää servuun (tietysti tietyn ip:n ja portin kautta) , ja kun pelaaja yhdistää niin tulee GM:n servuikkunaan näkymään pelaaja1 (joten yksi pelaaja on yhdistänyt). Sitten kun toisen pitäisi yhdistää ja nimen pitäisi tulla samaiseen ikkunaan kuten pelaaja1:n .... niin ei tule =( .... Sit laitoin et ku joku yhdistää ni heittää MsgBoxilla kuinka monta on yhdistäny, ni ku eka yhdistää ni lähettää "1" , mut sit ku toinen ni ei mitää .... apuva. Tässä hieman koodia:

' Servun teko

Private Sub Form_Activate()
txtIP = ws(0).LocalIP
txtPort = Portti
txtGM = Nimi
    ws(0).LocalPort = Portti ' Portti on siis 31137 :D
    ws(0).Listen
End Sub

Private Sub ws_ConnectionRequest(Index As Integer, ByVal requestID As Long)
    ws(ws.UBound).Close
    ws(ws.UBound).Accept requestID
    Load ws(ws.UBound + 1)
    MsgBox ws.UBound

    Select Case txtPlayer1.Enabled

     Case True
      txtPlayer1.Text = "Pelaaja1"
      txtPlayer1.Enabled = False

     Case False
       txtPlayer2.Text = "Pelaaja2"
       txtPlayer2.Enabled = False

    End Select

End Sub

' Pelaaja

Private Sub cmdConnect_Click()

 Winsock1.Close
 Winsock1.Connect txtIP, txtPort

End Sub

Harrastelija [27.04.2005 17:34:55]

#

Jaa... Kuulostaa hankalalta, mutta oletko varma että tuo (Select Case txtPlayer1.Enabled) toimii? Mitäs jos kokeilisit luoda kakkospelaajan toisella casella? Eli:
(Select Case txtPlayer2.Enabled)
ja siihen
Case True2
txtPlayer2.Text = "Pelaaja2"
txtPlayer2.Enabled = False
Tällä saat selville sen, voiko näitä käsitellä yhdessä.

CoDeR [27.04.2005 17:39:24]

#

kyllä Select Case txtPlayer1.Enabled toimii :) ... koska kyllä tää juttu toimi sen kohdalla kuka connectaa ekana, mut se toka on ongelma =(. ... ja kokeilin tuota esimerkkiä mutta eipä toiminut sekään =(
.... en oo kyllä varma mutta voiskohan tää jotenkin johtuu noista Winsockin jutuista...

Harrastelija [27.04.2005 17:49:59]

#

No mitäs luulet jollei Winsock voi vastaanottaa kuin yhden pelaajan kerrallaan? Luulen ettei ongelma ole koodi, kun ei siitä mitään virheellistä kohtaa löydä. Voisit hankkia ehkä jostain netistä Winsockista jonkun päivitetyn version, jos sellaista nyt onkaan? :)

CoDeR [27.04.2005 18:28:02]

#

kyllä se voi :D ... ja kyllä tää versio on ennenki toiminu et ei se siit oo kiinni :) ... mut jos se on jotenki siitä että kun sitä winsockia pitää vähän säätää että se voi ottaa monta yhteyttä vastaan .. ja jos se on nyt niin että se voi ottaa vaan yhen =/

Harrastelija [27.04.2005 18:46:53]

#

nii-i, mutta mistäs säädät? sellaisia kun menee ihan sellaseltaan muuttelemaan niin ei ota enää pelaaja yhtäkään vastaan :) no tosin voisi Edit Pad Proolla

CoDeR [27.04.2005 21:37:40]

#

jotenki sillain ku tossa dc-haksori vinkissä on se pitäs saada

CoDeR [28.04.2005 13:30:00]

#

siis cd-haksori ><

Harrastelija [28.04.2005 13:49:17]

#

Yritä etsiä apuja FreeVBCodesta, siellä ehkä vois olla? (www.freevbcode.com)


Sivun alkuun

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta