Page 1 of 1
Добор регов Хелп
Posted: 2007-09-01 10:56:40
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
Posted: 2007-09-13 02:16:02
by $keR
ну че никто не может помоч чтоли?
Posted: 2007-09-13 22:46:16
by ruff
возьми типы регов в кавычки
Posted: 2007-09-14 13:47:28
by $keR
ты читал что я вообще написал?
если нет, то прочитаи еще разок,
для непонятливых:
идея такова.. составить массив сумок в которых могут быть реги.. при запуске скрипта чар доберает реги из тои сумки(из массива) которая рядом с ним..
кто может- помогите!
Posted: 2007-09-14 14:32:16
by ruff
ну рас такой умный сам воплощай свои идеи в жизнь %)
Posted: 2007-09-14 19:03:02
by Scripts Writer
Ищи сумку по типу на полу,если нашол то если тип найденной сумки совпал с типом из массива то открывай и бери, иначе либо ищи другую сумку с другим типом либо сравнивай тип найденной на полу с другим элементом массива.
Posted: 2007-09-15 02:29:33
by $keR
вот вот.. ето я понимаю, а как ето воплотить в жизнь не знаю
подскажите начало.. шаблон хотябы..
Posted: 2007-09-15 03:07:45
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
Или я что-то не так понял? Могу и ф-цию добора приложить, если нужно..
Posted: 2007-09-15 14:47:29
by $keR
делал примерно такое же.. он из первои из массива доберал, как написать чтобы он искал,
uo.getdistance(reagent_packs)<3
немогу додумать,что нужно.. чтобы он искал пак.. проверял тоесть ,если он рядом или нет, если первого пака не обнаружил, тоищеи второи.. и т.д.. дистанЦия "3"
Posted: 2007-09-15 14:53:52
by Scripts Writer
Code: Select all
ищешь по типу на полу
если нашел то
сравниваешь ид найденной и из массива
иначе
ищешь другую
Posted: 2007-09-15 18:26:14
by Destruction
Ага, я кажись переварил проблему
У тебя есть ID сумок, но ты не до каждой можешь дотянуться в "данный" момент?
Посмотри, что вернёт uo.getX() например.. Вроде должно неплохо помочь

Posted: 2007-09-15 18:45:41
by Scripts Writer
Пусть дистанцией проверяет если не можешь достать
Posted: 2007-09-16 07:01:00
by $keR
Scripts Writer wrote:Code: Select all
ищешь по типу на полу
если нашел то
сравниваешь ид найденной и из массива
иначе
ищешь другую
ток искать нада по ID
мм
вобщем ты правельно меня понял, я просто не знаю как ето в жизнь воплотить... -(
Posted: 2007-09-16 07:26:35
by Destruction
$keR wrote:ток искать нада по ID
Это какой такой интересной коммандой ?))
Posted: 2007-09-16 09:27:48
by Scripts Writer
А что может иметь ID но не иметь типа? Даже если у тебя 4-5 разных типов сумок то забей их и не надо будет в иной раз вписывать ID новой сумки с регами
Posted: 2007-09-17 04:34:35
by $keR
так как мне сделать?
uo.findetypefromground('type')
чет не поиму...
Posted: 2007-09-18 07:44:27
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
ногами не бить, немогу додумать как сделать..
Posted: 2007-09-22 08:55:00
by $keR
ну так что,поможет ктонить мне ?
Posted: 2007-10-02 21:12:55
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
Posted: 2007-10-03 10:14:38
by $keR
=)))спаб канеш, но ты не читал посты выше? прочти, и посмари что я выложил и что ты..=) и что мне нужно..