XGM Forum
Сайт - Статьи - Проекты - Ресурсы - Блоги

Форуме в режиме ТОЛЬКО ЧТЕНИЕ. Вы можете задать вопросы в Q/A на сайте, либо создать свой проект или ресурс.
Вернуться   XGM Forum > Warcraft> Академия: форум для вопросов
Ник
Пароль
Войти через VK в один клик
Сайт использует только имя.

Ответ
 
DarK StrikeR
Исследующий
offline
Опыт: 35
Активность:
Вопрос связанный с Jass!
Значит создал я Jass спелл на пустой карте для теста значит усе нормально нет ошибок и я решил перенести этот спелл в еще одну свою картупроект ,всех юнитов для спелла скопировал сам код скопировал все переменные тоже rawcode пособности изменил под свою карту вроде норма должна быть но при касте в карте(картепроекте) ничего не происходит?! P.S. В этой карте и так уже много новых созданных юнитов, переменных и jass спеллов может ошибка кроется из за этого? Зараннее Спасибо!
Старый 26.07.2005, 18:03
cHAm
Бывший модмейкер
offline
Опыт: 5,291
Активность:
Ну... Может ты где ид спелла забыл поменять? У меня как-то было такое - все перенес нормально, а в условии ид не поменял, так у меня тоже так было. А так не знаю. Когда дело касается ждаза, то чтобы помочь, нужно видеть спелл, а вслепую не поможешь...
Старый 27.07.2005, 16:03
DarK StrikeR
Исследующий
offline
Опыт: 35
Активность:
Вот этот спелл это рикошетная способность:
А вот и сам скрипт:
function Trig_Chain_Frost_Nova_Conditions takes nothing returns boolean
return ( GetSpellAbilityId() == 'A000' )
endfunction
function Trig_Chain_Frost_Nova_Actions takes nothing returns nothing
local real height
local real time
local real raisetime
set udg_ChainFreezingCounter = 0
call CreateNUnitsAtLoc( 1, 'e000', Player(0), GetUnitLoc(GetSpellAbilityUnit()), bj_UNIT_FACING )
call SetUnitInvulnerable( GetLastCreatedUnit(), true )
call SetUnitPathing( GetLastCreatedUnit(), false )
set udg_ChainFreezingUnit = GetLastCreatedUnit()
call UnitAddAbilityBJ( 'Aloc', udg_ChainFreezingUnit )
call StartTimerBJ( udg_ChainFreezingTimer, true, 0.03 )
set height = GetUnitDefaultFlyHeight(udg_FrostTarget)
if (height < 40) then
set height = 40
endif
set time = DistanceBetweenPoints(GetUnitLoc(udg_ChainFreezingUnit), GetUnitLoc(udg_FrostTarget)) / 1000
set raisetime = (RAbsBJ(height - GetUnitFlyHeight(udg_ChainFreezingUnit))) / time
call SetUnitFlyHeightBJ( udg_ChainFreezingUnit, height, raisetime )
endfunction
function Trig_Chain_Freezing_Target_Conditions takes nothing returns boolean
return ( GetIssuedOrderIdBJ() == String2OrderIdBJ("sleep") )
endfunction
function Trig_Chain_Freezing_Target_Actions takes nothing returns nothing
set udg_FrostTarget = GetOrderTargetUnit()
endfunction
function Trig_Chainfreezing_Group takes nothing returns boolean
return (( IsUnitEnemy(GetFilterUnit(), Player(0)) == true ) and ( GetFilterUnit() != udg_FrostTarget ) and ( IsUnitAliveBJ(GetFilterUnit()) == true ))
endfunction
function Trig_Chainfreezing_Timer_Actions takes nothing returns nothing
local real height
local real time
local real raisetime
local unit temp
call SetUnitPositionLoc( udg_ChainFreezingUnit, PolarProjectionBJ(GetUnitLoc(udg_ChainFreezingUnit), 30.00, AngleBetweenPoints(GetUnitLoc(udg_ChainFreezingUnit), GetUnitLoc(udg_FrostTarget))) )
if ( DistanceBetweenPoints(GetUnitLoc(udg_ChainFreezingUnit), GetUnitLoc(udg_FrostTarget)) <= 50.00 ) then
set udg_ChainFreezingCounter = udg_ChainFreezingCounter + 1
if ( IsUnitIdType(GetUnitTypeId(udg_FrostTarget), UNIT_TYPE_FLYING) == true ) then
call AddSpecialEffectTargetUnitBJ( "origin", udg_FrostTarget, "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
else
call AddSpecialEffectTargetUnitBJ( "origin", udg_FrostTarget, "Abilities\\Spells\\Undead\\FrostNova\\FrostNovaTarget.mdl" )
call DestroyEffectBJ( GetLastCreatedEffectBJ() )
endif
call CreateNUnitsAtLocFacingLocBJ( 1, 'e001', Player(0), PolarProjectionBJ(GetUnitLoc(udg_FrostTarget), 100.00, 0.00), GetUnitLoc(udg_FrostTarget) )
set temp = GetLastCreatedUnit()
call SetUnitInvulnerable( temp, true )
call IssueTargetOrderBJ( temp, "frostnova", udg_FrostTarget )
set udg_FrostTarget = GroupPickRandomUnit(GetUnitsInRangeOfLocMatching(800, GetUnitLoc(udg_FrostTarget), Condition(function Trig_Chainfreezing_Group)))
set height = GetUnitDefaultFlyHeight(udg_FrostTarget)
if (height < 40) then
set height = 40
endif
if (udg_FrostTarget == null) then
set udg_ChainFreezingCounter = 2 + (udg_ChainFreezingLevel * 2)
endif
set time = DistanceBetweenPoints(GetUnitLoc(udg_ChainFreezingUnit), GetUnitLoc(udg_FrostTarget)) / 1000
set raisetime = (RAbsBJ(height - GetUnitFlyHeight(udg_ChainFreezingUnit))) / time
call SetUnitFlyHeightBJ( udg_ChainFreezingUnit, height, raisetime )
if (udg_ChainFreezingCounter == 2 + (udg_ChainFreezingLevel * 2) ) then
call PauseTimerBJ( true, udg_ChainFreezingTimer )
call UnitRemoveAbilityBJ( 'Aloc', udg_ChainFreezingUnit )
call RemoveUnit( udg_ChainFreezingUnit )
endif
endif
endfunction
function Trig_Chainfreezing_Research_Conditions takes nothing returns boolean
return ( GetLearnedSkillBJ() == 'A000' )
endfunction
function Trig_Chainfreezing_Research_Actions takes nothing returns nothing
set udg_ChainFreezingLevel = udg_ChainFreezingLevel + 1
endfunction
function Trig_Chain_Freezing_Remove_Conditions takes nothing returns boolean
return ( GetSpellAbilityId() == 'A001' )
endfunction
function Trig_Chain_Freezing_Remove_Actions takes nothing returns nothing
call RemoveUnit( GetSpellAbilityUnit() )
endfunction
===========================================================================
function InitTrig_Chain_Frost_Nova takes nothing returns nothing
local trigger Chain_Freezing_Remove = CreateTrigger( )
local trigger Chainfreezing_Research = CreateTrigger( )
local trigger Chainfreezing_Timer = CreateTrigger( )
local trigger Chain_Freezing_Target = CreateTrigger( )
set gg_trg_Chain_Frost_Nova = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Chain_Frost_Nova, Player(0), EVENT_PLAYER_UNIT_SPELL_CHANNEL )
call TriggerAddCondition( gg_trg_Chain_Frost_Nova, Condition( function Trig_Chain_Frost_Nova_Conditions ) )
call TriggerAddAction( gg_trg_Chain_Frost_Nova, function Trig_Chain_Frost_Nova_Actions )
call TriggerRegisterPlayerUnitEventSimple( Chain_Freezing_Target, Player(0), EVENT_PLAYER_UNIT_ISSUED_TARGET_ORDER )
call TriggerAddCondition( Chain_Freezing_Target, Condition( function Trig_Chain_Freezing_Target_Conditions ) )
call TriggerAddAction( Chain_Freezing_Target, function Trig_Chain_Freezing_Target_Actions )
call TriggerRegisterTimerExpireEventBJ( Chainfreezing_Timer, udg_ChainFreezingTimer )
call TriggerAddAction( Chainfreezing_Timer, function Trig_Chainfreezing_Timer_Actions )
call TriggerRegisterPlayerUnitEventSimple( Chainfreezing_Research, Player(0), EVENT_PLAYER_HERO_SKILL )
call TriggerAddCondition( Chainfreezing_Research, Condition( function Trig_Chainfreezing_Research_Conditions ) )
call TriggerAddAction( Chainfreezing_Research, function Trig_Chainfreezing_Research_Actions )
call TriggerRegisterPlayerUnitEventSimple( Chain_Freezing_Remove, Player(0), EVENT_PLAYER_UNIT_SPELL_FINISH )
call TriggerAddCondition( Chain_Freezing_Remove, Condition( function Trig_Chain_Freezing_Remove_Conditions ) )
call TriggerAddAction( Chain_Freezing_Remove, function Trig_Chain_Freezing_Remove_Actions )
endfunction
Старый 27.07.2005, 21:43
Шизик
это бесы!
offline
Опыт: 1,431
Активность:
return ( GetSpellAbilityId() == 'A000' )
это первая нестандартная абила на мапе, я так понял, на той куда ты перенёс уже были кастом абилити...
переносил ведь ктрл+ц ктрл+в?
Старый 28.07.2005, 18:28
Ответ

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы можете скачивать файлы

BB-коды Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход



Часовой пояс GMT +3, время: 02:22.