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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 04.03.2010, 22:46   #1
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию Требуется помощь.

Код:
begin 
  if FromServer and (ConnectName='01') and (pck = HStr('пакет1)) then
  begin     
  delay(5000);        
  if FromServer and (ConnectName='01') and (pck = HStr('пакет2')) then else
  begin        
   
  buf:=HStr('пакет3');
  SendToClientEx('02'); 
 
    
       
   
   
   end;

  end;
  
  
  end.
Задумка была как бы сделать так, приходит пакет [пакет1] на соединение 01, дальше идет проверка в течении 5 секунд на приход пакета [пакет2], если пакет не приходит, отправляется пакет [пакет3] на соединение 02.

Но у меня как я понял идет просто проверка ЧЕРЕЗ 5 секунд...

Помогите сделать так как описано у меня выше)

Суть вопроса вкратце:

Как сделать сплошную проверку в течении 5 секунд?
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 00:37   #2
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

delphi Код:
Var  PckIn: Boolean = False;  TimerPck: TTimer; procedure Init; begin  TimerPck:=TTimer.Create(nil);  TimerPck.OnTimer:=@OnTimerPck;  TimerPck.Enabled:=False;  TimerPck.interval:=5000; end; procedure OnTimerPck(Sender: TObject); begin  if not PckIn then  begin    buf:=HStr('пакет3');    SendToServerEx('02');  end;  TimerPck.Enabled := False;  PckIn := False;    end; procedure Free; begin  TimerPck.Free; end; begin  if FromServer and (ConnectName='01') then        case pck of   'пакет1': TimerPck.Enabled := True;   'пакет2': if TimerPck.Enabled then PckIn := True;   end;                end.

Последний раз редактировалось Vilson, 05.03.2010 в 00:42.
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 00:54   #3
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от Vilson Посмотреть сообщение
delphi Код:
Var  PckIn: Boolean = False;  TimerPck: TTimer; procedure Init; begin  TimerPck:=TTimer.Create(nil);  TimerPck.OnTimer:=@OnTimerPck;  TimerPck.Enabled:=False;  TimerPck.interval:=5000; end; procedure OnTimerPck(Sender: TObject); begin  if not PckIn then  begin    buf:=HStr('пакет3');    SendToServerEx('02');  end;  TimerPck.Enabled := False;  PckIn := False;    end; procedure Free; begin  TimerPck.Free; end; begin  if FromServer and (ConnectName='01') then        case pck of   'пакет1': TimerPck.Enabled := True;   'пакет2': if TimerPck.Enabled then PckIn := True;   end;                end.
это у тебя как я понял во-первых идет одновременная проверка на 2 пакета. А там сначала идет 1, а потом идет проверка на 2. И во-вторых там идет, как я понял, интервал 5 сек, а мне нужно чтобы проверялось в течении 5 сек.
PS Но все равно скрипт здоровский
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 01:40   #4
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Нифига ты не понял. В скрипте все работает как ты просил в первом посте, учи мат часть.
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 02:35   #5
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

почему он не работает то тогда(

Добавлено через 20 минут
вообщем он просто не врубает таймер( я уже и 2 пакета отсылал, и каждый по 1(

Добавлено через 14 минут
перекавырял все абсолютно( не робит твой скрипт(
госпади, помогите(

Последний раз редактировалось supernewbie, 05.03.2010 в 02:35. Причина: Добавлено сообщение
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 03:02   #6
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Скрипт рабочий, правь руки.

ЗЫ Пример что ты менял в скрипте и что посылал давай в студию.
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 13:43   #7
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Код:
Var
 PckIn: Boolean = False;
 TimerPck: TTimer;

procedure Init; 
begin
 TimerPck:=TTimer.Create(nil);
 TimerPck.OnTimer:=@OnTimerPck;
 TimerPck.Enabled:=False;
 TimerPck.interval:=5000;
end;

procedure OnTimerPck(Sender: TObject);
begin
 if not PckIn then
 begin
   buf:=HStr('19 62 26 2B 40 00 00 00 00');
   SendToServerEx('02');
 end;
 TimerPck.Enabled := False;
 PckIn := False;    
end;

procedure Free; 
begin
 TimerPck.Free;
end;

begin
 if FromServer and (ConnectName='01') then     
  case pck of 
  '29 1C 58 90 49 00 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': TimerPck.Enabled := True;  
  '29 1C 58 90 49 01 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': if TimerPck.Enabled then PckIn := True;
  end;                
end.
Вот как скрипт я делаю. Даже когда он там встает или садится, ничего абсолютно!
supernewbie вне форума   Ответить с цитированием
Старый 05.03.2010, 14:20   #8
Пользователь
 
Регистрация: 19.02.2010
Сообщений: 49
Сказал Спасибо: 1
Имеет 35 спасибок в 12 сообщенях
Vilson пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
Код:
Var
 PckIn: Boolean = False;
 TimerPck: TTimer;

procedure Init; 
begin
 TimerPck:=TTimer.Create(nil);
 TimerPck.OnTimer:=@OnTimerPck;
 TimerPck.Enabled:=False;
 TimerPck.interval:=5000;
end;

procedure OnTimerPck(Sender: TObject);
begin
 if not PckIn then
 begin
   buf:=HStr('19 62 26 2B 40 00 00 00 00');
   SendToServerEx('02');
 end;
 TimerPck.Enabled := False;
 PckIn := False;    
end;

procedure Free; 
begin
 TimerPck.Free;
end;

begin
 if FromServer and (ConnectName='01') then     
  case pck of 
  '29 1C 58 90 49 00 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': TimerPck.Enabled := True;  
  '29 1C 58 90 49 01 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': if TimerPck.Enabled then PckIn := True;
  end;                
end.
Вот как скрипт я делаю. Даже когда он там встает или садится, ничего абсолютно!
Потому что полная фигня тобой в скрипт подставлена.

У тебя что, ники чаров 01 и 02? Никогда не видел сервера где разрешены ники из двух букв, это рас.

"29 1C 58 90 49" - у тебя точно CharID = 22556 и ник чара "01"??

'19 62 26 2B 40 00 00 00 00' - что за херню ты пытаешься отправлять? 19 пакет UseItem:d(ObjectID)d(Unknown), у тебя что есть в инвентаре предмет с ObjectID = 9826? Слишком маленькое значение для ObjectID, наверняка тут написана очередная чушь..

Последний раз редактировалось Vilson, 05.03.2010 в 14:27.
Vilson вне форума   Ответить с цитированием
Старый 05.03.2010, 14:23   #9
Местный
 
Аватар для Sherman
 
Регистрация: 24.04.2008
Сообщений: 364
Сказал Спасибо: 15
Имеет 116 спасибок в 83 сообщенях
Sherman пока неопределено
По умолчанию

Цитата:
Сообщение от supernewbie Посмотреть сообщение
Код:
  case pck of 
  '29 1C 58 90 49 00 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': TimerPck.Enabled := True;  
  '29 1C 58 90 49 01 00 00 00 4D BF FE FF 08 57 02 00 A0 F3 FF FF': if TimerPck.Enabled then PckIn := True;
  end;
Этот код работаит? Помоему case понимает только цыфры :-D


Миниатюры
Нажмите на изображение для увеличения
Название: Untitled-1000000.jpg
Просмотров: 163
Размер:	171.5 Кб
ID:	988  

Последний раз редактировалось Sherman, 05.03.2010 в 14:29.
Sherman вне форума   Ответить с цитированием
Старый 05.03.2010, 14:41   #10
Местный
 
Аватар для supernewbie
 
Регистрация: 23.09.2009
Сообщений: 1,232
Сказал Спасибо: 119
Имеет 172 спасибок в 134 сообщенях
supernewbie пока неопределено
По умолчанию

Цитата:
Сообщение от Vilson Посмотреть сообщение
Потому что полная фигня тобой в скрипт подставлена.

У тебя что, ники чаров 01 и 02? Никогда не видел сервера где разрешены ники из двух букв, это рас.

"29 1C 58 90 49" - у тебя точно CharID = 22556 и ник чара "01"??

'19 62 26 2B 40 00 00 00 00' - что за херню ты пытаешься отправлять? 19 пакет UseItem:d(ObjectID)d(Unknown), у тебя что есть в инвентаре предмет с ObjectID = 9826? Слишком маленькое значение для ObjectID, наверняка тут написана очередная чушь..
дело не в пакетах, я переставлял их там. Хоть какие ставь, case pck of просто не работает!!! Эта проверка не робит и все. Дело не в пакетах. Инфа 100%.
supernewbie вне форума   Ответить с цитированием
Ответ

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



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

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


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

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

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