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: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы

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: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы

какие оступы?...скрипт кривой не спорю...но рабочий..причем работает в своем начальном варианте идельно....начит ошибка не в массиве и не в отступах....а в тех строчках которые к нему добавили...не могли бы вы указать эту ошибку....
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: Учитесь выставлять отступы, даже мой тупой скрыпт (см. подпись) отмечает, что скрыпт у тебе крывой и крывой он тока потому, что не стоят отступы

какие оступы?...скрипт кривой не спорю...но рабочий..причем работает в своем начальном варианте идельно....начит ошибка не в массиве и не в отступах....а в тех строчках которые к нему добавили...не могли бы вы указать эту ошибку....
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
Корж - объявлять массивы в цикле - как минимум плохой тон

Posted: 2008-02-29 21:55:10
by korzh
тьфу ты
Да и переменные тоже..
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
Одинаковые предметы не лутим стало быть - каждого по одному и хватит.. Верно?
Весьма хитрая конструкция легко заменяемая на 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 и т.д."...но почемуто скрипт не реагирует на эту надпись..хотя в журнале она появляется...