PDA

Просмотр полной версии : Перемещение персонажа в волкере :)


kyzdarovaky
28.05.2011, 18:35
Проблема в следующем, не показывается передвижение бота. Тыкаешь куда то идти он пробежит и появляется в той точке которую тыкнул. Самой анимации движения нету... Уже мозг весь себе спарил.. Кстати если поможет то пытаюсь научить бота от Грации Парт 2 бегать на епилоге. Формат пакетов вроде не отличается... (ValidatePosition и MoveToLocation) :confused: Ещё думал что бот не правильно воспринимается OBjid чара но сравнил пакеты CharInfo и длинна до OBjid тоже не отличается...

Добавлено через 1 час 37 минут
Ещё в епилоге сервер отправляет ValidateLocation а в ГП2 нет за что отвечает этот пакет и почему его нет в ГП2?

alexteam
29.05.2011, 12:33
Тыкаешь куда то идти он пробежит и появляется в той точке которую тыкнул.
ошибка при разборе пакета "о себе любимом", а именно неправильно вытянута\расчитана скорость ходьбы\бега

kyzdarovaky
29.05.2011, 13:19
Да действительно :) была проблема в кривом отображении скорости бега в UserInfo :) она просто отображалась как 0

wimax
29.05.2011, 23:46
Procedure fixuserinfo;
Var
a,cubsize,v,b:integer;
i:word;
size:array[0..110] of variant;
size1:array[0..40] of variant;
cubid:array[0..4,0..1] of integer;
size2:array[0..49] of variant;
size3:array[0..10] of variant;
size4:array[0..10] of integer;
begin
a:=2;
ReadMask('dddddsddddqddddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddddd',a,size);
b:=readD(a);
v:=ReadD(a);

ReadMask('ddddddddddddddddddddffffddddsdddddcccdd' ,a,size1);
cubsize:=ReadH(a);
For i:=0 to cubsize do
begin
cubid[i,1]:=ReadH(i*2+a);
end;
ReadMask('cdchhhdhddddccdcccddddcddddd',a,size2);
ReadMask('hhhhhhhh',a,size3);
ReadMask('dddddd',a,size4);
pck:='';
begin
buf:=#$32;
WriteMask('dddddsddddqdddddddddddddddddddddddddddd dddddddddddddddddddddddddddddddddddddddddddddddddd ddddddddddd',size);
WriteMask('ddddddddddddddddddddffffddddsdddddcccdd ',size1);
WriteH(cubsize);
For i:=0 to cubsize do
begin
WriteH(cubid[i,1]);
end;
WriteMask('chchhhdhddddccdcccddddcddddd',size2);
WriteMask('dddddddd',size3);
WriteMask('dddd',size4);
end;
SendToClient;
end;

править под свой серв