forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Xors3D (http://forum.boolean.name/forumdisplay.php?f=126)
-   -   Не подключается к серверу (http://forum.boolean.name/showthread.php?t=18782)

tirarex 13.12.2013 15:08

Не подключается к серверу
 
привет всем , перевел пример онлайн игрушки на ксорс и вот беда , клиент не видит сервер , и создает всегда новый .

если у кого есть пример онлайн игры на ксорс скиньте пожалуйста :)

Почему так ?
код

Include "xors3d.bb"

Type Player
Field name$,id,ent
End Type


Global cam
Global myent
Global myid
Global myname$

SeedRnd xMillisecs()
xGraphics3D 800, 600, 32, False, False
xSetBuffer xBackBuffer()

jng=JoinNetGame("game,"127.0.0.1")

If Not jng Then HostNetGame("game")

p.Player=New Player
p\name="namettdft"+rand(0,100)
p\id=CreateNetPlayer(p\name)
p\ent=xCreateCube()
myname=p\name
myid=p\id
myent=p\ent


cam=xCreateCamera()
xPositionEntity cam,0,2,-5


While Not xKeyHit(1)
UpdatePlayer()
UpdateNetwork()
xRenderWorld
xFlip
Wend


Function UpdatePlayer()
If xKeyDown(17) xMoveEntity myent,0,0,.1
If xKeyDown(31) xMoveEntity myent,0,0,-.1
If xKeyDown(30) xTurnEntity myent,0,1,0
If xKeyDown(32) xTurnEntity myent,0,-1,0
SendNetMsg 2,PackMsg$(myent),myid,0
End Function

Function UpdateNetwork()
While RecvNetMsg()
Select NetMsgType()
Case 100
p.Player=New Player
p\id=NetMsgFrom()
p\name=NetPlayerName(p\id)
p\ent=xCreateCube()
Case 101
p.Player=FindPlayer(NetMsgFrom())
xFreeEntity p\ent
Delete p
Case 2
p.Player=FindPlayer(NetMsgFrom())
UnpackMsg(p\ent,NetMsgData$())
End Select
Wend
End Function

Function FindPlayer.Player( id )
For p.Player=Each Player
If p\id=id Then Return p
Next
End Function

Function PackMsg$(ent)
Return xEntityX#(ent)+"|"+xEntityZ#(ent)+"|"+xEntityYaw#( ent)
End Function

Function UnpackMsg(ent,dat$)
xp#=Instr(dat$,"|")
x#=Float(Left(dat$,xp))
dat$=Right(dat$,Len(dat$)-xp)
zp#=Instr(dat$,"|")
z#=Float(Left(dat$,zp))
dat$=Right(dat$,Len(dat$)-zp)
yaw#=Float(Left(dat$,Len(dat$)))
xPositionEntity ent,x#,0,z#
xRotateEntity ent,0,yaw#,0
End Function

Жека 14.12.2013 19:22

Ответ: Не подключается к серверу
 
Я попробовал этот код, вывел дебаг, всё нормально: первый запуск пишет server, остальные - client.

Код:

jng=JoinNetGame("game","127.0.0.1")

If Not jng Then
        HostNetGame("game")
        DebugLog "server"
Else
        DebugLog "client"
EndIf



Часовой пояс GMT +4, время: 12:41.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot