может кто то что то увидит
function Item_D_Fire takes nothing returns nothing
  local unit a = GetAttacker()
  local unit b = GetTriggerUnit()
  local unit d
  local real x = GetUnitX(b)
  local real y = GetUnitY(b)
  local real x1
  local real y1
  local integer i = 0
  local integer r = GetRandomInt(1,100)

if r <= 50 then
loop
   exitwhen i >= 6
   set x1 = x+360*Cos(60*i*bj_DEGTORAD)
   set y1 = y+360*Sin(60*i*bj_DEGTORAD)
   set d = CreateUnit(GetOwningPlayer(a),'h001',x,y,i)
   call IssuePointOrder (d, "breathoffire", x1, y1)
   call UnitApplyTimedLife(d,'BTFL',1.5)
   set i = i + 1
endloop
endif

set a = null
set b = null
set d = null
endfunction

function Item_Y_Fire takes nothing returns boolean
return GetInventoryIndexOfItemTypeBJ(GetAttacker(), 'I000') > 0
endfunction

//===========================================================================
function InitTrig_Item_Fire takes nothing returns nothing
    local trigger t = CreateTrigger()
    local integer i = 0
    loop
    exitwhen i > 15
    call TriggerRegisterPlayerUnitEvent(t,Player(i),EVENT_PLAYER_UNIT_ATTACKED,null)
    set i = i + 1
    endloop
    call TriggerAddCondition(t,Condition(function Item_Y_Fire))
    call TriggerAddAction(t,function Item_D_Fire)
    set t = null
endfunction

убрал координаты даммика все заработало
`
ОЖИДАНИЕ РЕКЛАМЫ...
30
local integer r = GetRandomInt(1,100)
if r <= 50 then
~
local integer r = GetRandomInt(0,1)
if r == 0 then

Не умеешь в дебаг - горе в семье.

Откуда ты взял GetAttacker()?
32
попробуйте заменить:

set x1 = x+360*Cos(60*i*bj_DEGTORAD)
set y1 = y+360*Sin(60*i*bj_DEGTORAD)
на

set x1 = x+360*Cos((60*i)*bj_DEGTORAD)
set y1 = y+360*Sin((60*i)*bj_DEGTORAD)
4
2 дня в jass ковыряюсь так что пока мало что понимаю :))
4
убрал координаты даммика все заработало
Принятый ответ
Чтобы оставить комментарий, пожалуйста, войдите на сайт.