Advertisement
momo5502

mp_nuked.gsc

Jul 19th, 2013
199
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.37 KB | None | 0 0
  1. #include common_scripts\utility;
  2. #include maps\mp\_utility;
  3.  
  4. main()
  5. {
  6.  
  7.  
  8.         maps\mp\_load::main();
  9.     maps\mp\mp_nuked_fx::main();
  10.  
  11.     setexpfog(874.792, 2740, 0.776471, 0.588235, 0.47451, 0.5, 0, 0.803922, 0.717647, 0.6, (-0.432962, -0.395847, 0.809845), 0, 61.0525, 5.68252);
  12.     ambientPlay( "ambient_mp_desert" );
  13.  
  14.  
  15. /*  precacheModel("hea_socomb_sc_m");
  16.     precacheModel("bar_spcsassault_tf_m_09");
  17.     precacheModel("bar_spcsassault_tf_f_11");
  18.     precacheModel("boo_regular_sc_s_00");
  19.     precacheModel("han_fingerless_ss_m_cau_10");
  20.     precacheModel("heg_earphone_tf_s_00");
  21.     precacheModel("fpa_compblkjeans_tf_m_00");
  22.     precacheModel("fja_tanktop_sc_m_wht_01");*/
  23.  
  24. /*  precacheModel("viewmodel_base_viewhands");
  25.     precacheModel("bar_ceramdiskassault_tf_f_09");
  26.     precacheModel("boo_conceptb_tf_s_00");
  27.     precacheModel("elp_hardshell_ss_f_00");
  28.     precacheModel("eye_sunglasses_ss_s_00");
  29.     precacheModel("fja_ustshirt_tf_f_wht_13");
  30.     precacheModel("fpa_compblkjeans_tf_f_00");
  31.     //precacheModel("han_tactical_ss_f_12");
  32.     precacheModel("han_fingerless_ss_m_cau_10");
  33.     precacheModel("hea_concept_sc_s_00");
  34.     precacheModel("han_tactical_ss_s_vmchar_12");*/
  35.    
  36.  
  37.  
  38.         game[ "attackers" ] = "allies";
  39.         game[ "defenders" ] = "axis";
  40.  
  41.         maps\mp\_compass::setupMiniMap( "compass_map_mp_nuked" );
  42.         //setdvar( "compassmaxrange", "4000" );
  43.         nuked_doomsday_clock_init();
  44.         level thread nuked_population_sign_think();
  45.         array_thread( getentarray( "compassTriggers", "targetname" ), ::compass_triggers_think );
  46. }
  47.  
  48. self_delete()
  49. {
  50.         self delete();
  51. }
  52.  
  53.  
  54. compass_triggers_think()
  55. {
  56.         assertex( isdefined( self.script_noteworthy ), "compassTrigger at " + self.origin + " needs to have a script_noteworthy with the name of the minimap to use" );
  57.         while( true )
  58.         {
  59.                 wait( 1 );
  60.                 self waittill( "trigger" );
  61.                 maps\mp\_compass::setupMiniMap( self.script_noteworthy );
  62.         }
  63. }
  64.  
  65. createSpawnpoint( classname, origin, yaw )
  66. {
  67.         spawnpoint = spawn( "script_origin", origin );
  68.         spawnpoint.angles = (0,yaw,0);
  69.        
  70.         if ( !isdefined( level.extraspawnpoints ) )
  71.                 level.extraspawnpoints = [];
  72.         if ( !isdefined( level.extraspawnpoints[classname] ) )
  73.                 level.extraspawnpoints[classname] = [];
  74.         level.extraspawnpoints[classname][ level.extraspawnpoints[classname].size ] = spawnpoint;
  75. }
  76.  
  77. nuked_population_sign_think()
  78. {
  79.     tens_model = GetEnt( "counter_tens", "targetname" );
  80.     ones_model = GetEnt( "counter_ones", "targetname" );
  81.  
  82.     step = ( 360 / 10 ); // 10 digits (0-9) on the dial
  83.  
  84.     // put the dials at 0
  85.     ones = 0;
  86.     tens = 0;
  87.  
  88.     tens_model RotateRoll( step, 0.05 );
  89.     ones_model RotateRoll( step, 0.05 );
  90.  
  91.     for ( ;; )
  92.     {
  93.         wait( 1 );
  94.  
  95.         for ( ;; )
  96.         {
  97.             num_players = level.players.size;
  98.             dial = ones + ( tens * 10 );
  99.  
  100.             if ( num_players < dial )
  101.             {
  102.                 ones--;
  103.                 time = 0.5;
  104.  
  105.                 if ( ones < 0 )
  106.                 {
  107.                     ones = 9;
  108.                     tens_model RotateRoll( 0 - step, time );
  109.                     tens--;
  110.                 }
  111.  
  112.                 ones_model RotateRoll( 0 - step, time );
  113.                 ones_model waittill( "rotatedone" );
  114.              }
  115.              else if ( num_players > dial )
  116.              {
  117.                 ones++;
  118.                 time = 0.5;
  119.  
  120.                 if ( ones > 9 )
  121.                 {
  122.                    ones = 0;
  123.                    tens_model RotateRoll( step, time );
  124.                    tens++;
  125.                 }
  126.  
  127.                 ones_model RotateRoll( step, time );
  128.                 ones_model waittill( "rotatedone" );
  129.              }
  130.              else
  131.              {
  132.                 break;
  133.              }
  134.           }
  135.        }
  136.     }
  137.    
  138. nuked_doomsday_clock_init()
  139. {
  140.     min_hand_model = GetEnt( "clock_min_hand", "targetname" );
  141.     sec_hand_model = GetEnt( "clock_sec_hand", "targetname" );
  142.     start_angle = 318;
  143.     min_hand_model RotatePitch( start_angle, 0.05 );
  144.     min_hand_model waittill( "rotatedone" );
  145.    
  146.     if ( level.timelimit > 0 )
  147.     {
  148.         min_hand_model RotatePitch( 360 - start_angle, level.timelimit * 60 );
  149.         sec_hand_model RotatePitch( 360 * level.timelimit, level.timelimit * 60 );
  150.     }
  151.     else
  152.     {
  153.         sec_hand_model thread nuked_doomsday_clock_seconds_think();
  154.     }
  155. }
  156.  
  157. nuked_doomsday_clock_seconds_think()
  158. {
  159.     for ( ;; )
  160.     {
  161.         self RotatePitch( 360, 60 );
  162.         self waittill( "rotatedone" );
  163.     }
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement