BlitzPlay Problem
Blitz3D Forums/Blitz3D Programming/BlitzPlay Problem
| ||
So I've completely made a modified version of FPSNet using Blitzplay.. All is fine until someone else join a game.. and I come across these two screens.. http://img210.imageshack.us/i/error1g.png/ http://img33.imageshack.us/i/error2v.png/ source code below.. If someone can help me out here.. would be nice.. :) Edit by System4 |
| ||
Holy mother of Christ. You're going to have to provide a LOT more information, like, where the error happens, which object its referring to etc. You could also try to narrow it down a bit instead of expecting people to wade through that lot. If you must post it all, at least put your code in CODEBOX tags - that way it won't make the forum page tall enough to reach the moon. |
| ||
Haha.. lol.. Alright.. I tried to get a friend to join me.. All was successful until a few seconds later.. He started to appear in multiples instead of just one networked player.. then I got the error message.. For some reason.. That error message is dealing with the BP_UDPMessage() Function.. ;New Player Joins Case 255 ; Player Joins p.Player = New Player p\iD = msg\msgFrom p\mesh[1] = CreateSphere(8) p\name$ = msg\msgData EntityColor(p\mesh[1], 0, 255, 0) PositionEntity(p\mesh[1], 5, 1.5, Rand(50,100)) EntityType(p\mesh[1],BODY) EntityRadius(p\mesh[1], 1.5) EntityPickMode(p\mesh[1], 2) p\mesh[2] = CreateCube(p\mesh[1]) PositionEntity(p\mesh[2], 1, -.5, 1) ScaleEntity(p\mesh[2], .1, .1, .4) EntityColor(p\mesh[2], 20, 20, 20) p\mesh[3] = CreatePivot(p\mesh[1]) PositionEntity(p\mesh[3], 0, 0, 5) If hosting p.Player = Object.Player(localPlayerPointer) ;SendNetMsg(7, randPos + "," + randNum + "-", p\iD#, NetMsgFrom(), 1) BP_UDPMessage(msg\msgFrom,7,randPos + "," + randNum + "-") EndIf Hosting/Joining Code If enterKeyPressed gns.GNET_Server = Object.GNET_Server(serverPointer) My_Port=Rand(1000,2000) FlushKeys Color(255,0,0) Locate(200,195) cablename$ = Input("Name - ") Select BP_JoinSession(cablename$,My_Port,gns\ip$,4545) Case BP_NOREPLY Cls RuntimeError "No reply from server.." End Case BP_IAMBANNED Cls RuntimeError "You have been banned.. Contact an admin for unban on the forums." End Case BP_GAMEISFULL Cls RuntimeError "The game session is currently Case BP_PORTNOTAVAILABLE Cls RuntimeError "Port: " + My_Port + " was not available.. exiting" End Case BP_USERABORT Cls RuntimeError "Connection attempt aborted!" End End Select p.Player = New Player localPlayerPointer = Handle(p.Player) p\iD = BP_My_ID Cls Setup("Game") hosting = False EndIf If spaceKeyPressed FlushKeys Color(255,0,0) Locate(200,195) servername$ = Input("Name - ") Delay(100) FlushKeys If GNET_AddServer("Soul Shooter Online", username$) If BP_HostSession(servername$,10,1,4545,10)= 1 p.Player = New Player localPlayerPointer = Handle(p.Player) p\iD = BP_My_ID Cls Setup("Game") hosting = True serverRefreshTimer# = MilliSecs() Else RuntimeError("Failed to Add Server!") EndIf EndIf EndIf Update Network Code; Function UpdateNetwork() For msg.MsgInfo=Each MsgInfo Select msg\msgType Case 1 For p.Player = Each Player If p\iD = msg\msgFrom DecodeIncomingMessage(msg\msgData) PositionEntity(p\mesh[1], incoming$(1), incoming$(2), incoming$(3)) RotateEntity(p\mesh[1], incoming$(4), incoming$(5), 0) If incoming$(6) <> "" p\score = incoming$(6) EndIf EndIf Next Case 2 p.Player = Object.Player(localPlayerPointer) CreateSomeParticles(EntityX(p\mesh[1]), EntityY(p\mesh[1]), EntityZ(p\mesh[1]), 255, 0, 0, 10) If justDied# + 500 < MilliSecs() DecodeIncomingMessage(msg\msgData) Select incoming$(1) Case 1 health# = health# - 5 Case 2 count = 0 If incoming$(2) <> 0 count = count + 1 EndIf If incoming$(3) <> 0 count = count + 1 EndIf If incoming$(4) <> 0 count = count + 1 EndIf health# = health# - (5 * count) Case 3 health# = health# - 25 End Select EndIf If health# <= 0 health# = 100 PositionEntity(p\mesh[1],5,1,Rand(0, 50)) ;SendNetMsg(3, "1", p\iD, NetMsgFrom(), 1) BP_UDPMessage(0,3,"1") CreateSomeParticles(EntityX(p\mesh[1]), EntityY(p\mesh[1]), EntityZ(p\mesh[1]), 255, 0, 0, 100) ;SendNetMsg(5, "1",p\iD, 0, 0) BP_UDPMessage(0,5,"1") justDied# = MilliSecs() EndIf Case 3 p.Player = Object.Player(localPlayerPointer) p\score = p\score + 1 Case 4 DecodeIncomingMessage(msg\msgData) Select incoming$(1) Case 1 CreateSomeParticles(incoming$(2), incoming$(3), incoming$(4), 50, 50, 50, 10) PM_AddEmitter(1,incoming$(2),incoming$(3),incoming$(4),0,"",True,False) PlaySound sounds$(12) Case 2 CreateSomeParticles(incoming$(2), incoming$(3), incoming$(4), 255, 255, 255, 10) CreateSomeParticles(incoming$(5), incoming$(6), incoming$(7), 255, 255, 255, 10) CreateSomeParticles(incoming$(8), incoming$(9), incoming$(10), 255, 255, 255, 10) PM_AddEmitter(5,incoming$(2),incoming$(3), incoming$(4),0,"",True,False) PM_AddEmitter(5,incoming$(5),incoming$(6), incoming$(7),0,"",True,False) PM_AddEmitter(5,incoming$(8),incoming$(9), incoming$(10),0,"",True,False) Case 3 CreateSomeParticles(incoming$(2), incoming$(3), incoming$(4), 255, 200, 100, 10) PM_AddEmitter(5,incoming$(2),incoming$(3),incoming$(4),0,"",True,False) End Select Case 5 For p.Player = Each Player If p\iD = msg\msgData CreateSomeParticles(EntityX(p\mesh[1]), EntityY(p\mesh[1]), EntityZ(p\mesh[1]), 255, 0, 0, 100) EndIf Next Case 6 c.chatMsg = New chatMsg c\msg = msg\msgData c\born# = MilliSecs() c\from = msg\msgFrom Case 7 DecodeIncomingMessage(msg\msgData) pup.powerUp = New powerUp pup\mesh = CopyEntity(copyPowerUp) powerUpSpawned = True PositionEntity(pup\mesh, EntityX(incoming$(1)),1,EntityX(incoming$(2))) Select incoming$(3) Case 1 pup\name$ = "Spark" EntityTexture(pup\mesh,ammotextures$(1)) Case 2 pup\name$ = "Deadly Gas" EntityTexture(pup\mesh,ammotextures$(3)) Case 3 pup\name$ = "Flamethrower" EntityTexture(pup\mesh,ammotextures$(2)) End Select randPosX = incoming$(1) randPosZ = incoming$(2) randNum = incoming$(3) Case 8 For pup.powerUp = Each powerUp FreeEntity(pup\mesh) Delete(pup) Next powerUpSpawned = False Case 9 For op.Player = Each Player If op\iD = msg\msgFrom DecodeIncomingMessage(msg\msgData) CreateSomeParticles(EntityX(op\mesh[2],True), EntityY(op\mesh[2], True), EntityZ(op\mesh[2], True), 255, 200, 100, 10, incoming$(1) + Rnd(-.05, .05), incoming$(2) + Rnd(-.05, .05), incoming$(3), "Flame") EndIf Next Case 255 ; Player Joins p.Player = New Player p\iD = msg\msgFrom p\mesh[1] = CreateSphere(8) p\name$ = msg\msgData EntityColor(p\mesh[1], 0, 255, 0) PositionEntity(p\mesh[1], 5, 1.5, Rand(50,100)) EntityType(p\mesh[1],BODY) EntityRadius(p\mesh[1], 1.5) EntityPickMode(p\mesh[1], 2) p\mesh[2] = CreateCube(p\mesh[1]) PositionEntity(p\mesh[2], 1, -.5, 1) ScaleEntity(p\mesh[2], .1, .1, .4) EntityColor(p\mesh[2], 20, 20, 20) p\mesh[3] = CreatePivot(p\mesh[1]) PositionEntity(p\mesh[3], 0, 0, 5) If hosting p.Player = Object.Player(localPlayerPointer) ;SendNetMsg(7, randPos + "," + randNum + "-", p\iD#, NetMsgFrom(), 1) BP_UDPMessage(msg\msgFrom,7,randPos + "," + randNum + "-") EndIf Case 254 ; Player Leaves For p.Player = Each Player If p\iD = msg\msgFrom FreeEntity(p\mesh[1]) Delete(p) EndIf Next Case 253 GNET_AddServer("Soul Shooter Online", username$) hosting = True End Select Next p.Player = Object.Player(localPlayerPointer) If positionUpdateTimer# + 50 < MilliSecs() ;SendNetMsg(1, EntityX(p\mesh[1]) + "," + EntityY(p\mesh[1]) + "," + EntityZ(p\mesh[1]) + "," + EntityPitch(camera) + "," + EntityYaw(p\mesh[1]) + "," + p\score + "-", p\iD, 0, 0) BP_UDPMessage(0,1,EntityX(p\mesh[1]) + "," + EntityY(p\mesh[1]) + "," + EntityZ(p\mesh[1]) + "," + EntityPitch(camera) + "," + EntityYaw(p\mesh[1]) + "," + p\score + "-") positionUpdateTimer# = MilliSecs() EndIf For op.Player = Each Player Select weapon$ Case "Spark" If shot = op\mesh[1] CreateSomeParticles(PickedX(), PickedY(), PickedZ(), 255, 0, 0, 10) ;SendNetMsg(2, "1-", p\iD, op\iD, 0) BP_UDPMessage(op\iD,2,"1-") EndIf Case "Deadly Gas" If shot = op\mesh[1] Or shot2 = op\mesh[1] Or shot3 = op\mesh[1] Select op\mesh[1] Case shot CreateSomeParticles(pickedArray(1, 1), pickedArray(1, 2), pickedArray(1, 3), 255, 0, 0, 10) Case shot2 CreateSomeParticles(pickedArray(2, 1), pickedArray(2, 2), pickedArray(2, 3), 255, 0, 0, 10) Case shot3 CreateSomeParticles(pickedArray(3, 1), pickedArray(3, 2), pickedArray(3, 3), 255, 0, 0, 10) End Select BP_UDPMessage(op\iD,2,"2," + Left(Str(shot), 1) + "," + Left(Str(shot2), 1) + "," + Left(Str(shot3), 1) + "-") ;SendNetMsg(2, "2," + Left(Str(shot), 1) + "," + Left(Str(shot2), 1) + "," + Left(Str(shot3), 1) + "-", p\iD, op\iD, 0) EndIf Case "Flamethrower" If shot = op\mesh[1] CreateSomeParticles(PickedX(), PickedY(), PickedZ(), 255, 0, 0, 10) BP_UDPMessage(op\iD,2,"3-") ;SendNetMsg(2, "3-", p\iD, op\iD, 0) EndIf End Select Next If hosting = True If serverRefreshTimer# + 25000 < MilliSecs() GNET_RefreshServer( "Soul Shooter Online",username$ ) serverRefreshTimer# = MilliSecs() EndIf EndIf End Function If you need more details or shortening.. Please let me know.. |