Page 1 of 1

запуск скрипта при появлении определенной фразы...

Posted: 2008-02-28 16:43:26
by Sp
вот скрипт..
sub rezka2()
UO.UseObject('lastcorpse')

if UO.GetQuantity('lastcorpse') then
UO.SetArm('temp')
UO.WaitTargetObject('lastcorpse')
uo.usetype("0x13FA")
wait(1000)
UO.Arm('temp')
wait(1500)
endif
var t,l
t=500
dim LootingItem[2]
uo.Print('наченаем лутать...')
LootingItem[0]= 0x0F78 #shield
LootingItem[1]= 0x0EED #plaitmail
LootingItem[2]= 0x0F7E #plaitmail
UO.SetReceivingContainer('0x404CE772') ; ID backpacka

for l=0 to 2

uo.FindType(LootingItem[l],"-1","lastcontainer")
if uo.FindCount()>0 and uo.GetDistance("lastcontainer")<=2 then
uo.Grab(1,"finditem")
uo.Print('Iaeaai i?aaiao: '+str(uo.findcount()))
wait(t)
end if
endif
next
uo.Print('ВСЁ!!!.')
end sub

надо что он запускался тогда когда появлялась надпись..ну например.."Body"...и работал постоянно...вот...

Поиск я юзал ,но нашел тока атаку по типу....в моем случае эти скрипты мне не подходят...

Posted: 2008-02-28 20:27:24
by korzh

Code: Select all

sub rezka2() 
while not uo.dead()
uo.deletejournal()
wait(100)
if uo.injournal('body') then
UO.UseObject('lastcorpse')
if UO.GetQuantity('lastcorpse') then
UO.SetArm('temp')
UO.WaitTargetObject('lastcorpse')
uo.usetype("0x13FA")
wait(1000)
UO.Arm('temp')
wait(1500)
endif
var t,l
t=500
dim LootingItem[2]
uo.Print('наченаем лутать...')
LootingItem[0]= 0x0F78 #shield
LootingItem[1]= 0x0EED #plaitmail
LootingItem[2]= 0x0F7E #plaitmail
UO.SetReceivingContainer('0x404CE772') ; ID backpacka

for l=0 to 2

uo.FindType(LootingItem[l],"-1","lastcontainer")
if uo.FindCount()>0 and uo.GetDistance("lastcontainer")<=2 then
uo.Grab(1,"finditem")
uo.Print('Iaeaai i?aaiao: '+str(uo.findcount()))
wait(t)
end if
endif
next
uo.Print('ВСЁ!!!.')
else
wait(100)
endif
wait(500)
wend
end sub

Posted: 2008-02-29 08:48:14
by Sp
выдает ошибку....Unhadled exeption in parser...вот что пишет..

Posted: 2008-02-29 09:40:27
by Destruction

Code: Select all

dim LootingItem[2]
uo.Print('наченаем лутать...')
LootingItem[0]= 0x0F78 #shield
LootingItem[1]= 0x0EED #plaitmail
LootingItem[2]= 0x0F7E #plaitmail

Как же ты в массив на два элемента умудряешся три впихивать!?

ПЛОХО! Садись, два.

PS: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы :wink:

Posted: 2008-02-29 14:34:43
by Sp
Destruction wrote:

Code: Select all

dim LootingItem[2]
uo.Print('наченаем лутать...')
LootingItem[0]= 0x0F78 #shield
LootingItem[1]= 0x0EED #plaitmail
LootingItem[2]= 0x0F7E #plaitmail

Как же ты в массив на два элемента умудряешся три впихивать!?

ПЛОХО! Садись, два.

PS: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы :wink:

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

Posted: 2008-02-29 15:25:50
by Destruction
Sp wrote:
Destruction wrote:

Code: Select all

dim LootingItem[2]
uo.Print('наченаем лутать...')
LootingItem[0]= 0x0F78 #shield
LootingItem[1]= 0x0EED #plaitmail
LootingItem[2]= 0x0F7E #plaitmail

Как же ты в массив на два элемента умудряешся три впихивать!?

ПЛОХО! Садись, два.

PS: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы :wink:

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

Destruction wrote:см. подпись

Нравится когда я сам себя цитирую?..Пройдись по ссылочке в подписе, тыкни туда скрипт и посмотри.. может польза будет.

Уже не помню, что у вас там конкретно - кажется endif лишний или что-то такое.

Posted: 2008-02-29 16:11:58
by Sp
зашел по ссылке...удалил лишний end if....скрипт запускаеться но не работает...

Posted: 2008-02-29 17:10:46
by korzh

Code: Select all

sub rezka2()
  while not uo.dead()
    uo.deletejournal()
    wait(100)
    if uo.injournal('body') then
      UO.UseObject('lastcorpse')
      if UO.GetQuantity('lastcorpse') then
        UO.SetArm('temp')
        UO.WaitTargetObject('lastcorpse')
        uo.usetype("0x13FA")
        wait(1000)
        UO.Arm('temp')
        wait(1500)
      endif
      var t,l
      t=500
      dim LootingItem[3] ; вот тут должна быть цифра 3 а не 2
      uo.Print('наченаем лутать...')
; щитаем
      LootingItem[0]= 0x0F78 # 1
      LootingItem[1]= 0x0EED # 2
      LootingItem[2]= 0x0F7E # 3
      UO.SetReceivingContainer('0x404CE772') ; ID backpacka
     
      for l=0 to 2
       
        uo.FindType(LootingItem[l],"-1","lastcontainer")
        if uo.FindCount()>0 and uo.GetDistance("lastcontainer")<=2 then
          uo.Grab(1,"finditem")
          uo.Print('Iaeaai i?aaiao: '+str(uo.findcount()))
          wait(t)
        end if
      next
      uo.Print('ВСЁ!!!.')
    else
      wait(100)
    endif
    wait(500)
  wend
end sub


пробуй

Posted: 2008-02-29 21:50:21
by Destruction
Корж - объявлять массивы в цикле - как минимум плохой тон :wink:

Posted: 2008-02-29 21:55:10
by korzh
тьфу ты :roll:
Да и переменные тоже..

Code: Select all

sub rezka2() 
dim LootingItem[3] ; вот тут должна быть цифра 3 а не 2
      LootingItem[0]= 0x0F78 # 1
      LootingItem[1]= 0x0EED # 2
      LootingItem[2]= 0x0F7E # 3
      var t = 500,l
  while not uo.dead()
    uo.deletejournal()
    wait(100)
    if uo.injournal('body') then
      UO.UseObject('lastcorpse')
      if UO.GetQuantity('lastcorpse') then
        UO.SetArm('temp')
        UO.WaitTargetObject('lastcorpse')
        uo.usetype("0x13FA")
        wait(1000)
        UO.Arm('temp')
        wait(1500)
      endif
      uo.Print('наченаем лутать...')
      UO.SetReceivingContainer('0x404CE772') ; ID backpacka
     
      for l=0 to 2
       
        uo.FindType(LootingItem[l],"-1","lastcontainer")
        if uo.FindCount()>0 and uo.GetDistance("lastcontainer")<=2 then
          uo.Grab(1,"finditem")
          uo.Print('Iaeaai i?aaiao: '+str(uo.findcount()))
          wait(t)
        end if
      next
      uo.Print('ВСЁ!!!.')
    else
      wait(100)
    endif
    wait(500)
  wend
end sub

Posted: 2008-02-29 22:12:38
by Destruction
Ня.. решил почитать скриптик - интересно..

Code: Select all

UO.UseObject('lastcorpse')
if UO.GetQuantity('lastcorpse') then

Это вот например что за хитрая конструкция?.. К тому же - ненадёжная, хочешь надёжно юзать необлутанный труп до которго руки дотягиваются - запоминай, у всех трупов графический тип 0x2006.

Code: Select all

UO.SetReceivingContainer('0x404CE772')
; ...
uo.Grab(1,"finditem")

Команды устарели - на замену им давным давно пришёл uo.moveitem().

Code: Select all

uo.FindType(LootingItem[l],"-1","lastcontainer")

Вот забавно будет, если у игрока стоит например галочка Corpses autoopen и рядом откроется трупег..

Code: Select all

if uo.FindCount()>0 and uo.GetDistance("lastcontainer")<=2 then

Одинаковые предметы не лутим стало быть - каждого по одному и хватит.. Верно? :)

Code: Select all

else
wait(100)
endif
wait(500)

Весьма хитрая конструкция легко заменяемая на endif; wait( 300 ).

Это не говоря уже про то, что если порезать человека - то останется только мясо, да лут.. не будет трупега, который открывать. Ну и вообще в плане объявления переменных для типов - не нужно жадничать.

Re: запуск скрипта при появлении определенной фразы...

Posted: 2008-02-29 22:35:06
by korzh
Sp wrote:вот скрипт..
....
надо что он запускался тогда когда появлялась надпись..ну например.."Body"...и работал постоянно...вот...

Что просили то и сделал :)
А скрипт так и не прочитал +)

Re: запуск скрипта при появлении определенной фразы...

Posted: 2008-02-29 22:38:21
by Destruction
korzh wrote:
Sp wrote:вот скрипт..
....
надо что он запускался тогда когда появлялась надпись..ну например.."Body"...и работал постоянно...вот...

Что просили то и сделал :)
А скрипт так и не прочитал +)

Дык никто не говорит, что это твои ляпы, я просто отметил тот факт, что скрипт - не очень.

Posted: 2008-03-01 00:21:34
by Sp
тоже самое скрипт запускается но не работает...
тема скрипта как бы в том ,что когда чар убивает моба... после убийства появляется надпись " Body of Liche и т.д."...но почемуто скрипт не реагирует на эту надпись..хотя в журнале она появляется...