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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 13.05.2010, 00:41   #1
Новичок
 
Регистрация: 08.05.2010
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
PadshiyAngel пока неопределено
По умолчанию отправка пакетов через таймер

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

Код:
var
   Timer01: TTimer;
   TimerCycle:integer;  
   
procedure Init;
begin
   Timer01:=TTimer.Create(nil); //выделяем памать и т.п.
   Timer01.OnTimer:=@OnTimer01; //привязываем процедуру к событию
   Timer01.enabled:=false; //начальное положение включен(true)/выключен(false)
   Timer01.interval:=2700; //интервал(в милисекундах) как часто таймер срабатывает
   TimerCycle:=1;
end;
procedure OnTimer01(Sender: TObject);
begin 
case TimerCycle of
1:begin   
  buf:=hstr('0C 0D 7C 11 10 00 00 00 00');
  SendToServer;
    Inc(TimerCycle);
    Exit;   
  end;
2:begin  
  buf:=hstr('43 4C 00 76 A0 04 10');
  SendToServer;
    Inc(TimerCycle);
    Exit;    
  end;
3:begin
  buf:=hstr('65 76 A0 04 10 00 00 00 00');
  SendToServer;
    TimerCycle=1;
    Exit;          
   end;  
end;
end;
procedure Free; //Вызывается при выключении скрипта
begin
timer01.Free; //освобождаем занимаемую память таймером
end;

begin
  timer01.enabled:=true;
end.

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

Timer01:=TTimer.Create(nil); и тому подобное объявляется не в процедуре Init, а timer01.enabled:=true; в теле скрипта хотя и включит таймер, но будет его включать постоянно при приходе любого пакета.
__________________

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

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 13.05.2010, 00:47   #3
Новичок
 
Регистрация: 08.05.2010
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
PadshiyAngel пока неопределено
По умолчанию

Цитата:
Сообщение от J-Fobos Посмотреть сообщение
Timer01:=TTimer.Create(nil); и тому подобное объявляется не в процедуре Init, а timer01.enabled:=true; в теле скрипта хотя и включит таймер, но будет его включать постоянно при приходе любого пакета.
Насчет объявления не в Init...
Ваша ссылка...у вас тут в Init объявляется...

Ну а насчет включения, эт как нить разберусь, мне надо чтобы хотя бы один раз отправились пакеты без дисконекта)
PadshiyAngel вне форума   Ответить с цитированием
Старый 13.05.2010, 01:14   #4
Местный
 
Аватар для J-Fobos
 
Регистрация: 09.06.2008
Сообщений: 867
Сказал Спасибо: 175
Имеет 468 спасибок в 259 сообщенях
J-Fobos пока неопределено
По умолчанию

Меня что-то клемануло Я хотел написать что в инит надо обьявить начальное значение TimerCycle:=1;
Написал одно, а думал о другом, впервые такое, крыша едет чтоли
__________________

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

Переходим на протокол нового поколения jabber
J-Fobos вне форума   Ответить с цитированием
За это сообщение J-Fobos нажился спасибкой от:
Старый 13.05.2010, 01:24   #5
Новичок
 
Регистрация: 08.05.2010
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
PadshiyAngel пока неопределено
По умолчанию

Цитата:
Сообщение от J-Fobos Посмотреть сообщение
Меня что-то клемануло Я хотел написать что в инит надо обьявить начальное значение TimerCycle:=1;
Написал одно, а думал о другом, впервые такое, крыша едет чтоли
добавил в инит...все равно что то не посылаются пакеты...где то тут косяк...
PadshiyAngel вне форума   Ответить с цитированием
Старый 13.05.2010, 01:52   #6
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

PadshiyAngel, кусок
Код:
3:begin
  buf:=hstr('65 76 A0 04 10 00 00 00 00');
  SendToServer;
    Inc(TimerCycle);
    Exit;          
   end;
наверное лучше так исправить
Код:
3:begin
  buf:=hstr('65 76 A0 04 10 00 00 00 00');
  SendToServer;
    TimerCycle=1;
    Exit;          
   end;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился спасибкой от:
Старый 13.05.2010, 02:09   #7
Новичок
 
Регистрация: 08.05.2010
Сообщений: 4
Сказал Спасибо: 3
Имеет 0 спасибок в 0 сообщенях
PadshiyAngel пока неопределено
По умолчанию

Цитата:
Сообщение от NLObP Посмотреть сообщение
PadshiyAngel, кусок
Код:
3:begin
  buf:=hstr('65 76 A0 04 10 00 00 00 00');
  SendToServer;
    Inc(TimerCycle);
    Exit;          
   end;
наверное лучше так исправить
Код:
3:begin
  buf:=hstr('65 76 A0 04 10 00 00 00 00');
  SendToServer;
    TimerCycle=1;
    Exit;          
   end;
исправил, но не пашет)
PadshiyAngel вне форума   Ответить с цитированием
Старый 13.05.2010, 02:25   #8
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

PadshiyAngel, а скрипт с которого копию делал работает?
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
Старый 13.05.2010, 11:28   #9
Местный
 
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Fer123 пока неопределено
По умолчанию

Вместо SendToServer; поставь SendToServerEx(Nickname);
И здесь
begin
timer01.enabled:=true;
end.
лучше сделай чтоб включался по приходе пакета соц действия. А то так получается он у тебя все время включен, но если ты так хочешь тогда уж лучше сразу его включить в Init, а в begin end. оставить пустыми.

И Exit; необязательно писать
Fer123 вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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