У Меня к вам большая прозиба переделаите етот скрип.
Проблемка в том что когда он сфизлит то он не хочет доберать реги а в место того чтобы он доберал включаеца другая функция.
################################################################ ### Функция OpenChest ######################################### ################################################################ sub OpenChest() uo.findtype('0x0E42',-1,'ground') if uo.findcount()>0 then uo.useobject(MageChest) chest=MageChest else uo.sayu(' bank ') chest=bankbox endif wait(1000) CheckLag() uo.findtype(bag,-1,chest) bagreg=uo.getserial('finditem') uo.useobject(bagreg) wait(1000) CheckLag() FindRune(chest) end sub
################################################################ ### Функция FindRune ########################################## ################################################################ sub FindRune(b) var idrune uo.findtype(rune,-1,b) idrune=uo.getserial('finditem') Cast(idrune) end sub
################################################################ ### Функция Cast(rune) ############################################ ################################################################ Sub Cast(rune) var a coord=GetXY('self') if ComXY(Home,coord)==true then a=true else a=false endif MoveReg(bagreg) var mana if uo.bm>0 && uo.bp>0 && uo.mr>0 then cast: if uo.mana < 20 then med() wait(2000) goto cast endif mana = uo.mana uo.cast('Recall',rune) DelTextInJournal("fizzle") while mana == uo.mana wait(200) wend if ComXY(MCave,coord)==false then if ComXY(Home,coord)==a then wait(1000) CheckLag() if uo.injournal("fizzle") then MoveReg(bagreg) goto cast endif wait(200) endif endif else uo.print('Stop') uo.closeuo() endif wait(1000) end sub
################################################################ ### Функция Move reg ########################################## ################################################################ sub MoveReg(id) uo.print('Move Reagents') var a dim reg[3] reg=mreg(reg)
for a=0 to 2 if uo.count(reg[a])<1 then uo.findtype(reg[a],-1,id) uo.moveitem('finditem',1,'backpack') wait(700) CheckLag() endif next end sub
################################################################ ### Функция-массив Регов ###################################### ################################################################ Sub mreg(reg) reg[0] = "0x0F7A" ;Black Pearls reg[1] = "0x0F7B" ;Blood Moss reg[2] = "0x0F86" ;Mandrake Roots return reg end sub
Я знаю тут есть хорошие люди и мне помогут с етим скриптом
DIM массив[размер] - задание массива.
Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать:
имя_массива1 = имя_массива2
для присвоения содержимого одного массива другому.
Обращение к отдельным буквам в строке - так же, как к эл-там массива:
переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.
Замечания по поводу массивов
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!
GAUHAR wrote:DIM массив[размер] - задание массива. Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать: имя_массива1 = имя_массива2 для присвоения содержимого одного массива другому.
Обращение к отдельным буквам в строке - так же, как к эл-там массива: переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.
Замечания по поводу массивов Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!
sub MoveReg(id) uo.print('Move Reagents') var a dim reg[3] reg[0] = "0x0F7A" ;Black Pearls reg[1] = "0x0F7B" ;Blood Moss reg[2] = "0x0F86" ;Mandrake Roots for a=0 to 2 if uo.count(reg[a])<1 then uo.findtype(reg[a],-1,id) uo.moveitem('finditem',2,'backpack') wait(700) CheckLag() endif next endsub
Должен брать по 2 шт каждого вида реагента, так как взять 1 шт из сверх тяжелой кучи по невыясненным причинам не получается.
sub MoveReg(id) uo.print('Move Reagents') var a dim reg[3] reg[0] = "0x0F7A" ;Black Pearls reg[1] = "0x0F7B" ;Blood Moss reg[2] = "0x0F86" ;Mandrake Roots for a=0 to 2 if uo.count(reg[a])<1 then uo.findtype(reg[a],-1,id) uo.moveitem('finditem',2,'backpack') wait(700) CheckLag() endif next endsub
Должен брать по 2 шт каждого вида реагента, так как взять 1 шт из сверх тяжелой кучи по невыясненным причинам не получается.