#using scripts\codescripts\struct; #using scripts\shared\array_shared; #using scripts\shared\callbacks_shared; #using scripts\shared\clientfield_shared; // 10 min play period // Wait for spawnprerise to fade // 25% // 66% // 85% function main() { clientfield::register( "world", "arena_announcer_line", 12000, 4, "int" ); clientfield::register( "world", "arena_fighter", 12000, 2, "int" ); clientfield::register( "world", "arena_fighter_line", 12000, 3, "int" ); clientfield::register( "world", "arena_event", 12000, 3, "int" ); level.arenaFighters = array::randomize( Array( 0, 1, 2 ) ); level thread playTimedEvents(); } function playTimedEvents() { {wait(.05);}; while ( level.inPrematchPeriod ) { wait( 1 ); } wait( 20 ); playWelcome(); wait( 150 - 20 ); playIntro(); wait( 400 - 150 ); playLoser(); wait( 500 - 400 ); playWinner(); } function playWelcome() { playEvent( 1, 10 ); } function playIntro() { fighter = level.arenaFighters[RandomInt( 2 )]; // Winner or loser playEvent( 2, 3, fighter, 5 ); } function playLoser() { fighter = level.arenaFighters[1]; playEvent( 3, 3, fighter, 5 ); } function playWinner() { fighter = level.arenaFighters[0]; playEvent( 4, 3, fighter, 5 ); } function playEvent( event, announcerLineCount, fighter, fighterLineCount ) { level clientfield::set( "arena_announcer_line", RandomInt( announcerLineCount ) ); if ( isdefined( fighter ) && isdefined( fighterLineCount ) ) { level clientfield::set( "arena_fighter", fighter ); level clientfield::set( "arena_fighter_line", RandomInt( fighterLineCount ) ); } level clientfield::set( "arena_event", event ); }