PDA

Просмотр полной версии : Ище вопрос(знаю достал уже)


Kvik
14.03.2013, 02:22
Здраствуйте пробую самостоятельно написать такой скрипт для l2(для общего понятия теми напишу):
Перс стает на определенное место активирует предмет появляется нпс(с разным ид каждний раз, тоесть не получается отправлять один и тот же пакет), берет ево в таргет отходит немного - атакует, опять отходит - опять атакует и так пока не дойдет до определенного места потом скрипт виполняетса ище раз и т.д.

На форуме нашел таймер по нему зделал переход по координатам и активации предмета, так же виполнения скрипта определенное количество раз. На форуме спрашивал взять в таргет можна тока по ид нпс.
Вот вопрос к вам как зделать так штоб к примеру когда я активирую предмет идет проверка на первий появившийся пакет об появлении нпс(в l2phx он вроде так виглядит под фильтрами JoinPladge) ближайшему к чару, берет из етого пакета ид нпс и ево координати, дополняет пакет таргета и атаки (тоесть action) и после етого виполняет уже все действия описание више, в конце скрипта снова очищает ид и координати етого нпс - штоб запустить скрипт по новому с новим ид.
Прозьба к вам помогите такое осуществить, дайте пример или какой нить кусочек кода с описанием как все ето происходит штоб я смог ево использовать, а то 3 дня уже мучаюсь искал штото но не могу разабратса в кодах сложно ппц. ПОМОГИТЕ ПОЖ:):cray:

kpa9pt
14.03.2013, 05:02
Здраствуйте пробую самостоятельно написать такой скрипт для l2(для общего понятия теми напишу):
Перс стает на определенное место активирует предмет появляется нпс(с разным ид каждний раз, тоесть не получается отправлять один и тот же пакет), берет ево в таргет отходит немного - атакует, опять отходит - опять атакует и так пока не дойдет до определенного места потом скрипт виполняетса ище раз и т.д.

На форуме нашел таймер по нему зделал переход по координатам и активации предмета, так же виполнения скрипта определенное количество раз. На форуме спрашивал взять в таргет можна тока по ид нпс.
Вот вопрос к вам как зделать так штоб к примеру когда я активирую предмет идет проверка на первий появившийся пакет об появлении нпс(в l2phx он вроде так виглядит под фильтрами JoinPladge) ближайшему к чару, берет из етого пакета ид нпс и ево координати, дополняет пакет таргета и атаки (тоесть action) и после етого виполняет уже все действия описание више, в конце скрипта снова очищает ид и координати етого нпс - штоб запустить скрипт по новому с новим ид.
Прозьба к вам помогите такое осуществить, дайте пример или какой нить кусочек кода с описанием как все ето происходит штоб я смог ево использовать, а то 3 дня уже мучаюсь искал штото но не могу разабратса в кодах сложно ппц. ПОМОГИТЕ ПОЖ:):cray:

Пакет NpcInfo твой айди Readd(2), сделай проверку на координаты, например раз рядом с тобой появляется, то сделай дельту 50-100.
Придёт пакет DeleteObject и если айди такой же то обнули свою переменную таргета.

Kvik
14.03.2013, 18:16
Придёт пакет DeleteObject и если айди такой же то обнули свою переменную таргета.
Вот тут ниче не понял :(
а есть код у кого нить где ето приблезительно реализовано штоб посмотреть???

Добавлено через 2 часа 1 минуту
Вот тут ниче не понял :(
а есть код у кого нить где ето приблезительно реализовано штоб посмотреть???
а не уже понял ето будет конец скрипта когда удалять информацию в action.
Пакет NpcInfo твой айди Readd(2), сделай проверку на координаты, например раз рядом с тобой появляется, то сделай дельту 50-100.
вот тут не могу зделать, проверку на координати зделать через массив наверное, смотрел в других скриптах вроде так ищют моба, не могу понять как витаскивать из npc info ид и координати потом присвоить action.
Наверное через переменние которие будут присваивать координати и ид нпс после появления в мире, потом использовать их при отправке пакета action. Проблема в том што сказать ето легче чем зделать с моими 4 дневними знаниями l2phx. Может ктото навести пример такого или показать где используетса а то я бум-бум в етом:)

kpa9pt
14.03.2013, 21:07
Вот тут ниче не понял :(
а есть код у кого нить где ето приблезительно реализовано штоб посмотреть???

Добавлено через 2 часа 1 минуту

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

вот тут не могу зделать, проверку на координати зделать через массив наверное, смотрел в других скриптах вроде так ищют моба, не могу понять как витаскивать из npc info ид и координати потом присвоить action.
Наверное через переменние которие будут присваивать координати и ид нпс после появления в мире, потом использовать их при отправке пакета action. Проблема в том што сказать ето легче чем зделать с моими 4 дневними знаниями l2phx. Может ктото навести пример такого или показать где используетса а то я бум-бум в етом:)

С твоими познаниями, ближайшая подсказка будет - готовый скрипт...не меньше. Так что сиди и изучай! на этом форуме есть много скриптов, что работающих, что элементарно показывающих идею и принципы, похожие и нужные для тебя. А то читаешь твои посты складывается впечатление что ты прочитал 1 гайд и дальше не пытаешься идти, ну или очень медленно соображаешь.

А и да, ты в 3-м классе и у тебя такие ужасные знания грамматики русского языка или ты сидишь через promt?

Kvik
14.03.2013, 22:06
С твоими познаниями, ближайшая подсказка будет - готовый скрипт...не меньше. Так что сиди и изучай! на этом форуме есть много скриптов, что работающих, что элементарно показывающих идею и принципы, похожие и нужные для тебя. А то читаешь твои посты складывается впечатление что ты прочитал 1 гайд и дальше не пытаешься идти, ну или очень медленно соображаешь.

А и да, ты в 3-м классе и у тебя такие ужасные знания грамматики русского языка или ты сидишь через promt?
Попрошу об язике не писать я русский не учил поетому и ошибки есть!!!
просто если есть уже готовий скрипт зачем щас вникать в язик програмирования если можна ево использовать.
я так понял на халяву никто не даст но помочь могут розобрать если что не так вот:

var
IDObj:string;
begin
if FromClient and (pck=Hstr('19 82 8A 66 40 00 00 00 00')) then //если используем предмет идет проверка
begin
if FromServer and (pck[1]=#$2D) then //на пакет joinpladge
begin
IDObj:=pck[2] + pck[3] + pck[4] + pck[5]; //запоминаем ид нпс из пакета
buf:=hstr('1F') + IDObj; //пишем в буфер действие action + ид нпс и отправляем
SendToServer;
end;
end;
end.
запускаю не работает что не так кто подскажет???
а да оправляю тока пакет action и ид нпс так как серв не ругаетса ели нет координатов.

kpa9pt
15.03.2013, 00:18
Попрошу об язике не писать я русский не учил поетому и ошибки есть!!!
просто если есть уже готовий скрипт зачем щас вникать в язик програмирования если можна ево использовать.
я так понял на халяву никто не даст но помочь могут розобрать если что не так вот:

var
IDObj:string;
begin
if FromClient and (pck=Hstr('19 82 8A 66 40 00 00 00 00')) then //если используем предмет идет проверка
begin
if FromServer and (pck[1]=#$2D) then //на пакет joinpladge
begin
IDObj:=pck[2] + pck[3] + pck[4] + pck[5]; //запоминаем ид нпс из пакета
buf:=hstr('1F') + IDObj; //пишем в буфер действие action + ид нпс и отправляем
SendToServer;
end;
end;
end.
запускаю не работает что не так кто подскажет???
а да оправляю тока пакет action и ид нпс так как серв не ругаетса ели нет координатов.


1) вот тут
if FromClient and (pck=Hstr('19 82 8A 66 40 00 00 00 00')) then //если используем предмет идет проверка
надо так:
if FromClient and (pck='19 82 8A 66 40 00 00 00 00') then
2)вот у тебя конструкция:
if fromclient then
begin
if fromserver then
begin

end;
end;
полная чушь работать не будет, у тебя идёт проверка что это от клиента и потом ты хочешь чтоб прошла проверка на то что это от сервера?! магия?
надо нечто такое:

if fromclient then
begin
a:=true;
end;
if fromserver and a then
begin
//твой цикл
end;

3)IDObj:=pck[2] + pck[3] + pck[4] + pck[5]; это равносильно IDObj:=Readd(2);
4)и последнее вот тут у тебя:
buf:=hstr('1F') + IDObj;
надо так:

buf:=hstr('1F');
writed(IDObj);



ещё вопросы?

Kvik
15.03.2013, 00:25
1) вот тут
if FromClient and (pck=Hstr('19 82 8A 66 40 00 00 00 00')) then //если используем предмет идет проверка
надо так:
if FromClient and (pck='19 82 8A 66 40 00 00 00 00') then
2)вот у тебя конструкция:
if fromclient then
begin
if fromserver then
begin

end;
end;
полная чушь работать не будет, у тебя идёт проверка что это от клиента и потом ты хочешь чтоб прошла проверка на то что это от сервера?! магия?
надо нечто такое:

if fromclient then
begin
a:=true;
end;
if fromserver and a then
begin
//твой цикл
end;

3)IDObj:=pck[2] + pck[3] + pck[4] + pck[5]; это равносильно IDObj:=Readd(2);
4)и последнее вот тут у тебя:
buf:=hstr('1F') + IDObj;
надо так:

buf:=hstr('1F');
writed(IDObj);



ещё вопросы?
Оо спс щас запилю скриптик)))
а то не мог никак понять если убираю первую проверку виполняетса, если нет тупо ниче не происходит спс ОГРОМНОЕ!!!