10

» WarCraft 3 / Движение дамми юнита

rsfghd, когда делаю два события ошибку выдает

rsfghd, мне нужны примеры я просто сообразить не могу.
10

» WarCraft 3 / Движение дамми юнита

я его просто читаю и вижу кукиш😅

и как правильно этот loop выглядит еще хотелось бы знать ато ересь у меня какая-то
10

» WarCraft 3 / Движение дамми юнита

rsfghd, как в видосе бы только на мой лад твой код мне не очень прнятен.
10

» WarCraft 3 / Движение дамми юнита

rsfghd, я знаю вот по этому не могу Loop сделать и заствить кучу снарядов веером лететь.
10

» WarCraft 3 / Движение дамми юнита

rsfghd, мне бы еще разобраться как сделать мультишот на базе моего кода не могу Loop впихнуть почему-то на локалки ругается.
10

» WarCraft 3 / Движение дамми юнита

rsfghd, Не знаю как 😄

rsfghd, Нашел нужно было в переменную maxDist исправить на maxDis 😅
10

» WarCraft 3 / Движение дамми юнита

rsfghd, Дамик создается нормально в нужном направлении но не летит

Либо я тут что то напортачил
local timer TimerAct = GetExpiredTimer()
local integer id = GetHandleId(TimerAct)
local unit marine = LoadUnitHandle(Hash, id, StringHash("marine"))


local unit Dummy = LoadUnitHandle(Hash, id, StringHash("Dummy")) 
local real process = LoadReal(Hash, id, StringHash("process")) + LoadReal(Hash, id, StringHash("Speed"))
local group gACT
local unit u = null

 if process > LoadReal(Hash, id, StringHash("maxDist"))  then
 call DestroyGroup(LoadGroupHandle(Hash, id, StringHash("group")))
 call KillUnit(Dummy)
 call FlushChildHashtable(Hash, id)
 call PauseTimer(TimerAct)
 call DestroyTimer(TimerAct)
 
else

 call SaveReal(Hash, id, StringHash("process"), process)
 call SetUnitX(Dummy, GetUnitX(Dummy) + LoadReal(Hash, id, StringHash("Speed")) * Cos(LoadReal(Hash, id, StringHash("angle")) * bj_DEGTORAD))
 call SetUnitY(Dummy, GetUnitY(Dummy) + LoadReal(Hash, id, StringHash("Speed")) * Sin(LoadReal(Hash, id, StringHash("angle")) * bj_DEGTORAD))
 
 set gACT =CreateGroup()
 call GroupEnumUnitsInRange(gACT, GetUnitX(Dummy),GetUnitY(Dummy), LoadReal(Hash, id, StringHash("Aoe")), null )
 
 loop
 
  set u = FirstOfGroup(gACT)
  exitwhen u == null
  
  if GetWidgetLife(u) > 0.405 and not IsUnitInGroup(u, LoadGroupHandle(Hash, id, StringHash("group"))) then
  
      if IsUnitEnemy(u, GetOwningPlayer(marine)) then
         call UnitDamageTarget(marine, u, LoadReal(Hash, id, StringHash("Damege")), false, false, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL, null)
         call DestroyEffect(AddSpecialEffectTarget(LoadStr(Hash, id, StringHash("BloodEfect")), u, "chest"))
      else
      
      endif
  
  endif
  
  call GroupRemoveUnit(gACT, u)
  
  endloop
  
   call DestroyGroup(gACT)
   
  endif 

set marine = null
set Dummy = null
set TimerAct = null
set gACT = null

endfunction
10

» WarCraft 3 / "SIMPLESTATUSBAR"

Фониус Персон, Главное показатель здоровья выноситься без проблем а вот показания опыта в списке функций не могу найти.
10

» WarCraft 3 / Резкий поворот юнита

Огромне спасибо, насчет снарядов я не особо юзаю координаты я просто две точки делаю(юнит и пустышка которую цепляю к курсору) прогоняю через масив это все и в итоге снаряды летят как нужно а резкий поворот мне нужен был для боевой системы как в диабло а то герой поворачивается как корова.

SetUnitFacing()
BlzSetUnitFacingEx()
Вот эти две шутки помогли.
10

» WarCraft 3 / Резкий поворот юнита

poisoNDealer, все разобрался

Работает мгновенно нажатие поворот и без задержек
Загруженные файлы
10

» WarCraft 3 / Резкий поворот юнита

poisoNDealer, до меня не доходит как настроить это Call BlzSetUnitFacingEx() - вот так выдает
10

» WarCraft 3 / Резкий поворот юнита

МрачныйВорон, с перемещением все ясно мне нужно что-то с поворотом сделать убрать плавность чтобы юнит резко поворачивался к цели например на клик мышки поворачивается резко на курсор.