Yoko

All sides of Injection
It is currently 2024-03-29 07:05:52

All times are UTC+02:00




Post new topic  Reply to topic  [ 1 post ] 
Author Message
PostPosted: 2011-09-07 04:18:24 
Offline

Joined: 2006-11-07 00:52:08
Posts: 14
Location: Russia, Saratov
>>>Уже разобрался. Сорри. Можно удалить топик.

не могу уже... сдаюсь... в общем пытаюсь сделать небольшой скриптик, что бы чар собирал из разных сундуков необходимые ресы перед полетом в шахту, проверял что есть, чего нет, добирал недостающее. В случае нехватки писал чего и сколько не хватает.

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

с нетерпением жду поправок и замечаний!

Code:
sub OrePack()
var CountRes, ValRes, Valsum, ResCargo, a, b, c, sum

ResCargo = '0x401150F7'

DIM ContNumb[3]
ContNumb[0] = '0x4009C34C' # Srolls, Bottles, Bandages
ContNumb[1] = '0x4005D9B6' # Reagents, Runes
ContNumb[2] = '0x4010272A' # Arrows, Buthers

DIM Res[18]
Res[0] = '0x1F14' # Rune
Res[1] = '0x13F6' # Butcher
Res[2] = '0x0F0C' # GH Bottles
Res[3] = '0x0F09' # Total Mana Bottles
Res[4] = '0x0F08' # Invis Bottles
Res[5] = '0x1F49' # GH Scrolls
Res[6] = '0x1F50' # Reflect Scrolls
Res[7] = '0x1F4C' # Recall Scrolls
Res[8] = '0x0E21' # Badnages
Res[9] = '0x0F7B' # BM
Res[10] = '0x0F7A'# BP
Res[11] = '0x0F84'# GA
Res[12] = '0x0F85'# GS
Res[13] = '0x0F86'# MR
Res[14] = '0x0F88'# NS
Res[15] = '0x0F8C'# SA
Res[16] = '0x0F8D'# SS
Res[17] = '0x0F3F'# Arrows

for a = 0 to 17
   CountRes = uo.count(Res[a])
   ValRes = CheckValCont(a, 1)
   b = CheckValCont(a, 2)
   if CountRes < ValRes then
      sum = ValRes - CountRes
      ValSum = "'"+str(sum)+"'"
      uo.findtype(Res[a],'-1',ContNumb[b])
         if uo.getquantity('finditem') < sum then
         c = CheckValCont(a, 3)
         uo.print("Не хватает: "+c+" !")
         endif
      uo.moveitem('finditem',ValSum,ResCargo)
   endif
   wait(500)      
next      
endsub

sub CheckValCont(ResNumb, arg)
var result

DIM Res[18]
Res[0] = "Rune"
Res[1] = "Butcher"
Res[2] = "GH Bottles"
Res[3] = "Total Mana Bottles"
Res[4] = "Invis Bottles"
Res[5] = "GH Scrolls"
Res[6] = "Reflect Scrolls"
Res[7] = "Recall Scrolls"
Res[8] = "Badnages"
Res[9] = "BM"
Res[10] = "BP"
Res[11] = "GA"
Res[12] = "GS"
Res[13] = "MR"
Res[14] = "NS"
Res[15] = "SA"
Res[16] = "SS"
Res[17] = "Arrows"

if arg == 1 then
   if ResNumb < 2 then
   result = 1
      if ResNumb > 1 then
      result = 5
         if ResNumb > 4 then
         result = 10
            if ResNumb > 7 then
            result = 75
               if ResNumb > 16 then
               result = 125
               endif
            endif
         endif
      endif
   endif
endif

if arg == 2 then
   if ResNumb > 1 and ResNumb < 9 then
      result = 0
   endif
      if ResNumb > 8 and ResNumb < 17 then
         result = 1
      endif
   if ResNumb == 0 then
      result = 1
   endif
      if ResNumb == 1 then
         result = 2
      endif
   if ResNumb == 17 then
      result = 2
   endif
endif

if arg == 3 then
result = Res[ResNumb]
endif
return result
endsub


с уважением.


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 1 post ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 30 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited