Page 1 of 2
poisoning... помогите разобратса
Posted: 2009-01-29 10:45:48
by kykypy3a
я в скриптах не очень но настроить тока могу.... пыталса разобратса у меня не получилось

(
сервер runuo... вот собстна сам скрипт!! проблема в чем, у меня на сервере пойзон так работает... сначала useskill poisoning далее на бутылку потом на оружие! я полазил на форуме и тока такой нашол что больше всего подходит! но он пишит что " Это не бутылка пойзона" и все! я незнаю что поменять что бы он работал! помогите плз!
Code: Select all
sub Poisons();отравляем пуху
var bottle='0x0F0A'
var colorpoison='0x0000'
var dagger='0x400A7C3F'
UO.FindType(bottle,colorpoison,'backpack')
if uo.findcount() then
uo.deletejournal()
uo.waittargetobject(dagger,'finditem')
uo.useskill('Poisoning')
repeat
wait(50)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison")
endif
endsub
Posted: 2009-01-29 10:49:11
by Savage
Надо местами поментяь дагер и финдитем. Возможно еще поправить цвет бутылки - колорпоизон или тип - боттле.
Posted: 2009-01-29 11:10:25
by kykypy3a
спасибо заработала... блин все перепробывал... перечитал команды

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

ибо я деревянный! заранее огромное спасибо!
Posted: 2009-01-29 11:14:15
by Savage
Всё верно, он делает 1 раз пойзонинг.
Самый простой и наглядный способ зациклить процесс это:
Code: Select all
sub aaa()
while 1==1
Poisons()
wend
end sub
Posted: 2009-01-29 11:20:01
by ADEPT_ABP
После того как он начал пойзонить оружие идёт проверка журнала на наличие следующих строк:
- You apply the poison
- You fail to apply
В скрипте это:
Code: Select all
repeat
wait(50)
until UO.InJournal("You fail to apply") OR UO.InJournal("You apply the poison")
Проверь что в журнале(в игре) пишет когда:
- Пропойзонил оружие (You apply the poison)
- Не получилось пропойзонить (You fail to apply)
Posted: 2009-01-29 11:29:44
by kykypy3a
я поменял по журналу проверку и все равно он ничего после этого не делает...
Code: Select all
until UO.InJournal("You fail to apply a sufficient does of poison.") OR UO.InJournal("You apply the poison.")
endif
вот так на сервере пишет.... и если не трудно как зацыклить его ?? как встроить в скрипт что бы он повторял его и где должна писатса задержка на повтор ?
Posted: 2009-01-29 11:32:02
by Savage
Code: Select all
until UO.InJournal("You fail to apply a sufficient does of poison.") OR UO.InJournal("You apply the poison.")
Всю эту ересь можно заменить на:
Про цикл написано выше.
Posted: 2009-01-29 11:37:17
by kykypy3a
я вставил цикл который ты написал! вот так получилось
Code: Select all
sub aaa()
while 1==1
Poisons()
wend
end sub
sub Poisons();отравляем пуху
var bottle='0x0F0A'
var colorpoison='0x0000'
var dagger='0x400A7C3F'
UO.FindType(bottle,colorpoison,'backpack')
if uo.findcount() then
uo.deletejournal()
uo.waittargetobject('finditem',dagger)
uo.useskill('Poisoning')
repeat
wait(50)
until UO.InJournal("You") OR UO.InJournal("You")
endif
endsub
ноонвсе равно пойзонит 1 раз и стоит тупо.... помоги разобратса чего!
Posted: 2009-01-29 11:41:23
by ADEPT_ABP
Гы... Я не обратил внимания на то, что скрипт одноразового применения, если конечно это весь скрипт.
После
ставишь тот же
а перед
ставишь
Скрипт будет повторятся пока чар живой. Но если кончатся бутыли пойсона, то он не сможет сказать в журнал ни чего. И будет крутится проверка журнала, даже если чар умрёт.
P.S. Да что такое, опять не заметил, что уже написали про цикл.
Posted: 2009-01-29 11:43:16
by Savage
kykypy3a wrote:я вставил цикл который ты написал! вот так получилось
Code: Select all
sub aaa()
while 1==1
Poisons()
wend
end sub
sub Poisons();отравляем пуху
var bottle='0x0F0A'
var colorpoison='0x0000'
var dagger='0x400A7C3F'
UO.FindType(bottle,colorpoison,'backpack')
if uo.findcount() then
uo.deletejournal()
uo.waittargetobject('finditem',dagger)
uo.useskill('Poisoning')
repeat
wait(50)
until UO.InJournal("You") OR UO.InJournal("You")
endif
endsub
ноонвсе равно пойзонит 1 раз и стоит тупо.... помоги разобратса чего!
а запускаешь какой скрипт?
Posted: 2009-01-29 11:46:43
by ADEPT_ABP
Savage wrote:...
а запускаешь какой скрипт?
Savage cпорим что Poison? Ему же надо пойсонить... Логично? Логично.
P.S. Гы успел пропоститься раньше чем ответили.

Posted: 2009-01-29 11:48:15
by Savage
Не факт. Может в журнал инжекта ничего не идёт.
Posted: 2009-01-29 11:50:50
by ADEPT_ABP
Savage wrote:Не факт. Может в журнал инжекта ничего не идёт.
Если журнале клиента надпись есть, то она должна быть и журнале инжекта. Или я чего-то не знаю\понимаю?
Posted: 2009-01-29 11:53:07
by kykypy3a
запускаю тот что ты мне дал sub aaa
я только что зделал как вы все расписали! получилось такое
Code: Select all
sub aaa()
while 1==1
Poisons()
wait(7000)
wend
end sub
sub Poisons();отравляем пуху
var bottle='0x0F0A'
var colorpoison='0x0000'
var dagger='0x400A7C3F'
repeat
UO.FindType(bottle,colorpoison,'backpack')
if uo.findcount() then
uo.deletejournal()
uo.waittargetobject('finditem',dagger)
uo.useskill('Poisoning')
repeat
wait(50)
until UO.InJournal("You") OR UO.InJournal("You")
endif
until uo.dead()
endsub
ты сказал поставить until uo.dead() перед endsub! ставитса тока в низу, тоесть тока в sub poisons!
когда зделал так
Code: Select all
sub aaa()
while 1==1
Poisons()
wait(7000)
wend
until uo.dead()
end sub
мне выдало ошибку сейчас так же само он пойзонит 1 раз и стоит

Posted: 2009-01-29 15:15:08
by Savage
В ручную попойзонь разок и сдалай команду ,showjournal посмотри туда пишется сообщение из журнала клиента или нет.
Posted: 2009-01-29 15:17:07
by Savage
ADEPT_ABP wrote:Savage wrote:Не факт. Может в журнал инжекта ничего не идёт.
Если журнале клиента надпись есть, то она должна быть и журнале инжекта. Или я чего-то не знаю\понимаю?
Был у меня глюк после порчи хмл файлов, в журнал инжи не шли сообщения. Поигрался с командой set и всё наладилось.
Posted: 2009-01-29 15:37:11
by ADEPT_ABP
kykypy3a wrote:...
ты сказал поставить until uo.dead() перед endsub! ставитса тока в низу, тоесть тока в sub poisons!
когда зделал так
Code: Select all
sub aaa()
while 1==1
Poisons()
wait(7000)
wend
until uo.dead()
end sub
мне выдало ошибку сейчас так же само он пойзонит 1 раз и стоит

Прочитай внимательно что я написал. И ещё, я писал ответ до того как увидел Ответ от
Savage про цикл. Для справки, по простому:
Code: Select all
repeat ; начало цикла
.... то что должно выполнятся внутри условия\цикла
Until uo.dead() ; проверка условия выхода из цикла. Цикл выполняется пока не сдохнет чар
и
Code: Select all
While not uo.dead() ; начало цикла проверка условия "Пока не мёртв" - условие выполняется
... то что должно выполнятся внутри условия\цикла
wend ;конец цикла(
Posted: 2009-01-29 16:23:16
by kykypy3a
ребят я не сильно разбираюсь

вы стока понаписывали всего
если кому не сложно собрать этот скрипт полностю как он должен быть правельно! очень прошу! заранее огромное спасибо всем за помощь

Posted: 2009-01-29 17:17:36
by Millerbeer
а точно сначала прицел на пойзон, а потом на даггер? мож всё-таки наоборот? У нас на дрв юзаешь пойзонинг, появляется целик и спрашивает, чего пойзонить будем?, показываешь даггер, появляется целик и спрашивает, каким ядом травить бум? и показываешь флакон с отравой. И командой ,info тип и цвет бутылки с ядом уточни, мож напутал всё-таки?
Posted: 2009-01-29 18:33:30
by Savage
Проснулся! Написано же, пойзонит, но только 1 раз.