Скрипт на мэджери, помогите плз
Moderators: Murderator+, Murderator
Скрипт на мэджери, помогите плз
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 и опять кастовал
помогите плиз
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 и опять кастовал
помогите плиз
[LD] Lamer's Death
-
- Posts: 51
- Joined: 2004-04-12 13:16:17
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
работает
Repeat
While UO.Mana < UO.Int
UO.UseSkill("Meditation")
Wait(2500)
Wend
UO.WaitTargetLast()
UO.Exec("cast 'Poison'")
Wait(3000)
Until UO.Dead()
endsub
работает
-
- Posts: 51
- Joined: 2004-04-12 13:16:17
Kosmozone wrote:Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?
Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.
AntiKiller wrote:Kosmozone wrote:Спасибо
но появился еще вопрос,
как сделать чтоб он проверил журнал на you are at peace а потом начал кастовать и в начала очистил журнал?
Да кстате магию ты так не покачаеш) он 1 раз кастует и медитирует.
И медитацию так тоже не покачать))
Кастуй на себя АНКОРП (ресурекшенс)
Там маны куча нужна и поэтому долго медитировать будет.
А магию те тоды надо переделать скрипт чтоб он кастовал до дех пор пока маны не будет ( допустим 10 ), а потом уж Медитировал.
на шарде где я ща играю именно так и растет, 55 сфера
медитация растет когда будет you are at peace, поэтому я и рассчитывал что 1 раз кастанет пойзон
подскажи как сделать проверку на you are at peace а потом чтоб кастовал и стерал журнал
[LD] Lamer's Death
-
- Posts: 51
- Joined: 2004-04-12 13:16:17
-
- Posts: 51
- Joined: 2004-04-12 13:16:17
Re: Скрипт на мэджери, помогите плз
while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
Re: Скрипт на мэджери, помогите плз
AntiKiller wrote:while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой

[LD] Lamer's Death
-
- Posts: 51
- Joined: 2004-04-12 13:16:17
Re: Скрипт на мэджери, помогите плз
Kosmozone wrote:AntiKiller wrote:while uo.mana < uo.int
В этой строке у тя написано медитировать пока мана меньше интеллекта!! Это 1 условие! когда Мана Равняется ителлекту усё заканчивается твоя медитация и на экране появляется что : Ю аре пеасе)))))
После чего у тя Репиат как никак есть и работате))
Я те дал готовый скрипт включай его и наслаждайся))
он не пишет ю ар эт пис а сразу начинает кастовать как только 100, я думаю мож надо вэйт 1 больше сделать, только какой
Блин он писать будет если ты при МАНЕ 100 попробуеш медитировать вот тьогда он те скажит ГУЛЯЙ ВАСЁК и ак под завязку мана)))
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
Только проверь сообщение, я счас не помню как оно правильно звучит... И не забудь правильно указать заглавные буквы...
Ну и зря без журнала. Это же совсем разные уровни.
С вэйтом ты надеешься, что этого времени хватит, но вдруг ворлдсэйв?
А с журналом ты гарантированно знаешь, что дождешься этого события.
Хотя, это не критично.
Вот что более важно: Ты ставишь задержку на 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)
С вэйтом ты надеешься, что этого времени хватит, но вдруг ворлдсэйв?
А с журналом ты гарантированно знаешь, что дождешься этого события.
Хотя, это не критично.
Вот что более важно: Ты ставишь задержку на 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)
Biga wrote:Вот что более важно: Ты ставишь задержку на 1000мс. Чар успевает сказать at peace и около 500мс простаивает впустую. Я понимаю, что пример смешной - полсекунды, какие мелочи. Но если ты будешь везде ставить вэйты вместо наблюдения журнала, то, во-первых, получишь менее надежные скрипты, а во-вторых, в сумме будешь прокачиваться медленнее, чем возможно, и терять лишний трафик.
Вот с медитацией ты тут не прав. Фокус в том, что чар может (при низком скилле особенно) терять концентрацию и прекращать медитировать. И если просто ставить проверку на peace и на время ничего хорошего не получится. тогда надо Ставить проверку на два сообщения, надо ветвить через иф проверку, а если хочешь избежать гоуту, то вводить лишний репеат... гимор. Проще как раз обойтись паузой в 1000 мс.

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
по-моему это скрипт не для меня, мне нужно не больше кол-во маны тратить а потом кастить....
спасибо за помощь
[LD] Lamer's Death
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 и будет работать еще лучше
