Page 1 of 1
Помогите с прокачкой пойзона
Posted: 2009-02-18 22:09:35
by Finik
мне нужен простой скрит что бы чар с сумки на полу , в которой лежат кеги пойзона наливал 1 банку, юзал скил пойзон на неё, и потом на хлеб...
и потом всё заново
за ранее спасибо огромное
Posted: 2009-02-18 23:31:05
by Finik
| |
| |
| |
| |
| |
\ /
\ /
\/
Posted: 2009-02-19 11:17:14
by Finik
sub WeaponPoison()
var fail = "Не удалось отравить оружие"
var succ = "Оружие успешно отравлено"
var p_type = "0x0000" ; тип бутылки яда
var p_colr = "0x0000" ; цвет бутылки яда
var last_weapon = uo.objAtLayer( 'Rhand' ) ;
uo.MoveItem( last_weapon )
repeat
deljournal( fail + "|" + succ )
uo.FindType( p_type, p_colr )
If NOT uo.FindCount() Then
uo.Print( "Нет бутылок с ядом" )
return
End If
uo.WaitTargetObject( last_weapon, "finditem" )
uo.UseSkill( "Poison" )
repeat
wait( 50 )
until uo.InJournal( fail + "|" + succ )
until uo.InJournal( succ )
uo.UseObject( last_weapon )
End Sub
вот изначальный скрипт , нашёл на форуме...
вставляю тип бутылки, и цвет, только единственное цвет бутылки у меня почему то "0x0000" всегда, беру дагер в руку ,он находится в правой руке...
запускаю скрипт , выбивает 9 строчка... а именно "deljournal( fail + "|" + succ )" , если удалить её, то запускается скрипт , дагер ложится в пак, появляется таргет, я кидаю таргеет на даггер , он его пойзонит, и всё, потом стоит, некаких действий потом не происходит...
Posted: 2009-02-19 15:23:39
by ADEPT_ABP
Это функция отсутствует в скрипте. Её задача удалять из журнала значения переменных fail и succ.
var fail = "Не удалось отравить оружие"
var succ = "Оружие успешно отравлено"
Удаляя строчку с deljournal( fail + "|" + succ ) ты стопаришь скрипт.
Функция deljournal() есть где-то в полезностях. Вроде даже в уроках(урок "Работа с журналом") по скриптам присутствует..
Posted: 2009-02-19 15:57:22
by Finik
sub WeaponPoison()
var fail = "Не удалось отравить оружие"
var succ = "Оружие успешно отравлено"
var p_type = "0x0000" ; тип бутылки яда
var p_colr = "0x0000" ; цвет бутылки яда
var last_weapon = uo.objAtLayer( 'Rhand' ) ;
uo.MoveItem( last_weapon )
repeat
uo.deletejournal( fail + "|" + succ )
uo.FindType( p_type, p_colr )
If NOT uo.FindCount() Then
uo.Print( "Нет бутылок с ядом" )
return
End If
uo.WaitTargetObject( last_weapon, "finditem" )
uo.UseSkill( "Poison" )
repeat
wait( 50 )
until uo.InJournal( fail + "|" + succ )
until uo.InJournal( succ )
uo.UseObject( last_weapon )
End Sub
я заменил ту строку "uo.deletejournal( fail + "|" + succ )" на эту, скрипт запускается, но нечего не происходит...
он не видит бутылку пойзона, хотя тип указан...
кто то может из этого скрипта зделать простой, что бы он просто юзал скил пойзон на бутылку, и на даггер или на хлеб, и всё, и опять по кругу...
Posted: 2009-02-20 13:52:15
by ADEPT_ABP
Code: Select all
uo.deletejournal( fail + "|" + succ )
эту функцию так использовать нельзя.
Эта функция "вшита в инжект"
и очищает ВЕСЬ журнал.
Но функцию можно "написать" самому.
Что бы в журнале удалит нужное, а не всё, нужна специальная функция её уже написали и она называется deljournal(). И вообще... Если скрипт выдаёт ошибку - "в такой-то строке нет такой-то функции" то смотришь в скрипте в указанной строке, какой функции не хватает(или не правильно написана). И смотришь
тут
Posted: 2009-02-20 17:29:26
by Finik
блин , ты мне можешь переделать ? я просто не соображаю вообще, и то что ты мне говоришь у меня читается как маты )))
Posted: 2009-02-21 18:36:03
by Destruction
Ничего переделывать не надо. Ну вернее скрипт не цикличен, а так все в порядке вроде.
У меня есть подпись.
Posted: 2009-02-22 01:41:42
by Finik
всеравно не работает..
кто может мне зделать просто скрипт что бы он юзал пойзон на бутылку и на хлеб или дагер.. и всё...
заранее спасибо
Posted: 2009-02-22 12:14:44
by Successful
за 4 дня можно было б и по поиску полазить )
Code: Select all
VAR Sunduk='0x4047AD05'
VAR LastTimer
var dagger='0x401608C1'
sub Poisoning()
uo.useobject('backpack')
wait(1000)
uo.useobject(Sunduk)
wait(1000)
while 1==1
UO.FindType('0x0F0E','0x0998','backpack')
While UO.GetQuantity('finditem')<20
UO.FindType('0x0F0E','0x0998',Sunduk)
wait(200)
UO.Grab('100','finditem')
wait(200)
Wend
UO.FindType('0x0F0E','0x0998')
if UO.GetQuantity('finditem')>0 then
if uo.skillval("Poisoning",1)<1000 then
uo.deletejournal()
LastTimer=UO.Timer()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(10)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison") OR (UO.Timer()>LastTimer+200)
else
if uo.weight > 200 then
UO.SetReceivingContainer(Sunduk)
wait(200)
UO.Grab('0','finditem')
wait(200)
UO.UnSetReceivingContainer()
uo.closeuo()
end if
end if
end if
wend
end sub
Posted: 2009-02-22 14:41:36
by Finik
а можно какоето инфо к нему, ну как он работает? что делает ? как настроить...