Page 1 of 1

елем

Posted: 2011-04-27 21:17:23
by Irina E
значит так почему скрипт не игнорировает елема после того как другой чел убил раньше меня и слутал руду то скрипт иногда кастует постоянна вортиксы и надо постоянна выхадить из игры и заходить обратно

Code: Select all

Sub checkelem()
   var n, i
   var flagvortex, Elemental

   uo.set('finddistance','3')
   uo.findtype('0x0010',-1,'ground')
   while uo.findcount()
      Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
      invis()
         flagvortex=1
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
         for n=0 to 10
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
         uo.ignore(Elemental)
      endif
      uo.findtype('0x0010',-1,'ground')
   wend
   if flagvortex==1 then
      repeat
      UO.DeleteJournal()
         checklag()
         while uo.mana<22
            wait(500)
         wend
         uo.waittargetobject('self')
         uo.cast('Mass Dispel')
         WaitForMana()
         wait(1000)
      until not uo.injournal('The spell fizzles')
colore()
      return 1
   endif
endsub

Re: елем

Posted: 2011-04-28 08:33:14
by Irina E
uo.ignorereset() и UO.DeleteJournal() не помогает почемута

Re: елем

Posted: 2011-04-28 09:24:51
by Mirage
тебе надо немного структуру поменять
Этот кусок

Code: Select all

   while uo.findcount()
      Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
      invis()
         flagvortex=1
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
         for n=0 to 10
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
         uo.ignore(Elemental)
      endif
      uo.findtype('0x0010',-1,'ground')
   wend

нужно заменить вот таким

Code: Select all

if uo.findcount() then
   Elemental=uo.getserial('finditem')
   repeat
      if checkcolor(Elemental)==1 then
         invis()
         flagvortex=1
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
         for n=0 to 10
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
         uo.ignore(Elemental)
#         return   ; возможно потребуется раскоментировать ретурн
      endif
   until uo.dead() or uo.GetX(Elemental)==0
endif

Фишка в том что мой вариант будет срабатывать на цветного элементаля пока он находится в зоне видимости или пока чар не умрет.

PS ниже скрипт не смотрел - это редактирование относится только к заданному вопросу.

Re: елем

Posted: 2011-04-28 10:26:28
by Irina E
спс будем пробовать :D

Re: елем

Posted: 2011-04-29 19:42:45
by Irina E

Code: Select all

            if checkelem()==1 then
            return
         endif

не могу понять почему если я запускаю checkelem() одельна то он не наХодит елема а если запускать скрипт полностю то он находит елема хоть его и нету там

Code: Select all

Sub checkelem()
   var n, i, a
   var flagvortex, Elemental
Dim OreColor[10] ## ìàññèâ öâåòîâ òðåøåâîé ðóäû
OreColor[1] = '0x0750'
OreColor[2] = '0x0590'
OreColor[3] = '0x060A'
OreColor[4] = '0x096B'
OreColor[5] = '0x0088'
OreColor[6] = '0x0488'
OreColor[7] = '0x0193'
OreColor[8] = '0x0032'
OreColor[9] = '0x0014'
OreColor[10] = '0x0482'
for a=1 to 10
   uo.set('finddistance','3')
   uo.findtype('0x0010',-1,'ground')
if uo.findcount() then
uo.ignore(OreColor[a])
   Elemental=uo.getserial('finditem')
   repeat
      if checkcolor(Elemental)==1 then
         invis()
         flagvortex=1
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
         for n=0 to 10
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
         uo.ignore(Elemental)
#         return   ; âîçìîæíî ïîòðåáóåòñÿ ðàñêîìåíòèðîâàòü ðåòóðí
      endif
   until uo.dead() or uo.GetX(Elemental)==0
endif
   if flagvortex==1 then
      repeat
      UO.DeleteJournal()
         checklag()
         while uo.mana<22
            wait(500)
         wend
         uo.waittargetobject('self')
         uo.cast('Mass Dispel')
         WaitForMana()
         wait(1000)
      until not uo.injournal('The spell fizzles')
colore()
      return 1
   endif
endsub

Re: елем

Posted: 2011-07-05 22:34:15
by Nmy
скрипт давно обновился
viewtopic.php?p=83648#p83648
Last edited by Nmy on Tue Nov 24, 2009 3:23 pm, edited 2 times in total. :lol:

Re: елем

Posted: 2011-07-07 09:51:44
by Irina E
Nmy wrote:скрипт давно обновился
viewtopic.php?p=83648#p83648
Last edited by Nmy on Tue Nov 24, 2009 3:23 pm, edited 2 times in total. :lol:

тупит этот скрипт то бывает слишком много диспелов кидает хоть там и нету уже вортекса

можна как то по другому сделать чтобы этот кусок скрипта был 2 разных скрипта каст вортеха и второй скрипт деспел вортеха

Code: Select all

Sub checkelem()
   var n, i
   var flagvortex, Elemental
uo.ignorereset()
UO.DeleteJournal()
   uo.set('finddistance','3')
   uo.findtype('0x0010',-1,'ground')
   while uo.findcount()
      Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
      invis()
         flagvortex=1
         castvortex()
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' Galambur '+MakeTime())
         for n=0 to 10
            wait(1000)
            checkpk()
            if flagpk==1 then
               return
            endif
         next
      else
       uo.ignore('finditem')
      endif
      uo.findtype('0x0010',-1,'ground')
   wend
   if flagvortex==1 then
      repeat
      UO.DeleteJournal()
         checklag()
         while uo.mana<22
            wait(500)
         wend
         uo.waittargetobject('self')
         uo.cast('Mass Dispel')
         WaitForMana()
         wait(1000)
      until not uo.injournal('The spell fizzles')
colore()
      return 1
   endif
endsub

Re: елем

Posted: 2011-07-07 12:38:12
by Mirage
немного не понял почему

Code: Select all

   if flagvortex==1 then
      repeat
      UO.DeleteJournal()
         checklag()
         while uo.mana<22
            wait(500)
         wend
         uo.waittargetobject('self')
         uo.cast('Mass Dispel')
         WaitForMana()
         wait(1000)
      until not uo.injournal('The spell fizzles')

цикл работает до филза а не до удачного каста + отсутствия элема?

Re: елем

Posted: 2011-07-07 12:53:11
by Irina E
Mirage wrote:немного не понял почему

цикл работает до филза а не до удачного каста + отсутствия элема?


этот скрипт что я скинул сечас работает по лутше чем там у NMY

да тут есть ищо некоторые проблемы с марком рун иногда тоже самое тупит маркает руну пока реги не кончеца в бекпаке

Code: Select all

Sub Mark(RuneID,Place)
   repeat
      if uo.mana<33 then
         meditation()
      endif
      checklag()
      Uo.Cast('Mark',RuneID)
      WaitForMana()
   until not uo.injournal('The spell fizzles')
   if Place==0 then
      Nrune=uo.getserial(RuneID)
   else
      Runehome=uo.getserial(RuneID)
   endif
endsub

Re: елем

Posted: 2011-07-07 13:45:02
by Mirage
Ну та же история с циклом :)
Я как бы у него и спрашивал - просто не вижу смысла чтото править если это фишка а не баг.

Re: елем

Posted: 2011-07-07 13:59:00
by Irina E
Mirage wrote:Ну та же история с циклом :)
Я как бы у него и спрашивал - просто не вижу смысла чтото править если это фишка а не баг.

ыыы и что мне делать скрипт сбеваеца

Re: елем

Posted: 2011-07-07 14:02:42
by Mirage
будем ждать Nmy чтобы либо пояснил либо поправил скрипт. Можешь поправить как нужно тебе ;)

Re: елем

Posted: 2011-07-12 23:06:09
by Nmy
Я не помню. Вот я минера поставил он 2 недели откопал без сбоя. Ищите проблемы у себя.

там цикл такой - ждет ману, кидает ворт, ждет падение мп, если физл- повторяет...