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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 30.08.2009, 22:51   #1
Новичок
 
Регистрация: 30.08.2009
Сообщений: 1
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
sadny пока неопределено
По умолчанию List index out of bounds...

Собственно написал 2 скрипта. Для автозаточки на интерлюде:
Код:
Name='XXX';
   MaxEnchantLvl=10;
   ScrollId=731;
   ItemId=5643;
   BuyScrolls='A7 B1 02 00 00 E0 FD 1C 00 15 00 00 00 00 00 00 00 00 00 00 00';
   PacketScriptOn='38 67 00 6F 00 67 00 6F 00 67 00 6F 00 21 00 21 00 21 00 00 00 00 00 00 00';

var
  ScrollObj,ItemObj,NumOfItems,i:integer;
  Timer01:TTimer;
  EnchLvl,MinEnch:word;
  ScriptOn:boolean;

procedure Init;
begin
   Timer01:=TTimer.Create(nil);
   Timer01.OnTimer:=@OnTimer01;
   Timer01.enabled:=false;
   Timer01.interval:=601;
   ScriptOn:=false;
end;

procedure OnTimer01(Sender: TObject);
begin
     buf:='';
     WriteC(20);
     WriteD(ScrollObj);
     WriteD(0);
     SendToServerEx(name);
     delay(327);
     buf:='';
     WriteC(88);
     WriteD(ItemObj);
     SendToServerEx(name);
     timer01.enabled:=false;
end;

procedure Free;
begin
  Timer01.free;
end;

begin
    if FromClient and (pck=HStr(PacketScriptOn)) then
       begin
       if not ScriptOn then
          begin
          ScriptOn:=true;
          buf:=HStr(BuyScrolls);
          SendToServerEx(name);
          end
       else
          begin
          ScriptOn:=false;
          end;
       pck:='';
       end;
    if FromServer and (pck[1]=HStr('1B')) and ScriptOn then
       begin
       ScrollObj:=0;
       ItemObj:=0;
       NumOfItems:=ReadH(4);
       MinEnch:=30;
       for i:=1 to NumOfItems do
           begin
           If ReadD(12+36*(i-1))=ScrollId then ScrollObj:=ReadD(8+36*(i-1));
           If (ReadD(12+36*(i-1))=ItemId) and (ReadH(30+36*(i-1))<=MinEnch) then
              begin
              ItemObj:=ReadD(8+36*(i-1));
              MinEnch:=ReadH(30+36*(i-1));
              EnchLvl:=ReadH(30+36*(i-1));
              end;
           end;
       if (ScrollObj>0) and (ItemObj>0) and (EnchLvl<MaxEnchantLvl) then timer01.enabled:=true
       else
           if not(EnchLvl=MaxEnchantLvl) then
           begin
              buf:=HStr(BuyScrolls);
              SendToServerEx(name);
           end;
       end;
end.

Последний раз редактировалось sadny, 30.08.2009 в 22:53. Причина: ошибка
sadny вне форума   Ответить с цитированием
Ответ

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



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

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


Часовой пояс GMT +4, время: 20: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

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