Autoloot, Autoheal, FastRecall

Anything and all.

Moderators: Murderator+, Murderator

Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Ок, следующая версия скрипта автолута.
The next autoloot version is out.

Добавлено:
- Резалка трупов
-- Нужно указать только тип предмета которым будем резать
-- Когда дорезал трупы одевает прежнее оружие
- Подбор вещей без разбору
- Больше переменных настраиваються
- Отдельно настраиваеться время лута на земле и в трупах
- Функция отключения сообщений в клиенте
Пофиксено:
- Помоему решил проблему с 0xFFFFFFFF
- Вместо кривого ручного определения расстояния, используеться finddistance

Added:
- Auto-Carving
-- You need only type of the object with which you want to carve
-- Gets last weapon on after carving
- All items loot
- More user variables
- Different corpse and ground loot times
- No client message function
Fixed:
- I think that 0xFFFFFFFF problem is fixed
- New distance checking

Code: Select all

################################## 
### AutoLoot v 3.2 by Beyonder # FIXED         ###
##################################
#
### Запускать auto_loot()
### Run the function auto_loot()
#
### Нужна любая функция CheckLag()
### Any CheckLag() function is needed for script
#
## Время достаточное для открытия контейнера
## Time enough for container to open
var OpenContWait=400
## Время между лутом вещей с трупов
## Delay after looting each item from corpses
var LootItemWait=400
## Время между лутом вещей с земли
## Delay after looting each item from ground
var LootGroundWait=400
## Нужно ли брать вещи без разбору?
## Taking items without specification
var LootAllItems=0 # 1=true 0=false
## Сначала резать трупы?
## Carve corpses first
var CutCorpse=true
## Тип вещи которой будем резать
## Type of the item we want to carve the corpses
var CutItemType='0x0EC2'
## Как далеко лежащие трупы можно лутить
## Distance to the corpse we can loot
var maxlen=3
## ID мешка куда будем складывать вещи
## ID of the bag we want to put the items to
var BagID='0x40032183'
## Забирать вещи с земли?
## Do you want loot from the ground too?
var LootGround=false
## Время достаточное на разрезание трупа
## Time enough for carving the corpse
var CutTime=300
## Отключить вывод системных сообщений в клиенте
## Disable verbosing in client
var NoVerbose=true

### Основная функция лута # ContainerID - ID контейнера # BagID - ID мешка куда складывать вещи
### Main looting function # Container ID - ID of the container to loot # BagID - bag where to put
sub loot_container(ContainerID,BagID)
var ContCnt=2 #Количество указанных контейнеров # Container count
var NeedCnt=8 #Количество указанных вещей для лута # Loot items count
dim ContFr[10] #Массив контейнеров. Число в скобках должно быть больше ContCnt # Container array, value must be set >ContCnt
dim ContTo[10] #То-же условие что и выше # Same as for ContFr
dim NeedFr[20] #Массив вещей. Число в скобках должно быть больше NeedCnt # Item array # Value must be set > NeedCnt
dim NeedTo[20] #То-же условие что и для NeedFr # Same as for NeedFr
dim NeedTypes[20] #То-же условие что и для NeedFr # Same as for NeedFr

  var ItemGr
  var ItemID
  var FCnt
  var iItem
  var waittime
  if ContainerID==UO.GetSerial('ground') then
    waittime=LootGroundWait
  else
    waittime=LootItemWait
  end if
 
##### Настройка вещей
##### Item config
  #### Контейнеры
  #### Containers
  ContFr[0]='0x0E70'
  ContTo[0]='0x0E80'
  #
  ContFr[1]='0x09B0'
  ContTo[1]='0x09B0'
  #### Вещи
  #### Items
  #### Gold
  NeedFr[0]='0x0EED'
  NeedTo[0]='0x0EED'
  #### Gems
  NeedFr[1]='0x0F00'
  NeedTo[1]='0x0F30'
  #### Scrolls
  NeedFr[2]='0x1F10'
  NeedTo[2]='0x1FFF'
  #### Jewerly
  NeedFr[3]='0x1F05'
  NeedTo[3]='0x1F0F'
  NeedFr[4]='0x1080'
  NeedTo[4]='0x108F'
  ####
  #### Bandages
  NeedFr[5]='0x0E20'
  NeedTo[5]='0x0E21'
  #### Arrows
  NeedFr[6]='0x0F3F'
  NeedTo[6]='0x0F3F'
  ####
  #### Reagents
  NeedFr[7]='0x0F70'
  NeedTo[7]='0x0F90'
  ####
  #### Какие из перечисленных типов нам нужны
  #### Which of the types we need
  NeedTypes[0]=1
  NeedTypes[1]=1
  NeedTypes[2]=1
  NeedTypes[3]=1
  NeedTypes[4]=1
  NeedTypes[5]=1
  NeedTypes[6]=0
  NeedTypes[7]=1

#### Getting items up
  repeat
    UO.FindType(-1,-1,ContainerID)
    FCnt=UO.FindCount()
    if UO.FindCount()>0 then
      ItemGr=UO.GetGraphic('finditem')
      ItemID=UO.GetSerial('finditem')
      if LootAllItems==0 then
        ## Scanning for bags
        iItem=0
        while iItem<ContCnt
          if IsDip(ItemGr,ContFr[iItem],ContTo[iItem]) then
            UO.UseObject(ItemID) ## Opening container
            wait(OpenContWait)
            loot_container(ItemID,BagID)
            UO.Hide(ItemID) ## Closing opened container
            iItem=ContCnt
          end if
          iItem=iItem+1
        wend
        ## Scanning for items
        iItem=0
        while iItem<NeedCnt
          if NeedTypes[iItem] AND IsDip(ItemGr,NeedFr[iItem],NeedTo[iItem]) then
            UO.MoveItem(ItemID,0,BagID)
            wait(waittime)
            iItem=NeedCnt
          end if
          iItem=iItem+1
        wend
      else
        UO.MoveItem(ItemID,0,BagID)
        wait(waittime)
      end if
      UO.Ignore(ItemID)
    end if
  until FCnt==0
end sub

## Функция режет выбранный труп
## Function cuts selected corpse
Sub CutCorpseID(CorpseID)
  var CutID
  var Dressed=true
  if UO.GetGraphic(UO.ObjAtLayer('Rhand'))==CutItemType then
    CutID=UO.GetSerial(UO.ObjAtLayer('Rhand'))
  else
    if UO.GetGraphic(UO.ObjAtLayer('Lhand'))==CutItemType then
      CutID=UO.GetSerial(UO.ObjAtLayer('Lhand'))
    else
      UO.FindType(CutItemType,-1,'my')
      CutID=UO.GetSerial('finditem')
      Dressed=false
    end if
  end if
  if not Dressed then
    UO.SetArm('cutting_start_arm')
  end if

  UO.WaitTargetObject(CorpseID)
  UO.UseObject(CutID)
  wait(CutTime)
  return Dressed
end sub

### Функция возвращает следующий труп
### Function returns next corpse
sub next_corpse()
  var CorpseID
  repeat
    UO.FindType('0x2006',-1,'ground') ### Finding corpse
    CorpseID=UO.GetSerial('finditem')
    if UO.FindCount()==0 then
      CorpseID=0 ## No more corpses
    else
      UO.Ignore(CorpseID)
      return CorpseID
    end if
  until CorpseID==0
  return CorpseID
end sub

### Проверка на принадлежность значения диапазону
### Check for a value being between bounds
sub IsDip(x,f,t)
  var i_x=UO.Hex2Int(x)
  var i_f=UO.Hex2Int(f)
  var i_t=UO.Hex2Int(t)
  if (i_x>=i_f AND i_x<=i_t) OR (i_x<=i_f AND i_x>=i_t) then
    return true
  else
    return false
  end if
end sub

Sub CollectCorpses(Arr)
  var CorpseID=1
  var CorpseCnt=0
  UO.IgnoreReset()
  while CorpseID<>0
    CorpseID=next_corpse()
    if CorpseID<>0 then
      Arr[CorpseCnt]=CorpseID
      UO.Ignore(CorpseID)
      CorpseCnt=CorpseCnt+1
    end if     
  wend
  return CorpseCnt
end sub


### Функция лутящая все трупы вокруг
### All corpse looting function
sub auto_loot()
  dim Corpses[50]
  var CorpseCnt=0
  var CorpseNum
  var Dressed=true
 
  uo.set('quiet',NoVerbose)
  uo.set('finddistance',maxlen)

  ## Searching Corpses
  CorpseCnt=CollectCorpses(Corpses)

  ## Looting corpses
  if (CorpseCnt>0) then
    if CutCorpse then
      for CorpseNum=0 to CorpseCnt-1
        UO.Print('Cutting')
        Dressed=Dressed*CutCorpseID(Corpses[CorpseNum])     
      next
      CorpseCnt=CollectCorpses(Corpses)
    end if
  end if
 
  if CorpseCnt>0 then
    if not Dressed then
      UO.Arm('cutting_start_arm')
    end if

    for CorpseNum=0 to CorpseCnt-1
      UO.DeleteJournal()
      UO.UseObject(Corpses[CorpseNum])
      wait(OpenContWait)
      loot_container(Corpses[CorpseNum],BagID)
    next
  end if

  if LootGround then
    loot_container('ground',BagID) #
  end if
 
  UO.IgnoreReset()
  uo.set('quiet',0)
end sub


Жду критику и багов.
Last edited by Beyonder on 2005-04-28 09:35:17, edited 2 times in total.
Vanger69
Posts: 18
Joined: 2004-10-25 13:30:40
Location: The Antaries
Contact:

Post by Vanger69 »

Beyonder
Респект тебе чувак! Так держать! 8)
Щас на стадии теста. :D
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Эээ, там я одну функцию забыл убрать, но сообщение сверху я уже поправил. Если кто уже закачал, то просьба перезакачать снова.
Wahoocka
Posts: 19
Joined: 2004-12-10 09:16:23

Post by Wahoocka »

UO.ReCall неработает на Dr.W. несмеши :lol:
Рекол работает везде 8)

Code: Select all

#   ReCall                 -=#=-                     -=#=-                                     # 
Var RuneBookID               =   "0x4000FB87"          # RuneBook ID.                          #
Var RuneBookSlot             =        "21"              # RuneBook Gump.                        #
;.................
#######################
sub RuneBookRecall() #############################################################################
#######################
# Чар реколится по рунбуке.
#
    UO.warmode(0)
    UO.UseSkill('Hiding')
    UO.Recall(RuneBookID, RuneBookSlot)
end sub


НЕ РЕКОЛИТСЯ НА DRW ЭТИМ СКРИПТОМ, А ВОТ ТЕМ, КОТОРЫЙ ПРЕДЛОЖИЛ АВТОР ТЕМЫ - РЕКОЛИТСЯ ))
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Но у меня уже и с этим работает :).
Просто нужно было правильно номер гампа подобрать.
21 например 1-ая руна в списке.
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Wahoocka wrote:
I'm wrote:UO.ReCall неработает на Dr.W. несмеши :lol:
Рекол работает везде 8)

Code: Select all

#   ReCall                 -=#=-                     -=#=-                                     # 
Var RuneBookID               =   "0x4000FB87"          # RuneBook ID.                          #
Var RuneBookSlot             =        "21"              # RuneBook Gump.                        #
;.................
#######################
sub RuneBookRecall() #############################################################################
#######################
# Чар реколится по рунбуке.
#
    UO.warmode(0)
    UO.UseSkill('Hiding')
    UO.Recall(RuneBookID, RuneBookSlot)
end sub


НЕ РЕКОЛИТСЯ НА DRW ЭТИМ СКРИПТОМ, А ВОТ ТЕМ, КОТОРЫЙ ПРЕДЛОЖИЛ АВТОР ТЕМЫ - РЕКОЛИТСЯ ))

Нереколится потому-что:
  • Увас кривые руки.
  • Они ростут из зада.
Хотя если руки золотые неважно откуда они ростут.
Я ЭТИМ скриптом реколюсь всю жизнь.
Пока все скрипты что я постил 100% рабочие ищи ошибку у себя.
Я постил но повторюсь:

Code: Select all

Инструкция: RuneBook ReCall [Общий случай.]
---------------------------------------------
Первое:
,info на РунБуку, смотрим её ID
Второе:
Пишем 2 команды:
,set norbcheck 1, должно написаться в Ultima "NoRBCheck on" и вторая команда,
,set norbcalc 1 , должно написаться "NoRBCalc on"
Третье:
Реколимся 1 раз вручную по этой рунбуке, например на первую руну в ней. Пишем
,infogump Смотрим в окошке TEXT в самый низ, на Reply: сразу после этого слова строка [000B] primary reply
Четвертое:
Команда рекола требует ID рунбуки, Номер руны, вот он номер
Reply: ___________
[000B] primary reply
Но он в Хекс коде, чтобы перевести его в нормальный численный вид используем простой калькулятор.
В самом Калькуляторе кликаем на кнопочку "HEX"
Пишем что написал инфогамп, тоесть [000B]
Затем кликаем на кнопочку "DEC" и видим нормальный цифренный результат
Идём в UO и пишем
,recall n z
Где
n - RuneBook's Id
z - полученное число
[UO.ReCall многофункциональный.]

Вероятно вы забыли про
NoRBCalc
NoRBCheck

Если вы так умны советую посетить поиск и хелп найти там recall ибо преднозначенно НЕТОЛЬКО для рекола.
------------------------------
[Расценил как личное оскорбление по ряду причин в том числе виновно и настроение.]
Wahoocka
Posts: 19
Joined: 2004-12-10 09:16:23

Post by Wahoocka »

НЕ пенься, ничего я не забыл. В результате всех этих манипуляций получилось число 21. Это для первой кнопки в рунбуке. так вот на DRW не работает. Я в скрипте указал так:

Code: Select all

UO.Recall('0x400A85DF', '21')
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

По прежнему ссылается на кривые руки.
Спецально зашел проверил.
KTO nyKHyJI???
Posts: 143
Joined: 2004-12-28 19:31:44

Post by KTO nyKHyJI??? »

вот уход по рунбуке на дрв скрипт-бай-хз-кто

Code: Select all

#   ReCall                 -=#=-                     -=#=-                                     # 
Var RuneBookID               =   "0x4000FB87"          # RuneBook ID.                          #
Var RuneBookSlot             =        "21"              # RuneBook Gump.                        #

а вот номера слотов тож под рунбуку дрвшную

Code: Select all

UO.Recall(RuneBook, 21) ; - 1 
UO.Recall(RuneBook, 33) ; - 2
UO.Recall(RuneBook, 46) ; - 3
UO.Recall(RuneBook, 58) ; - 4
UO.Recall(RuneBook, 64) ; - 5
UO.Recall(RuneBook, 73) ; - 6
UO.Recall(RuneBook, 88) ; - 7
UO.Recall(RuneBook, 94) ; - 8
UO.Recall(RuneBook, 1025) ; - 9

P.S. Beyond respect =) так держать! :P :wink:
stickman
Posts: 139
Joined: 2005-04-05 04:13:24
Location: DRW
Contact:

Post by stickman »

а раскажите нубу как запускать ети скрипты не через инфу, а например по хоткею какому-нить, где че писать?!?
sn
Posts: 11
Joined: 2005-02-28 11:51:53

Post by sn »

Насчет автолута:

Я так понял чтобы добавить другие типы нужно просто вставить аналогично этим :

#### Arrows
NeedFr[6]='0x0F3F'
NeedTo[6]='0x0F3F'
####

Другие строги например

### Reagents
NeedFr[15]='ЖЖЖЖ'
NeedTo[15]='ЖЖЖЖ'
####

И добавить NeedTypes[15]=1

Я прав? :)

Или еще Тут надо что-то менять? :
var ContCnt=2
var NeedCnt=8
dim ContFr[10]
dim ContTo[10]
dim NeedFr[20]
dim NeedTo[20]
dim NeedTypes[20]



Напишите плиз например, для фулл драгон кожи вставочку, и тогда до меня окончательно допрет :)
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

2 Stickman:

1) Копируем скрипт в свой файл со скриптами.
2) Открываем вкладку Hotkeys в инжекте.
3) Вводи в поле Hotkey клавишу по которой скрипт запуститься.
4) В поле Command введи:

Code: Select all

exec <название скрипта без скобок>

Например:

Code: Select all

exec auto_loot
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

2 sn:
Насчет первого прав. Да и кстати, реагенты уже есть в списке :)
А насчет второго то я забыл поставить комментари, щас исправлю :

Code: Select all

var ContCnt=2 #Количество указанных контейнеров
var NeedCnt=8 #Количество указанных вещей для лута
dim ContFr[10] #Массив контейнеров. Число в скобках должно быть больше ContCnt
dim ContTo[10] #То-же условие что и выше
dim NeedFr[20] #Массив вещей. Число в скобках должно быть больше NeedCnt
dim NeedTo[20] #То-же условие что и для NeedFr
dim NeedTypes[20] #То-же условие что и для NeedFr
sn
Posts: 11
Joined: 2005-02-28 11:51:53

Post by sn »

Сейчас сижу на мопеде и не могу проверить, что интересует(тк скорость "безбашенная", аж законнектиться не могу), и по-этому спрошу сразу:

А если в трупе будет 30 манок(скажем), и они будут учитаны в скрипте, он полутает их все? или как в версии (если не ошибаюсь) Савджа, только 2-4 ?
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Как бы они не-были, все в кучке (на некоторых шардах я слышал так есть) или нет, скрипт лутнет их все.
Просто разница моего скрипта от остальных в том, что остальные перебирают массив типов, пытаясь найти каждую вещь тоесть:

Code: Select all

...
uo.findtype(ItemTypes[i],-1,Corpse)
if FindCount() then
...

У меня-же перебираються все вещи которые есть в рюкзаке трупа или на земле, тоесть:

Code: Select all

...
uo.findtype(-1,-1,Corpse)
if UO.GetGraphic('findtype')<TypeTo[i] and UO.GetGraphic('findtype')>TypeFrom[i] then
...

Из-за этого проверку проходят абсолютно все вещи.
+ Такого алгоритма в том, что он быстро и надежно лутит трупы в которых мало вещей (до 50) и если в массиве много видов предметов (больше 50)
- Такого алгоритма только когда в трупе очень много вещей. Тогда ему стоит перебрать все вещи в поисках нужной.

Тоесть скрипт идеально оптимизирован под монстров.
KTO nyKHyJI???
Posts: 143
Joined: 2004-12-28 19:31:44

Post by KTO nyKHyJI??? »

Beyonder
как добавлять айтемы? точнее куда?
как сделать чтобы он их ещё смотрел в сумке у трупа и лутал их оттуда с свою?
и кстати глюк или хз что: окгда убиваеш (в трупе голда и сумка)
после этого используеш скрипт(режеш, ). он лутает сначала голду потом
поверх гроба открываеца сумка и лучтается гемсы и реги (как добавить своё?) потом баг закрывается и ГРОБ ПУСТ(ЯКОБЫ)
но если кликнуть на труп ещё раз то то там будет сумка с вещами(
те, которых нету в типе лута и которе лелутяца)
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

1) Айтемы добавлять тут:

Code: Select all

sub loot_container(ContainerID,BagID) 
var ContCnt=2 #Количество указанных контейнеров # Container count
var NeedCnt=8 #Количество указанных вещей для лута # Loot items count
dim ContFr[10] #Массив контейнеров. Число в скобках должно быть больше ContCnt # Container array, value must be set >ContCnt
dim ContTo[10] #То-же условие что и выше # Same as for ContFr
dim NeedFr[20] #Массив вещей. Число в скобках должно быть больше NeedCnt # Item array # Value must be set > NeedCnt
dim NeedTo[20] #То-же условие что и для NeedFr # Same as for NeedFr
dim NeedTypes[20] #То-же условие что и для NeedFr # Same as for NeedFr

  var ItemGr
  var ItemID
  var FCnt
  var iItem
  var waittime
  if ContainerID==UO.GetSerial('ground') then
    waittime=LootGroundWait
  else
    waittime=LootItemWait
  end if
 
##### Настройка вещей
##### Item config
  #### Контейнеры
  #### Containers
  ContFr[0]='0x0E70'
  ContTo[0]='0x0E80'
  #
  ContFr[1]='0x09B0'
  ContTo[1]='0x09B0'
  #### Вещи
  #### Items
  #### Gold
  NeedFr[0]='0x0EED'
  NeedTo[0]='0x0EED'
  #### Gems
  NeedFr[1]='0x0F00'
  NeedTo[1]='0x0F30'
  #### Scrolls
  NeedFr[2]='0x1F10'
  NeedTo[2]='0x1FFF'
  #### Jewerly
  NeedFr[3]='0x1F05'
  NeedTo[3]='0x1F0F'
  NeedFr[4]='0x1080'
  NeedTo[4]='0x108F'
  ####
  #### Bandages
  NeedFr[5]='0x0E20'
  NeedTo[5]='0x0E21'
  #### Arrows
  NeedFr[6]='0x0F3F'
  NeedTo[6]='0x0F3F'
  ####
  #### Reagents
  NeedFr[7]='0x0F70'
  NeedTo[7]='0x0F90'
  ####
  #### Какие из перечисленных типов нам нужны
  #### Which of the types we need
  NeedTypes[0]=1
  NeedTypes[1]=1
  NeedTypes[2]=1
  NeedTypes[3]=1
  NeedTypes[4]=1
  NeedTypes[5]=1
  NeedTypes[6]=0
  NeedTypes[7]=1


Для добавки вещи нужно:
- Добавить новый интервал поиска в елемент массива под остальными такого типа:
NeedFr[8]='0x0F70' # Тип начиная с которого будут браться вещи
NeedTo[8]='0x0F90' # Тип заканчивая каким будут браться вещи
Тоесть если тебе нужны все реагенты, то не обязательно указывать каждый, можно просто указать интервал от и до.
- Потом добавить елемент с соответсвствующим номером NeedTypes
Этот массив указывает на то, какие из типов нужно брать.
Тоесть если например вым в этом походе стрелы не нужны, можно поставить NeedTypes[6]=0 что выключит поиск вещей под номером 6 вообще.
Для предыдущего примера, елемент должен быть:
NeedTypes[8]=1
- Настроить следующую переменную:
var NeedCnt=8 #Количество указанных вещей для лута
Тут указываеться не последний номер а количество, тоесть номер +1.
Для предыдущего примера число должно быть 9.


2)Он перебирает все сумки трупа которые только найдет. Эту опцию никак включать не надо.
Единственное что может быть, если все сделано а он не лутит, то нужно вероятно добавить новый тип контейнеров в которые скрипт не заглядывает. Делаеться так-же как и для вещей, только массив контейнеров ContFr и ContTo и количество ContCnt.


3) Насчет пропадания контейнеров. Не знал как это обойти и зделал как смог. Просто чтобы узнать что в контейнере, его нужно открыть. А открыв его, неизвестно как его закрыть. Так вот я сделал что после открытия контейнера и лута всех вещей из него, используеться UO.Hide() на контейнер. Если это сильно не нравиться, можешь или :
- Удалить строку :
UO.Hide(ItemID) ## Closing opened container
Тогда контейнер не будет закрываться.
- Добавить после этой строки UO.Resend()
Тогда при каждом контейнере будет заново запрашиваться содержимое экрана. Все будет как должно быть, но будет тратиться больше траффика.
- Сказать мне нормальный метод закрытия контейнера =)
KTO nyKHyJI???
Posts: 143
Joined: 2004-12-28 19:31:44

Post by KTO nyKHyJI??? »

спаибо терь я понял до конца!)
а можно ли его закрывать в скрипте просто лефткликом?
(странно когда я например без скрипта делаю тож
самое то сумка почему то остается на месте) а не ищезает
- Сказать мне нормальный метод закрытия контейнера =)
СКАЖИТЕ МЕГА СКРИПТЕРЫ КАК
ПРАВИЛЬНО ЭТО ДЕЛАТЬ +((?
Beyonder
Expert!
Posts: 388
Joined: 2005-04-23 10:19:43
Contact:

Post by Beyonder »

Нужно ввести ,hide и не на открытую сумку, а на ее обьект в другой сумке.
KTO nyKHyJI???
Posts: 143
Joined: 2004-12-28 19:31:44

Post by KTO nyKHyJI??? »

..... fixed?
Post Reply