forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   3D-программирование (http://forum.boolean.name/forumdisplay.php?f=12)
-   -   Help(UDP) (http://forum.boolean.name/showthread.php?t=5135)

Антихрист 26.11.2007 19:38

Help(UDP)
 
Помогите разоьраться с UDP подклбчением(особееноости онлаин игра)
Вот была приведна сетевая игра(пример) гоночки кубиками но меня почему то она токо рассмешила! сомтрите:
Const in_port=53424
Const out_port=53425
Global Stream_1=CreateUDPStream(out_port)
Global Stream_2=CreateUDPStream(in_port)
Global op_ip$=Input()
Global cub
Global cub2

Graphics3D 800,600,32,2
SetBuffer BackBuffer()

cub=CreateCube()
MoveEntity cub,-2,0,0
cub2=CreateCube()
MoveEntity cub,2,0,0

cam=CreateCamera(cub)
PositionEntity cam,0,5,-10

While Not KeyHit(1)
If KeyDown(200) MoveEntity cub,0,0,.1
If KeyDown(208) MoveEntity cub,0,0,-.1
If KeyDown(203) TurnEntity cub,0,1,0
If KeyDown(205) TurnEntity cub,0,-1,0
UpdateNetwork()
RenderWorld
Flip
Wend

End

Function UpdateNetwork()
WriteLine Stream_1,EntityX(cub)
WriteLine Stream_1,EntityZ(cub)
WriteLine Stream_1,EntityYaw(cub)
SendUDPMsg Stream_1,Int_IP(op_ip$),in_port
If RecvUDPMsg(Stream_2) Then
PositionEntity cub2,Float(ReadLine$(Stream_2)),0,Float(ReadLine$( Stream_2))
RotateEntity cub2,0,Float(ReadLine$(Stream_2)),0
EndIf
End Function

Function Int_IP(IP$)
d1%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d2%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d3%=Left(IP$,Instr(IP$,".")-1):IP$=Right(IP$,Len(IP$)-Instr(IP$,"."))
d4%=IP$
Return (d1 Shl 24) + (d2 Shl 16) + (d3 Shl 8 ) +d4
End FunctionВо первых оба игрока управляют одним и тем же кубиком во торых идет подключение через ип! а как сделать что бы все ко мне подрубались! а не вводить ипы лруг друга! И еще как бы организовать что бы каждый новый игрок имел свой собственный(новосозданный) кубик и имел собственное имя(ID) С заранее спасибо!жду овтетлв!Сорри за орфаграфию Ачепяток много! :SOS::SOS::SOS:

Tadeus 26.11.2007 19:52

Re: Help(UDP)
 
Незнаю, незнаю. То что приводил я тестировалось в Интернете. Причем успешно ;)

Антихрист 26.11.2007 20:00

Re: Help(UDP)
 
нУ А ТЫ посмотри! If KeyDown(200) MoveEntity cub,0,0,.1
тут уже видно что ечь идёт о кубе(единственном)

Tadeus 26.11.2007 20:13

Re: Help(UDP)
 
Цитата:

If RecvUDPMsg(Stream_2) Then
PositionEntity cub2,Float(ReadLine$(Stream_2)),0,Float(ReadLine$( Stream_2))
RotateEntity cub2,0,Float(ReadLine$(Stream_2)),0
EndIf
А это что, блин?!

Если даж не разобрался - не спрашивай. Я помогать не буду... ;)

Антихрист 27.11.2007 11:05

Re: Help(UDP)
 
обьясни-мы пробывали! в двоем по локалке! Оба входят видно всё один комп жмет влево кубик двигаеться влево на другом жму в право ТОТ же кубик идёт в право!Ипы вводили правильные(друг друга) где глюк?


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

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