Page 1 of 1

Пара мелочей.

Posted: 2007-02-12 11:37:04
by SnOo13
Привет всем. У меня такой вопрос, возможно ли сообразить такой простенький скриптик.
Скрипт хила: Если хп не полные, то хилит бинтами до полна. Но в чем подкол, у меня разные одеяния и в разных случаях разное кол-во хп и по этому определенное УО.Лайф < ХХХ Не подходит, нужно что-бы брало переменные из данного момента уо.стр, как реализовать точно незнаю. Надеюсь, на тех кому это знакомо. И после в этом же скрипте, если хп меньше 50%, пьет ГХ. Если меньше 25 % то хилит ГХ из спелбуки.
Система примерно такая:

Code: Select all

Смотрит состояние хелсов
и смотрит сколько всего
высчитывает чем личить
>51% хилит бинтами
<50% пьет ГХ паралельно лечит бинтами
<25% пьет гх, лечится бинтами, каст гх из буки.


И еще такая тема: Если кидают на меня парализ автоматически используется такая тема как трапед (команда его использования .usetraped).

И последнее самое главное: Вот таргет на цель, очень не удобно пользоватся таргетнекстом, перерыл форум ничего работающего именно того что мне нужно, нету...
Ну так вот, щелкаю:

Code: Select all

Оно ищем все мишени определенного (тоесть реальных игроков, например если пк то с красным ником, если синий то с синим, желательно подписать где менять цвет что-бы менять эти цвета). Это бы очень помогло как в пвп, так и в пвм, что-бы не шелкалось на вендоров, всяких птичек собачек и т.д.

За раннее огромное спасибо.
Если кто поможет всеми работающими скриптами, могу помочь материально на шарде ОЛДП.
Спасибо!

Posted: 2007-02-12 13:50:26
by Mihail
ниасилил - прочитал только первое что обведено в code

Code: Select all

sub heal()
if uo.gethp()<uo.gethpmax() then
if uo.gethp()>uo.gethpmax()/2+uo.gethpmax()/10 then ; 51%
uo.bandageself()
end if
if uo.gethp()<uo.gethpmax()/2 then ; 50%
uo.usetype('0x0000') ;gh
end if
if uo.gethp()<uo.gethpmax()/4 then ; 25%
uo.usetype('0x0000') ;gh
uo.bandageself()
uo.cast(29,'self') ; gh magic
end if
else
uo.print('you are at full hp')
end if
end sub

Posted: 2007-02-12 14:47:40
by Yoko
проверки в обратном порядке, иначе срабатывание условий для большего количества здоровья маскирует те что для меньшего. и вообще в любых проверках чем критичнее проверка тем раньше она должна проводиться.

Posted: 2007-02-12 15:18:22
by Mihail
Йоко, вот ей-богу не трать ты на такие топики время :)

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

Code: Select all

if hp>51% then..
if hp<50% and hp>25% then..
if hp<25% then..

Posted: 2007-02-12 22:43:16
by SnOo13
Здесь какаята проблема во второй линии, что-то с гет хп макс.
Все решил проблему, команда была не правильно написана.
Только возник другой вопрос, как зделать этот макрос зацикленный. Что-бы условия зависили только от игры, не так что бы, у меня было забиндино допустим на Ф1 екзек хеал, оно проверяет кол-во хп... А что-бы все было автомитизрованным.

Posted: 2007-02-13 01:05:38
by I'm

Code: Select all

While NOT UO.Dead()
...
Wait(500)
Wend

Или же используй Repeat/Until но мне он не нравится :)))

Posted: 2007-02-13 01:30:10
by Mihail
проблема скорее всего в gethpmax(), я всевремя путаю как правильно.. gethpmax() или getmaxhp() :)

Posted: 2008-05-28 13:27:41
by ychenik
скрипт вроде работает, но почему то не пьет бутылку, что неверно в этой строчке uo.cast(29,'self') ?

Posted: 2008-05-28 13:29:54
by ychenik
порядок скрипта изменил как написал Йоко на такой
sub heal()
if uo.gethp()<uo.getmaxhp() then
if uo.gethp()<uo.getmaxhp()/4 then ; 25%
uo.usetype('0x0000') ;gh
uo.bandageself()
uo.cast(29,'self') ; gh magic
end if
if uo.gethp()<uo.getmaxhp()/2 then ; 50%
uo.usetype('0x0000') ;gh
uo.bandageself()
end if
if uo.gethp()>uo.getmaxhp()/2+uo.getmaxhp()/10 then ; 51%
uo.bandageself()
end if
else
uo.print('you are at full hp')
end if
end sub

в итоге получается что чар хилится бинтом, потом пишет что итем не найден т.к. я гх в пак не кидаю, а каст просто молчит, если строчку с кастом ставлю наверх, то вобще ничего не происходит

Re: Пара мелочей.

Posted: 2008-05-29 10:20:08
by Cat

Code: Select all

Оно ищем все мишени определенного (тоесть реальных игроков, например если пк то с красным ником, если синий то с синим, желательно подписать где менять цвет что-бы менять эти цвета). Это бы очень помогло как в пвп, так и в пвм, что-бы не шелкалось на вендоров, всяких птичек собачек и т.д.


Code: Select all

sub pk() 
var i, a
dim target[2]
target[1] = 0x0190
target[2] = 0x0191
uo.ignore('self')
uo.set('finddistance','8')
for i=1 to 2


uo.findtype('0x0190',-1,'ground')
a=uo.findcount()
uo.findtype('0x0191',-1,'ground')
a=a+uo.findcount()
uo.findtype(target[i],-1,'ground')
uo.print('a = '+str(a))
   if a==0 then
   uo.ignorereset()
   uo.ignore('self')
   uo.findtype(target[i],-1,'ground')
   endif
      while uo.findcount()>0 #4
            if uo.GetNotoriety('finditem') == 6 then ## цифра 6 это пк, уберешь если стро4ку будет ата4ить всех
            uo.cast('Magic Arrow','finditem')
            uo.print('Autoattack na ' + uo.getname('finditem'))
            UO.Ignore('finditem')
            goto end
            endif
      UO.Ignore('finditem')
      uo.findtype(target[i],-1,'ground')
      wend


next
uo.ignorereset()
uo.ignore('self')
end:
end sub