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 SubJaa... 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ä.
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...
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? :)
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 =/
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
jotenki sillain ku tossa dc-haksori vinkissä on se pitäs saada
siis cd-haksori ><
Yritä etsiä apuja FreeVBCodesta, siellä ehkä vois olla? (www.freevbcode.com)
Aihe on jo aika vanha, joten et voi enää vastata siihen.