Forum in READ ONLY mode! All questions and discussions on Discord official server, invite link: https://discord.gg/VxsGzJ7

Атака

тут можно задать вопрос по скриптингу
Post Reply
Venom
Novice
Novice
Posts: 123
Joined: 25.08.2010 14:00

Атака

Post by Venom »

Проблема заключается в следующем, перс видит искомый объект, приманивает его и бежит атачить, но после одного/двух ударов возвращается на исходную точку.
Подскажите, где дал маху ?

Code: Select all

 If FindType($0191,ground) <> 0 then 
      begin
          if (GetName(finditem) = 'Drevodriada') or (GetName(finditem) = 'Mutant Drevodriada') then begin
            attack(finditem);
            If TargetPresent then CancelTarget; 
            WaitTargetObject(finditem);
            UseSkill('Enticement');
            wait(500);
            WaitTargetObject(self);
            wait (2500); 
            while GetDistance(finditem) > 1 do
            begin  
               newMoveXY(getX(finditem),getY(finditem),false,1,true); 
               wait(100);
            end; 
         end;
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
pr0Zak
Novice
Novice
Posts: 77
Joined: 15.09.2009 1:11
Location: Age of Power
Contact:

Post by pr0Zak »

Fenix wrote:В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

pr0Zak wrote:Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
Вот как раз хотелось бы узнать какую "работу" делает оставшаяся часть скрипта, ведь чар "возвращается на исходную точку".
pr0Zak
Novice
Novice
Posts: 77
Joined: 15.09.2009 1:11
Location: Age of Power
Contact:

Post by pr0Zak »

Fenix wrote:
pr0Zak wrote:Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
Вот как раз хотелось бы узнать какую "работу" делает оставшаяся часть скрипта, ведь чар "возвращается на исходную точку".
Оставшаяся часть не имеет не какого отношения к заданому вопросу))
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

pr0Zak wrote:Оставшаяся часть не имеет не какого отношения к заданому вопросу))
Действительно? А откуда ты знаешь, что в оставшейся части нет проверки на смерть найденого моба или какой-либо задержки? Да и возвращение на исходную позицию где-то описано. Здесь ты увидел только реализацию подхода к мобу, она работает правильно. А что дальше? В цикле срабатывает поиск следующего моба? Или там код для возвращения к исходной точке?
Если любишь гадать - гадай в совоё удовольствие.
pr0Zak
Novice
Novice
Posts: 77
Joined: 15.09.2009 1:11
Location: Age of Power
Contact:

Post by pr0Zak »

Fenix wrote: Если любишь гадать - гадай в совоё удовольствие.
Знаю потому что Я сам делал скрипт.
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Post by Macks »

pr0Zak wrote:
Fenix wrote: Если любишь гадать - гадай в совоё удовольствие.
Знаю потому что Я сам делал скрипт.
Там нет цикла, бросил атаку, подманил, подбежал и все...

Скрипт возвращает к дереву не анализируя смерть моба.
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Post by Macks »

Fenix wrote:В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
attack(finditem);

Это что по твоему?
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

Macks wrote:attack(finditem);
Это что по твоему?
Звиняй, не углядел :oops:
pr0Zak
Novice
Novice
Posts: 77
Joined: 15.09.2009 1:11
Location: Age of Power
Contact:

Post by pr0Zak »

Macks wrote: Там нет цикла, бросил атаку, подманил, подбежал и все...

Скрипт возвращает к дереву не анализируя смерть моба.
Делал так цыкл:

Code: Select all

while not(isDead(finditem)) do
Но после смерти моба всеровно чар пытаеться бежать к мобу.
А стелс соответственно выдет ошибку что большая дистанция и не может добежать к мобу.
grundick
Developer
Developer
Posts: 272
Joined: 31.01.2008 21:16

Post by grundick »

проверь корректность работы ф-ии isDead.
Не уверен в ней.
Fenix
Developer
Developer
Posts: 275
Joined: 24.08.2010 7:20
Location: Ставрополь
Contact:

Post by Fenix »

Есть подозрение, что при смерти моба его ID освобождается и стелс не находит информации о нём. По-умолчанию IsDead возвращает False. Можно проверить существование моба через

Code: Select all

function GetType(ObjID: Cardinal): Word
Если информацию по мобу не найдёт, то вернёт ноль. Хотя тоже не факт, что корректно отработает.
Macks
Apprentice
Apprentice
Posts: 250
Joined: 27.02.2006 22:23
Location: АоП - Age Of Power

Post by Macks »

pr0Zak wrote:
Macks wrote: Там нет цикла, бросил атаку, подманил, подбежал и все...

Скрипт возвращает к дереву не анализируя смерть моба.
Делал так цыкл:

Code: Select all

while not(isDead(finditem)) do
Но после смерти моба всеровно чар пытаеться бежать к мобу.
А стелс соответственно выдет ошибку что большая дистанция и не может добежать к мобу.
Перед тем как бежать проверяй дистанцию, если больше 30, выходи из цикла.
Post Reply