Помогите со скриптом на пойзонинг...

Ask for help

Moderators: Murderator+, Murderator

Post Reply
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Помогите со скриптом на пойзонинг...

Post by DerMeister =) »

Дело в том, что на том шарде, на котором я играю можно поизонить только то, что находится у чара в руках....

Поэтому те скрипты, что я нашел мне не подходят.
Попытался сам написать, но прицеливание по тайлу не работает...

Вот что у меня получилось (это не работает):

sub main_pois()
while not uo.dead()

while uo.GetHP() > 15
uo.waittargettype('0x0F0A')
uo.useskill("Poisoning")
wait(500)
uo.waittargettile(5042, 65535, 65535, 0) #Тайл лука в руках
wait(3500)
wend

while uo.Poisoned()
uo.usetype('0x0F07')
wait(1000)
wend

wait(7000)

while uo.GetHP() < 20
uo.usetype('0x0F0C')
wait(1000)
wend

wend

end sub

Я ничего не могу придумать, кроме как тупо сказать инжекту кликнуть мышкой по координатам на экране....

Может кто-нибудь знает, как сделать грамотно и красиво :?:
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

мдя...

Waittargettile выдает прицел на местность, а никак не на лук, так что все, что там написано - чушь полнейшая. А вот WaitTargetObject тебе бы помог, тем более, что он позволяет последовательно ждать сразу двух целей. Т. е. тебе осталось только загнать яд и объект, который травишь, в переменные, и сделать что-то типа:

Code: Select all

UO.WaitTargetObject(poison,object)
UO.UseSkill('Poisoning')
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

agem wrote:мдя...

Waittargettile выдает прицел на местность, а никак не на лук, так что все, что там написано - чушь полнейшая. А вот WaitTargetObject тебе бы помог, тем более, что он позволяет последовательно ждать сразу двух целей. Т. е. тебе осталось только загнать яд и объект, который травишь, в переменные, и сделать что-то типа:

Code: Select all

UO.WaitTargetObject(poison,object)
UO.UseSkill('Poisoning')


Естесьтвенно я это пробовал...

Так вот, команда WaitTargetObject наверное тоже выдает прицел на местность, но ника не на то, что у чара в руках....

УО выдаёт: "What you selected does not seem to exist."

А ты сам проверял перед тем как это написать?
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

:roll:

Давай уже скрипт свой...
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Code: Select all

sub main_pois()
while not uo.dead()

  while uo.GetHP() > 15
  UO.WaitTargetObject('0x0F0A','0x606A4622')  #poison & a bow
  uo.useskill("Poisoning") 
  wait(3500)
  wend

  while uo.Poisoned()
  uo.usetype('0x0F07')    #Cure
  wait(1000)
  wend

wait(7000)

  while uo.GetHP() < 20
  uo.usetype('0x0F0C')    #Heal
  wait(1000)
  wend

wend

end sub


Я подумал тут... Наверно надо указать где искать (Layer например) но я так не умею
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Кстати, подскажи ,пожалуйсата, как "произнести" значение переменной.
Например:
...
var a='123'
uo.say(???)
...

И как в инжекте реализовать AllNames без uo.press(клавиша с биндом на AllNames) ??? :?: :?:
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

Да, вроде UO.Say(a). Если у тебя там число, то надо UO.Say(Str(a)).

А в скрипте у тебя ошибка, потому что в WaitTargetObject надо передавать ID, а не тип. С объектом у тебя правильно написано, а вот первый аргумент неправильный. Попробуй что-нибудь вроде:

Code: Select all

UO.FindType('0x0F0A')

if UO.FindCount()>0 then
   UO.WaitTargetObject('finditem','0x606A4622')
   UO.UseSkill('Poisoning')
end if

...
DerMeister =)
Expert!
Posts: 1032
Joined: 2006-02-25 21:48:38

Post by DerMeister =) »

Огромное спасибо... Буду знать теперь :D

agem wrote:Да, вроде UO.Say(a). Если у тебя там число, то надо UO.Say(Str(a)).



А если не число, а слово?

А насчет AllNames ты не подскажешь?
agem
Posts: 65
Joined: 2005-06-26 12:29:37

Post by agem »

Про all names не знаю, подозреваю, что только через клавишу. А если слово (строка, в смысле) - то просто UO.Say(a).
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Я ваще не понял, что про all names ? Реализация для Injection? Вообще легче клавишей, но можно и так... 0x2006 - тип трупа, кажется он такой.

Code: Select all

sub AllNames()
uo.ignorereset()
repeat
uo.findtype("-1","-1","ground")
if uo.isNPC("finditem") || uo.getGraphic("finditem") == "0x2006" then
uo.click("finditem")
endif
uo.ignore("finditem")
until not uo.findcount()
uo.ignorereset()
endsub
LordTom
Posts: 256
Joined: 2006-02-03 11:32:16
Location: ND
Contact:

взгляды на систему образования

Post by LordTom »

У меня с рождения высокая вата. Года 4 назад концетрация и память начали идти вниз. Где-то один год назад стал принимать таблетки, понижающие вату. Туда входят много трав, в том числе шанкапушпи и бра
Post Reply