Почему не работает Стан во всех друг случеев он работает
function Trig_jamy_Udar_zemle_1_JamyGroup takes nothing returns nothing
local real x = GetUnitX(GetEnumUnit())
local real y = GetUnitY(GetEnumUnit())
call CreateUnit(GetOwningPlayer(udg_TrigerUnit), 'h019',x,y,90 )
local unit u = GetLastCreatedUnit()
call IssueImmediateOrderBJ( u, "stomp" )
call UnitApplyTimedLifeBJ( 0.10, 'BTLF', u )
call UnitDamageTargetBJ( udg_TrigerUnit, GetEnumUnit(),(I2R(GetHeroStr( udg_TrigerUnit, true)) * 5.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
set u=null
endfunction

Лучший ответ:
functio
решил проблему
Каким оброзом Стан юнит записовался в переменую я не пойму но как то записовался я даже пытался ставить иф чтоб тока герой мог записаца не помагало пришлось после поставет
после запесе



Просмотров: 299

Daniil18 #1 - 2 месяца назад 0
может он кастануть не успевает за эти 0.1 секунды
nvc123 #2 - 2 месяца назад (отредактировано ) 0
GetLastCreatedUnit() работает только с юнитами созданными через бж функции
а в твоём случае юнит создаётся через нативку
т.е. GetLastCreatedUnit() не возвращает твоего созданного юнита
надо писать
local unit u=CreateUnit(GetOwningPlayer(udg_TrigerUnit), 'h019',x,y,90 )
и у stomp по умолчанию задержка каста пол секунды из за анимации
надо в ро менять задержку каста либо ставить 0.6 вместо 0.10
MATRITSA #3 - 2 месяца назад 0
Теперь Дамаг не наносеца
эта может както на это влиять
прикреплены файлы
ScopteRectuS #4 - 2 месяца назад (отредактировано ) 0
MATRITSA, Может переменная udg_TrigerUnit у тебя не инициализирована?
MATRITSA:
Теперь Дамаг не наносеца
MATRITSA #5 - 2 месяца назад 0
тогда стан не прошолбы
Name Legion #6 - 2 месяца назад 0
влияет, несколько спелов и 1 переменная может крашить игру, а может идти куда то не туда, проверяй если у тебя нет в других триггерах что то подобное
ScopteRectuS #7 - 2 месяца назад (отредактировано ) 0
MATRITSA, инициализация перменной udg_TrigerUnit у тебя тут не влияет на произнесение заклинания (стана).
MATRITSA:
тогда стан не прошолбы
MATRITSA:
Теперь Дамаг не наносеца
эта может както на это влиять
а зачем запускать эти триггеры? Триггер сам запустится, когда кто-то применит заклинание.
ScopteRectuS #9 - 2 месяца назад (отредактировано ) 0
Лучше добавьте условие внуть самого спела. А когда будете запускать его , используете функцию ConditionalTriggerExecute( trigger ), вместо TriggerExecute( trigger ). так читабельность вашего кода возрастет.)
MATRITSA #10 - 2 месяца назад 0
хорошо учту ну а моя проблема дамага хнык хнык
ScopteRectuS #11 - 2 месяца назад (отредактировано ) 0
MATRITSA, добавьте после этого
call UnitDamageTargetBJ( udg_TrigerUnit, GetEnumUnit(),(I2R(GetHeroStr( udg_TrigerUnit, true)) * 5.00 ), ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
это
	call BJDebugMsg(GetUnitName(udg_TrigerUnit))
и посмотрите, будет ли в игре после каста способности надпись на экране (имя кастера).
MATRITSA #12 - 2 месяца назад 0
Выдаёть название Cтан
магия и работает
прикреплены файлы
ScopteRectuS #13 - 2 месяца назад (отредактировано ) 0
А юнит стан является героем?? Если не является героем, то функция GetHeroStr() вернет "0", а 0 при умножении даёт 0. Поэтому у Вас наносится 0 урона.
MATRITSA #14 - 2 месяца назад 0
там магия была какаята Trig юнит становился станом каким раком
я не знаю
ScopteRectuS #15 - 2 месяца назад (отредактировано ) 0
MATRITSA, покажите функцию, которая использует функцию Trig_jamy_Udar_zemle_1_JamyGroup(). Попробуйте нанести 100 ед урона.

Заменив это

call UnitDamageTargetBJ( udg_TrigerUnit, GetEnumUnit(),r, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )

на это

call UnitDamageTargetBJ( udg_TrigerUnit, GetEnumUnit(),100.0, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_MAGIC )
Уверен, что проблема здесь
MATRITSA #16 - 2 месяца назад (отредактировано ) 0
Ложная инфа Всё осталоси как и было 100 работает
ScopteRectuS #17 - 2 месяца назад (отредактировано ) 0
у Вас проблема в udg_TrigerUnit, он не является героем. Поэтому и не наносится урон.
MATRITSA #18 - 2 месяца назад (отредактировано ) 0
да работает а формулу если взять то не пашет
ScopteRectuS #19 - 2 месяца назад (отредактировано ) 0
MATRITSA, потому что у Вас udg_TrigerUnit - НЕ ГЕРОЙ.
или замените формулу на
local real r = (I2R(GetHeroStr( udg_TrigerUnit, true)) * 5.00 ) + 100.0
MATRITSA #20 - 2 месяца назад (отредактировано ) 0

functio
решил проблему
Каким оброзом Стан юнит записовался в переменую я не пойму но как то записовался я даже пытался ставить иф чтоб тока герой мог записаца не помагало пришлось после поставет
после запесе
прикреплены файлы