Page 1 of 1
					
				Атака
				Posted: 13.10.2010 12:45
				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;
 
			 
			
					
				
				Posted: 13.10.2010 14:03
				by Fenix
				В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
			 
			
					
				
				Posted: 13.10.2010 14:24
				by pr0Zak
				Fenix wrote:В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
 
			 
			
					
				
				Posted: 13.10.2010 14:44
				by Fenix
				pr0Zak wrote:Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
Вот как раз хотелось бы узнать какую "работу" делает оставшаяся часть скрипта, ведь чар "возвращается на исходную точку".
 
			 
			
					
				
				Posted: 13.10.2010 14:59
				by pr0Zak
				Fenix wrote:pr0Zak wrote:Cобственно атаковать и не нужно, там тварь сама будет атаковать и будет на одаче урон получать. А вот кусок когда подбегает на да по другому циклить не на дистанс, потому как когда он подбегает к твари чар выходит с цикла и делает дальше свою роботу.
Вот как раз хотелось бы узнать какую "работу" делает оставшаяся часть скрипта, ведь чар "возвращается на исходную точку".
 
Оставшаяся часть не имеет не какого отношения к заданому вопросу))
 
			 
			
					
				
				Posted: 14.10.2010 6:20
				by Fenix
				pr0Zak wrote:Оставшаяся часть не имеет не какого отношения к заданому вопросу))
Действительно? А откуда ты знаешь, что в оставшейся части нет проверки на смерть найденого моба или какой-либо задержки? Да и возвращение на исходную позицию где-то описано. Здесь ты увидел только реализацию подхода к мобу, она работает правильно. А что дальше? В цикле срабатывает поиск следующего моба? Или там код для возвращения к исходной точке?
Если любишь гадать - гадай в совоё удовольствие.
 
			 
			
					
				
				Posted: 14.10.2010 10:35
				by pr0Zak
				Fenix wrote:
Если любишь гадать - гадай в совоё удовольствие.
Знаю потому что Я сам делал скрипт.
 
			 
			
					
				
				Posted: 14.10.2010 14:34
				by Macks
				pr0Zak wrote:Fenix wrote:
Если любишь гадать - гадай в совоё удовольствие.
Знаю потому что Я сам делал скрипт.
 
Там нет цикла, бросил атаку, подманил, подбежал и все...
Скрипт возвращает к дереву не анализируя смерть моба.
 
			 
			
					
				
				Posted: 14.10.2010 14:35
				by Macks
				Fenix wrote:В указанном тобою куске я ошибок не наблюдаю.
Но этот код не предусматривает атаку существа. Только юзает на нём скил, после чего подбегает к нему.
Давай более подробный код скрипта.
attack(finditem); 
Это что по твоему?
 
			 
			
					
				
				Posted: 14.10.2010 15:47
				by Fenix
				Macks wrote:attack(finditem); 
Это что по твоему?
Звиняй, не углядел  

 
			 
			
					
				
				Posted: 14.10.2010 16:16
				by pr0Zak
				Macks wrote:
Там нет цикла, бросил атаку, подманил, подбежал и все...
Скрипт возвращает к дереву не анализируя смерть моба.
Делал так цыкл:
Но после смерти моба всеровно чар пытаеться бежать к мобу.
А стелс соответственно выдет ошибку что большая дистанция и не может добежать к мобу.
 
			 
			
					
				
				Posted: 14.10.2010 21:16
				by grundick
				проверь корректность работы ф-ии isDead.
Не уверен в ней.
			 
			
					
				
				Posted: 15.10.2010 8:05
				by Fenix
				Есть подозрение, что при смерти моба его ID освобождается и стелс не находит информации о нём. По-умолчанию IsDead возвращает False. Можно проверить существование моба через
Code: Select all
function GetType(ObjID: Cardinal): Word
Если информацию по мобу не найдёт, то вернёт ноль. Хотя тоже не факт, что корректно отработает.
 
			 
			
					
				
				Posted: 15.10.2010 16:40
				by Macks
				pr0Zak wrote:Macks wrote:
Там нет цикла, бросил атаку, подманил, подбежал и все...
Скрипт возвращает к дереву не анализируя смерть моба.
Делал так цыкл:
Но после смерти моба всеровно чар пытаеться бежать к мобу.
А стелс соответственно выдет ошибку что большая дистанция и не может добежать к мобу.
 
Перед тем как бежать проверяй дистанцию, если больше 30, выходи из цикла.