Добор регов Хелп

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Добор регов Хелп

Post by $keR »

Добрый день всем, вот немогу сделатиь так,чтобы он из двух-3-4.. сумок реги доберал..
тоесть сделать массив сумок, и он,если нашел одну из массива брал из нее..
как ето все воплотить в жизнь, может кто поможет, ?


Code: Select all

Sub REGS() 
 
#uo.exec('addobject symka') 
#while uo.targeting() 
#wait(100) 
#wend 
VAR amount = 10 
VAR r, q
#VAR RegBag = 0x416D75BB # ICE
VAR RegBag = 0x4019722A  # DECPISE
Dim reg[8] 
reg[1] = 0x0F84 
reg[2] = 0x0F85 
reg[3] = 0x0F86 
reg[4] = 0x0F7A 
reg[5] = 0x0F7B 
reg[6] = 0x0F8C 
reg[7] = 0x0F8D 
reg[8] = 0x0F88 
uo.ignorereset() 



 For r = 1 to 8 
 if uo.count( reg[r] )<>amount then 
  q = amount - uo.count( reg[r] ) 
  
   if q <> 0 then 
     if q > 0 then 
      
      uo.useobject( RegBag ) 
      CheckLag() 
      uo.findtype( reg[r] , -1 , RegBag ) 
      
       If uo.findcount() == 0 then 
        uo.print('нехватает реагента!') 
        return 
       endif 
        
      uo.moveitem('finditem', STR(q) ,'backpack') 
      wait(100) 
      CheckLag() 
      
        else    
      
      q = q*-1      
     uo.findtype( reg[r] , -1 ,'my') 
     uo.moveitem('finditem', STR(q) , RegBag ) 
     wait(400) 
     CheckLag() 
           endif 
   endif 
     endif 
 next 
uo.print('!! -= Done =- !!') 
end sub
kak to tak
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

ну че никто не может помоч чтоли?
kak to tak
ruff
Posts: 46
Joined: 2004-06-26 15:36:11
Location: Praha

Post by ruff »

возьми типы регов в кавычки
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

ты читал что я вообще написал?
если нет, то прочитаи еще разок,
для непонятливых:
идея такова.. составить массив сумок в которых могут быть реги.. при запуске скрипта чар доберает реги из тои сумки(из массива) которая рядом с ним..
кто может- помогите!
kak to tak
ruff
Posts: 46
Joined: 2004-06-26 15:36:11
Location: Praha

Post by ruff »

ну рас такой умный сам воплощай свои идеи в жизнь %)
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Ищи сумку по типу на полу,если нашол то если тип найденной сумки совпал с типом из массива то открывай и бери, иначе либо ищи другую сумку с другим типом либо сравнивай тип найденной на полу с другим элементом массива.
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

вот вот.. ето я понимаю, а как ето воплотить в жизнь не знаю
подскажите начало.. шаблон хотябы..
kak to tak
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Не совсем вижу проблемы..

Code: Select all

var N = 3
DIM reagent_packs[ val( str( N ) ) ]
reagent_packs[ 0 ] = "0x00000000"
reagent_packs[ 1 ] = "0x00000000"
reagent_packs[ 2 ] = "0x00000000"
for i = 0 to N -1
   ; если мало регов
   ; добираем реги из сумки reagent_pack[ i ]
   ; иначе
   ; i = N -1 - выход из цикла.
next
Или я что-то не так понял? Могу и ф-цию добора приложить, если нужно..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

делал примерно такое же.. он из первои из массива доберал, как написать чтобы он искал,

uo.getdistance(reagent_packs)<3
немогу додумать,что нужно.. чтобы он искал пак.. проверял тоесть ,если он рядом или нет, если первого пака не обнаружил, тоищеи второи.. и т.д.. дистанЦия "3"
kak to tak
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Code: Select all

ищешь по типу на полу
если нашел то
  сравниваешь ид найденной и из массива
иначе 
  ищешь другую
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Ага, я кажись переварил проблему :)

У тебя есть ID сумок, но ты не до каждой можешь дотянуться в "данный" момент?

Посмотри, что вернёт uo.getX() например.. Вроде должно неплохо помочь :)
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

Пусть дистанцией проверяет если не можешь достать
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

Scripts Writer wrote:

Code: Select all

ищешь по типу на полу
если нашел то
  сравниваешь ид найденной и из массива
иначе 
  ищешь другую
ток искать нада по ID

мм
вобщем ты правельно меня понял, я просто не знаю как ето в жизнь воплотить... -(
kak to tak
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

$keR wrote:ток искать нада по ID
Это какой такой интересной коммандой ?))
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Scripts Writer
Posts: 2259
Joined: 2005-04-19 18:00:29
Location: Московская область
Contact:

Post by Scripts Writer »

А что может иметь ID но не иметь типа? Даже если у тебя 4-5 разных типов сумок то забей их и не надо будет в иной раз вписывать ID новой сумки с регами
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

так как мне сделать?
uo.findetypefromground('type')
чет не поиму...
kak to tak
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

Code: Select all




Sub REGS() 
 
 
VAR amount = 110 
VAR r, q,i

Dim item[2] 
item[0]='type_bag_1' 
item[1]='type_bag_2' 
for i=0 to 1 

Dim reg[8] 

reg[1] = 0x0F84 
reg[2] = 0x0F85 
reg[3] = 0x0F86 
reg[4] = 0x0F7A 
reg[5] = 0x0F7B 
reg[6] = 0x0F8C 
reg[7] = 0x0F8D 
reg[8] = 0x0F88 
uo.ignorereset() 


uo.findtype(item[i],-1,'ground') 
if uo.findcount('finditem') then 
uo.useobject(findeitem)
#что тут писать?
#и как сделать чтою
return 
end if 
 For r = 1 to 8 
 if uo.count( reg[r] )<>amount then 
  q = amount - uo.count( reg[r] ) 
  
   if q <> 0 then 
     if q > 0 then 
      
     # uo.useobject(RegBag) 
      CheckLag() 
      uo.findtype( reg[r] , -1 , item[i] ) 
      
       If uo.findcount() == 0 then 
        uo.print('нехватает реагента!') 
        return 
       endif 
        
      uo.moveitem('finditem', STR(q) ,'backpack') 
      wait(100) 
      CheckLag() 
      
        else    
      
      q = q*-1      
     uo.findtype( reg[r] , -1 ,'my') 
     uo.moveitem('finditem', STR(q) , item[i]) 
     wait(400) 
     CheckLag() 
      
     endif 
   endif 
    
 endif 
 next 
uo.print('!! -= Done =- !!') 
end sub
ногами не бить, немогу додумать как сделать..
kak to tak
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

ну так что,поможет ктонить мне ?
kak to tak
Fenixsis
Posts: 49
Joined: 2004-08-25 01:28:18

Post by Fenixsis »

Code: Select all

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


sub Regipo50Shtuk()
uo.useobject ('0x400cc6a3') 
wait(3000) 
#Реги 
CheckLag()
getreg('0x0F7B',(50-UO.BM),50)#BM 
CheckLag()
getreg('0x0F7A',(50-UO.BP),50)#BP
CheckLag() 
getreg('0x0F84',(50-UO.GA),50)#GA 
CheckLag() 
getreg('0x0F85',(50-UO.GS),50)#GI
CheckLag()
getreg('0x0F86',(50-UO.MR),50)#MR
CheckLag()
getreg('0x0F88',(50-UO.NS),50)#NS 
CheckLag()
getreg('0x0F8C',(50-UO.SA),50)#SA 
CheckLag()
getreg('0x0F8D',(50-UO.SS),50)#SS 
#Свитки 
#Алхимия 
end sub 

sub getreg(reg, kol, kol1) 
if kol>0 then 
UO.FindType(reg,'0x0000','meshok') 
UO.Grab(Str(kol),'finditem') 
wait(700) 
 UO.MoveItem("finditem", "0","backpack", "150", "150", "150")  
endif 
if kol<0 then 
UO.FindType(reg,'0x0000','backpack') 
UO.SetReceivingContainer('meshok')
UO.Grab(Str(UO.GetQuantity('finditem')-kol1),'finditem')
wait(700)
UO.MoveItem("finditem", "0","0x400cc6a3", "120", "120", "120")  
UO.UnSetReceivingContainer() 
endif 
end sub 


sub CheckLag() 
   UO.DeleteJournal() 
   UO.Click('backpack') 
   repeat 
      wait(50) 
   until UO.InJournal('backpack') 
end sub
$keR
Posts: 185
Joined: 2006-05-25 23:02:02
Location: Uoo

Post by $keR »

=)))спаб канеш, но ты не читал посты выше? прочти, и посмари что я выложил и что ты..=) и что мне нужно..
kak to tak
Post Reply