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

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
SnOo13
Posts: 47
Joined: 2006-03-10 15:28:05

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

Post by SnOo13 »

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

Code: Select all

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


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

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

Code: Select all

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

За раннее огромное спасибо.
Если кто поможет всеми работающими скриптами, могу помочь материально на шарде ОЛДП.
Спасибо!
Кто с мечом к нам прийдет - того легче пристрелить :)
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post 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
Yoko
Site Admin
Posts: 1964
Joined: 2004-04-03 16:49:38
Contact:

Post by Yoko »

проверки в обратном порядке, иначе срабатывание условий для большего количества здоровья маскирует те что для меньшего. и вообще в любых проверках чем критичнее проверка тем раньше она должна проводиться.
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

Йоко, вот ей-богу не трать ты на такие топики время :)

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

Code: Select all

if hp>51% then..
if hp<50% and hp>25% then..
if hp<25% then..
SnOo13
Posts: 47
Joined: 2006-03-10 15:28:05

Post by SnOo13 »

Здесь какаята проблема во второй линии, что-то с гет хп макс.
Все решил проблему, команда была не правильно написана.
Только возник другой вопрос, как зделать этот макрос зацикленный. Что-бы условия зависили только от игры, не так что бы, у меня было забиндино допустим на Ф1 екзек хеал, оно проверяет кол-во хп... А что-бы все было автомитизрованным.
Кто с мечом к нам прийдет - того легче пристрелить :)
I'm
Expert!
Posts: 1396
Joined: 2004-10-15 22:38:04
Location: Moscow City.
Contact:

Post by I'm »

Code: Select all

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

Или же используй Repeat/Until но мне он не нравится :)))
The End.
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

проблема скорее всего в gethpmax(), я всевремя путаю как правильно.. gethpmax() или getmaxhp() :)
ychenik
Posts: 82
Joined: 2007-07-01 21:23:58

Post by ychenik »

скрипт вроде работает, но почему то не пьет бутылку, что неверно в этой строчке uo.cast(29,'self') ?
ychenik
Posts: 82
Joined: 2007-07-01 21:23:58

Post 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

в итоге получается что чар хилится бинтом, потом пишет что итем не найден т.к. я гх в пак не кидаю, а каст просто молчит, если строчку с кастом ставлю наверх, то вобще ничего не происходит
Cat
Posts: 28
Joined: 2004-06-17 14:59:15
Location: Екатеринбург

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

Post 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
Post Reply