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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 15.07.2009, 16:43   #1
Новичок
 
Регистрация: 14.07.2009
Сообщений: 6
Сказал Спасибо: 11
Имеет 0 спасибок в 0 сообщенях
Алексей пока неопределено
По умолчанию Скриптинг для нуба

Ребятки, помогите с основными функциями, надо скрипт для отправки разных пакетов через разные промежутки времени, замкнутый в цыкл.
Как я понял,

buf:=hstr('пакет');
SendToServerEx(Name);

в скрипте отправляет "пакет" на сервер.
Помогите теперь разобраться, как выставить задержку в 10 секунд между, например

buf:=hstr('пакет№1');
SendToServerEx(Name);

и

buf:=hstr('пакет№2');
SendToServerEx(Name);

и замкнуть ето в цыкл.
Пытался, как в паскале, зделать цыкл через Label's ничего не вышло)
И с таймером не могу разобраться, phx не читает такую команду как delay()?
Заранее спасибо!
Алексей вне форума   Ответить с цитированием
Старый 15.07.2009, 16:46   #2
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Алексей,Я же тебе и ссылку дал и скрипт поправил, что ты еще хочешь? Если хочешь разобраться, что как работает - ищи книжку по паскалю/основам дельфы.
QaK вне форума   Ответить с цитированием
Старый 15.07.2009, 16:47   #3
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

таймер + счетчик + case
delay ( он же sleep) не рекомендуется к использованию.
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Старый 15.07.2009, 16:57   #4
Новичок
 
Регистрация: 14.07.2009
Сообщений: 6
Сказал Спасибо: 11
Имеет 0 спасибок в 0 сообщенях
Алексей пока неопределено
По умолчанию

Если бы я делал ето в обычном паскале, ето бы имело следующий вид:

Label l1;
Begin
l1:
buf:=hstr('1');
SendToserverEx(name);
Delay(10000);
buf:=hstr('2');
SendToserverEx(name);
Delay(500);
buf:=hstr('2');
SendToserverEx(name);
Delay(500);buf:=hstr('2');
SendToserverEx(name);
Delay(500);
buf:=hstr('3');
SendToserverEx(name);
Delay(10000);
buf:=hstr('2');
SendToserverEx(name);
Delay(500);buf:=hstr('2');
SendToserverEx(name);
Delay(500);buf:=hstr('2');
SendToserverEx(name);
Delay(500);
Goto l1;
end.

Если не трудно, напишыте как ето должно выглядеть под phx

Книжку я обязательно прочитаю, но мне кажеться что для создания такого простого скрипта ето делать не обязательно, а смотря на

timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=true;
timer1.interval:=10000;
Просто ни.у. не понимаю

В твоем скрипте нельзя ставить разное время задержки между разными пакетами

Неужели вам легче посылать на разные темки форума, чем написать 2-3 команды?

Последний раз редактировалось Алексей, 15.07.2009 в 17:04.
Алексей вне форума   Ответить с цитированием
Старый 15.07.2009, 17:16   #5
Рыцарь
 
Аватар для QaK
 
Регистрация: 28.09.2007
Сообщений: 1,558
Сказал Спасибо: 71
Имеет 351 спасибок в 244 сообщенях
QaK пока неопределено
По умолчанию

Цитата:
Сообщение от Алексей Посмотреть сообщение
Неужели вам легче посылать на разные темки форума, чем написать 2-3 команды?
неужели тебе легче донимать всех вопросом, чем просто почитать теорию и самому во всем разобраться. Мой стрипт поправить - будут разные задержки между отправкой.
QaK вне форума   Ответить с цитированием
Старый 15.07.2009, 17:21   #6
Новичок
 
Регистрация: 14.07.2009
Сообщений: 6
Сказал Спасибо: 11
Имеет 0 спасибок в 0 сообщенях
Алексей пока неопределено
По умолчанию

ну а как менять задержку?)
Приведи пример на своем же скрипте
Алексей вне форума   Ответить с цитированием
Старый 15.07.2009, 17:23   #7
Рыцарь
 
Аватар для mks
 
Регистрация: 21.09.2007
Сообщений: 376
Сказал Спасибо: 11
Имеет 218 спасибок в 106 сообщенях
mks пока неопределено
По умолчанию

Алексей, объясняю, в л2пх то что находится в основной части скрипта проходит 1 раз при проходе одного пакета от клиента либо сервера, поэтому нежелательно там использовать Delay, т.к. следующий пакет л2пх уже не пропустит пока не обработает твой код и не выдержет все твои Delay, и уж темболее, если ты зациклишь этот код, то вообще последующие пакеты от сервера и клиента никуда не дойдут, посему следует использовать таймер
mks вне форума   Ответить с цитированием
За это сообщение mks нажился спасибкой от:
Старый 15.07.2009, 17:25   #8
Новичок
 
Регистрация: 15.07.2009
Сообщений: 2
Сказал Спасибо: 1
Имеет 0 спасибок в 0 сообщенях
AlbeNeC пока неопределено
По умолчанию

Все било б очень просто, если б работали функции Sleep() и Delay(), но нет =(((
п.с. мну опередили, прочетал то что више, ети функции не помогли б =(
пока что рабочая програма имеет такой вид :
const

Name='name';


var

timer1: TTimer;

procedure Init;
begin



timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer1;
timer1.enabled:=true;
timer1.interval:=10000;
end;

procedure OnTimer1(Sender: TObject);
begin

buf:=hstr('2F 89 05 00 00 00 00 00 00 00 ');
SendToServerEx(Name);


end;



procedure Free;
begin
timer1.Free;
end;

begin
end.
воть, но как ее переделать так чтоб шло:

1) пакет №1
2)ждем 10 сек
3)пакет № 2 три раза через 0,3 сек
4)обратно к пункту 1
попиталса вставить еще 1 таймер аналогично 1му, не работает, хз почему =((

Последний раз редактировалось AlbeNeC, 15.07.2009 в 17:27.
AlbeNeC вне форума   Ответить с цитированием
Старый 15.07.2009, 17:27   #9
Новичок
 
Регистрация: 14.07.2009
Сообщений: 6
Сказал Спасибо: 11
Имеет 0 спасибок в 0 сообщенях
Алексей пока неопределено
По умолчанию

Delay блокирует прохождение всех пакетов от сервера и клиента о.О?
Алексей вне форума   Ответить с цитированием
Старый 15.07.2009, 17:28   #10
Рыцарь
 
Аватар для TAMBIK
 
Регистрация: 03.03.2009
Сообщений: 773
Сказал Спасибо: 361
Имеет 300 спасибок в 168 сообщенях
TAMBIK на пути к лучшему
По умолчанию

delphi Код:
const   Name='ххххх'; var   timer1: TTimer;   x: integer; procedure OnTimer1(Sender: TObject); begin case x of 0: begin   timer1.interval := интервал_через_который_будет_отослан_первый_пакет; end; 1: begin   buf:=hstr('пакет №1');   SendToServerEx(Name);   timer1.interval := интервал_через_который_будет_отослан_второй_пакет; end; 2: begin   buf:=hstr('пакет №2');   SendToServerEx(Name);   timer1.interval := интервал_через_который_будет_отослан_третий_пакет; end; 3: begin   buf:=hstr('пакет №3');   SendToServerEx(Name); end; else begin   timer1.enabled := false;   x := 0; end; end; inc(x); end; //****************************************************************************** //                 Вызывается при включении скрипта //****************************************************************************** procedure Init; begin   x := 0;   timer1:=TTimer.Create(nil);//выделяем памать и т.п.   timer1.OnTimer:=@OnTimer1;//привязываем процедуру к событию   timer1.enabled:=true;//начальное положение true-включен/false-выключен   timer1.interval:=1;//интервал end; procedure Free; begin timer1.free; end; begin end.

//alexteam: поправил.. малех..

Последний раз редактировалось alexteam, 15.07.2009 в 19:53.
TAMBIK вне форума   Ответить с цитированием
За это сообщение TAMBIK нажился спасибкой от:
Ответ

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



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

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


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

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

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