Page 1 of 2
Скрипт на мэджери, помогите плз
Posted: 2004-05-04 12:21:55
by Kosmozone
sub magery()
repeat
while uo.mana < uo.int
uo.useskill("Meditation")
wait (2500)
wend
uo.WaitTargetLast
uo.exec ("cast 'Poison'")
until uo.dead()
end sub
на этом простеньком скрипте клиент выдает hung мессагу и вылетает...
идея такова, что если мана не 100 ( не равна уо.инт) то медитировать пока не будет полная, (т.е you are at peace), а потом кастовал пойзон на ласт таргет и опять медитировал до 100 и опять кастовал
помогите плиз
Re: Скрипт на мэджери, помогите плз
Posted: 2004-05-04 13:42:20
by AntiKiller
sub Magery()
Repeat
While UO.Mana < UO.Int
UO.UseSkill("Meditation")
Wait(2500)
Wend
UO.WaitTargetLast()
UO.Exec("cast 'Poison'")
Wait(3000)
Until UO.Dead()
endsub
работает
Posted: 2004-05-04 14:07:36
by Kosmozone
Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начале очистил журнал?
Posted: 2004-05-04 14:16:56
by AntiKiller
Kosmozone wrote:Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?
Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.
Posted: 2004-05-04 14:19:45
by Kosmozone
AntiKiller wrote:Kosmozone wrote:Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?
Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.
на шарде где я ща играю именно так и растет, 55 сфера
медитация растет когда будет you are at peace, поэтому я и рассчитывал что 1 раз кастанет пойзон
подскажи как сделать проверку на you are at peace а потом чтоб кастовал и стерал журнал
Posted: 2004-05-04 14:27:25
by AntiKiller
Так у тебяж медитация закагчивается когда мана равня интеллекту)))))
Зачем тебе по Надписи из журнала?))))))))
Posted: 2004-05-04 14:29:20
by Kosmozone
AntiKiller wrote:Так у тебяж медитация закагчивается когда мана равня интеллекту)))))
Зачем тебе по Надписи из журнала?))))))))
блин

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

Re: Скрипт на мэджери, помогите плз
Posted: 2004-05-04 14:37:30
by AntiKiller
while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
Re: Скрипт на мэджери, помогите плз
Posted: 2004-05-04 14:39:44
by Kosmozone
AntiKiller wrote:while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой

Re: Скрипт на мэджери, помогите плз
Posted: 2004-05-04 14:44:58
by AntiKiller
Kosmozone wrote:AntiKiller wrote:while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой

Блин он писать будет если ты при МАНЕ 100 попробуеш медитировать вот тьогда он те скажит ГУЛЯЙ ВАСЁК и ак под завязку мана)))
Posted: 2004-05-04 16:27:31
by Edred
Kosmozone wrote:AntiKiller wrote:Так у тебяж медитация закагчивается когда мана равня интеллекту)))))
Зачем тебе по Надписи из журнала?))))))))
блин

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

Изменение в две строки:
sub Magery()
Repeat
UO.DeleteJournal()
While NOT UO.InJournal( 'You are a peace')
UO.UseSkill("Meditation")
Wait(2500)
Wend
UO.WaitTargetLast()
UO.Exec("cast 'Poison'")
Wait(3000)
Until UO.Dead()
endsub
Только проверь сообщение, я счас не помню как оно правильно звучит... И не забудь правильно указать заглавные буквы...
Posted: 2004-05-04 20:51:32
by Biga
можно совсем коротко и не заморачиваться на написание:
uo.injournal("peace")
Posted: 2004-05-05 11:18:49
by Kosmozone
Я проставил просто еще один вэйт на 1000 после wend он успевает написать ю ар эт пис и начинает кастовать,
обошелся без журнала, спасибо за помощь

Posted: 2004-05-05 13:26:39
by Biga
Ну и зря без журнала. Это же совсем разные уровни.
С вэйтом ты надеешься, что этого времени хватит, но вдруг ворлдсэйв?
А с журналом ты гарантированно знаешь, что дождешься этого события.
Хотя, это не критично.
Вот что более важно: Ты ставишь задержку на 1000мс. Чар успевает сказать at peace и около 500мс простаивает впустую. Я понимаю, что пример смешной - полсекунды, какие мелочи. Но если ты будешь везде ставить вэйты вместо наблюдения журнала, то, во-первых, получишь менее надежные скрипты, а во-вторых, в сумме будешь прокачиваться медленнее, чем возможно, и терять лишний трафик.
Не знаю убедил я тебя или нет не полагаться на русский "авось", но вот полезная штука, которая реально облегчает жизнь:
sub waitmsg(msg, maxwt)
var i=0
repeat
wait(100)
i=i+1
until uo.injournal(msg) or i>maxwt
end sub
Использование:
uo.deletejournal(); - важно
<action>
waitmsg("peace",50)
Posted: 2004-05-05 19:18:07
by Edred
Biga wrote:Вот что более важно: Ты ставишь задержку на 1000мс. Чар успевает сказать at peace и около 500мс простаивает впустую. Я понимаю, что пример смешной - полсекунды, какие мелочи. Но если ты будешь везде ставить вэйты вместо наблюдения журнала, то, во-первых, получишь менее надежные скрипты, а во-вторых, в сумме будешь прокачиваться медленнее, чем возможно, и терять лишний трафик.
Вот с медитацией ты тут не прав. Фокус в том, что чар может (при низком скилле особенно) терять концентрацию и прекращать медитировать. И если просто ставить проверку на peace и на время ничего хорошего не получится. тогда надо Ставить проверку на два сообщения, надо ветвить через иф проверку, а если хочешь избежать гоуту, то вводить лишний репеат... гимор. Проще как раз обойтись паузой в 1000 мс.

Posted: 2004-05-06 16:19:31
by Kosmozone
Бига прав, кто может сделать скрипт с проверкой журнала, на основе того, что щас есть....
на этом шарде где я играю персонаж если входит в транс то выходит либо вар модом либо другим действием либо ю ар эт пис
Posted: 2004-05-06 17:28:11
by ZloyLuter
sub main()
while not uo.dead()
if uo.mana >76 then
uo.exec("waittargetself")
wait(500)
uo.exec("cast 'Resurrection' self")
wait(1000)
else
while UO.Mana<UO.Int
UO.UseSkill("Meditation")
wait(500)
wend
endif
wend
end sub
Posted: 2004-05-06 21:14:40
by Kosmozone
ZloyLuter wrote:sub main()
while not uo.dead()
if uo.mana >76 then
uo.exec("waittargetself")
wait(500)
uo.exec("cast 'Resurrection' self")
wait(1000)
else
while UO.Mana<UO.Int
UO.UseSkill("Meditation")
wait(500)
wend
endif
wend
end sub
по-моему это скрипт не для меня, мне нужно не больше кол-во маны тратить а потом кастить....
спасибо за помощь
Posted: 2004-05-07 12:18:48
by Kosmozone
sub Magery()
Repeat
UO.DeleteJournal()
While NOT UO.InJournal( 'peace')
UO.UseSkill("Meditation")
Wait(2500)
Wend
UO.WaitTargetLast()
UO.Exec("cast 'Poison'")
Wait(3000)
Until UO.Dead()
end sub
вот так работает замечательно, спасибо Биге за убеждение и Эдреду за поправку скрипта

Posted: 2004-05-07 19:16:47
by Edred
Kosmozone wrote:sub Magery()
Repeat
UO.DeleteJournal()
While NOT UO.InJournal( 'peace')
UO.UseSkill("Meditation")
Wait(2500)
Wend
UO.WaitTargetLast()
UO.Exec("cast 'Poison'")
Wait(3000)
Until UO.Dead()
end sub
вот так работает замечательно, спасибо Биге за убеждение и Эдреду за поправку скрипта

Уменьши паузу после команды на медитацию до 1000 и будет работать еще лучше
