//===========================================================================
//
// War3_1.32.10_timeOfDay_test
//
// Warcraft III map script
// Generated by the Warcraft III World Editor
// Map Author: Luashine
//
//===========================================================================
//***************************************************************************
//*
//* Global Variables
//*
//***************************************************************************
globals
// User-defined
leaderboard udg_leaderboard = null
real udg_lastTimeOfDay = 0
integer udg_timeOfDayTickCount = 0
integer udg_secondTickCount = 0
integer control_100ms_Count=0
integer control_20ms_Count=0
integer control_10ms_Count=0
integer control_5ms_Count=0
integer control_1ms_Count=0
integer control_0ms_Count=0
integer leaderbrd_1000ms_player_id = 0
integer leaderbrd_timeofday_player_id = 1
integer leaderbrd_100ms_player_id = 2
integer leaderbrd_20ms_player_id = 3
integer leaderbrd_10ms_player_id = 4
integer leaderbrd_5ms_player_id = 5
integer leaderbrd_1ms_player_id = 6
integer leaderbrd_0ms_player_id = 7
// Generated
trigger gg_trg_Melee_Initialization = null
trigger gg_trg_EarlyInit = null
trigger gg_trg_TimeOfDayTicker = null
trigger gg_trg_SecondsTicker = null
trigger luashine_100ms_control_trigger = null
trigger luashine_20ms_control_trigger = null
trigger luashine_10ms_control_trigger = null
trigger luashine_5ms_control_trigger = null
trigger luashine_1ms_control_trigger = null
trigger luashine_0ms_control_trigger = null
endglobals
function InitGlobals takes nothing returns nothing
set udg_lastTimeOfDay = 0
set udg_timeOfDayTickCount = 0
set udg_secondTickCount = 0
set control_100ms_Count = 0
set control_20ms_Count = 0
set control_10ms_Count = 0
set control_5ms_Count = 0
set control_1ms_Count = 0
set control_0ms_Count = 0
endfunction
//***************************************************************************
//*
//* Custom Script Code
//*
//***************************************************************************
//***************************************************************************
//*
//* Triggers
//*
//***************************************************************************
//===========================================================================
// Trigger: EarlyInit
//===========================================================================
function Trig_EarlyInit_Actions takes nothing returns nothing
call CreateLeaderboardBJ( GetPlayersAll(), "Timer Leaderboard" )
set udg_leaderboard = GetLastCreatedLeaderboard()
call LeaderboardAddItemBJ( Player(leaderbrd_1000ms_player_id), udg_leaderboard, "Second Count", udg_secondTickCount )
call LeaderboardAddItemBJ( Player(leaderbrd_timeofday_player_id), udg_leaderboard, "TimeOfDay Count", udg_timeOfDayTickCount )
call LeaderboardAddItemBJ( Player(leaderbrd_100ms_player_id), udg_leaderboard, "100ms control", control_100ms_Count )
call LeaderboardAddItemBJ( Player(leaderbrd_20ms_player_id), udg_leaderboard, "20ms control", control_20ms_Count )
call LeaderboardAddItemBJ( Player(leaderbrd_10ms_player_id), udg_leaderboard, "10ms control", control_10ms_Count )
call LeaderboardAddItemBJ( Player(leaderbrd_5ms_player_id), udg_leaderboard, "5 ms control", control_5ms_Count )
call LeaderboardAddItemBJ( Player(leaderbrd_1ms_player_id), udg_leaderboard, "1 ms control", control_1ms_Count )
call LeaderboardAddItemBJ( Player(leaderbrd_0ms_player_id), udg_leaderboard, "0 ms control", control_0ms_Count )
endfunction
//===========================================================================
function InitTrig_EarlyInit takes nothing returns nothing
set gg_trg_EarlyInit = CreateTrigger( )
call TriggerRegisterTimerEventSingle( gg_trg_EarlyInit, 0.00 )
call TriggerAddAction( gg_trg_EarlyInit, function Trig_EarlyInit_Actions )
endfunction
//===========================================================================
// Trigger: TimeOfDayTicker
//===========================================================================
function Trig_TimeOfDayTicker_Conditions takes nothing returns boolean
if ( not ( udg_lastTimeOfDay != GetTimeOfDay() ) ) then
return false
endif
return true
endfunction
function Trig_TimeOfDayTicker_Actions takes nothing returns nothing
set udg_lastTimeOfDay = GetTimeOfDay()
set udg_timeOfDayTickCount = ( udg_timeOfDayTickCount + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_timeofday_player_id), udg_leaderboard, udg_timeOfDayTickCount )
endfunction
//===========================================================================
function InitTrig_TimeOfDayTicker takes nothing returns nothing
set gg_trg_TimeOfDayTicker = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_TimeOfDayTicker, 0.001 )
call TriggerAddCondition( gg_trg_TimeOfDayTicker, Condition( function Trig_TimeOfDayTicker_Conditions ) )
call TriggerAddAction( gg_trg_TimeOfDayTicker, function Trig_TimeOfDayTicker_Actions )
endfunction
//===========================================================================
// Trigger: SecondsTicker
//===========================================================================
function Trig_SecondsTicker_Actions takes nothing returns nothing
set udg_secondTickCount = ( udg_secondTickCount + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_1000ms_player_id), udg_leaderboard, udg_secondTickCount )
endfunction
//===========================================================================
function InitTrig_SecondsTicker takes nothing returns nothing
set gg_trg_SecondsTicker = CreateTrigger( )
call TriggerRegisterTimerEventPeriodic( gg_trg_SecondsTicker, 1.00 )
call TriggerAddAction( gg_trg_SecondsTicker, function Trig_SecondsTicker_Actions )
endfunction
// 100 ms
function luashine_100ms_control_trigger_action takes nothing returns nothing
set control_100ms_Count = ( control_100ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_100ms_player_id), udg_leaderboard, control_100ms_Count )
endfunction
function luashine_init_trg_100ms_control takes nothing returns nothing
set luashine_100ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_100ms_control_trigger, 0.100 )
call TriggerAddAction( luashine_100ms_control_trigger, function luashine_100ms_control_trigger_action )
endfunction
// 20 ms
function luashine_20ms_control_trigger_action takes nothing returns nothing
set control_20ms_Count = ( control_20ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_20ms_player_id), udg_leaderboard, control_20ms_Count )
endfunction
function luashine_init_trg_20ms_control takes nothing returns nothing
set luashine_20ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_20ms_control_trigger, 0.020 )
call TriggerAddAction( luashine_20ms_control_trigger, function luashine_20ms_control_trigger_action )
endfunction
// 10 ms
function luashine_10ms_control_trigger_action takes nothing returns nothing
set control_10ms_Count = ( control_10ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_10ms_player_id), udg_leaderboard, control_10ms_Count )
endfunction
function luashine_init_trg_10ms_control takes nothing returns nothing
set luashine_10ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_10ms_control_trigger, 0.010 )
call TriggerAddAction( luashine_10ms_control_trigger, function luashine_10ms_control_trigger_action )
endfunction
// 5ms
function luashine_5ms_control_trigger_action takes nothing returns nothing
set control_5ms_Count = ( control_5ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_5ms_player_id), udg_leaderboard, control_5ms_Count )
endfunction
function luashine_init_trg_5ms_control takes nothing returns nothing
set luashine_5ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_5ms_control_trigger, 0.005 )
call TriggerAddAction( luashine_5ms_control_trigger, function luashine_5ms_control_trigger_action )
endfunction
// 1 ms
function luashine_1ms_control_trigger_action takes nothing returns nothing
set control_1ms_Count = ( control_1ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_1ms_player_id), udg_leaderboard, control_1ms_Count )
endfunction
function luashine_init_trg_1ms_control takes nothing returns nothing
set luashine_1ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_1ms_control_trigger, 0.001 )
call TriggerAddAction( luashine_1ms_control_trigger, function luashine_1ms_control_trigger_action )
endfunction
// 0 ms
function luashine_0ms_control_trigger_action takes nothing returns nothing
set control_0ms_Count = ( control_0ms_Count + 1 )
call LeaderboardSetPlayerItemValueBJ( Player(leaderbrd_0ms_player_id), udg_leaderboard, control_0ms_Count )
endfunction
function luashine_init_trg_0ms_control takes nothing returns nothing
set luashine_0ms_control_trigger = CreateTrigger()
call TriggerRegisterTimerEventPeriodic( luashine_0ms_control_trigger, 0.000 )
call TriggerAddAction( luashine_0ms_control_trigger, function luashine_0ms_control_trigger_action )
endfunction
//===========================================================================
// Trigger: Melee Initialization
//
// Default melee game initialization for all players
//===========================================================================
function Trig_Melee_Initialization_Actions takes nothing returns nothing
call MeleeStartingVisibility( )
call MeleeStartingHeroLimit( )
call MeleeGrantHeroItems( )
call MeleeStartingResources( )
call MeleeClearExcessUnits( )
call MeleeStartingUnits( )
endfunction
//===========================================================================
function InitTrig_Melee_Initialization takes nothing returns nothing
set gg_trg_Melee_Initialization = CreateTrigger( )
call TriggerAddAction( gg_trg_Melee_Initialization, function Trig_Melee_Initialization_Actions )
endfunction
//===========================================================================
function InitCustomTriggers takes nothing returns nothing
call InitTrig_EarlyInit( )
call InitTrig_TimeOfDayTicker( )
call InitTrig_SecondsTicker( )
call InitTrig_Melee_Initialization( )
// my triggers
call luashine_init_trg_100ms_control()
call luashine_init_trg_20ms_control()
call luashine_init_trg_10ms_control()
call luashine_init_trg_5ms_control()
call luashine_init_trg_1ms_control()
call luashine_init_trg_0ms_control()
endfunction
//===========================================================================
function RunInitializationTriggers takes nothing returns nothing
call ConditionalTriggerExecute( gg_trg_Melee_Initialization )
endfunction
//***************************************************************************
//*
//* Players
//*
//***************************************************************************
function InitCustomPlayerSlots takes nothing returns nothing
// Player 0
call SetPlayerStartLocation( Player(0), 0 )
call SetPlayerColor( Player(0), ConvertPlayerColor(0) )
call SetPlayerRacePreference( Player(0), RACE_PREF_HUMAN )
call SetPlayerRaceSelectable( Player(0), true )
call SetPlayerController( Player(0), MAP_CONTROL_USER )
endfunction
function InitCustomTeams takes nothing returns nothing
// Force: TRIGSTR_010
call SetPlayerTeam( Player(0), 0 )
endfunction
//***************************************************************************
//*
//* Main Initialization
//*
//***************************************************************************
//===========================================================================
function main takes nothing returns nothing
call SetCameraBounds( -3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), -3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), -3328.0 + GetCameraMargin(CAMERA_MARGIN_LEFT), 3072.0 - GetCameraMargin(CAMERA_MARGIN_TOP), 3328.0 - GetCameraMargin(CAMERA_MARGIN_RIGHT), -3584.0 + GetCameraMargin(CAMERA_MARGIN_BOTTOM) )
call SetDayNightModels( "Environment\\DNC\\DNCLordaeron\\DNCLordaeronTerrain\\DNCLordaeronTerrain.mdl", "Environment\\DNC\\DNCLordaeron\\DNCLordaeronUnit\\DNCLordaeronUnit.mdl" )
// 1.32.10: call NewSoundEnvironment( "Default" )
call SetAmbientDaySound( "LordaeronSummerDay" )
call SetAmbientNightSound( "LordaeronSummerNight" )
call SetMapMusic( "Music", true, 0 )
call InitBlizzard( )
call InitGlobals( )
call InitCustomTriggers( )
call RunInitializationTriggers( )
endfunction
//***************************************************************************
//*
//* Map Configuration
//*
//***************************************************************************
function config takes nothing returns nothing
call SetMapName( "TimeOfDay Test" )
call SetMapDescription( "ROC v1.0 compatible" )
call SetPlayers( 1 )
call SetTeams( 1 )
call SetGamePlacement( MAP_PLACEMENT_USE_MAP_SETTINGS )
call DefineStartLocation( 0, -64.0, 64.0 )
// Player setup
call InitCustomPlayerSlots( )
call SetPlayerSlotAvailable( Player(0), MAP_CONTROL_USER )
call InitGenericPlayerSlots( )
endfunction