Page 1 of 1

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

Posted: 2006-02-27 05:07:37
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

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

Может кто-нибудь знает, как сделать грамотно и красиво :?:

Posted: 2006-02-27 07:24:29
by agem
мдя...

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

Code: Select all

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

Posted: 2006-02-27 07:36:47
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."

А ты сам проверял перед тем как это написать?

Posted: 2006-02-27 07:43:47
by agem
:roll:

Давай уже скрипт свой...

Posted: 2006-02-27 08:18:22
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 например) но я так не умею

Posted: 2006-02-27 08:29:29
by DerMeister =)
Кстати, подскажи ,пожалуйсата, как "произнести" значение переменной.
Например:
...
var a='123'
uo.say(???)
...

И как в инжекте реализовать AllNames без uo.press(клавиша с биндом на AllNames) ??? :?: :?:

Posted: 2006-02-27 08:52:55
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

...

Posted: 2006-02-27 09:05:31
by DerMeister =)
Огромное спасибо... Буду знать теперь :D

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



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

А насчет AllNames ты не подскажешь?

Posted: 2006-02-27 19:13:57
by agem
Про all names не знаю, подозреваю, что только через клавишу. А если слово (строка, в смысле) - то просто UO.Say(a).

Posted: 2006-02-27 20:42:26
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

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

Posted: 2006-02-27 23:43:48
by LordTom
У меня с рождения высокая вата. Года 4 назад концетрация и память начали идти вниз. Где-то один год назад стал принимать таблетки, понижающие вату. Туда входят много трав, в том числе шанкапушпи и бра