Вернуться   CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг
Войти через OpenID

Скриптинг Форум посвещенный созданию скриптов для L2PacketHack

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 20.10.2010, 02:34   #1
Новичок
 
Регистрация: 20.10.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Kirson пока неопределено
Радость Скрипт на заточку эвентовых предметов

помогите со скриптом

вообщем у нас на сервере эвент по заточке эвентовых пух
я сам начинаю только изучать L2PacketHack, так что надеюсь на вашу помощь
условия эвента:
эвент предмет только точится когда одет, вот и решил написать скрипт
эвент точек не меренно, если не удачная заточка - предмет снимается
я так думаю что если предмет снялся, покупаем новый и точим, если заточилась на +23 то снимаем
надеюсь на вашу помощь
Код:
const
zakup='23 30 00 30 00 00 00';// пакет на закупку эвентового предмета
zatocsh='19 4C 9D 2D 10 00 00 00 00';//пакет на заточку предмета
var
i:integer;
Timer01: TTimer;
UseItem: string;

procedure Init;
begin
   Timer01:=TTimer.Create(nil); 
   Timer01.OnTimer:=@OnTimer01; 
   Timer01.enabled:=true; 
   Timer01.interval:=2000;
end;

procedure OnTimer01(Sender: TObject);
begin
        buf:=HStr(zatocsh);        //заточка
        SendToServer;
end;
begin
if FromServer and (pck[1]+pck[2]=#$62#$28) then // если предмет снялся(сломался) покупаем новый
       begin
        buf:=HStr(zakup);
        SendToServer;
        i:=0;//обнуляем точку
       end;
    if FromServer and (pck[1]=#$21) and (pck[4]=#$01) then  begin
       UseItem:='19 '+pck[8]+' '+pck[9]+' '+pck[10]+' '+pck[11]+' 00 00 00 00';
       buf:=HStr(UseItem);//это создаем пакет чтобы одеть эвент предмет
       SendToServer;
       end;
    if FromServer and (pck[1]+pck[2]=#$62#$26) then  i:=i+1;//если заточилась увеличиваем на +1
    if i=23 then begin// если заточилась на +23 снимаем эвент предмет
       buf:=HStr(UseItem);
       SendToServer;
       end;
pck:='';
Timer01.enabled:=not(Timer01.enabled);


end.
Kirson вне форума   Ответить с цитированием
Старый 20.10.2010, 14:43   #2
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Суть скриптописания вы поняли) Но от того скрипта что вы выложили отталкиваться не будем(ошибок многовато), лучше напишите скрипт с нуля по следующему алгориму:

1) Организуйте в таймере процесс точения: использование заточки > выбор итема для точения > нажатие на кнопку "заточить" > остановка таймера. Также рекомендую сделать изменение интервала таймера внутри самого таймера, чтоб интервал между юзом заточки и выбором итема был поменьше, а пока идет полосочка точения стандартным.

2) Организуйте поиск в инвентаре ObjectID итема для точения и заточек (рекомендую просмотреть скрипты на заточку NLObp, там перебор инвентаря просто идеален). Уровень заточки также лучше узнавать из инвентаря. После перебора инвентаря включать таймер.

3) Также добавьте снимание и одевание пушки, вы сделали правильно в своем скрипте, если приходит пакет о снятии пухи одевать ее.
__________________

В любом из нас спит гений. И с каждым днем все крепче.

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
Старый 21.10.2010, 15:14   #3
Новичок
 
Регистрация: 20.10.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Kirson пока неопределено
По умолчанию

Код:
const
zakup='23 30 00 30 00 00 00';
zatocsh='19 4C 9D 2D 10 00 00 00 00';
var
i,m:integer;
Timer01: TTimer;
UseItem: string;

procedure Init;
begin
   Timer01:=TTimer.Create(nil); //выделяем памать и т.п.
   Timer01.OnTimer:=@OnTimer01; //привязываем процедуру к событию
   Timer01.enabled:=true; //начальное положение включен(true)/выключен(false)
   Timer01.interval:=800; //интервал(в милисекундах) как часто таймер срабатывает
end;

procedure OnTimer01(Sender: TObject);
begin
        //buf:=HStr(zakup);   //закупка
        buf:=HStr(zatocsh);        //заточка
        SendToServer;
end;
begin
if FromServer and (pck[1]+pck[2]=#$62#$28) then
       begin
        buf:=HStr(zakup);
        SendToServer;
        i:=0;
       end;

     if FromServer and (pck[1]+pck[2]+pck[4]=#$21#$01#$01) then  begin
       UseItem:=pck[8]+pck[9]+pck[10]+pck[11];
       buf:=#$19+UseItem+#$00#$00#$00#$00;
       SendToServer;
       end;

    if FromServer and (pck[1]+pck[2]=#$62#$26) then  i:=i+1;
    if i=23 then begin
       buf:=HStr(UseItem);
       SendToServer;
       end;

end.
Все работает ток теперь пуху не точит (таимер не работает)
разобраться не могу

Добавлено через 19 часов 5 минут
ну кто мне поможет с таимером разобраться?

Последний раз редактировалось Kirson, 21.10.2010 в 15:14. Причина: Добавлено сообщение
Kirson вне форума   Ответить с цитированием
Старый 21.10.2010, 15:51   #4
Местный
 
Регистрация: 10.08.2010
Сообщений: 634
Сказал Спасибо: 22
Имеет 95 спасибок в 70 сообщенях
mira пока неопределено
По умолчанию

у газона проси скрипт он точит их пакетхаком )))
там кстати таймаут повторной точки не проверяетса походу. Боты точат раз в секунду это маловато для точки руками
mira вне форума   Ответить с цитированием
Старый 21.10.2010, 17:25   #5
Новичок
 
Регистрация: 20.10.2010
Сообщений: 3
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
Kirson пока неопределено
По умолчанию

да там хоть задержку убирай совсем
я уже так особо накидал, работает паралельно с пилотом)))
и кстати, у газона просил, он грит я ручками точу
ну я ему конечно поверил
Kirson вне форума   Ответить с цитированием
Старый 21.10.2010, 21:06   #6
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

вообще-то там 750 мс стоит задержка юза точки)

PS я такого не говорил

PSS советую не парится, эвент кончается 24 числа
__________________
Начало.

Последний раз редактировалось supernewbie, 21.10.2010 в 21:06. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Ответ

  CoderX :: Forums > Lineage II > L2PacketHack > Скриптинг



Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


Часовой пояс GMT +4, время: 10:58.

vBulletin style designed by MSC Team.
Powered by vBulletin® Version 3.6.11
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Locations of visitors to this page
Rambler's Top100

Вы хотите чувствовать себя в безопасности? чоп Белган обеспечит её!