Здравствуйте.
Играю за закла и возникла такая проблема, кто может, пожалуйста помогите собрать скрипт который будет записывать ID каждого нового призванного элементаля в пакет Unknown24.
Сервер уже на версии 2.6.
Пакет вида - 24 57 C3 CC 99 C4 00 86 45 01 2C 5B 34 00 BB C5 8D 3F
Это соответственно ID элементаля
Пробовала взять идею из скрипта для лучника, с помощью которого можно выстреливать сразу всеми умениями.
Но не разбираюсь в скриптописании особо и ничего не получилось. Помогите пожалуйста.
Извиняюсь за возможный флуд моей темы, но она мне важна. И просьба к talala, не удаляйте пожалуйста а лучше перенесите туда куда считаете нужным.
Последний раз редактировалось martiniFresh; 29.11.2011 в 23:48.
Здравствуйте.
Играю за закла и возникла такая проблема, кто может, пожалуйста помогите собрать скрипт который будет записывать ID каждого нового призванного элементаля в пакет Unknown24.
Сервер уже на версии 2.6.
Пакет вида - 24 57 C3 CC 99 C4 00 86 45 01 2C 5B 34 00 BB C5 8D 3F
Это соответственно ID элементаля
Пробовала взять идею из скрипта для лучника, с помощью которого можно выстреливать сразу всеми умениями.
Но не разбираюсь в скриптописании особо и ничего не получилось. Помогите пожалуйста.
Извиняюсь за возможный флуд моей темы, но она мне важна. И просьба к talala, не удаляйте пожалуйста а лучше перенесите туда куда считаете нужным.
а откуда мне можно узнать его айди наперед чтобы запихнуть в етот пакет? может в пакете создания елементаля есть етот его айди (точнее сказать в пакете от сервера на клиент когда елементаль появился или только начал появляться)? еще есть идея брать его выдилением самого елементаля но ето кагбе не комильфо
Да, думаю ты прав. До твоей идеи я как то не додумывалась. На самом деле если так подумать, то ID каждого нового элементаля можно брать много откуда. Допустим из пакета на передвижение элементаля или на автоатаку элементаля. Но видимо пакет на появление элементаля самый выгодный. А таргет на него не очень хороший вариант. Ибо когда будешь тыкать на кого то другого, то будет заменяться ID в скрипте. Верно понимаю? А тогда вопросик по теме, как можно используя допустим вот такой вариант:
PHP код:
var TargetID:integer;
procedure DoTheSkill(SkillID:word; Level:byte); begin buf := HStr('28 57 C7 CC CC CC CC 94 C3 0C 45 E7 DC BC 44 52 9B FB 42 6C 00 '); WriteD(TargetID, 8); SendToServer; end;
begin if (FromClient) and (ReadC(1) = $28) then begin buf:=HStr('24 57 C3 CC <сюда должен вписываться ID элементаля> 45 01 00 B9 1E 2A BB C5 8D 3F '); TargetID := ReadD(4);
Дак вот, как используя такой вариант можно заставить скрипт записывать ID элементаля в пакет 24? У меня как раз это и не вышло. При таком варианте скрипт не подаёт признаков жизни.
P.S. Если talala посчитает нужным, то перенесет тему в беседку.
вроде такого пакета нет...
Ваш пакет 28 в скрипте я просмотрел через Дополнительно\Составление/просмотр пакета (в л2пх) и думаю он вам ненужен (он на смену емоции(отображение действий) елементаля в версии 2.1), притом он идет от клиента к серверу, а вам нужен пакет с сервера на клиент во время создания елементаля или после создания елементаля.
(хотя если вы уверены что ето он, то зачем в него чтото вписывать и слать на сервер Оо)
Вот выправил что нашел:
Код:
var
TargetID:integer;
Procedure Init;
begin
end;
procedure Paket;
begin
buf := HStr('24 57 C3 CC CC CC CC 86 45 01 2C 5B 34 00 BB C5 8D 3F');
WriteD(TargetID, 4);
SendToServer;
end;
begin
if FromClient and (ReadC(1) = $28) then
begin
TargetID := ReadD(4);
end;
end.
28 - замените на первый байт пакета с которого будем брать айди елементаля. 4 - ето значит будем начинать считывать (айди елементаля) с 4го байта в пакете 28. Если пакет 28 идет с сервера на клиент то FromClient заменить на FromServer.
Скрипт будет слать пакет 24 всего 1 раз, айди скила я так понимаю в нем зашит уже, ето - 86 45 ( [Ссылки могут видеть только зарегистрированные пользователи. ] ), потому будет бить только ним.
Да, вы правы. Это Воление 2 для водного элементаля. Только вот, извиняюсь, не очень поняла про то, что он будет бить 1 раз пакетом 24, а потом будет только им бить.. Про пакет 28, этот пакет я отловила когда призвала элементаля. Он шёл сразу после пакета D0. У нас сервер уже на 2.6 версии. Там немного другие структуры пакета. И пакет 28 - это самый первый пакет, который имеет ID элементаля как только его призовёшь. Только если честно я не разобралась за что он отвечает этот 28. А собственно нам этот ID и нужен для замены его в пакете 24. То как я поняла этот скрипт:
Я призываю нового элементаля, приходит пакет вида 28 от сервера на клиент (рыжий), тут же срабатывает скрипт и берёт ID элементаля из пакета 28 начиная с четвёртого байта и заносит этот новый ID в пакет 24 в место отмеченное переменными CC CC CC CC.
Я призываю нового элементаля, приходит пакет вида 28 от сервера на клиент (рыжий)
а от клиента на сервер (рыжий). Дальше все правильно поняли и еще он шлет пакет 24 с уже вставленым айди елементаля на сервер 1 раз (сразу же после пакета 28).
Упс! забыл кое что там дописать шас исправлю код:
Код:
var
TargetID:integer;
Procedure Init;
begin
end;
procedure Paket;
begin
buf := HStr('24 57 C3 CC CC CC CC 86 45 01 2C 5B 34 00 BB C5 8D 3F');
WriteD(TargetID, 4);
SendToServer;
end;
begin
if FromClient and (ReadC(1) = $28) then
begin
TargetID := ReadD(4);
Paket;
end;
end.
Тестируйте.
Последний раз редактировалось Pocuk; 30.11.2011 в 16:26.
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). - для суровых подпольщиков
Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий).
Восстановлена работоспособность одного из лучших Для просмотра ссылок или изображений в подписях, у Вас должно быть не менее 10 сообщение(ий). Сейчас у Вас 0 сообщение(ий). для Аион. Спасибо автору(ам) =)
Path of Exile - в настоящее время там.
Да, вы правы. Это Воление 2 для водного элементаля. Только вот, извиняюсь, не очень поняла про то, что он будет бить 1 раз пакетом 24, а потом будет только им бить.. Про пакет 28, этот пакет я отловила когда призвала элементаля. Он шёл сразу после пакета D0. У нас сервер уже на 2.6 версии. Там немного другие структуры пакета. И пакет 28 - это самый первый пакет, который имеет ID элементаля как только его призовёшь. Только если честно я не разобралась за что он отвечает этот 28. А собственно нам этот ID и нужен для замены его в пакете 24. То как я поняла этот скрипт:
Я призываю нового элементаля, приходит пакет вида 28 от сервера на клиент (рыжий), тут же срабатывает скрипт и берёт ID элементаля из пакета 28 начиная с четвёртого байта и заносит этот новый ID в пакет 24 в место отмеченное переменными CC CC CC CC. Так? А как тогда дополнить этот скрипт так, что бы элементаль бил обычным ударом и ещё после удара автоатакой сразу бил Волнением 2? А именно пакетом 24.