PDA

Просмотр полной версии : [Обсуждение] Возможно ли прибавить какое то значение к части пакета?


martiniFresh
28.01.2012, 20:21
Здравствуйте!
Задалась вот каким вопросом, можно ли скриптом, точнее в скрипте к пакету допустим: - 9F 00 57 5C FF 90 E7 B7 44 FD 85 F3 44 3A B1 12 44 07 00
прибавить определённое значение?
Вот смотрите:
Это наш пакет для опытов - 9F 00 57 5C FF 90 E7 B7 44 FD 85 F3 44 3A B1 12 44 07 00
Это пакет на телепорт.
Где:
координата Х
координата Y
координата Z
Дак вот, можно допустим к координате Z, с помощью скрипта прибавить какое то значение?

Допустим вот так: 3A B1 12 44 + 80 84 1E 00
или в цифрах:
1142075706 + 2000000
и чтоб получилось: 1144075706 (BA 35 31 44)
Чтоб скрипт выполнил прибавление к координате Z и отправил этот пакет по использованию эмоции?

Yanetank
28.01.2012, 20:32
Можно но я сам не умею проси знающих в скриптинге.

martiniFresh
28.01.2012, 21:13
У кого есть идеи по делу? Только не флудите пожалуйста.

manyunya
29.01.2012, 00:05
[Ссылки могут видеть только зарегистрированные и активированные пользователи]
азы

ответ:все можно

в каком формате у тебя хранится координата?
как ты ее будеш вычислять?

простейший прмер квк что то писать в готовый пакет:
Пример:
buf=HStr('AA BB CC DD EE');
Если вызвать функцию WriteD(10,1), то получим buf=[0A 00 00 00 EE].
А если просто WriteD(10), то [AA BB CC DD EE 0A 00 00 00].

короче пиши скрипт, а я допишу модификацию пакета в нем
можеш тут, а можно и в личку.




сор сразу не понял сути что нужно)
но вопрос остался темже)? есть координата z, что ты с ней хочеш сделать? что будеш прибавлять?(откуда брать то что собралась прибавлять)

martiniFresh
29.01.2012, 01:35
простейший прмер квк что то писать в готовый пакет:
Немного не то.
В вашем примере, значение AA BB CC DD EE либо вообще заменяеться WriteD(10,1), то получим buf=[0A 00 00 00 EE], а мне нужно чтоб к AA BB CC DD EE прибавлялась 0A 00 00 00, чтоб было вот так AA BB CC DD EE + 0A 00 00 00 = AF 7E 02 41 EE. Вот. Вроде верно посчитала.

Добавлено через 8 минут
Прибавлять хочу добустим мою заданную ранее статичную величину. Допустим как я описала в примере в начале темы 2000000 (80 84 1E 00), её можно указать в начале скрипта в виде $001E8480. Вроде верно, если нет исправте меня. как к примеру в скрипте - [Ссылки могут видеть только зарегистрированные и активированные пользователи] (В первом скрипте, в начале где выбор из таблицы скоростей идёт). И чтоб она уже прибавлялась к той координате Z которая берёться из пакет пойманного скриптом а именно мою нынешнюю точку нахождения, тоесть скрипт должен поймать пакет 9F с моими свежими координатами и прибавить 2000000 к координате Z и отправить этот изменённый пакет 9F. В общем он должен будет путём прибавления к координате Z (а она отвечает за высоту), поднимать персонажа всё выше и выше телепортируя его. Или лучьше взять не 9F, а допустим уже пакет полёта допустим, чтоб прям в полёте изменялась координата игрока.

manyunya
29.01.2012, 03:01
все понял)
т.е. прибавлять будет константу?
чем меньше тем плавнее(медленее будет плдыматься)
или за раз на нужную высоту(константа соответствует прибовляемой высоте)

думаю это не проблема.
нужно только посмотреть как работает суммирование.


если интересно, могу предложить вариант полет в произвольном месте, думаю эффект тотже будет.
но скриптик гляну

AA BB CC DD EE + 0A 00 00 00=AA C5 CC DD EE

martiniFresh
29.01.2012, 12:12
Да, всё верно. А ещё по моему вы неверно сложили - AA BB CC DD EE + 0A 00 00 00=AA C5 CC DD EE Потому как должно с первого байта же складывать, а 0A получаеться прибавилось к BB. Должно по моему быть вот так. AA BB CC DD EE + 0A 00 00 00 = B4 BB CC DD EE
Эти 2 байта - не затрагиваються в вычислениях.

Usilok77
29.01.2012, 15:56
Это наш пакет для опытов - 9F 00 57 5C FF 90 E7 B7 44 FD 85 F3 44 3A B1 12 44 07 00
Это пакет на телепорт.
Где:
координата Х
координата Y
координата Z
Дак вот, можно допустим к координате Z, с помощью скрипта прибавить какое то значение?
Считываем координату Z процедурой:
MyZ:=ReadD;(14) у нас получится int переменная, просто прибавляем 20000:
MyZ:=MyZ+20000;
и далее записываем в пакет и отправляем на серв...
хотя хз, может вы имели ввиду чтото другое...)

Furydose
29.01.2012, 16:33
Вы не правильно расшифровали пакет, в пакете движения координаты осей записаны не в DWord, а в формате Single.
Т.е. из вашего пакета координаты:
90 E7 B7 44 x: 1471,236328125
FD 85 F3 44 y: 1948,18713378906
3A B1 12 44 z: 586,769165039063


Вот пример скрипта:
var
x,y,z,n:integer;

if FromClient and (pck[1]=#$9F) then
begin
buf:=hstr('9F 00 57 5C FF'); //записываем в buf начало пакета (до координат)

n:=200; //наше число которое мы будем прибавлять

x:=readn(6); //считываем x из pck в формате Single
y:=readn(10); //считываем y из pck в формате Single
z:=readn(14); //считываем z из pck в формате Single

z:=z+n; //прибавляем к z число n

writen(x); //записываем x в buf в формате Single
writen(y); //записываем y в buf в формате Single
writen(z); //записываем z в buf в формате Single

buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
end;
end.

manyunya
29.01.2012, 16:39
Да, всё верно. А ещё по моему вы неверно сложили - Потому как должно с первого байта же складывать, а 0A получаеться прибавилось к BB. Должно по моему быть вот так. AA BB CC DD EE + 0A 00 00 00 = B4 BB CC DD EE
Эти 2 байта - не затрагиваються в вычислениях.

не помню как правильно складывать
складывал в калькуляторе, все притензии к нему)

Вы не правильно расшифровали пакет, в пакете движения координаты осей записаны не в DWord, а в формате Single.
Т.е. из вашего пакета координаты:
90 E7 B7 44 x: 1471,236328125
FD 85 F3 44 y: 1948,18713378906
3A B1 12 44 z: 586,769165039063

var
x,y,z,n:integer;

if FromClient and (pck[1]=#$9F) then
begin
buf:=hstr('9F 00 57 5C FF'); //записываем в buf начало пакета (до координат)

n:=200; //наше число которое мы будем прибавлять

x:=readn(6); //считываем x из pck в формате Single
y:=readn(10); //считываем y из pck в формате Single
z:=readn(14); //считываем z из pck в формате Single

z:=z+n; //прибавляем к z число n

writen(x); //записываем x в buf в формате Single
writen(y); //записываем y в buf в формате Single
writen(z); //записываем z в buf в формате Single

buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
end;
end.

Вот пример скрипта:

у меня не работает вот эта конструкция
(pck[1]=#$9F)
перестала и все)
у всех так?

Furydose
29.01.2012, 16:40
Да, только это без привязки к эмоции, привязать не получится, т.к. нам просто негде будет сохранить наше текущее положение(скрипты выполняются к каждому пакету отдельно).

manyunya
29.01.2012, 16:42
у меня не работает вот эта конструкция
(pck[1]=#$9F)
перестала и все)
у всех так?


Да, только это без привязки к эмоции, привязать не получится, т.к. нам просто негде будет сохранить наше текущее положение(скрипты выполняются к каждому пакету отдельно).

это к какой теме ответ? )
а зачем привязывать если к этой?


возникли вопросы(мое недопонимание)

MyZ:=ReadD(14); у нас получится int переменная, просто прибавляем 20000:
Вы не правильно расшифровали пакет, в пакете движения координаты осей записаны не в DWord, а в формате Single.
x:=readn(6); //считываем x из pck в формате Single


в чем разница?

Furydose
29.01.2012, 16:59
manyunya,
Чтоб скрипт выполнил прибавление к координате Z и отправил этот пакет по использованию эмоции?
Как-бы просили.

MyZ:=ReadD(14); тут считвыается в формате DWord
x:=readn(6); тут в формате Single

У координат формат Single.

manyunya
29.01.2012, 17:01
ReadD();
readn();

выходит это разные записи?
если так, то не знал и спс)

снимаю вопрос
совсем заработался я )

Furydose
29.01.2012, 17:06
Именно так. Все это есть по ссылке что вы скинули=)
ReadC(var index:integer):byte - читает из переменной pck байт
ReadH(var index:integer):word - читает из переменной pck число (2 байта) (v. 3.1.8+)
ReadD(var index:integer):integer - читает из переменной pck число (4 байта)
ReadF(var index:integer):double - читает из переменной pck число c плавающей запятой(8 байт) (v. 3.1.8+)
ReadS(var index:integer):string - читает из переменной pck строку (в пакете строка unicode нультерминированная, а результирующая строка обычная паскалевская)

manyunya
29.01.2012, 17:11
Именно так. Все это есть по ссылке что вы скинули=)

сор ступил по этому вопросу

но есть другой
ReadD(var index:integer):integer - читает из переменной pck число (4 байта)
разве нам в хексе не все равно как читать?

считаю все равно
нам ведь пофиг как там клиент будет потрошить пакет, нам нужно только прибавить константу к координате.

нужно будет только константу подобрать в правильном формате и все.

Furydose
29.01.2012, 17:54
Конечно не все равно как читать, DWord без плавающей запятой в отличие от Single. Значения совершенно неверные получатся.
В DWord z у нас 1144075706
А на самом деле в Single 586,769165039063

manyunya
29.01.2012, 19:00
так яж написал что тока константой нужно будет поиграться

мы ведь не прелбразовываем пакет, что прочитали то и вернули+константа.

ведь 586,769165039063=1144075706

martiniFresh
29.01.2012, 19:48
мы ведь не прелбразовываем пакет, что прочитали то и вернули+константа.

ведь 586,769165039063=1144075706
Ну по сути да. Я просто когда меняю координаты в пакете 9F я в преобразовании перевожу из HEX - 1142075706 и прибавляю 2000000 получаеться - 1144075706, перевожу снова в HEX и возвращаю в пакет 9F в место координаты соответсвенной. Я просто про Single не знала и работала с координатами через DWord.( Теперь буду знать и может так будет проще работать с ними. А по поводу скрипта
var
x,y,z,n:integer;

if FromClient and (pck[1]=#$9F) then
begin
buf:=hstr('9F 00 57 5C FF'); //записываем в buf начало пакета (до координат)

n:=200; //наше число которое мы будем прибавлять

x:=readn(6); //считываем x из pck в формате Single
y:=readn(10); //считываем y из pck в формате Single
z:=readn(14); //считываем z из pck в формате Single

z:=z+n; //прибавляем к z число n

writen(x); //записываем x в buf в формате Single
writen(y); //записываем y в buf в формате Single
writen(z); //записываем z в buf в формате Single

buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
end;
end.
Как же тогда быть, если скрипт не привязан к эмоции. Ведь тогда на каждый пакет 9F будет выполняться скрипт. И он ведь не отправляет вроде уже изменённый пакет на сервер. Верно? А ещё По поводу привязки к эмоции, как активировать скрипт тогда? Если он выполняеться постоянно, то получаеться скрипт для ДОС атак.
А задумывался:
Игрок находясь в игре нажимает на эмоцию, и игрока поднимает на определённую высоту в том месте где он стоит. (Внутреняя структура скрипта: После пакета эмоции скрипт ловит ближайший пакет 9F, берёт из него координату Z, прибавляет к ней допустим 2000000 (варианты: можно непреобразовывая прибавлять заданую уже в HEX, а можно чтоб 2000000 переводилась в HEX и прибавлялась.), и отправляем на сервер.)

manyunya
29.01.2012, 20:11
все возможно привязать как всегда

martiniFresh
29.01.2012, 20:39
Тогда наверно лучьше этот скрипет в процедуру сделать, и уже процедуру привязать к активатору. Верно? По крайней мере я только так умею пока.)

Furydose
29.01.2012, 20:47
В Single все равно работать удобней, т.к. 1 единица соответствует 1 игровому метру.

На счет привязки к эмоции. Скрипты работают с 1 пакетом за раз. Т.е. он видит пакет движения, берет значения и сохраняет, но при приходе пакета эмоции эти значения обнуляются. И так с каждым последующим пакетом.
Можно просто уже измененный пакет движения вставить в скрипт и привязать к эмоции.

manyunya
29.01.2012, 21:29
var
x,y,z,n:Single;
vkl:boolean;
procedure Init; //Вызывается при включении скрипта
begin
vkl:=FaLse;
end;

procedure Free; //Вызывается при выключении скрипта
begin

end;

begin

if FromClient and (pck=HStr('C2 00 57 61 FF 15 01 00 00 00 00 00')) then // смех
begin
if (vkl) then
begin
vkl:=false;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет выкл!');
SendToClient;
end
else
begin
vkl:=true;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет вкл!');
SendToClient;
end;
pck:='';
end;

if (vkl) and FromClient and (ReadC(1)=$9f) and (ReadC(2)=$00) then
begin
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('летим!');
SendToClient;
buf:=hstr('9F 00 57 5C FF'); //записываем в buf начало пакета (до координат)

n:=200; //наше число которое мы будем прибавлять

x:=readn(6); //считываем x из pck в формате Single
y:=readn(10); //считываем y из pck в формате Single
z:=readn(14); //считываем z из pck в формате Single

z:=z+n; //прибавляем к z число n

writen(x); //записываем x в buf в формате Single
writen(y); //записываем y в buf в формате Single
writen(z); //записываем z в buf в формате Single

buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
end;

end.
но саму функцию с модификацией пакета на полет не смотрел, оставил как есть

Furydose
29.01.2012, 21:42
По правильному надо x,y,z,n:real; но можно интегер оставить, часть после запятой пропадет, но там десятые метра, можно пренебречь.

manyunya
29.01.2012, 21:44
По правильному надо x,y,z,n:real; но можно интегер оставить, часть после запятой пропадет, но там десятые метра, можно пренебречь.

на интегер ругается)
объявил x,y,z,n:Single;

с координатой пока не понял на что меняет

sendtoserver; вставил выкинуло)

Furydose
29.01.2012, 21:59
Ой, самое главное забыл =)
sendtoserver; вставь.

martiniFresh
30.01.2012, 15:16
var
x,y,z,n:Single;
vkl:boolean;
procedure Init; //Вызывается при включении скрипта
begin
vkl:=FaLse;
end;

procedure Free; //Вызывается при выключении скрипта
begin

end;

begin

if FromClient and (pck=HStr('C2 00 57 61 FF 15 01 00 00 00 00 00')) then // смех
begin
if (vkl) then
begin
vkl:=false;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет выкл!');
SendToClient;
end
else
begin
vkl:=true;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет вкл!');
SendToClient;
end;
pck:='';
end;

if (vkl) and FromClient and (ReadC(1)=$9f) and (ReadC(2)=$00) then
begin
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('летим!');
SendToClient;
buf:=hstr('9F 00 57 5C FF'); //записываем в buf начало пакета (до координат)

n:=200; //наше число которое мы будем прибавлять

x:=readn(6); //считываем x из pck в формате Single
y:=readn(10); //считываем y из pck в формате Single
z:=readn(14); //считываем z из pck в формате Single

z:=z+n; //прибавляем к z число n

writen(x); //записываем x в buf в формате Single
writen(y); //записываем y в buf в формате Single
writen(z); //записываем z в buf в формате Single

buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
end;

end.
но саму функцию с модификацией пакета на полет не смотрел, оставил как есть

Обьясни по подробней пожалуйста ход работы скрипта.

manyunya
30.01.2012, 21:41
if FromClient and (pck=HStr('C2 00 57 61 FF 15 01 00 00 00 00 00')) then // смех
begin
if (vkl) then
begin
vkl:=false;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет выкл!');
SendToClient;
end
else
begin
vkl:=true;
buf := HStr('16 00 54 D5 FF 0000000000 00 01 00 00 00');
WriteS('полет вкл!');
SendToClient;
end;
pck:='';
end;
эта часть включает и выключает прибовление к координате(точнее меняет переменную vkl с положения вкл в вкл и наоборот пр каждом использовании эмоции

а нижняя часть я не трогал
нижняя часть начинает работать только когда переменная vkl включена.

сегодня не смотрел, вчера что то дисконектило, завтра может займусь отладкой.

Furydose
31.01.2012, 00:42
Выкидывает, скорее всего, потому что без пакета на тп перемещать не будет, а какой он сейчас хз.

martiniFresh
31.01.2012, 14:45
Выкидывает, скорее всего, потому что без пакета на тп перемещать не будет, а какой он сейчас хз.
Всмысле? Не известна структура пакета на 2.7? Я могу дать пакет на 2.7.

Добавлено через 27 минут
buf:=hstr('9F*00*57*5C*FF');
в принципе вот это верное начало.

Furydose
31.01.2012, 15:37
Тебя, когда ты изменный пакет посылаешь, тпшит? Раньше надо было после пакета движения вставить еще C9 57 66 01. Сейчас этот пакет не работает.

martiniFresh
31.01.2012, 16:37
Тебя, когда ты изменный пакет посылаешь, тпшит? Раньше надо было после пакета движения вставить еще C9 57 66 01. Сейчас этот пакет не работает.
Нет, не тпшит. Я поняла про что вы. Тоесть нужно его ещё после 9F дописать на отправку? Кстати вот пакет о котором вы говорите. В 2.7 от такой: - 68 00 57 07 FF

Добавлено через 1 час 4 минуты
Тест скрипта показал, что меня не выкинуло.) И это очень хорошо. НО, есть огромное НО. Отправка пакетов 9F и 68 зацыкливаеться. То есть я нажимаю смех, подпрыгиваю и у меня игра начинает жутко лагать, по логам пакетов я вижу, что пакеты идут непрерывно 9F и 68. Попробовала поставить for i:=1 to 1 do, не сработало.( Как можно убрать зацикливание? И от чего оно зависит?

Добавлено через 1 час 12 минут
Ах да, и ещё к каждому пакету прибавляеться 20000, то есть к первому прибавляеться 20000, ко второму уже 40000, к третьему 60000 ну и т. д. то есть он берёт первый пакет 9F прибавляет к нему 20000, берёт этот изменённый пакет 9F ещё прибавляет к нему 20000, ну и так до бесконечности.((( и каждый изменённый пакет посылает на сервер.

manyunya
31.01.2012, 19:41
я тут)
нет пакет не использовал, тоже об этом подумал
еще есть вариант юзать пакет только на клиент, я так раньше вроде делал
для сх так точно юзал пакет на клиент.

времени не хватает заняться отладкой, сор, но я не забыл).


поставить после отправки скрипта vkl в выключеное состояние.
об этом тоже думал
эмоция в полете не пашет, как вариант сделать на какой нить ненужный скрипт, который пашет в полете.

Furydose
01.02.2012, 19:46
Попробуй вставить строчку vkl:=false; тут

.
.
.
.
buf:=buf+hstr('07 00'); //записываем в buf конец пакета
pck:=''; //удаляем все из pck
sendtoserver;
vkl:=false;
end;

end.

martiniFresh
03.02.2012, 15:24
Попробуй вставить строчку vkl:=false; тут
Всё превосходно работает, спасибо большое manyunya и Furydose. Подросту и спасибками завалю.)
Вы умничка, ребят! А ещё один мааааленький вопросик, какой пакет можно использовать, чтоб телепортило во время парения и полёта даже. Потому как когда делаешь 68, крылья складываються. Нужен какой то альтернативный пакет на обновление. Есть ли такой? Может На клиент такие идут? Просто с такой проблемкой стролкнулась, когда телепортишься скриптом, там я поставила 68 как пакет обновления, но когда оказываюсь на нужной высоте и снова делаю тп в верх, от 68 у меня складываються крылья и я падаю в низ, потому как крылья ещё не откатились. Может есть какая то прибавка к пакету 9F чтоб парить продолжить? Или попробывать поймать пакет на порыв воздуха который тебя подбрасывает во время парения? Я пробовала найти, но увы. Все эксперементы не дали результатов.

manyunya
03.02.2012, 16:27
попробуй принудительно посылать пакет на раскрытие крыльев

martiniFresh
03.02.2012, 18:11
попробуй принудительно посылать пакет на раскрытие крыльев
А каков он, этот мифический пакет?( Потому как сколько не пыталась поймать его, не получаеться. Ловила эмоцию на открытие крыльев в зонах где можно летать, а вот чтоб открыть крылья как во время пакения, не получеться. По моему нет таких пакетов. Есть приписка какая то к другому пакету, которая даёт знать клиенту или серверу, что я открыла крылья в игре и парю. Но где эта приписка? Вот что я нашла: Когда летишь на птице в келькмаросе, а известно всем, что там ты летишь на своих крыльях, идут вот такие пакеты:

A0 00 57 5F FF 70 00 1E 0D 09 B3 EB 44 6D D1 32 45 A1 A6 0B 44 08 21 05 00 00
A0 00 57 5F FF 70 00 1E 0D 06 F8 EA 44 1F 89 32 45 E6 21 0C 44 08 C1 07 00 00
A0 00 57 5F FF 70 00 1E 0D 18 D3 E9 44 40 03 32 45 AF 87 0C 44 08 AF 0A 00 00

manyunya
03.02.2012, 20:20
я имел ввиду именно пакет на эмоцию полет. даже если время еще не откатилось он все равно включает полет

martiniFresh
03.02.2012, 20:30
я имел ввиду именно пакет на эмоцию полет. даже если время еще не откатилось он все равно включает полет
А вот и нет.) Если его отправить, то персонаж будет дёргаться как контуженый и будет писать, что полёт здесь невозможен. Ибо крылья открываються эмоцией только для полёта, а для парения нет такой эмоции вроде, или я её не нашла.

manyunya
04.02.2012, 01:59
скинь плз скрипт, гляну

martiniFresh
05.02.2012, 14:04
А вот всё же мой вопросик. Какой пакет ещё может обновить игру, чтоб действовал как 68? Можно синие, и оранжевые. Вопрос по существу, относящийся к тебе скрипта выше. Я к сожалению не нашла такого когда искала.((( Но проблема остаёться проблемой. Когда скрипт телепортирует, он складывает крылья у персонажа.

manyunya
05.02.2012, 17:56
C2 00 57 61 FF 04 0B 26 92 44 C3 5E 1A 45 7F 99 29 43 64

, где C2 00 57 61 FF 04 <0B 26 92 44> <C3 5E 1A 45> <7F 99 29 43> <64> координаты конечной точки телепортации и угол поворота вашего персонажа в конечной точки.
вот тоже пакет на тп работает без обновления мира

но вроде тоже складывает крылья


я так и не понял если послать пакет эмоции полет, он разве не раскроет снова крылья принудительно?
раньше так делал когда в бездне складывал крылья и потом открывал, даже если не откатился полет.

martiniFresh
08.02.2012, 15:36
Да, можно и так, но это палевно слишком. Вот летит летит допустим танк, и бац и резко нет его. А можно ли найти способ замаскировать это как за воздушный поток, как будто тебя подбросило? Кто нибудь разберался вообще в воздушных потоках? Я пыталась поймать пакет на воздушный поток, пыталась так же поймать пакет на подбрасывание персонажа с помощью гейзеров, но увы всё глухо. Нет каких то специальных пакетов на это. Но вот что нашла:
К пакету 9F добавляеться приписка после конечной координаты Z и 2 байт угла разворота персонажа. Когда ты просто подпрыгиваешь приходят 3 пакета, это действие подпрыгивания, и 2 пакета 9F, первый пакет 9F идёт с каким то дополнением, а второй просто 3 кординаты и угол разворота. И когда паришь, или тебя подкидывает гейзер идут именно пакеты 9F с некой прибавкой после угла поворота. Помогите пожалуйста разобраться в этой прибавке, и тогда думаю скрипт будет выполнен на 5+!.)))