Извините, ничего не найдено.

Не расстраивайся! Лучше выпей чайку!
Регистрация
Справка
Календарь

Вернуться   forum.boolean.name > Программирование игр для компьютеров > Xors3D

Xors3D Графический движок с поддержкой DirectX9

Ответ
 
Опции темы
Старый 13.12.2013, 15:08   #1
tirarex
Бывалый
 
Аватар для tirarex
 
Регистрация: 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)
 
Ответить с цитированием
Сообщение было полезно следующим пользователям:
tirarex (14.12.2013)
Ответ


Опции темы

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


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


vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot
Style crйe par Allan - vBulletin-Ressources.com