邪恶叔 发表于 2010-11-22 15:01:05

触发伤害+移直触发技能

我就拿〈∽阿尔∽〉无双★乱舞技能来移直到剑阁去
〈∽阿尔∽〉无双★乱舞在这里我叫他为A1
剑阁1.22我叫他为B1
先把A1的war3map.w3a,war3map.w3u,war3map.w3h导出
同样把B1的war3map.w3a,war3map.w3u,war3map.w3h,war3map.j导出
在用WE打开A1把war3map.w3a,war3map.w3u,war3map.w3h都导出替换A1刚导出来的文件
进入触发编辑器
把他怕有和B1的war3map.j有同样名我们把 未命名触发器 002 未命名触发器 003改一下名
如果怕变量有和你B1的war3map.j同名哪么你最好也改一下。改好后保存退出。
把A1的war3map.j导出
用WE打开B1。
打开战役编辑器。把A1的war3map.w3a,war3map.w3u,war3map.w3h导入
接下来看我做。。
把B1添加到的技能和单位的ID替换A1的war3map.j里面的技能和单位ID
替好后保存。
把B1的war3map.w3a,war3map.w3u,war3map.w3h导出替换B1的同名文件
打开B1的war3map.j和A1的war3map.j
把A1的war3map.j内容以下:
// User-defined
unit udg_super_1 = null
unit udg_super_3 = null
effect udg_hxzsuper_1 = null
unit array udg_u_g
integer udg_i = 0
unit array udg_super_2

// Generated
trigger gg_trg_hxzsuper01 = null
trigger gg_trg_hxzsuper02 = null

set udg_i = 0


//===========================================================================
// Trigger: hxzsuper01
//===========================================================================
function Trig_hxzsuper01_Conditi***** takes nothing returns boolean
if ( not ( GetSpellAbilityId() == 'A040' ) ) then
return false
endif
return true
endfunction

function Trig_hxzsuper01_Acti***** takes nothing returns nothing
set udg_super_1 = GetSpellAbilityUnit()
set udg_super_3 = GetSpellTargetUnit()
set udg_i = ( udg_i + 1 )
call PauseUnit( udg_super_1, true )
call PauseUnit( udg_super_3, true )
call SetUnitTimeScale( udg_super_1, 2.00 )
call SetUnitAnimation( udg_super_1, "stand ready" )
call PolledWait( 0.50 )
call AddSpecialEffectTargetUnitBJ( "hand right", udg_super_1, "Abilities\\Spells\\Human\\Thunderclap\\ThunderClapCaster.mdl" )
call AddSpecialEffectTargetUnitBJ( "hand right", udg_super_1, "Abilities\\Weap*****\\PhoenixMissile\\Phoenix_Missile.mdl" )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call TriggerSleepAction( 0.20 )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_1), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_1), "Abilities\\Spells\\NightElf\\BattleRoar\\RoarCaster.mdl" )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 315.00), 315.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 135.00), 135.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 0.00), 0.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 180.00), 180.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 45.00), 45.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.30 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 225.00), 225.00 )
call SetUnitAnimation( udg_super_3, "death" )
call TriggerSleepAction( 0.20 )
call UnitAddAbility( udg_super_3, 'Amrf' )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 180.00), 360.00 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 5
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call SetUnitAnimation( udg_super_1, "attack slam" )
call TriggerSleepAction( 0.20 )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 360.00), 180.00 )
call SetUnitAnimation( udg_super_3, "death" )
call SetUnitFlyHeight( udg_super_3, 300.00, 500000.00 )
call TriggerSleepAction( 0.20 )
call SetUnitFlyHeight( udg_super_3, 0.00, 500000.00 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call TriggerSleepAction( 0.20 )
call SetUnitPositionLocFacingBJ( udg_super_1, PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, 180.00), 360.00 )
call SetUnitAnimation( udg_super_3, "death" )
call SetUnitFlyHeight( udg_super_3, 300.00, 500000.00 )
call TriggerSleepAction( 0.20 )
call SetUnitFlyHeight( udg_super_3, 0.00, 500000.00 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call ShowUnit( udg_super_1, false )
call TriggerSleepAction( 0.20 )
set bj_forLoopAIndex = 1
set bj_forLoopAIndexEnd = 4
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
call CreateNUnitsAtLoc( 1, 'o000', Player(0), PolarProjectionBJ(GetUnitLoc(udg_super_3), 200.00, I2R(( 90 * GetForLoopIndexA() ))), bj_UNIT_FACING )
call IssueImmediateOrder( GetLastCreatedUnit(), "whirlwind" )
call UnitApplyTimedLife( GetLastCreatedUnit(), 'BHwe', 7.00 )
call SetUnitMoveSpeed( GetLastCreatedUnit(), 1000.00 )
set udg_u_g = GetLastCreatedUnit()
set udg_super_2 = udg_u_g
set udg_i = ( udg_i + 1 )
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call TriggerSleepAction( 2.00 )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call TriggerSleepAction( 2.00 )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call TriggerSleepAction( 2.00 )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call IssuePointOrderLoc( udg_u_g, "move", GetUnitLoc(udg_u_g) )
call TriggerSleepAction( 0.30 )
call UnitAddAbility( udg_super_1, 'Amrf' )
call SetUnitTimeScale( udg_super_1, 1.00 )
call SetUnitPositionLocFacingBJ( udg_super_1, GetUnitLoc(udg_super_3), 135.00 )
call ShowUnit( udg_super_1, true )
call SetUnitAnimation( udg_super_1, "attack slam" )
call SetUnitFlyHeight( udg_super_1, 500.00, 500000.00 )
call TriggerSleepAction( 0.20 )
call SetUnitTimeScale( udg_super_1, 0.00 )
call TriggerSleepAction( 0.20 )
call SetUnitTimeScale( udg_super_1, 1.00 )
call SetUnitAnimation( udg_super_1, "attack slam" )
call TriggerSleepAction( 0.20 )
call SetUnitFlyHeight( udg_super_1, 0.00, 500000.00 )
call DestroyEffect( udg_hxzsuper_1 )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_3), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_3), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_3), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call AddSpecialEffectLocBJ( GetUnitLoc(udg_super_3), "Abilities\\Spells\\Human\\ThunderClap\\ThunderClapCaster.mdl" )
call UnitDamageTargetBJ( udg_super_1, udg_super_3, 500, ATTACK_TYPE_NORMAL, DAMAGE_TYPE_NORMAL )
call UnitRemoveAbility( udg_super_1, 'Amrf' )
call UnitRemoveAbility( udg_super_3, 'Amrf' )
call PauseUnit( udg_super_1, false )
call PauseUnit( udg_super_3, false )
endfunction

//===========================================================================
function InitTrig_hxzsuper01 takes nothing returns nothing
set gg_trg_hxzsuper01 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_hxzsuper01, EVENT_PLAYER_UNIT_SPELL_CAST )
call TriggerAddCondition( gg_trg_hxzsuper01, Condition( function Trig_hxzsuper01_Conditi***** ) )
call TriggerAddAction( gg_trg_hxzsuper01, function Trig_hxzsuper01_Acti***** )
endfunction

//===========================================================================
// Trigger: hxzsuper02
//===========================================================================
function Trig_hxzsuper02_Conditi***** takes nothing returns boolean
if ( not ( GetUnitTypeId(GetTriggerUnit()) == 'o000' ) ) then
return false
endif
return true
endfunction

function Trig_hxzsuper02_Acti***** takes nothing returns nothing
call ShowUnitHide( GetTriggerUnit() )
endfunction

//===========================================================================
function InitTrig_hxzsuper02 takes nothing returns nothing
set gg_trg_hxzsuper02 = CreateTrigger( )
call TriggerRegisterAnyUnitEventBJ( gg_trg_hxzsuper02, EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_hxzsuper02, Condition( function Trig_hxzsuper02_Conditi***** ) )
call TriggerAddAction( gg_trg_hxzsuper02, function Trig_hxzsuper02_Acti***** )
endfunction



call InitTrig_hxzsuper01( )
call InitTrig_hxzsuper02( )

复制到B1的war3map.j内容下:

完成后查一下B1的war3map.j 打开JassCraft简体中文汉化版 按F9开始 没错
哪就把B1的war3map.w3a,war3map.w3u,war3map.w3h,war3map.j替换呢就OK
完成。。。。

邪恶之子 发表于 2010-11-22 18:20:25

{:6_325:}..........

DDoWol 发表于 2011-6-26 16:46:25

{:6_256:}这是虾米!

love_love_彝桳 发表于 2012-1-11 18:25:52

love_love_彝桳 发表于 2012-1-11 18:26:17

love_love_彝桳 发表于 2012-1-11 18:26:34

love_love_彝桳 发表于 2012-1-11 18:46:07

页: [1]
查看完整版本: 触发伤害+移直触发技能