Name | Type | is_array | initial_value |
DontChange_UnitsEnters | integer | Yes | |
DontChange_UnitsSliding | unit | Yes | |
FirstNumber | integer | No | 1 |
HighestNumber | integer | No | 12 |
Sliding_Speed | real | No | 4.00 |
TriggerEnable | integer | No | |
UnitType | unitcode | No |
Ownership of C-SpoT-RuN
Version v0.8
+Note+ If you use this in any of your maps please give me some credit somewhere, thank you
+Note+ If you delete any of the triggers (except for this one) it will ruin the sliding system
+Note+ This trigger is mainly for the use of RoC because not everyone wants to use "Terrain" as a source to slide on because sometimes regions are just the way to go
+Note+ This trigger will not kill units on the snow, its only purpose is to make you slide. If you wish to get killed on snow use our friend "Google":D to assist you on that
Updates
- Comments
- More Customizable
- More compact triggers (not that it matters for you because your just changing the first and second trigger)
- Fixed the "No Variable" error
- Fixed Death Trigger
Website www.c-spot-run.yolasite.com
Q- When I save this it gives me errors
A- Make a Variable called "TriggerEnable" Type- Interger
Q- I dont see any variables
A- Do the following,
General
Preferences
Make sure that "Automatically create unknown..." is checked off
Q- I wont slide
A- Go back to the "UnitSet" trigger
Q- Ive tried everything! And nothing works
A- Try out friend Google :D to help make an ice sliding trigger
function Trig_Sliding_Ownership_Actions takes nothing returns nothing
call DisplayTextToForce( GetPlayersAll(), "TRIGSTR_007" )
call DisableTrigger( gg_trg_Sliding_Initialization )
endfunction
//===========================================================================
function InitTrig_Sliding_Ownership takes nothing returns nothing
set gg_trg_Sliding_Ownership = CreateTrigger( )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(0), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(2), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(3), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(4), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(5), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(6), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(7), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(8), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(9), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(10), "-ice", true )
call TriggerRegisterPlayerChatEvent( gg_trg_Sliding_Ownership, Player(11), "-ice", true )
call TriggerAddAction( gg_trg_Sliding_Ownership, function Trig_Sliding_Ownership_Actions )
endfunction
function Trig_Facing_Trigger_Actions takes nothing returns nothing
call SetUnitFacingToFaceLocTimed( GetTriggerUnit(), GetOrderPointLoc(), 0 )
endfunction
//===========================================================================
function InitTrig_Facing_Trigger takes nothing returns nothing
set gg_trg_Facing_Trigger = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(0), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(1), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(2), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(3), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(4), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(5), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(6), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(7), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(8), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(9), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(10), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Facing_Trigger, Player(11), EVENT_PLAYER_UNIT_ISSUED_POINT_ORDER )
call TriggerAddAction( gg_trg_Facing_Trigger, function Trig_Facing_Trigger_Actions )
endfunction
function Trig_Dies_Conditions takes nothing returns boolean
if ( not ( GetUnitTypeId(GetDyingUnit()) == udg_UnitType ) ) then
return false
endif
return true
endfunction
function Trig_Dies_Func001003001 takes nothing returns boolean
return ( GetDyingUnit() == udg_DontChange_UnitsSliding[GetForLoopIndexA()] )
endfunction
function Trig_Dies_Actions takes nothing returns nothing
set bj_forLoopAIndex = udg_FirstNumber
set bj_forLoopAIndexEnd = udg_HighestNumber
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Dies_Func001003001() ) then
set udg_DontChange_UnitsEnters[GetForLoopIndexA()] = -100
else
call DoNothing( )
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Dies takes nothing returns nothing
set gg_trg_Dies = CreateTrigger( )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(0), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(1), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(2), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(3), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(4), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(5), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(6), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(7), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(8), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(9), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(10), EVENT_PLAYER_UNIT_DEATH )
call TriggerRegisterPlayerUnitEventSimple( gg_trg_Dies, Player(11), EVENT_PLAYER_UNIT_DEATH )
call TriggerAddCondition( gg_trg_Dies, Condition( function Trig_Dies_Conditions ) )
call TriggerAddAction( gg_trg_Dies, function Trig_Dies_Actions )
endfunction
function Trig_Sliding_Initialization_Actions takes nothing returns nothing
call EnableTrigger( gg_trg_Sliding_Ownership )
set udg_TriggerEnable = 5
endfunction
//===========================================================================
function InitTrig_Sliding_Initialization takes nothing returns nothing
set gg_trg_Sliding_Initialization = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_Sliding_Initialization, 0.00 )
call TriggerAddAction( gg_trg_Sliding_Initialization, function Trig_Sliding_Initialization_Actions )
endfunction
function Trig_Sliding_Trigger_Conditions takes nothing returns boolean
if ( not ( udg_TriggerEnable == 5 ) ) then
return false
endif
return true
endfunction
function Trig_Sliding_Trigger_Func002003001 takes nothing returns boolean
return ( udg_DontChange_UnitsEnters[GetForLoopIndexA()] == GetForLoopIndexA() )
endfunction
function Trig_Sliding_Trigger_Actions takes nothing returns nothing
set bj_forLoopAIndex = udg_FirstNumber
set bj_forLoopAIndexEnd = udg_HighestNumber
loop
exitwhen bj_forLoopAIndex > bj_forLoopAIndexEnd
if ( Trig_Sliding_Trigger_Func002003001() ) then
call SetUnitPositionLoc( udg_DontChange_UnitsSliding[GetForLoopIndexA()], PolarProjectionBJ(GetUnitLoc(udg_DontChange_UnitsSliding[GetForLoopIndexA()]), udg_Sliding_Speed, GetUnitFacing(udg_DontChange_UnitsSliding[GetForLoopIndexA()])) )
else
call DoNothing( )
endif
set bj_forLoopAIndex = bj_forLoopAIndex + 1
endloop
endfunction
//===========================================================================
function InitTrig_Sliding_Trigger takes nothing returns nothing
set gg_trg_Sliding_Trigger = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_Sliding_Trigger, 0.01 )
call TriggerAddCondition( gg_trg_Sliding_Trigger, Condition( function Trig_Sliding_Trigger_Conditions ) )
call TriggerAddAction( gg_trg_Sliding_Trigger, function Trig_Sliding_Trigger_Actions )
endfunction