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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 11.03.2013, 21:02   #1
Новичок
 
Регистрация: 11.03.2013
Сообщений: 16
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Kvik пока неопределено
Вопрос Хочю написать скрипт

Здраствуйте уважаемие посетители етой теми, кто может помогите написать скрипт такого примера:
Персонаж идет на определенное место, юзает кнопочку, берет в таргет то што появилось, отходит, юзает кнопочку опять отходит, таким образом пока не перейдет до определенних координат(пакетов), потом возвращаетса на место и опять виполняетса скрипт.
Как я понял тут лучше делать таймер с задержкой тоесть пока чар добежит и т.д, но интересно можна ли сделать проверку пришел ли он на определенное место если нет опять перейти(отправить пакет места), если да то продолжать.
вот попробовал такое:
Код:
const
    name = 'name';
var
    timer:TTimer;
    TimerStep:byte;
procedure Init; 
begin
    TimerStep:=1;
    timer:=TTimer.Create(nil);
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;
    timer.interval:=70000; //âðåìÿ çàäåðæêè ìåæäó îòïðàâêîé ïàêåòîâ.
end;

procedure Free;
begin
    timer.free;
end;

procedure OnTimer;
    begin
        case TimerStep of
            1: 
                begin
                    timer.interval:=600;
                    buf:=Hstr('19 98 C4 6B 40 00 00 00 00 ');
                    SendToServerEx(name);
               //   SendMsg('1');
                    Inc(TimerStep);
                end;
            2: 
                begin 
                    buf:=Hstr('1F D0 8A 10 4B 34 A2 00 00 56 C9 00 00 37 F1 FF FF 00 ');
                    SendToServerEx(name); 
               //   SendMsg('2');
                    Inc(TimerStep);                
                end; 
            3: 
                begin 
                    buf:=Hstr('0F D9 A1 00 00 8D C9 00 00 55 F1 FF FF 34 A2 00 00 56 C9 00 00 37 F1 FF FF 01 00 00 00 ');
                    SendToServerEx(name);
               //   SendMsg('3');   
                TimerStep:=1;  
                timer.enabled:=false;
                    timer.interval:=6000000;   //60000 ìñ = 1 ìèíóòà
                end;
        end;
    end;


 begin
timer.enabled:=true;
 end.
сложил со скрипта на форуме, прога виснет сразу и появляетса безконечное число ошибок хз в чем проблема, как я понял оно не может скока раз виполнить или как то так, тоесть скрипт не имеет конца, пакети подставил свои.
Подскажите пож кому не сложно, в чем проблема.
П.с name ставил свое, клент GOD

Последний раз редактировалось Kvik, 11.03.2013 в 22:26. Причина: Ошибка
Kvik вне форума   Ответить с цитированием
Старый 11.03.2013, 21:09   #2
Местный
 
Регистрация: 13.12.2007
Сообщений: 126
Сказал Спасибо: 10
Имеет 39 спасибок в 32 сообщенях
Zergatul
По умолчанию

Можно проверять пришел ли чар в определенную точку отправляя пакет \loc и перехвачивая ответ. Главное не отсылать слишком часто
Zergatul вне форума   Ответить с цитированием
Старый 11.03.2013, 22:23   #3
Новичок
 
Регистрация: 11.03.2013
Сообщений: 16
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Kvik пока неопределено
По умолчанию

Цитата:
Сообщение от Zergatul Посмотреть сообщение
Можно проверять пришел ли чар в определенную точку отправляя пакет \loc и перехвачивая ответ. Главное не отсылать слишком часто
а можно как то поподробнее тоесть пример какой то или кусочек примера

Добавлено через 1 минуту
Код:
const
    name = 'JPEG';
var
    timer:TTimer;
    TimerStep:byte;
procedure Init; 
begin
    TimerStep:=1;
    timer:=TTimer.Create(nil);
    timer.OnTimer:=@OnTimer;
    timer.enabled:=false;
    timer.interval:=700; //âðåìÿ çàäåðæêè ìåæäó îòïðàâêîé ïàêåòîâ.
end;

procedure Free;
begin
    timer.free;
end;

procedure OnTimer;
    begin
        case TimerStep of
            1: 
                begin
                    timer.interval:=600;
                    buf:=Hstr('19 98 C4 6B 40 00 00 00 00 ');
                    SendToServerEx(name);
               //   SendMsg('1');
                    Inc(TimerStep);
                end;
            2: 
                begin 
                    buf:=Hstr('1F D0 8A 10 4B 34 A2 00 00 56 C9 00 00 37 F1 FF FF 00 ');
                    SendToServerEx(name); 
               //   SendMsg('2');
                    Inc(TimerStep);                
                end; 
            3: 
                begin 
                    buf:=Hstr('0F D9 A1 00 00 8D C9 00 00 55 F1 FF FF 34 A2 00 00 56 C9 00 00 37 F1 FF FF 01 00 00 00 ');
                    SendToServerEx(name);
               //   SendMsg('3');   
                TimerStep:=1;  
                timer.enabled:=false;
                    timer.interval:=600;   //60000 ìñ = 1 ìèíóòà         
                end;
        end;
    end;


 begin
 if FromServer and (pck=HStr('19 98 C4 6B 40 00 00 00 00 ')) then
   begin
 timer.enabled:=true;
 end;
 end.
Попробовал щас вот такое ошибок нет больше тока скрипт ниче не делает, я поставил проверку как би если я юзаю баночку то начинает происходить виполнение скрипта, но ниче не происходит в чем проблема кто скажет???

Добавлено через 5 минут
Цитата:
Сообщение от Zergatul Посмотреть сообщение
Можно проверять пришел ли чар в определенную точку отправляя пакет \loc и перехвачивая ответ. Главное не отсылать слишком часто
я смотрел как би в пакетах што можна здалать проверку не на команду /loc в игре а на проверку пакетов которие передает мне сервер там есть какой то пакет вроде присилает клиенту где я нахожусь думаю мона поставить штоб по нему проверял, ну ставить проверку после таймера конешно так будет лучше, просто как би есть иногда лаги в игре ну там 1 сек, или больше если много народу рядом а так проверка уточнит и админ не запалит што бегаю я себе как то не так

Добавлено через 58 минут
Народ помогите ктото плз

Последний раз редактировалось Kvik, 11.03.2013 в 22:23. Причина: Добавлено сообщение
Kvik вне форума   Ответить с цитированием
Старый 12.03.2013, 04:41   #4
Местный
 
Регистрация: 13.12.2007
Сообщений: 126
Сказал Спасибо: 10
Имеет 39 спасибок в 32 сообщенях
Zergatul
По умолчанию

Пакет с твоим местонахождением не приходит, когда чар бегает или прибегает в конечную точку. Клиент сам высчитывает координаты
Zergatul вне форума   Ответить с цитированием
Старый 12.03.2013, 16:34   #5
Новичок
 
Регистрация: 11.03.2013
Сообщений: 16
Сказал Спасибо: 2
Имеет 0 спасибок в 0 сообщенях
Kvik пока неопределено
По умолчанию

Со скриптом етим уже розобрался но есть вопрос почему когда я отправляю по команде SendToServerEx(name); у мну тупо зависает l2phx а с игри викидивает, ну викидивает понятно так как прога прервала соединение, но почему прога виснет от скрипта??? когда ставлю SendToServer; то все норм работает.
Читал в какой то теме на форуме что может клиент использует какой то другой пакет или што то типа того поетому не работает или ето из за того што я использую версию l2phx.3.4.1.83 а клиент игри у мну l2 God, подскажиет пож
Kvik вне форума   Ответить с цитированием
Ответ

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


Опции темы
Опции просмотра

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

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


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

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

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