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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Результаты опроса: Нужна ли такая тема форуму?
Да, мне бы была полезна. 34 66.67%
Пускай будет, но мне и так норм. 10 19.61%
Нет, не нужна. 7 13.73%
Голосовавшие: 51. Вы ещё не голосовали в этом опросе

Ответ
 
Опции темы Опции просмотра
Старый 05.03.2011, 23:11   #1
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Так более универсально - для C4
delphi Код:
var   ItemID, ItemOID, ItemEnch: integer;      //ItemID затачиваемого предмета   //ITEMs   BaseItems:  array[1..maxitems, 1..12] of integer//все предметы в инвентаре //...................................... Procedure ItemList; //создание базы предметов var     i, j, count : integer;     values : array[0..8] of variant; begin     count:=round((length(pck)-5)/ReadH(4));     for j:=1 to 12 do for i:=1 to maxitems do BaseItems[i,j]:=0;     for i:=0 to ReadH(4)-1 do         begin             readmask('hdddhhhdh', 6+i*count, values);             BaseItems[i+1,2]:=values[1];  //OID             BaseItems[i+1,3]:=values[2];  //ItemID             BaseItems[i+1,5]:=values[3];  //Amount (кол-во предметов)             BaseItems[i+1,10]:=values[8]; //EnchLvl         end;  end; //...................................... Procedure InventoryUpdate; var     i, j, obj, count : integer;     values : array[0..9] of variant; begin     count:=round((length(pck)-3)/ReadH(2));     for i:=0 to ReadH(2)-1 do         begin             readmask('hhdddhhhdh', 4+i*count, values);             case values[0] of                 1: obj:=0;                 2: obj:=values[2];                 3: begin                     for i:=1 to maxitems do                         if BaseItems[i,2]=values[2] then                             begin                                 for j:=1 to 12 do BaseItems[i,j]:=0;                                 break;                             end;                     continue;                    end;             end;             for i:=1 to maxitems do                 if BaseItems[i,2]=obj then                     begin                         BaseItems[i,2]:=values[2];  //OID                         BaseItems[i,3]:=values[3];  //ItemID                         BaseItems[i,5]:=values[4];  //Amount                         BaseItems[i,10]:=values[9]; //EnchLvl                         break;                     end;         end; end;

Тоже самое для Freya
delphi Код:
//...................................... Procedure ItemList; //создание базы предметов var     i, j, count : integer;     values : array[0..8] of variant; begin     count:=round((length(pck)-5)/ReadH(4));     for j:=1 to 12 do for i:=1 to maxitems do BaseItems[i,j]:=0;     for i:=0 to ReadH(4)-1 do         begin             readmask('dddqhhhdh', 6+i*count, values);             BaseItems[i+1,2]:=values[0];             BaseItems[i+1,3]:=values[1];             BaseItems[i+1,5]:=values[3];             BaseItems[i+1,10]:=values[8];         end; end; //...................................... Procedure InventoryUpdate; var     i, j, obj, count : integer;     values : array[0..9] of variant; begin     count:=round((length(pck)-3)/ReadH(2));     for i:=0 to ReadH(2)-1 do         begin             readmask('hdddqhhhdh', 4+i*count, values);             case values[0] of                 1: obj:=0;                 2: obj:=values[1];                 3: begin                     for i:=1 to maxitems do                         if BaseItems[i,2]=values[1] then                             begin                                 for j:=1 to 12 do BaseItems[i,j]:=0;                                 break;                             end;                     continue;                    end;             end;             for i:=1 to maxitems do                 if BaseItems[i,2]=obj then                     begin                         BaseItems[i,2]:=values[1];                         BaseItems[i,3]:=values[2];                         BaseItems[i,5]:=values[4];                         BaseItems[i,10]:=values[9];                         break;                     end;         end; end;
__________________
| Для самых ленивый | Телепаты в отпуске |Мы работаем над этим |
Не умеешь - учись, не хочешь учиться - плати © Суровый Закон Жизни


NLObP вне форума   Ответить с цитированием
За это сообщение NLObP нажился 3 спасибками от:
Ответ

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



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

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


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

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