Yoko
http://forum.yoko.com.ua/

Скрипт на мэджери, помогите плз
http://forum.yoko.com.ua/viewtopic.php?f=20&t=254
Page 1 of 2

Author:  Kosmozone [ 2004-05-04 12:21:55 ]
Post subject:  Скрипт на мэджери, помогите плз

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 и опять кастовал

помогите плиз

Author:  AntiKiller [ 2004-05-04 13:42:20 ]
Post subject:  Re: Скрипт на мэджери, помогите плз

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

работает

Author:  Kosmozone [ 2004-05-04 14:07:36 ]
Post subject: 

Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начале очистил журнал?

Author:  AntiKiller [ 2004-05-04 14:16:56 ]
Post subject: 

Kosmozone wrote:
Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?



Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.

Author:  Kosmozone [ 2004-05-04 14:19:45 ]
Post subject: 

AntiKiller wrote:
Kosmozone wrote:
Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?



Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.

на шарде где я ща играю именно так и растет, 55 сфера
медитация растет когда будет you are at peace, поэтому я и рассчитывал что 1 раз кастанет пойзон

подскажи как сделать проверку на you are at peace а потом чтоб кастовал и стерал журнал

Author:  AntiKiller [ 2004-05-04 14:27:25 ]
Post subject: 

Так у тебяж медитация закагчивается когда мана равня интеллекту)))))
Зачем тебе по Надписи из журнала?))))))))

Author:  Kosmozone [ 2004-05-04 14:29:20 ]
Post subject: 

AntiKiller wrote:
Так у тебяж медитация закагчивается когда мана равня интеллекту)))))
Зачем тебе по Надписи из журнала?))))))))

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

Author:  AntiKiller [ 2004-05-04 14:37:30 ]
Post subject:  Re: Скрипт на мэджери, помогите плз

while uo.mana < uo.int

В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))

Author:  Kosmozone [ 2004-05-04 14:39:44 ]
Post subject:  Re: Скрипт на мэджери, помогите плз

AntiKiller wrote:
while uo.mana < uo.int

В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))

он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой :)

Author:  AntiKiller [ 2004-05-04 14:44:58 ]
Post subject:  Re: Скрипт на мэджери, помогите плз

Kosmozone wrote:
AntiKiller wrote:
while uo.mana < uo.int

В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))

он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой :)



Блин он писать будет если ты при МАНЕ 100 попробуеш медитировать вот тьогда он те скажит ГУЛЯЙ ВАСЁК и ак под завязку мана)))

Author:  Edred [ 2004-05-04 16:27:31 ]
Post subject: 

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

Только проверь сообщение, я счас не помню как оно правильно звучит... И не забудь правильно указать заглавные буквы...

Author:  Biga [ 2004-05-04 20:51:32 ]
Post subject: 

можно совсем коротко и не заморачиваться на написание:
uo.injournal("peace")

Author:  Kosmozone [ 2004-05-05 11:18:49 ]
Post subject: 

Я проставил просто еще один вэйт на 1000 после wend он успевает написать ю ар эт пис и начинает кастовать,
обошелся без журнала, спасибо за помощь :)

Author:  Biga [ 2004-05-05 13:26:39 ]
Post subject: 

Ну и зря без журнала. Это же совсем разные уровни.
С вэйтом ты надеешься, что этого времени хватит, но вдруг ворлдсэйв?
А с журналом ты гарантированно знаешь, что дождешься этого события.

Хотя, это не критично.
Вот что более важно: Ты ставишь задержку на 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)

Author:  Edred [ 2004-05-05 19:18:07 ]
Post subject: 

Biga wrote:
Вот что более важно: Ты ставишь задержку на 1000мс. Чар успевает сказать at peace и около 500мс простаивает впустую. Я понимаю, что пример смешной - полсекунды, какие мелочи. Но если ты будешь везде ставить вэйты вместо наблюдения журнала, то, во-первых, получишь менее надежные скрипты, а во-вторых, в сумме будешь прокачиваться медленнее, чем возможно, и терять лишний трафик.


Вот с медитацией ты тут не прав. Фокус в том, что чар может (при низком скилле особенно) терять концентрацию и прекращать медитировать. И если просто ставить проверку на peace и на время ничего хорошего не получится. тогда надо Ставить проверку на два сообщения, надо ветвить через иф проверку, а если хочешь избежать гоуту, то вводить лишний репеат... гимор. Проще как раз обойтись паузой в 1000 мс. :lol:

Author:  Kosmozone [ 2004-05-06 16:19:31 ]
Post subject: 

Бига прав, кто может сделать скрипт с проверкой журнала, на основе того, что щас есть....

на этом шарде где я играю персонаж если входит в транс то выходит либо вар модом либо другим действием либо ю ар эт пис

Author:  ZloyLuter [ 2004-05-06 17:28:11 ]
Post subject: 

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

Author:  Kosmozone [ 2004-05-06 21:14:40 ]
Post subject: 

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


по-моему это скрипт не для меня, мне нужно не больше кол-во маны тратить а потом кастить....
спасибо за помощь

Author:  Kosmozone [ 2004-05-07 12:18:48 ]
Post subject: 

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

вот так работает замечательно, спасибо Биге за убеждение и Эдреду за поправку скрипта :)

Author:  Edred [ 2004-05-07 19:16:47 ]
Post subject: 

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 и будет работать еще лучше :)

Page 1 of 2 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/