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

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

Чат (Новых сообщений с момента вашего последнего визита нет)
Загрузка...
Задавайте ваши вопросы на форуме. Чат предназначен для небольших разговоров.
 
Ответ
 
Опции темы Опции просмотра
Старый 17.01.2010, 12:12   #1
Новичок
 
Регистрация: 16.01.2010
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
IceFloe пока неопределено
По умолчанию

Скрипт пытаюсь использовать вот этот enchant_by_NLObP_09.rar
На счет куска где читается инвентарь... вродебы тут:
Код:
ComboBoxScroll.Enabled:=false; //выключаем
  end else begin
    ScrollID:=0;               //отмена
    ScrollOID:=0;
    ComboBoxScroll.Enabled:=true;  //включаем
    //RequestItemList вызываем инвентарь
    buf:=hstr('14');
    SendToServerEx(Name);
  end;
Где взять его апдейт незнаяю. =(
IceFloe вне форума   Ответить с цитированием
Старый 17.01.2010, 14:53   #2
Местный
 
Регистрация: 05.11.2008
Сообщений: 168
Сказал Спасибо: 35
Имеет 139 спасибок в 66 сообщенях
Fer123 пока неопределено
По умолчанию

Это кусок где отправляется пакет запрос списка инвентаря, а сама процедура чтения инвентаря здесь - procedure ItemList, а его апдейт здесь - procedure InventoryUpdate;
Fer123 вне форума   Ответить с цитированием
Старый 17.01.2010, 19:05   #3
Новичок
 
Регистрация: 16.01.2010
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
IceFloe пока неопределено
По умолчанию

Код:
procedure ItemList;
{Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h(ItemType1)d(ObjectID)
//   d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemType2)h(CustomType1)
//   h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(AugmentationID)
//   d(Mana)d(AttackAttrElement)d(AttackAttrElementVal)d(DefAttrFire)
//   d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefAttrHoly)d(DefAttrUnholy)
var
  i, j, k: integer;
  ListCount: integer;
begin
и
Код:
procedure InventoryUpdate; //пакет 27, Создает базу ObjectID по ItemID
var
  i, ii, j, k, ListCount, UpdType : integer;
  ItemType1, ObjectID, ItemID, LocationSlot, Count, ItemType2, CustomType1,
  isEquipped, BodyPart, EnchantLevel, CustType2, AugmentationID :integer;
  additem : boolean;
begin
  additem:=true;
  ListCount:=ReadH(2); //количество итемов
//  debugmsg('ListCount='+inttostr(ListCount));
  j:=4; //смещение для действия с предметом 1-добавлен 2-изменен 3-удален
  for i:=1 to ListCount do begin
    UpdType:=ReadH(j);
    ItemType1:=ReadH(j);
    ObjectID:=ReadD(j);
    ItemID:=ReadD(j);
    LocationSlot:=ReadD(j);
    Count:=ReadD(j);
    ItemType2:=ReadH(j);
    CustomType1:=ReadH(j);
    isEquipped:=ReadH(j);
    BodyPart:=ReadD(j);
    EnchantLevel:=ReadH(j);
    CustType2:=ReadH(j);
    AugmentationID:=ReadD(j);
    case UpdType of
эти куски?
IceFloe вне форума   Ответить с цитированием
Старый 19.01.2010, 01:58   #4
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Цитата:
Сообщение от IceFloe Посмотреть сообщение
PHP код:
procedure ItemList;
{
Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h(ItemType1)d(ObjectID)
//   d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemType2)h(CustomType1)
//   h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(AugmentationID)
//   d(Mana)d(AttackAttrElement)d(AttackAttrElementVal)d(DefAttrFire)
//   d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefAttrHoly)d(DefAttrUnholy)
var
  
ijkinteger;
  
ListCountinteger;
begin 
эти куски?
- вот это вот целиком, если можно - именно эта процедура создает твой список итемов в сумке, вторая отвечает только за апдейт. И уточни насколько полностью не видит итемлист - весь абсолютно или начиная со 2го итема в списке ошибочно выводит?

Добавлено через 10 минут
Я нашел вроде чегото у себя - но не факт что это именно от финала, выглядит довольно жутко:

Оффтоп
PS: никогда не доверяйте комментариям в скрипте
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 19.01.2010 в 02:16. Причина: Добавлено сообщение
Breadfan вне форума   Ответить с цитированием
Старый 19.01.2010, 06:41   #5
Новичок
 
Регистрация: 16.01.2010
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
IceFloe пока неопределено
По умолчанию

PHP код:
procedure ItemList;
{
Создаем базу Items}
//11=ItemList:h(ShowWindow)h(ListSize:Loop.01.0021)h(ItemType1)d(ObjectID)
//   d(ItemID:Get.Func01)d(LocationSlot)d(Count)h(ItemType2)h(CustomType1)
//   h(isEquipped)d(BodyPart)h(EnchantLevel)h(CustType2)d(AugmentationID)
//   d(Mana)d(AttackAttrElement)d(AttackAttrElementVal)d(DefAttrFire)
//   d(DefAttrWater)d(DefAttrWind)d(DefAttrEarth)d(DefAttrHoly)d(DefAttrUnholy)
var
  
ijkinteger;
  
ListCountinteger;
begin
  j
:=4//смещение для ListCount
  
ListCount:=ReadH(j); //количество итемов не должно превышать max!
  
for i:=1 to maxitems do
    if (
i<=ListCountthen begin
      BaseItems
[i,1]:=ReadH(j);  //ItemType1
      
BaseItems[i,2]:=ReadD(j);  //ObjectID
      
BaseItems[i,3]:=ReadD(j);  //ItemID
      
BaseItems[i,4]:=ReadD(j);  //LocationSlot
      
BaseItems[i,5]:=ReadD(j);  //Count
      
BaseItems[i,6]:=ReadH(j);  //ItemType2
      
BaseItems[i,7]:=ReadH(j);  //CustomType1
      
BaseItems[i,8]:=ReadH(j);  //isEquipped
      
BaseItems[i,9]:=ReadD(j);  //BodyPart
      
BaseItems[i,10]:=ReadH(j); //EnchantLevel
      
BaseItems[i,11]:=ReadH(j); //CustType2
      
BaseItems[i,12]:=ReadD(j); //AugmentationID
      //debugmsg('OID='+inttostr(BaseItems[i,2])+' ID='+inttostr(BaseItems[i,3]));
      
inc(j,40);
    
end else for k:=1 to 12 do BaseItems[i,k]:=0// забиваем нулями
  //вносим изменения в чекбоксы
  
StringList.Clear;
  try
    for 
i:=1 to ListCount do begin
      
try
        
//StringList.Add(ItemsName[ItemBase[2,i]-1]); //записываем название вещей из инвентаря
        
StringList.Add(ItemsName.Values[IntToStr(BaseItems[i,3])]); //записываем название вещей из инвентаря
      
except;
        
//msg.Lines.Add('Пропускаем! Нет ItemID='+inttostr(BaseItems[i,3])+' в itemsid.ini');
      
end
    end
;
  
except;
    
//msg.Lines.Add('ошибка в CreateItemBase->StringList.Add()');
    //msg.Lines.Add(inttostr(BaseItems[i,3]));
    
exit;
  
end;
  if 
not CheckBoxItem.Checked then begin //наполняем комбобокс
    
with ComboBoxItem do
    
begin
      Items
.Clear;
      
Items.Assign(StringList);
      
ItemIndex:=0;
    
end;
  
end;
  if 
not CheckBoxScroll.Checked then begin //наполняем комбобокс
    
with ComboBoxScroll do
    
begin
      Items
.Clear;
      
Items.Assign(StringList);
      
ItemIndex:=0;
    
end;
  
end;
end
Теперь понято, вот кусок из моего скрипта. Предложенный Вами кусок не работает, выделяет красным строку "for i:=1 to max do begin". Теперь дляменя остается загадкой как подогнать эту часть к моему покету "ItemLiist" (см.выше). На сечет инвенторя: при запуске там нет ни чего, но после заточки ручками пишет (Автоматизация заточки by NLObP для Грации!
Улучшили ItemID=0 ItemOID=0 ItemEnchLvl=0) и после появляется в строке выбора следующее: Забытый клинок 2 шт (на самом деле 20шт), Ивовый посох (незнаю что это и в сумке это нет), потом идут 4 пустые строки, опять непонятный итем и т.д. посщитал все строки(пустые и непонятные), по количеству совпадает с количеством итемов в инвентаре.
И еще вопрос://установить константу в зависимости от типа игры (С4 или Интерлюд)
interlude=true; //Interlude - true, C4 - false. Что писать? Уменя ведь Грация Финал.
IceFloe вне форума   Ответить с цитированием
Старый 19.01.2010, 10:26   #6
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Цитата:
Сообщение от IceFloe Посмотреть сообщение
Предложенный Вами кусок не работает, выделяет красным строку "for i:=1 to max do begin".
- ну это и не удивительно - это как раз яркий пример внутривидовой борьбы версий скриптов, за место в ареале обитания...там переменные разноименные используются просто...ты пакет ItemPacket выложил бы уж свой...только не с ".... кучей итемов", достаточно несколько штук в сумке оставить и все.
Цитата:
Сообщение от IceFloe Посмотреть сообщение
Что писать? Уменя ведь Грация Финал.
- соответственно - ничего, это просто след старых версий.

Цитата:
Сообщение от IceFloe Посмотреть сообщение
На сечет инвенторя: при запуске там нет ни чего
- при запуске скрипта - у перса инвентарь открывается ?

ЗЫ: Флуд разводим только изза того, что 80% пишушим (лень\некогда\...) изначально выложить свой итемлист блин
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 19.01.2010 в 12:14.
Breadfan вне форума   Ответить с цитированием
Старый 20.01.2010, 06:24   #7
Новичок
 
Регистрация: 16.01.2010
Сообщений: 8
Сказал Спасибо: 0
Имеет 0 спасибок в 0 сообщенях
IceFloe пока неопределено
По умолчанию

Код:
IceFloe, попробуй отсортировать итем лист в порядке возрастания ItemID. Когда писал скрипт у меня было сортировано по ID. Может в этом косяк?

PS: скрипт не предназначен для блессед точек.
Как отсортировывать?
Свитки обычные.

ItemList
Код:
0x11 (ItemList)
Размер: 2117+2
Время прихода: 12:15:14:281
0002 h  ShowWindow: 1 (0x0001)
0004 h  ItemCount: 33 (0x0021)
              [Начало повторяющегося блока 1/33]
0006 h  ItemTypeID: 4 (0x0004)
0008 d  ObjectID: 268577286 (0x10022A06)
000C d  ItemID: Адена ID:57 (0x0039) (0x00000039)
0010 d  LocationSlot: 0 (0x00000000)
0014 q  Amount: 36860000000
001C h  ItemType2: 4 (0x0004)
001E h  CustomType1: 0 (0x0000)
0020 h  isEquipped: 0 (0x0000)
0022 d  BodyPart: 0 (0x00000000)
0026 h  EnchantLevel: 0 (0x0000)
0028 h  CustType2: 0 (0x0000)
002A d  AugmentID: 0 (0x00000000)
002E d  Mana: -1 (0xFFFFFFFF)
0032 h  AttackElement: 65534 (0xFFFE)
0034 h  AttackElementPower: 0 (0x0000)
0036 h  FireDefElementPower: 0 (0x0000)
0038 h  WaterDefElementPower: 0 (0x0000)
003A h  WindDefElementPower: 0 (0x0000)
003C h  EarthDefElementPower: 0 (0x0000)
003E h  HolyDefElementPower: 0 (0x0000)
0040 h  UnholyDefElementPower: 0 (0x0000)
0042 d  RemainingTime: -1 (0xFFFFFFFF)
0046 
    [Конец повторяющегося блока  1/33]
              [Начало повторяющегося блока 2/33]
0046 h  ItemTypeID: 4 (0x0004)
0048 d  ObjectID: 268495620 (0x1000EB04)
004C d  ItemID: Свиток: Зачаровать оружие (S) ID:959 (0x03BF) (0x000003BF)
0050 d  LocationSlot: 1 (0x00000001)
0054 q  Amount: 1008
005C h  ItemType2: 5 (0x0005)
005E h  CustomType1: 0 (0x0000)
0060 h  isEquipped: 0 (0x0000)
0062 d  BodyPart: 0 (0x00000000)
0066 h  EnchantLevel: 0 (0x0000)
0068 h  CustType2: 0 (0x0000)
006A d  AugmentID: 0 (0x00000000)
006E d  Mana: -1 (0xFFFFFFFF)
0072 h  AttackElement: 65534 (0xFFFE)
0074 h  AttackElementPower: 0 (0x0000)
0076 h  FireDefElementPower: 0 (0x0000)
0078 h  WaterDefElementPower: 0 (0x0000)
007A h  WindDefElementPower: 0 (0x0000)
007C h  EarthDefElementPower: 0 (0x0000)
007E h  HolyDefElementPower: 0 (0x0000)
0080 h  UnholyDefElementPower: 0 (0x0000)
0082 d  RemainingTime: -1 (0xFFFFFFFF)
 [Конец повторяющегося блока  2/33]
              [Начало повторяющегося блока 3/33]
0086 h  ItemTypeID: 0 (0x0000)
0088 d  ObjectID: 268578422 (0x10022E76)
008C d  ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
0090 d  LocationSlot: 2 (0x00000002)
0094 q  Amount: 1
009C h  ItemType2: 0 (0x0000)
009E h  CustomType1: 0 (0x0000)
00A0 h  isEquipped: 0 (0x0000)
00A2 d  BodyPart: 128 (0x00000080)
00A6 h  EnchantLevel: 2 (0x0002)
00A8 h  CustType2: 0 (0x0000)
00AA d  AugmentID: 0 (0x00000000)
00AE d  Mana: -1 (0xFFFFFFFF)
00B2 h  AttackElement: 65534 (0xFFFE)
00B4 h  AttackElementPower: 0 (0x0000)
00B6 h  FireDefElementPower: 0 (0x0000)
00B8 h  WaterDefElementPower: 0 (0x0000)
00BA h  WindDefElementPower: 0 (0x0000)
00BC h  EarthDefElementPower: 0 (0x0000)
00BE h  HolyDefElementPower: 0 (0x0000)
00C0 h  UnholyDefElementPower: 0 (0x0000)
00C2 d  RemainingTime: -1 (0xFFFFFFFF)
  [Конец повторяющегося блока  3/33]
              [Начало повторяющегося блока 4/33]
00C6 h  ItemTypeID: 0 (0x0000)
00C8 d  ObjectID: 268578354 (0x10022E32)
00CC d  ItemID: Забытый Клинок ID:6583 (0x19B7) (0x000019B7)
00D0 d  LocationSlot: 3 (0x00000003)
00D4 q  Amount: 1
00DC h  ItemType2: 0 (0x0000)
00DE h  CustomType1: 0 (0x0000)
00E0 h  isEquipped: 0 (0x0000)
00E2 d  BodyPart: 128 (0x00000080)
00E6 h  EnchantLevel: 3 (0x0003)
00E8 h  CustType2: 0 (0x0000)
00EA d  AugmentID: 0 (0x00000000)
00EE d  Mana: -1 (0xFFFFFFFF)
00F2 h  AttackElement: 65534 (0xFFFE)
00F4 h  AttackElementPower: 0 (0x0000)
00F6 h  FireDefElementPower: 0 (0x0000)
00F8 h  WaterDefElementPower: 0 (0x0000)
00FA h  WindDefElementPower: 0 (0x0000)
00FC h  EarthDefElementPower: 0 (0x0000)
00FE h  HolyDefElementPower: 0 (0x0000)
0100 h  UnholyDefElementPower: 0 (0x0000)
0102 d  RemainingTime: -1 (0xFFFFFFFF)
0106 
[Конец повторяющегося блока  4/33]
адена, свитки и 2 меча
Цитата:
- при запуске скрипта - у перса инвентарь открывается ?
нет
IceFloe вне форума   Ответить с цитированием
Старый 22.01.2010, 00:36   #8
Рыцарь
 
Аватар для NLObP
 
Регистрация: 25.02.2008
Адрес: г.Волгоград
Сообщений: 2,009
Сказал Спасибо: 1,285
Имеет 1,458 спасибок в 793 сообщенях
NLObP пока неопределено
По умолчанию

Цитата:
Сообщение от IceFloe Посмотреть сообщение
Как отсортировывать?
Примерно вот так должно быть
Код:
1=Short Sword
2=Long Sword
3=Broadsword
4=Club
5=Mace
6=Apprentice's Wand
7=Apprentice's Rod
8=Willow Staff
9=Cedar Staff
10=Dagger
11=Bone Dagger
12=Knife
13=Short Bow
14=Bow
15=Short Spear
16=Long Spear
17=Wooden Arrow
18=Leather Shield
19=Small Shield
20=Buckler
21=Shirt
22=Leather Shirt
...
8647=Mysterious Solvent
8648=Coffer of Shadows
8649=Demon Horns
8650=Mask of Spirits
8651=Fairy Antennae - For Event
Если не ошибаюсь команда SORT есть, которая сортирует тестовые файлы.
Код:
SORT [/R] [/+n] [/M килобайтов] [/L язык] [/REC символов]

  [[диск1:][путь1]имя_файла1] [/T [диск2:][путь2]]

  [/O [диск3:][путь3]имя_файла3]

  /+n                         Задает число символов, n, до начала каждого

                              сравнения. /+3 показывает, что каждое

                              сравнение будет начинаться с третьего символа

                              каждой строки. Строки меньше чем n символов

                              собираются перед всеми остальными строками.

                              По умолчанию, сравнение начинается с первого

                              символа каждой строки.

  /L[OCALE] язык              Перекрывает установленные в системе по умолчанию

                              язык и раскладку заданными. Пока существует 

                              возможность только одного выбора: ""C"" - 

                              наиболее быстрый способ упорядочивания 

                              последовательности. 

                              Сортировка всегда идет без учета регистра.

  /M[EMORY] килобайтов        Задает количество основной памяти, используемой

                              для сортировки, в килобайтах. Размер памяти

                              должен быть не менее 160КБ. При явном задании

                              размера памяти именно это количество будет,

                              использовано невзирая на то, какое количество 

                              основной памяти доступно в системе.



                              Наилучшей производительности можно добиться, не

                              задавая размер памяти. По умолчанию, сортировка

                              выполняется за один проход (без временного 

                              файла), используя максимально доступный размер

                              памяти. В остальных случаях, сортировка

                              выполняется за два прохода (с сохранением

                              частично отсортированных данных во временном

                              файле), так что количество памяти, используемой

                              для обоих проходов, - одинаково. По умолчанию,

                              максимальный объем памяти равен 90% доступной 

                              основной памяти, если входными и выходными

                              потоками являются файлы на диске, и 45% доступной

                              основной памяти - иначе.

  /REC[ORD_MAXIMUM] символов  Определяет максимальное число символов в записи

                              (по умолчанию 4096, максимальное 65535).

  /R[EVERSE]                  Обратный порядок сортировки; т.е. сортировка

                              идет от Я до А, и затем от 9 до 0.

  [диск1:][путь1]имя_файла1   Определяет имя сортируемого файла. Если оно

                              опущено, то будет использоваться стандартный

                              поток ввода. Явное задание сортируемого файла

                              работает быстрее, чем перенаправление того же

                              файла в качестве стандартного потока ввода.

  /T[EMPORARY]

    [диск2:][путь2]           Определяет путь к папке, содержащей рабочие

                              файлы сортировки, в том случае, когда данные

                              не помещаются в основной памяти. По умолчанию

                              используется системная временная папка.

  /O[UTPUT]

    [диск3:][путь3]имя_файла3 Определяет имя файла, в котором сохраняются

                              отсортированные результаты. Если оно опущено

                              данные записываются в стандартный поток вывода.

                              Явное задание файла вывода работает быстрее чем

                              перенаправление стандартного потока вывода 

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


NLObP вне форума   Ответить с цитированием
Старый 20.01.2010, 11:40   #9
Местный
 
Аватар для Breadfan
 
Регистрация: 29.04.2008
Сообщений: 830
Сказал Спасибо: 80
Имеет 230 спасибок в 169 сообщенях
Breadfan пока неопределено
По умолчанию

Ошибка скорее всего происходит изза разной размерности типов данных...в скрипте, для определения количества итемов, используется простое DWord - 4 байта (BaseItems[i,5]:=ReadD(j); //Count ), а в том листке что ты выложил (кстати, это совсем не то что я просил) - показано что используется тип данных размерностью в 8 байт...как вариант - можешь просто вставить пустые сдвиги:
---------
ReadD(j); -----> сдвиг указателя на 4 байта
BaseItems[i,5]:=ReadD(j); //Count
---------
только это надо и в CreateBase и в Update делать...
__________________
На фразы в аську типа "слух карочь 1)как точить 2)как раскачаться за 5 мин" - игнор. ИМХО идиотизм
Дай голодному рыбу - он будет один день сыт. Покажи ему, как удить рыбу - он пошлёт тебя и скажет, что у него есть более интересные занятия, чем забрасывать снасти в воду
David Kastrup @ de.comp.text.tex.
"Приобретенные навыки общения с маленькими детьми - сильно упрощают взаимопонимание на форумах..."

А вы знаете, что для качественной сварки - место шва нужно протереть спиртом?

Последний раз редактировалось Breadfan, 20.01.2010 в 11:52.
Breadfan вне форума   Ответить с цитированием
Старый 20.01.2010, 11:48   #10
Рыцарь
 
Аватар для alexteam
 
Регистрация: 07.03.2009
Сообщений: 9,139
Сказал Спасибо: 70
Имеет 2,820 спасибок в 1,735 сообщенях
alexteam на пути к лучшему
По умолчанию

про размерность - правильно.. за исключением
word = 2 байта
DWord/integer = 4 байта...
инт64 = 8 байт...
__________________
L2Ext - project closed.
alexteam вне форума   Ответить с цитированием
Ответ

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



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

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


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

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