Page 1 of 1

Очень нужен скрипт, помогите переделать!!!

Posted: 2009-11-04 16:28:11
by nana uHTepHeTa
Есть скрипт, берет из сундука все для пвп, но берет строго определенное количество какое указанно в скрипте. А мне хотелось бы, что бы он еще и проверял количество того что нужно брать в бэкпаке, и если эта вещь есть то докладывал необходимое до заданного количство предметов. Да добавить чтобы брал еще свитки ГХ и рефлектов. Сам я не умею скриптить но если вы доделаете то скрипт будет воспользован многими людми.

Code: Select all

sub Yohoho() 
   var Chest='0x4034A3D9'
   var RegsQuanity = 65 
   var GreaterHealQuanity = 10 
   var TotalManaQuanity = 20 
   var TotalRefreshQuanity = 10 
   var DeadlyPoisonQuanity = 3 
   var InvisibilitylQuanity = 5 
   var BandageQuanity = 120 
   var ParalyzeScrollQuanity = 20
   var FlameStrikeScrollQuanity = 20 
   var k = 0, n 
   uo.useobject(Chest) 
   Checklag() 
   dim Regs[8] 
   Regs = RegsMassive(Regs) 
   for n = 1 to 8 
      uo.findtype(Regs[n],-1,Chest) 
      Checklag() 
      if uo.findcount() >= 1 then 
         uo.moveitem('finditem',RegsQuanity,'backpack', 150, 25, 0) 
         wait(700) 
         Checklag() 
      end if 
   next 
   uo.print('Реги Есть =ъ') 
   uo.useobject(Chest) 
   dim BottlesColor[5] 
   BottlesColor = BottlesColorMassive(BottlesColor) 
   for k = 1 to 5 
      uo.findtype('0x0F0E',BottlesColor[k],Chest) 
      Checklag() 
      if uo.findcount() >= 1 then 
         if k == 1 then 
            uo.moveitem('finditem',GreaterHealQuanity,'backpack', 96, 26, 0) 
            wait(700) 
            Checklag() 
         end if 
         if k == 2 then 
            uo.moveitem('finditem',TotalManaQuanity,'backpack', 103, 26, 0) 
            wait(700) 
            Checklag() 
         end if 
         if k == 3 then 
            uo.moveitem('finditem',TotalRefreshQuanity,'backpack', 110, 26, 0) 
            wait(700) 
            Checklag() 
         end if 
         if k == 4 then 
            uo.moveitem('finditem',DeadlyPoisonQuanity,'backpack', 117, 26, 0) 
            wait(700) 
            Checklag() 
         end if 
         if k == 5 then 
            uo.moveitem('finditem',InvisibilitylQuanity,'backpack', 124, 26, 0) 
            wait(700) 
            Checklag() 
         end if 
      end if 
   next 
   uo.print('Бутылки тоже =]') 
   uo.findtype('0x0E21',-1,Chest) 
   if uo.findcount() then 
      uo.moveitem('finditem',BandageQuanity,'backpack', 79, 26, 0) 
      wait(700) 
      Checklag() 
   end if 
   uo.findtype('0x1F5F',-1,Chest) 
   if uo.findcount() then 
      uo.moveitem('finditem',FlameStrikeScrollQuanity,'backpack', 69, 26, 0) 
      wait(700) 
      Checklag() 
   end if 
   uo.findtype('0x1F52',-1,Chest) 
   if uo.findcount() then 
      uo.moveitem('finditem',ParalyzeScrollQuanity,'backpack', 69, 26, 0) 
      wait(700) 
      Checklag() 
      uo.print('Ну и Бинты со Скроллами =]') 
   end if 
   CheckCount() 
end sub 

Sub RegsMassive(Regs) 
   Regs[1]='0x0F86' 
   Regs[2]='0x0F8D' 
   Regs[3]='0x0F88' 
   Regs[4]='0x0F7A' 
   Regs[5]='0x0F85' 
   Regs[6]='0x0F84' 
   Regs[7]='0x0F8C' 
   Regs[8]='0x0F7B' 
   return Regs 
end sub 


Sub BottlesColorMassive(BottlesColor) 
   BottlesColor[1]='0x09BB' 
   BottlesColor[2]='0x09DF' 
   BottlesColor[3]='0x0997' 
   BottlesColor[4]='0x0998' 
   BottlesColor[5]='0x0631' 
   return BottlesColor 
end sub 

Sub Checklag() 
   uo.deletejournal() 
   uo.click('backpack') 
   repeat 
      wait(100) 
   until uo.injournal('backpack') 
end sub 

sub CheckCount() 
   uo.useobject('backpack') 
   wait(500) 
   uo.concolor('0x0000') 
   uo.print(str(uo.count('0x0F0E','0x09BB'))+" Great Heals") 
   wait(100) 
   uo.print(str(uo.count('0x0F0E','0x09DF'))+" Total Mana") 
   wait(100) 
   uo.print(str(uo.count('0x0F0E','0x0997'))+" Total Refresh") 
   wait(100) 
   uo.print(str(uo.count('0x0F0E','0x0998'))+" Deadly Poison") 
   wait(100) 
   uo.print(str(uo.count('0x0F0E','0x0631'))+" Invisibility") 
   wait(100) 
   uo.print(str(uo.count('0x0F0E','0x09A6'))+" Greater Cure") 
   wait(100) 
   uo.print(str(uo.count('0x0E21','0x0000'))+" Bandages") 
   wait(100) 
   uo.print(str(uo.count('0x1F52','0x0000'))+" Paralyze Scroll") 
end sub

Posted: 2009-11-04 17:41:11
by Nmy
Такое уже выкладывал в разделе Scripting Ore есть тема прикреплена drw 2009.

Posted: 2009-11-04 19:11:36
by nana uHTepHeTa
Да вот он https://yoko.uokit.com/viewtopic.php?p=82626#82626 но мне не понятно как он работает, что нужно сделать чтобы он заработал? Куда сундук подставить?

Posted: 2009-11-04 19:55:32
by Mirage
никуда. Просто подходишь открываешь сундук и запускаешь скрипт :)

Posted: 2009-11-04 20:07:06
by nana uHTepHeTa
Да вот не работет почему то( не мог бы ты свой выложить?

Posted: 2009-11-05 12:44:09
by Nmy
nana uHTepHeTa wrote:Да вот не работет почему то( не мог бы ты свой выложить?
lastcontainer

Все нормально работает. Юзаю каждый день.

Для криворуких добавлю выход с цикла если ресурсы не найдены.

Posted: 2009-11-05 12:58:50
by Mirage
ты бы лучше переписал чтобы в теле скрипта была константа (cont какойнито) а в шапке она уже задавалась либо lastcontainer либо по ID :)

фиг знает но я обычно делаю либо по прицелу либо по ID сундука

Posted: 2009-11-05 13:21:12
by Nmy
uo.useobject('')
wait(500)

добавить сможет любой кому надо

Posted: 2009-11-05 15:19:16
by Mirage
Ну в принципе да. Но бывают ситуации разные:
1)ты стоишь у сундука собрался набрать регов тут твой сосед выбегает и от какогонибудь проишествия скончался - инжект услужливо открывает его труп и ты пытаешься достать вещи из него :)
2)опять же чисто по криворукости или забывчивости открываешь контейнер после запуска скрипта - и он назначается ластом.
3)вещи могут лежать не в куче а в контейнерах в сундуке - не очень удобно тогда будет

хотя хозяин барин конечно :roll: Все ситуации не предусмотришь - надо настраивать индивидуально.

Posted: 2009-11-05 17:51:45
by nana uHTepHeTa
может дело в версии ижекта у меня 505,18

Posted: 2009-11-05 19:55:03
by Nmy
Mirage wrote:Ну в принципе да. Но бывают ситуации разные:
1)ты стоишь у сундука собрался набрать регов тут твой сосед выбегает и от какогонибудь проишествия скончался - инжект услужливо открывает его труп и ты пытаешься достать вещи из него :)
2)опять же чисто по криворукости или забывчивости открываешь контейнер после запуска скрипта - и он назначается ластом.
3)вещи могут лежать не в куче а в контейнерах в сундуке - не очень удобно тогда будет

хотя хозяин барин конечно :roll: Все ситуации не предусмотришь - надо настраивать индивидуально.
1 и 2 исправил уже давно, после открытия получает сериал ластконтейнера и дальше работает по сериалу - открывай что угодно.