Елем и цвет

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Елем и цвет

Post by Irina E »

есть такоЙ скрипт

Code: Select all

sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian

   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
endsub

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

и как поставить в этот скрипт чтобы он проверял когда они есть в радиусе 3 таилов

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
   for i = mx-4 to mx+4
      for j = my -4 to my+4
         BEGIN:
         UO.Print('Êîïàåì â êîîðäèíàòàõ: '+str(mx-i)+' '+str(my-j))
         for f=1 to 10
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
           InfoOre()
            UO.DeleteJournal()
            Tohide()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile('1341', str(i), str(j), str(mz))
            DigAhole(i,j,mz)
            if uo.InJournal('OOPS') or uo.InJournal('attacking you') then
             pwav()
             endif
        uo.findtype('0x19B7','0x0750','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0193','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0590','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x060A','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0088','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0488','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0482','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x096B','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0014','backpack') # Òèï è öâåò àéðîíà
        uo.drophere('finditem')
            if waitforore()==1 then
               f=10
            endif
         next
         if uo.journal(0)==uo.getname('self')+': You loosen some rocks but fail to find any useable ore.' then
            wait(10000)
            goto BEGIN
         endif
         end if
      next
   next
endsub

да и если можите зделаите вес, в этом скрипте копает все 4 таила вокруг себя и останавливаеца а мне надо чтобы он копал пока не набереца 600 веса и чтобы скрипт остановился
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

1) этот скрипт сам по себе не запустится. Это функция которую надо запусакть из другово скрипта. Чтобы проигрывался звук можно сделать вот так:

Code: Select all

sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian

   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
UO.Sound(100)
         return 1
      endif
   next
endsub



или добавить вниз скрипта вот такой кусок а в самом скрипте вместо uo.sound прописать Gong(3)

Code: Select all

sub Gong(times)
   VAR i
   for i=1 to times
      UO.Exec("playwav D:\Games\Ultima\YokoInjection\ALARM"); тут ВНИМАТЕЛЬНО укажи путь к файлу БЕЗ расширения
      wait(500) ; time to play sample at once
   next
end sub


2)

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
repeat
   for i = mx-4 to mx+4
      for j = my -4 to my+4
   If UO.Weight > 600 Then ; число = максимальному весу чара
    UO.Print('Перегруз!')
     return 0
   endif

бла бла бла

      next
   next
   If UO.Weight > MaxVes Then
    UO.Print('Перегруз!')
     return 0
   endif
   until UO.Dead()
endsub

3)где ты откопал такие скрипты? На форуме полно более вменяемых аналогов.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
      while UO.Weight <= (UO.STR * 4)
   for i = mx-4 to mx+4
      for j = my -4 to my+4
               BEGIN:
         UO.Print('Копаем в координатах: '+str(mx-i)+' '+str(my-j))
         for f=1 to 10
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
           InfoOre()
            UO.DeleteJournal()
            Tohide()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile('1341', str(i), str(j), str(mz))
            DigAhole(i,j,mz)
            if uo.InJournal('OOPS') or uo.InJournal('attacking you') then
             pwav()
             endif
        uo.findtype('0x19B7','0x0750','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0193','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0590','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x060A','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0088','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0488','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0482','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x096B','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0014','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
            if waitforore()==1 then
               f=10
            endif
         next
         if uo.journal(0)==uo.getname('self')+': You loosen some rocks but fail to find any useable ore.' then
            wait(10000)
          goto BEGIN
         endif
                  if checkelem()==1 then
            return
         endif
      next
   next
   wend
endsub

я вот так зделал если у него вес уже 600 то он не улетает сразу а токо после того как выкапает все таилы.

а на щот цветов и музаки то я вот так зделал

Code: Select all

sub checkelem()
   var n
   var Elemental
   Dim color[215]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian
   color[15]='0x0455' ; blakrock
   for n=1 to 15
   uo.set('finddistance','3')
   uo.findtype('0x0010',color[n],'ground')
   if uo.findcount() then
      Elemental=uo.getserial('finditem')
      uo.textopen()
      uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
            pwav()
      uo.findtype('0x0010',-1,'ground')
   end if
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

скрипте не улетает потому что проверка на вес стоит вне цикла for next
вставь

Code: Select all

   If UO.Weight > 600 Then ; число = максимальному весу чара
    UO.Print('Перегруз!')
     return 0
   endif

перед первым next
цикл лучше делать до смерти.


Code: Select all

sub checkelem()
   var n
   var Elemental
   Dim color[16]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian
   color[15]='0x0455' ; blakrock
   uo.set('finddistance','3')
   for n=1 to 15
    uo.findtype('0x0010',color[n],'ground')
    if uo.findcount() then
       Elemental=uo.getserial('finditem')
       uo.textopen()
       uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
             pwav()
    end if
   next
end sub


Чем тебя не устроил первый вариант?
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
      while UO.Weight <= (UO.STR * 4)
   for i = mx-4 to mx+4
      for j = my -4 to my+4
               BEGIN:
         UO.Print('Копаем в координатах: '+str(mx-i)+' '+str(my-j))
         for f=1 to 10
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
           InfoOre()
            UO.DeleteJournal()
            Tohide()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile('1341', str(i), str(j), str(mz))
            DigAhole(i,j,mz)
            if uo.InJournal('OOPS') or uo.InJournal('attacking you') then
             pwav()
             endif
        uo.findtype('0x19B7','0x0750','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0193','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0590','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x060A','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0088','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0488','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0482','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x096B','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
        uo.findtype('0x19B7','0x0014','backpack') # Тип и цвет айрона
        uo.drophere('finditem')
            if waitforore()==1 then
               f=10
            endif
         next
         if uo.journal(0)==uo.getname('self')+': You loosen some rocks but fail to find any useable ore.' then
            wait(10000)
          goto BEGIN
         endif
                  if checkelem()==1 then
            return
         endif
   If UO.Weight > 600 Then ; число = максимальному весу чара
    UO.Print('Перегруз!')
     return 0
   endif
      next
   next
   wend
endsub

так или как у теба в предедущем посте
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

Mirage wrote:1) этот скрипт сам по себе не запустится. Это функция которую надо запусакть из другово скрипта. Чтобы проигрывался звук можно сделать вот так:

Code: Select all

sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian

   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
UO.Sound(100)
         return 1
      endif
   next
endsub



или добавить вниз скрипта вот такой кусок а в самом скрипте вместо uo.sound прописать Gong(3)

Code: Select all

sub Gong(times)
   VAR i
   for i=1 to times
      UO.Exec("playwav D:\Games\Ultima\YokoInjection\ALARM"); тут ВНИМАТЕЛЬНО укажи путь к файлу БЕЗ расширения
      wait(500) ; time to play sample at once
   next
end sub




Почемута не хочет играть музыка при поевления елема каторый в списке
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

файл должен быть с расширением wav,
файл должен лежать там где прописан путь (или поменять на свой)
Gong(число звуков) должно стоять после обнаружения элементаля.
Колонки должны быть включены :D
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

Mirage wrote:файл должен быть с расширением wav,
файл должен лежать там где прописан путь (или поменять на свой)
Gong(число звуков) должно стоять после обнаружения элементаля.
Колонки должны быть включены :D


Вот на копку

Code: Select all

Sub mining()
   var mx, my, mz, i, j, f
   var Elemental
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
     # while UO.Weight <= (UO.STR * 2)
      sbroska()
   for i = mx-4 to mx+4
      for j = my -4 to my+4
               BEGIN:
         UO.Print('Êîïàåì â êîîðäèíàòàõ: '+str(mx-i)+' '+str(my-j))
         for f=1 to 10
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
           InfoOre()
            UO.DeleteJournal()
            Tohide()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile('1341', str(i), str(j), str(mz))
            DigAhole(i,j,mz)
            # uo.InJournal('OOPS') or uo.InJournal('attacking you') then
           # checkelem3()
             #endif
            if waitforore()==1 then
               f=10
            endif
         next
         if uo.journal(0)==uo.getname('self')+': You loosen some rocks but fail to find any useable ore.' then
            wait(10000)
          goto BEGIN
         endif
                  if checkelem()==1 then ; ВОТ ТУТ ОН ПРОВЕРЯИТ
            return
         endif
      next
   next
   #wend
endsub


вот кусок которы обнаруЖает елем

Code: Select all

Sub checkelem()
    var Elemental 
    uo.set('finddistance','3')
    uo.findtype('0x0010',-1,'ground')
    if uo.findcount() then
        Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
      else
         uo.ignore(Elemental)
      endif
    end if
endsub


а это я взял тут каторый ты мне дал

Code: Select all

sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian

   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
Gong(3)
         return 1
      endif
   next
endsub

sub Gong(times)
   VAR i
   for i=1 to times
      UO.Exec("playwav C:\FlyinOff.wav"); òóò ÂÍÈÌÀÒÅËÜÍÎ óêàæè ïóòü ê ôàéëó ÁÅÇ ðàñøèðåíèÿ
      wait(500) ; time to play sample at once
   next
end sub
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

тестируй так:
1) запускаешь функцию main() ЕСЛИ трынкнет то
2) копаешь руками пока не вызовешь элементаля.
запускаешь функцию checkelem()
Должен трынкать файл C:\FlyinOff.wav

Code: Select all

sub main()
Gong(3)
endsub

sub checkelem()
   var Elemental
   uo.set('finddistance','3')
   uo.findtype('0x0010',-1,'ground')
   if uo.findcount() then
      Elemental=uo.getserial('finditem')
      if checkcolor(Elemental)==1 then
         uo.textopen()
         uo.textprint(uo.getname(Elemental)+' @ '+MakeTime())
         Gong(3)
      else
         uo.ignore(Elemental)
      endif
   end if
endsub
sub checkcolor(obj)
   var n, c
   Dim color[14]
   color[1]='0x09DA' ; vulcan
   color[2]='0x0060' ; aqua
   color[3]='0x0BA7' ; eldar
   color[4]='0x09E6' ; elvin
   color[5]='0x09B9' ; acid
   color[6]='0x09D3' ; steel
   color[7]='0x008F' ; sand rock
   color[8]='0x09EC' ; blood crest
   color[9]='0x09F0' ; gorgan
   color[10]='0x010F' ; krynite
   color[11]='0x09A4' ; crystaline
   color[12]='0x0085' ; dragon
   color[13]='0x08AF' ; plutonium
   color[14]='0x0028' ; obsidian
   c=uo.getcolor(obj)
   for n=1 to 14
      if c == color[n] then
         return 1
      endif
   next
endsub
sub Gong(times)
   VAR i
   for i=1 to times
      UO.Exec("playwav C:\FlyinOff.wav")
      wait(500) ; time to play sample at once
   next
end sub
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

а можна зделать чтобы он один раз показал в тексте какой елем а не постояно
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

uo.textclear()
Очищает текстовое окно, открытое иcпользованием Injection или командой textopen.

uo.textclose()
Закрывает текстовое окно, открытое использованием Injection или командой textopen.

перед или после uo.textopen() добавь нужную.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

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

я хотел чтобы видеть какие елемы были а так если закрывать это тоже самое как и сечас а чистеть список я не хачу толку от текста
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

Code: Select all

;      else
         uo.ignore(Elemental)

если правильно тебя понял попробуй вот так.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

если я уберу else то он типа тока раз покажет мне какой елем или постоянно?
как это проверка происходит да пустим я копаю таил -4 +4 потом идет проверка на елема и потом копает в -4 +3 если есть елем то играет музыка и показывает текстом какой елем я выкопал.
а се час у меня при проверки постоянно показывает в тексте тот же елем каторы я выкопал и он так будет показывать до того пока он не исчезнит.
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

Code: Select all

sub checkelem()
   var Elemental
   uo.set('finddistance','3') ;дистанция 3 тайла от игрока
   uo.findtype('0x0010',-1,'ground') ;ищем тип на земле
   if uo.findcount() then ;если нашли то
      Elemental=uo.getserial('finditem') ;присваиваем константу
      if checkcolor(Elemental)==1 then ;если цвет удовлетворяет поиску
         uo.textopen() ;открываем тектовое окошко
         uo.textprint(uo.getname(Elemental)+' @ '+MakeTime()) ;записываем дату
         Gong(3) ;играем сигнал
      else ;В ПРОТИВНОМ СЛУЧАЕ( ЕСЛИ НЕ СОВПАДАЕТ СО СПИСКОМ)
         uo.ignore(Elemental) ;игнорируем элементаля
      endif ;
   end if
endsub

У тебя не игнорируется найденный элементаль. С каждым поиском он будет находиться записываться и сигналить. else лишнее.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

спс будем тестить
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
repeat
   for i = mx-4 to mx+4
      for j = my -4 to my+4
   If UO.Weight > 600 Then ; число = максимальному весу чара
    UO.Print('Перегруз!')
     return 0
   endif

бла бла бла

      next
   next
   If UO.Weight > MaxVes Then
    UO.Print('Перегруз!')
     return 0
   endif
   until UO.Dead()
endsub


вот интересна какая проверка на вес отвечает за то чтобы скрипт останавился
Mirage
Posts: 2802
Joined: 2009-05-28 09:58:28
Location: Иваново
Contact:

Re: Елем и цвет

Post by Mirage »

в твоем примере обе проверки отвечают :)
Если верхний кусок поместить ниже бла бла бла но перед next то будет хватать одной проверки.
Irina E
Posts: 240
Joined: 2009-06-12 20:10:00
Location: Vasa Smerti(RASToMAN) DRW

Re: Елем и цвет

Post by Irina E »

я почему спросил у меня в скриптке на копку есть кусок скрипта на выброс трэш руды после того как выкапал всё вокруг себя в радиусе 4 -4 то он выкидавает трэш руду я бы хотел поставить в проверки на вес выбрас трэш руды тоесть набрал 390 веса он выкидавает трэш руды так до того пока не наберёт вес 400 и потом улетает дамой

Code: Select all

sub mining()
   var mx, my, mz, i, j, f
   mx = UO.GetX('self')
   my = UO.GetY('self')
   mz = UO.GetZ('self')
repeat
   for i = mx-4 to mx+4
      for j = my -4 to my+4
   If UO.Weight > 300 Then ; ÷èñëî = ìàêñèìàëüíîìó âåñó ÷àðà
    UO.Print('Ïåðåãðóç!')
     return 0
   endif
        UO.Print('Êîïàåì â êîîðäèíàòàõ: '+str(mx-i)+' '+str(my-j))
         for f=1 to 10
            if uo.count('0x0F39')==0 and uo.count('0x0F3A')==0 and uo.count('0x0E86')==0 and uo.count('0x0E85')==0 then
               return
            endif
           InfoOre()         
            UO.DeleteJournal()
            Tohide()
            if uo.waiting() then
               uo.canceltarget()
            endif
            UO.Waittargettile('1341', str(i), str(j), str(mz))
            DigAhole(i,j,mz)         
            if waitforore()==1 then
               f=10
            endif
            if flagpk==1 then
               return
            endif
            if uo.injournal('You have been revealed') and flaginvis==1 then
               flaginvis=0
               invis()
               return
            endif
         next
         if uo.journal(0)==uo.getname('self')+': You loosen some rocks but fail to find any useable ore.' then
            wait(10000)
         endif
         if checkelem()==1 then
            return
         endif
         next
   next
   If UO.Weight > 300 Then
    UO.Print('Ïåðåãðóç!')
     return 0
   endif
   until UO.Dead()
endsub


вот это куда вставлять

Code: Select all

sbroska()


или так зделать и вставлять после как выкапал руду с таила

Code: Select all

   If UO.Weight > 300 Then
    UO.Print('Ïåðåãðóç!')
 sbroska()
   endif
Post Reply