Yoko

All sides of Injection
It is currently 2025-10-15 09:48:37

All times are UTC+02:00




Post new topic  Reply to topic  [ 7 posts ] 
Author Message
PostPosted: 2011-02-25 10:40:55 
Offline

Joined: 2011-02-25 10:35:26
Posts: 5
всем добрый день, облазил много ресурсов в том числе и Ваш, но не где не смог найти автотаргет который меня интересует, очень много навороченных скриптов и т.д, меня интересует обычный скрипт под шард АОП чтоб просто при нажатии кнопки брало таргет на всех кроме согильдийцев, монстров и НПС, я маг, кастую по lasttarget, если у кого-то есть такое выложите пожалуйста. Спасибо!


Top
   
PostPosted: 2011-02-25 10:47:53 
Offline

Joined: 2011-02-25 10:35:26
Posts: 5
пробовал настроить вот это но что-то оно берет как-то через 1 место

Code:
sub NextTarget()
   if not (uo.countground('0x0190')+uo.countground('0x0191')) then
      uo.ignorereset()
   end if
   if uo.countground('0x0190') then
      uo.GetStatus('~0x0190')
      uo.ignore('finditem')
UO.ignore( '0x0475004B' ) ##
UO.ignore( '0x020E66D6' ) ##
UO.ignore( '0x007E7CE6' ) ##
UO.ignore( '0x0170744A' ) ##+
UO.ignore( '0x01BB654C' ) ##++
UO.ignore( '0x00F7EC25' ) ##+
UO.ignore( '0x00F3C2CC' ) ##
UO.ignore( '0x0377F671' ) ##
UO.ignore( '0x04CD5116' ) ##
UO.ignore( '0x0375749E' ) ##
UO.ignore( '0x0000C069' ) ##
UO.ignore( '0x02FCBC9E' ) ##
UO.ignore( '0x0239E51F' ) ##
UO.ignore( '0x0174018B' ) ##
UO.ignore( '0x0051B620' ) ##

   else
      if uo.countground('0x0191') then
         uo.GetStatus('~0x0191')
         uo.ignore('finditem')
      end if
   end if
end sub


Top
   
PostPosted: 2011-02-27 23:27:54 
Offline

Joined: 2011-01-19 01:07:15
Posts: 90
автотаргеты на инже все "через 1 место".

я свой писал при помощи файндтайп. в варках работает хорошо, но иногда сбивается из-за глючной работы findtype. это уже где-то обсуждалось на форуме, дело в том, что файндтайп иногда обнуляет сериал объектов, которые находит, и из-за этого пока не перезагрузишь уо файндтайп будет глючить на тот самый сериал. или бывает еще хуже - один из объектов "зависает" каким-то образом и файндтайп будет думать, что там до сих пор в той точке кто-то есть. Даже если ты среколишься, вернешься обратно - все равно. Это я заметил еще при использовании похожих фишек в скриптах на добычу.

Вот мой авто-таргет, которым я пользуюсь:

Code:
sub Ignores()
   ; Игноры для поиска:
   UO.Ignore('self','on')
   UO.Ignore('Friend','on')
   UO.Ignore('Friend2','on')
   UO.Ignore('Friend3','on') ; вместо Friend1, Friend2, Friend3 пишем айди своих друзей и согильдицев.
end sub

sub AutoTarget() ; Авто-таргет на одного чувака. Хорошо для ПК и 1х1.
   var a, i
   var lastplayernum = 0
   var maleplayernum = 0
   var femaleplayernum = 0
   var allplayernum = 0
   var temp = 0
   UO.Set('quiet','1')
   uo.exec('set finddistance 25')
   Ignores()
   DIM Chars[2]
   Chars[0] = '0x0190' ## - Тип male.
   Chars[1] = '0x0191' ## - Тип female.
   uo.findtype(Chars[0], '-1', '1')
   maleplayernum = uo.findcount()
   uo.findtype(Chars[1], '-1', '1')
   femaleplayernum = uo.findcount()
   allplayernum = maleplayernum + femaleplayernum
   for a = 0 to 1 ## - Перебираем типы male/female.
      uo.findtype(Chars[a], '-1', '1')
      if allplayernum == 1 then
         if UO.GetMaxHP('finditem') < 200 then ; проверка на хп, чтобы отсеивало вендоров.
            UO.AddObject('MainTarget','finditem')
         endif
      else
         if uo.findcount() > 0 then
            temp = uo.findcount()
            for i=0 to uo.findcount()
               uo.findtype(Chars[a], '-1', '1')
               UO.GetStatus('finditem')
               if UO.GetMaxHP('finditem') < 200 then
                  lastplayernum = lastplayernum + 1
                  if lastplayernum < 5 then
                     UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')
                  else
                     i = temp
                  endif
                  if lastplayernum == 1 then
                     UO.AddObject('MainTarget','finditem')
                  endif
                  UO.Ignore('finditem', 'on')
               endif
            next
         endif
      endif
   next
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
   UO.IgnoreReset()
end sub

sub ChooseTarget1()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget1')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget2()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget2')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget3()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget3')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget4()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget4')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub



Пользоваться так:
Делаешь 5 биндов.
1) Основной бинд: "exec AutoTarget". Выполняет скрипт поиска, если находит одного вражеского персонажа - сразу берет его в MainTarget (у меня все скрипты на инжу заточены не под ласт таргет, а под объект MainTarget, который постоянно меняется этим скриптом или специальным, по таргету. Если находит больше одного вражеского персонажа, то берет первого попавшегося в MainTarget, записывает его в первый таргет AddTarget1, а также записывает 3 других в AddTarget2, AddTarget3, AddTarget4.
2) Дополнительный бинд: "exec ChooseTarget1". Выбирает первый таргет и записывает его в MainTarget.
3) Дополнительный бинд: "exec ChooseTarget2". Выбирает второй таргет и записывает его в MainTarget.
4) Дополнительный бинд: "exec ChooseTarget3". Выбирает третий таргет и записывает его в MainTarget.
5) Дополнительный бинд: "exec ChooseTarget4". Выбирает четвертый таргет и записывает его в MainTarget.



Как бы дело слишком специфичное, у каждого свои предпочтения... Такое лучше писать самому.


Top
   
PostPosted: 2011-02-28 00:34:03 
Offline

Joined: 2011-02-25 10:35:26
Posts: 5
Weee wrote:
автотаргеты на инже все "через 1 место".

я свой писал при помощи файндтайп. в варках работает хорошо, но иногда сбивается из-за глючной работы findtype. это уже где-то обсуждалось на форуме, дело в том, что файндтайп иногда обнуляет сериал объектов, которые находит, и из-за этого пока не перезагрузишь уо файндтайп будет глючить на тот самый сериал. или бывает еще хуже - один из объектов "зависает" каким-то образом и файндтайп будет думать, что там до сих пор в той точке кто-то есть. Даже если ты среколишься, вернешься обратно - все равно. Это я заметил еще при использовании похожих фишек в скриптах на добычу.

Вот мой авто-таргет, которым я пользуюсь:

Code:
sub Ignores()
   ; Игноры для поиска:
   UO.Ignore('self','on')
   UO.Ignore('Friend','on')
   UO.Ignore('Friend2','on')
   UO.Ignore('Friend3','on') ; вместо Friend1, Friend2, Friend3 пишем айди своих друзей и согильдицев.
end sub

sub AutoTarget() ; Авто-таргет на одного чувака. Хорошо для ПК и 1х1.
   var a, i
   var lastplayernum = 0
   var maleplayernum = 0
   var femaleplayernum = 0
   var allplayernum = 0
   var temp = 0
   UO.Set('quiet','1')
   uo.exec('set finddistance 25')
   Ignores()
   DIM Chars[2]
   Chars[0] = '0x0190' ## - Тип male.
   Chars[1] = '0x0191' ## - Тип female.
   uo.findtype(Chars[0], '-1', '1')
   maleplayernum = uo.findcount()
   uo.findtype(Chars[1], '-1', '1')
   femaleplayernum = uo.findcount()
   allplayernum = maleplayernum + femaleplayernum
   for a = 0 to 1 ## - Перебираем типы male/female.
      uo.findtype(Chars[a], '-1', '1')
      if allplayernum == 1 then
         if UO.GetMaxHP('finditem') < 200 then ; проверка на хп, чтобы отсеивало вендоров.
            UO.AddObject('MainTarget','finditem')
         endif
      else
         if uo.findcount() > 0 then
            temp = uo.findcount()
            for i=0 to uo.findcount()
               uo.findtype(Chars[a], '-1', '1')
               UO.GetStatus('finditem')
               if UO.GetMaxHP('finditem') < 200 then
                  lastplayernum = lastplayernum + 1
                  if lastplayernum < 5 then
                     UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')
                  else
                     i = temp
                  endif
                  if lastplayernum == 1 then
                     UO.AddObject('MainTarget','finditem')
                  endif
                  UO.Ignore('finditem', 'on')
               endif
            next
         endif
      endif
   next
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
   UO.IgnoreReset()
end sub

sub ChooseTarget1()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget1')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget2()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget2')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget3()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget3')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub

sub ChooseTarget4()
   UO.Set('quiet','1')
   UO.AddObject('MainTarget','AddTarget4')
   UO.Set('quiet','0')
   UO.Print("MainTarget: "+UO.GetName('MainTarget'))
   UO.Click('MainTarget')
end sub



Пользоваться так:
Делаешь 5 биндов.
1) Основной бинд: "exec AutoTarget". Выполняет скрипт поиска, если находит одного вражеского персонажа - сразу берет его в MainTarget (у меня все скрипты на инжу заточены не под ласт таргет, а под объект MainTarget, который постоянно меняется этим скриптом или специальным, по таргету. Если находит больше одного вражеского персонажа, то берет первого попавшегося в MainTarget, записывает его в первый таргет AddTarget1, а также записывает 3 других в AddTarget2, AddTarget3, AddTarget4.
2) Дополнительный бинд: "exec ChooseTarget1". Выбирает первый таргет и записывает его в MainTarget.
3) Дополнительный бинд: "exec ChooseTarget2". Выбирает второй таргет и записывает его в MainTarget.
4) Дополнительный бинд: "exec ChooseTarget3". Выбирает третий таргет и записывает его в MainTarget.
5) Дополнительный бинд: "exec ChooseTarget4". Выбирает четвертый таргет и записывает его в MainTarget.



Как бы дело слишком специфичное, у каждого свои предпочтения... Такое лучше писать самому.

спасибо. будем пробовать
проблема со сточкой UO.AddObject('AddTarget'+str('lastplayernum'), 'finditem') пишет что не понятные данные для STR


Top
   
PostPosted: 2011-02-28 11:30:02 
Offline

Joined: 2011-01-19 01:07:15
Posts: 90
~2good4you~ wrote:
проблема со сточкой UO.AddObject('AddTarget'+str('lastplayernum'), 'finditem') пишет что не понятные данные для STR


Ну сейчас строчка точно неправильная, не знаю зачем ты её изменял :)
lastplayernum должен быть без кавычек:
Code:
UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')


У меня так работает, ничего не менял (почти, только пару левых проверок убрал, которые тебе не нужны).

Попробуй вместо str(lastplayernum), просто lastplayernum:
Code:
UO.AddObject('AddTarget'+lastplayernum, 'finditem')


Но не факт, что оно будет нормально добавлять эти объекты.


Top
   
PostPosted: 2011-02-28 16:54:55 
Offline

Joined: 2011-02-25 10:35:26
Posts: 5
Weee wrote:
~2good4you~ wrote:
проблема со сточкой UO.AddObject('AddTarget'+str('lastplayernum'), 'finditem') пишет что не понятные данные для STR


Ну сейчас строчка точно неправильная, не знаю зачем ты её изменял :)
lastplayernum должен быть без кавычек:
Code:
UO.AddObject('AddTarget'+str(lastplayernum), 'finditem')


У меня так работает, ничего не менял (почти, только пару левых проверок убрал, которые тебе не нужны).

Попробуй вместо str(lastplayernum), просто lastplayernum:
Code:
UO.AddObject('AddTarget'+lastplayernum, 'finditem')


Но не факт, что оно будет нормально добавлять эти объекты.

спасибо за все варианты, но они оба не работают у меня (( наверное и--за версии инжы, какая у тебя версия?


Top
   
PostPosted: 2011-02-28 18:30:36 
Offline

Joined: 2011-01-19 01:07:15
Posts: 90
Если память не изменяет 505.18 вендор


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 7 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Limited