Показать сообщение отдельно
Старый 23.08.2007, 19:43   #1
Данил
Модератор
 
Аватар для Данил
 
Регистрация: 11.07.2007
Сообщений: 2,910
Написано 686 полезных сообщений
(для 1,694 пользователей)
Счастье Проблема аццкого мегапроЭкта ...

Вот тут создаю аццкий мегапроэкт.. ну типо онлайн рпг..

Так.. уже есть меню и перемещение по карте. Но вот проблема в том, что если кто-нибудь подключается, сразу появляются УЖАСНЫе тормоза и лаги... В чём может быть проблема, кроме моих кривых рук ?

Вот в общем функция обновления игрока:

Function Updateplayer ( p.Player , m$)
If  m = myid Then
PositionEntity camera , EntityX (p\Model) , EntityY (p\Model)+30 , EntityZ (p\Model) - 25 ;Камера над игроком

TranslateEntity p\Model , 0 , -1 , 0 ;гравитация нах
PointEntity p\Model , Cursor ;поворачиваем объект к курсору
RotateEntity p\Model , 0 , EntityYaw (p\Model) , 0 ;типо чтоюы игрока не вертело


SendNetMsg 2,PackMsg$(myent),myid,0

End If


End Function
И две функции для инета...

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


Кстати, могу дать исходники...
(Offline)
 
Ответить с цитированием