forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   Blitz3D (http://forum.boolean.name/forumdisplay.php?f=45)
-   -   Основы создания сетевой игры (http://forum.boolean.name/showthread.php?t=13279)

Vitalisimus 04.09.2010 19:02

Основы создания сетевой игры
 
Сделал все как в данном уроке:
http://blitzetc.blitzmax.ru/index.ph...м_Direc tPlay

Создаю сервер, выбираю тсп, ввожу имя серва
Выходит ошибка:
Multiplayer game already started

Если кто знает плиз помогите нубу..

impersonalis 04.09.2010 19:10

Ответ: Основы создания сетевой игры
 
уже не остаётся приличных слов: какого фига тема в 3д-проганьи?!!!1111

3D-программирование Вопросы, касающиеся программирования 3D мира

Vitalisimus 04.09.2010 19:25

Ответ: Основы создания сетевой игры
 
Да моя ошибка....
Но и тема была перемещена не туда....Это специфика для Блиц 3д. Так что ее надо было перенести в корневой каталог тем для Блица (который я вначале проглядел:-D )

DeeJex 04.09.2010 23:48

Ответ: Основы создания сетевой игры
 
Дай свой код.
It's you're error

.Squid 05.09.2010 00:41

Ответ: Основы создания сетевой игры
 
Цитата:

Сообщение от DeeJex (Сообщение 160944)
It's you're error

Што?

IGR 05.09.2010 02:43

Ответ: Основы создания сетевой игры
 
> Multiplayer game already started
А это ТОЧНО сообщение о ошибке ?? Я не писал на блице сетевые игры через директ плей !! Но если перевести это сообщение то оно как как бэ намекает что стартовала сетевая игра !!

LLI.T.A.L.K.E.R. 05.09.2010 02:45

Ответ: Основы создания сетевой игры
 
Вернее уже стартовала, запущена.

Vitalisimus 05.09.2010 07:22

Ответ: Основы создания сетевой игры
 
Код:

NetGame=StartNetGame()

Type Player
  Field name$,id,ent
End Type

Global cam
Global myent
Global myid
Global myname$

Graphics3D 800,600,32,2

SetBuffer BackBuffer()

jng=JoinNetGame("World Arena","127.0.0.1")
If Not jng Then HostNetGame("EEEE")

p.Player=New Player
p\name=Input("Enter your name:")
p\id=CreateNetPlayer(p\name)
p\ent=CreateCube()
myname=p\name
myid=p\id
myent=p\ent

cam=CreateCamera()
PositionEntity cam,0,2,-5

While Not KeyHit(1)

  UpdatePlayer()
  UpdateNetwork()
  RenderWorld
  Flip
Wend

Function UpdatePlayer()

  If KeyDown(17) MoveEntity myent,0,0,.1
  If KeyDown(31) MoveEntity myent,0,0,-.1
  If KeyDown(30) TurnEntity myent,0,1,0
  If KeyDown(32) TurnEntity 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=CreateCube()
      Case 101
        p.Player=FindPlayer(NetMsgFrom())
        FreeEntity 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 EntityX(ent)+"|"+EntityZ(ent)+"|"+EntityYaw(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$)))
  PositionEntity ent,x,0,z
  RotateEntity ent,0,yaw,0
End Function


DeeJex 05.09.2010 10:38

Ответ: Основы создания сетевой игры
 
NetGame=StartNetGame() зачем?

Vitalisimus 05.09.2010 11:34

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

DeeJex 05.09.2010 12:06

Ответ: Основы создания сетевой игры
 
Цитата:

Сообщение от Vitalisimus (Сообщение 160976)
Ну так чтоб сообственно говоря содать серв, а клиент к нему приконектился..

togda uberi
jng=JoinNetGame("World Arena","127.0.0.1")
If Not jng Then HostNetGame("EEEE")
lel. tut toje oshibka

Vitalisimus 07.09.2010 17:35

Ответ: Основы создания сетевой игры
 
Ну вроде работает, то есть ошибки не выдает.
НО!
Конект не работает, создаю игру, меня не видят, и наоборот пробовал, тогда я игру не вижу.
В чем может быть проблема?

DeeJex 08.09.2010 13:36

Ответ: Основы создания сетевой игры
 
jng=JoinNetGame("World Arena","127.0.0.1")
If Not jng Then HostNetGame("World Arena")


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

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