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=5551)

HolyDel 11.01.2008 13:05

Ответ: коллизии в дерект плей
 
поехали:
1) идеологически мы не должны влиять на других (сетевых!) игроков. Прикинь ситацию, играеш ты спокойно, никого не трогаеш, а твой перс возьми, да прыгни, неприятно будет.
2) очевидно, что на второго игрока также дейтсвует гравитация на его машине, но за счет того, что инфа не передается, то изминение координаты не считается. и все сетевые игроки стоят на одном месте.

Tadeus 11.01.2008 13:10

Re: коллизии в дерект плей
 
А, действительно :-) Напутал малость

сергей 11.01.2008 13:26

Re: коллизии в дерект плей
 
а почему сетевой игрок не скалится маленкий такой как исправить ?

HolyDel 11.01.2008 13:29

Ответ: коллизии в дерект плей
 
ну не знаю. может отскалить? ScaleENTITY ent,10,10,10

сергей 11.01.2008 13:35

непомогает я также делал

и еще такое я сделал как ты говарил но теперь такое на экране двигаюсб норм но ... сетевой игрок видит что я двигаюсь не так например я у себя еду норм вижу а он видит что я верх хотя я вперед ?
еще и колизии пропали когда он смотрит на меня то видит как я сквоз стену Оо

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$)))
yp=Instr(dat$,"|")
y=Float(Left(dat$,yp))
dat$=Right(dat$,Len(dat$)-yp)
PositionEntity ent,x,y,z
RotateEntity ent,0,yaw,0
End Function

вот так я сделал правильно ?

HolyDel 11.01.2008 13:42

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

Цитата:

вот так я сделал правильно ?
нет.

Raiter 11.01.2008 15:21

Ответ: коллизии в дерект плей
 
Цитата:

и еще такое я сделал как ты говарил но теперь такое на экране двигаюсб норм но ... сетевой игрок видит что я двигаюсь не так например я у себя еду норм вижу а он видит что я верх хотя я вперед ?
еще и колизии пропали когда он смотрит на меня то видит как я сквоз стену Оо
Ищи ошибки в коде.

сергей 11.01.2008 15:34

нет.

я хз HolyDel исправ меня меня не гравитации нечега ааааааааааааа

все перепробывал

пиши все в одном сообщении! на крайняк есть кнопка "Правка"

Raiter 11.01.2008 15:39

Ответ: коллизии в дерект плей
 
Ты передаеш координаты Х, Y, Z ? А также Pitch, Yaw, Roll?

HolyDel 11.01.2008 15:47

Ответ: коллизии в дерект плей
 
Код:

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$))) ;получаем весь оставшийся текст
yp=Instr(dat$,"|") ;получаем позицию символа "|"
y=Float(Left(dat$,yp)) ;получаем текст до етой позиции, и превращаем его в число
dat$=Right(dat$,Len(dat$)-yp);убираем весь текст до етой позиции
PositionEntity ent,x,y,z
RotateEntity ent,0,yaw,0
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);убираем весь текст до етой позиции
yawp=Instr(dat$,"|") ;получаем позицию символа "|"
yaw=Float(Left(dat$,yawp)) ;получаем текст до етой позиции и превращаем его в число
dat$=Right(dat$,Len(dat$)-yawp);убираем весь текст до етой позиции
y=Float(dat$) ;получаем текст до етой позиции, и превращаем его в число
PositionEntity ent,x,y,z
RotateEntity ent,0,yaw,0
End Function

что то типа такого должно быть

impersonalis 11.01.2008 16:09

Ответ: коллизии в дерект плей
 
циклыыы... юзайте циклыыы

HolyDel 11.01.2008 16:10

Ответ: коллизии в дерект плей
 
impersonalis, не катит. ему же не массив обновлять.
а если в цикле будет Select на каждый возможный вариант счетчика, то ето будет смешно.
конечно ввести ф-ии, типа
GetNextValue(str$) можно было бы.

Raiter 11.01.2008 16:14

Ответ: коллизии в дерект плей
 
ИМХО для него это ещё слишком сложно. Он вон тупо скопипастил и не знает, что с этим кодом делать. Совет: напиши всё сам с нуля (тем более писать то пару десятков строк). Данные передавай примитивно, тоесть отдельно каждое значение. Зато это ты осилиш... Надеюсь :-)

HolyDel 11.01.2008 16:39

Ответ: коллизии в дерект плей
 
сеть?
с нуля?

сергей 11.01.2008 18:16

Re: коллизии в дерект плей
 
HolyDel спс я понял ща сидел разбирался тока вот сетевой игрок не как не скалится все равно я его виже маленким и камере перескаливал все перепробывал ппц (


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

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