Эх надоел я вам но помогите(Мининг)

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
vertijok
Posts: 117
Joined: 2008-09-26 17:06:16
Contact:

Эх надоел я вам но помогите(Мининг)

Post by vertijok »

У Меня к вам большая прозиба переделаите етот скрип.
Проблемка в том что когда он сфизлит то он не хочет доберать реги а в место того чтобы он доберал включаеца другая функция.

Code: Select all

################################################################
### Функция 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



Я знаю тут есть хорошие люди и мне помогут с етим скриптом :(
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Post by GAUHAR »

DIM массив[размер] - задание массива.
Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать:
имя_массива1 = имя_массива2
для присвоения содержимого одного массива другому.

Обращение к отдельным буквам в строке - так же, как к эл-там массива:
переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.

Замечания по поводу массивов
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!

ЗЫ. СМЕНИ АВАТАРКУ.
vertijok
Posts: 117
Joined: 2008-09-26 17:06:16
Contact:

Post by vertijok »

GAUHAR wrote:DIM массив[размер] - задание массива.
Обращение к элементам: имя_массива[номер_элемента]. Нельзя писать:
имя_массива1 = имя_массива2
для присвоения содержимого одного массива другому.

Обращение к отдельным буквам в строке - так же, как к эл-там массива:
переменная[номер_буквы]. Номер - от 0, в случае выхода за конец строки - ошибка.

Замечания по поводу массивов
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом. Возвращать массивы из функций НЕЛЬЗЯ!!!

ЗЫ. СМЕНИ АВАТАРКУ.


сможеш переделать :(
GAUHAR
Posts: 137
Joined: 2006-11-06 21:45:23

Post by GAUHAR »

Примерно так:

Code: Select all

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 шт из сверх тяжелой кучи по невыясненным причинам не получается.

И еще в твоем скрипте есть:

Code: Select all

      uo.cast('Recall',rune)
      DelTextInJournal("fizzle")
      while mana == uo.mana
         wait(200)
      wend

замени на:

Code: Select all

      uo.cast('Recall',rune)
      DelTextInJournal("fizzle")
      while mana <= uo.mana
         wait(200)
      wend

так как, пока ждешь чтобы прошел каст, мана может и подрости.
vertijok
Posts: 117
Joined: 2008-09-26 17:06:16
Contact:

Post by vertijok »

GAUHAR wrote:Примерно так:

Code: Select all

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 шт из сверх тяжелой кучи по невыясненным причинам не получается.

И еще в твоем скрипте есть:

Code: Select all

      uo.cast('Recall',rune)
      DelTextInJournal("fizzle")
      while mana == uo.mana
         wait(200)
      wend

замени на:

Code: Select all

      uo.cast('Recall',rune)
      DelTextInJournal("fizzle")
      while mana <= uo.mana
         wait(200)
      wend

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

СПС пока он проходит тест потом скажу как работаит
Post Reply