|
Xors3D Графический движок с поддержкой DirectX9 |
13.12.2013, 15:08
|
#1
|
Бывалый
Регистрация: 23.11.2011
Сообщений: 863
Написано 334 полезных сообщений (для 866 пользователей)
|
Не подключается к серверу
привет всем , перевел пример онлайн игрушки на ксорс и вот беда , клиент не видит сервер , и создает всегда новый .
если у кого есть пример онлайн игры на ксорс скиньте пожалуйста
Почему так ?
код
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
|
(Offline)
|
|
14.12.2013, 19:22
|
#2
|
Дэвелопер
Регистрация: 04.09.2005
Адрес: Красноярск
Сообщений: 1,376
Написано 491 полезных сообщений (для 886 пользователей)
|
Ответ: Не подключается к серверу
Я попробовал этот код, вывел дебаг, всё нормально: первый запуск пишет server, остальные - client.
jng=JoinNetGame("game","127.0.0.1")
If Not jng Then
HostNetGame("game")
DebugLog "server"
Else
DebugLog "client"
EndIf
|
(Offline)
|
|
Сообщение было полезно следующим пользователям:
|
|
Ваши права в разделе
|
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 02:45.
|