Advertisement
Hyuna

RexintyDays (Uncredited, please contact me)

May 26th, 2014 (edited)
93
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Pawn 80.87 KB | None | 0 0
  1. // DOWNLOAD: http://f2h.nana10.co.il/5g2ing5pxvel
  2.  
  3. #include < amxmodx >
  4. #include < amxmisc >
  5. #include < fakemeta >
  6. #include < hamsandwich >
  7. #include < dhudmessage >
  8. #include < cstrike >
  9. #include < engine >
  10. #include <xs>
  11.  
  12. // DEFINE
  13.  
  14. #define MAX_SOUNDS 14
  15. #define _random(%1) random_num(0, %1 - 1)
  16. #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
  17. #define fm_find_ent_by_class(%1,%2) engfunc(EngFunc_FindEntityByString, %1, "classname", %2)
  18. #define FIRERATE 0.2
  19. #define HITSD 0.7
  20. #define RELOADSPEED 5.0
  21. #define DAMAGE 15.0
  22. #define DAMAGE_MULTI 2.0
  23. #define fm_create_entity(%1) engfunc(EngFunc_CreateNamedEntity, engfunc(EngFunc_AllocString, %1))
  24. #define CSW_WPN CSW_DEAGLE
  25.  
  26.  
  27. // NATIVES
  28. native get_user_cash( index );
  29. native set_user_cash( index, cash );
  30.  
  31. // SUPPLYBOX START
  32. #define SUPPLYBOX_CLASSNAME "supplybox"
  33.  
  34. #if cellbits == 32
  35. const OFFSET_CLIPAMMO = 51
  36. #else
  37. const OFFSET_CLIPAMMO = 65
  38. #endif
  39. const OFFSET_LINUX_WEAPONS = 4
  40.  
  41. // END SUPPLYBOX
  42.  
  43. // Max Clip for weapons
  44. new const MAXCLIP[] = { -1, 13, -1, 10, 1, 7, -1, 30, 30, 1, 30, 20, 25, 30, 35, 25, 12, 20,
  45. 10, 30, 100, 8, 30, 30, 20, 2, 7, 30, 30, -1, 50 }
  46.  
  47. // New Song Special Day
  48. new g_DaySong[]         = "sound/RexintyJB/rexinty_special.mp3";
  49.  
  50. // New Weapons
  51. new const weapon[] = "weapon_deagle"
  52. new const spr_blood[] = "sprites/blood.spr"
  53. new const snd_fire[][] = { "RexintyJB/plasma_fire.wav" }
  54. new const snd_reload[][] = { "RexintyJB/plasma_reload.wav" }
  55. new const snd_hit[][] = { "RexintyJB/plasma_hit.wav" }
  56. new const g_szDodgeball[ ] = "models/RexintyJB/v_dodgeball.mdl";
  57. new const g_szDodgeball2[ ] = "models/RexintyJB/p_dodgeball.mdl";
  58. new const g_szDodgeball_World[ ] = "models/RexintyJB/w_dodgeball.mdl";
  59.  
  60. // New Const
  61. const m_pPlayer =       41
  62. const m_fInReload =     54
  63. const m_pActiveItem =       373
  64. const m_flNextAttack =      83
  65. const m_flTimeWeaponIdle =  48
  66. const m_flNextPrimaryAttack =   46
  67. const m_flNextSecondaryAttack = 47
  68. const gTaskVote = 234;
  69. const CountSeconds = 100;
  70. const CountSeconds2 = 500;
  71. const UNIT_SECOND =     (1<<12)
  72. const ENG_NULLENT =         -1
  73. const WPN_MAXCLIP =     25
  74. const ANIM_FIRE =       5
  75. const ANIM_DRAW =       10
  76. const ANIM_RELOAD =     9
  77. const EV_INT_WEAPONKEY =    EV_INT_impulse
  78. const WPNKEY =          2816
  79. const Second = ( 1<<10 )
  80. const gMaxInfectSounds = 3;
  81.  
  82. // NEW BOOL
  83.  
  84. new bool:Voted[ 33 ], bool:dodgeball, bool:laserday, bool:superdeagle = false, bool:g_HasRifle[33], bool:spartan, bool:EventEv = false,
  85. bool:No_Gun[ 33 ], bool:g_WallClimb[ 33 ], bool:dayzombie = false, bool:daynight = false, bool:dayknife = false, bool:dayfreedaytimer = false,
  86. bool:AwpDay = false, bool:dayhe = false, bool:DMDay = false, bool:ActionDay = false, bool:ActionHns3 = false, bool:GlowFreeDay[ 33 ] = false,
  87. bool:g_Started, bool:LastHit = false, bool:LastHit2 = false, bool:GameStarted, bool:g_szTwoInfect, bool:WinnerEffect;
  88.  
  89. // NEW
  90. new g_szKind[ 4 ], Timer, EndVote = 0, DayStatus[250], g_szMap[ 21 ], g_Round, g_Day, g_MaxPlayers, g_Players, g_iCountTime,
  91. g_sprBlood, g_msgDamage, g_msgScreenFade, g_msgScreenShake, g_iCurWpn[ 33 ], Float:g_flLastFireTime[ 33 ], Float:g_flWallOrigin[33][ 3 ],
  92. gMaxPlayers, g_LastHit, g_szLastHit, Float:g_HnrDieTimer, WinnerBeam, CountDown, g_iMsgID_ScreenFade, eCvar, iHudMessage, g_Var;
  93.  
  94. // EVENTS
  95.  
  96. new const g_Events4[ ][ ] ={
  97.    
  98.     "Laser Day",
  99.     "Zombie Day",
  100.     "Hns Day",
  101.     "Awp Day"
  102.    
  103. };
  104.  
  105. new const g_Event4[ ][ ] ={
  106.    
  107.     "ActionLaserDay",
  108.     "ActionZombie",
  109.     "ActionHns",
  110.     "ActionAwp"
  111.    
  112. };
  113.  
  114. new const g_Events3[ ][ ] ={
  115.    
  116.     "PowerDeagleDay",
  117.     "Free Day",
  118.     "NightCrawler Day",
  119.     "War Day"
  120.    
  121. };
  122.  
  123. new const g_Event3[ ][ ] ={
  124.    
  125.     "ActionSuperDeagle",
  126.     "ActionFree",
  127.     "ActionNightCrawler",
  128.     "ActionWar"
  129.    
  130. };
  131.  
  132. new const g_Events2[ ][ ] ={
  133.    
  134.     "Shark Day",
  135.     "Box Day",
  136.     "Knife Day",
  137.     "Grenade Day"
  138.    
  139. };
  140.  
  141. new const g_Event2[ ][ ] ={
  142.    
  143.     "ActionShark",
  144.     "ActionBox",
  145.     "ActionKnife",
  146.     "ActionHe"
  147.    
  148. };
  149.  
  150. new const g_Events[ ][ ] ={
  151.    
  152.     "DodgeBall day",
  153.     "Hit And Run Day",
  154.     "Greande Day",
  155.     "Laser Day"
  156.    
  157. };
  158.  
  159. new const g_Event[ ][ ] ={
  160.    
  161.     "ActionDodgeBall",
  162.     "Check",
  163.     "ActionHe",
  164.     "ActionLaserDay"
  165.    
  166. };
  167.  
  168. enum _:DAYS{
  169.    
  170.     SUNDAY,
  171.     MONDAY,
  172.     TUESDAY,
  173.     WEDNESDAY,
  174.     THURSDAY,
  175.     FRIDAY,
  176.     SATURDAY
  177. }
  178.  
  179. new const szDay[ DAYS ][] = {
  180.    
  181.     "Sunday",
  182.     "Monday",
  183.     "Tuesday",
  184.     "Wednesday",
  185.     "Thursday",
  186.     "SpecialDay",
  187.     "Saturday"  
  188.    
  189. };
  190.  
  191. enum _:Teams{
  192.    
  193.     FM_TEAM_UNASSIGNED,
  194.     FM_TEAM_T,
  195.     FM_TEAM_CT,
  196.     FM_TEAM_SPECTATOR
  197. };
  198.  
  199. new const gInfectSounds[ gMaxInfectSounds ][ ] ={
  200.    
  201.     "RexintyJB/hit_sound_1.wav",
  202.     "RexintyJB/hit_sound_2.wav",
  203.     "RexintyJB/hit_sound_3.wav"
  204.    
  205. };
  206.  
  207. public plugin_init() {
  208.    
  209.     register_plugin( "Rexinty Days", "v1", "" );
  210.    
  211.     register_clcmd( "say /days", "DaysMenu" );
  212.     register_forward(FM_SetModel, "fwdSetModel")
  213.     register_clcmd( "startspecialdays", "ActionSpecial" );
  214.     register_event( "SendAudio", "fnRoundEnd", "a", "2=%!MRAD_terwin", "2=%!MRAD_ctwin", "2=%!MRAD_rounddraw" );
  215.     register_event("CurWeapon", "Event_CurWeapon", "be","1=1")
  216.     register_event("CurWeapon", "Event_CurWeapon2", "be","1=1")
  217.     register_event("CurWeapon", "Event_CurWeapon3", "be","1=1")
  218.     register_logevent( "FwdRoundEnd", 2, "1=Round_End" );
  219.     register_logevent("FwdNewRound", 2, "1=Round_Start")
  220.     register_think("grenade", "think_grenade");
  221.     RegisterHam( Ham_Killed, "player", "fw_HamPlayerKilled", true )
  222.     RegisterHam(Ham_Killed, "player", "check_last");
  223.     RegisterHam(Ham_Spawn, "player", "check_last");
  224.     set_task(1.0,"check_last",_,_,_,"b")
  225.     g_MaxPlayers = get_maxplayers();
  226.     g_Players = get_playersnum(1);
  227.     get_mapname( g_szMap, charsmax( g_szMap ) );        
  228.    
  229.     g_iMsgID_ScreenFade = get_user_msgid( "ScreenFade" );              
  230.    
  231.     eCvar = register_cvar("amx_showhpct","0")
  232.    
  233.     iHudMessage = CreateHudSyncObj();
  234.    
  235.     RegisterHam( Ham_Use , "func_button" , "Fwd_UseButton" )
  236.    
  237.     RegisterHam( Ham_Touch , "weaponbox" , "Fwd_WeaponBox" )
  238.    
  239.     register_forward( FM_Touch, "Forward_Touch_Pre", 0 );
  240.    
  241.     register_forward( FM_PlayerPreThink, "Forward_PlayerPreThink", 0 );
  242.    
  243.     RegisterHam( Ham_TakeDamage, "player", "fw_TakeDamage_Post", true );
  244.    
  245.     RegisterHam( Ham_TakeDamage, "player", "fw_TakeDamage_Post2", true );
  246.    
  247.     RegisterHam( Ham_Touch, "grenade", "Ham_Touch_Grenade_Pre", 1 );
  248.    
  249.     RegisterHam( Ham_TakeDamage, "player", "FwdHamTakeDamage2", true );
  250.    
  251.     RegisterHam(Ham_TakeDamage, "player", "FtdHam", 1)
  252.    
  253.     gMaxPlayers = get_maxplayers( );
  254.    
  255.     register_clcmd( "start", "Check" );
  256.    
  257.     register_event("CurWeapon", "event_CurWeapon", "b", "1=1") 
  258.    
  259.     register_forward(FM_CmdStart, "fw_CmdStart")
  260.    
  261.     register_forward(FM_UpdateClientData, "fw_UpdateClientData_Post", 1)   
  262.    
  263.     RegisterHam(Ham_Item_Deploy, weapon, "fw_Deploy_Post", 1)
  264.    
  265.     RegisterHam(Ham_Item_AddToPlayer, weapon, "fw_AddToPlayer")
  266.    
  267.     RegisterHam(Ham_Weapon_Reload, weapon, "fw_Reload_Post", 1)
  268.    
  269.     RegisterHam(Ham_Item_PostFrame, weapon, "fw_PostFrame")
  270.    
  271.     g_msgDamage = get_user_msgid("Damage")
  272.    
  273.     g_msgScreenFade = get_user_msgid("ScreenFade")
  274.    
  275.     g_msgScreenShake = get_user_msgid("ScreenShake")
  276.    
  277.     register_message(get_user_msgid("CurWeapon"), "message_cur_weapon")
  278. }
  279.  
  280. public Fwd_UseButton( iEnt , iAttacker )
  281. {
  282.     if( ActionDay && !GlowFreeDay[iAttacker] && No_Gun[ iAttacker ])
  283.         return HAM_SUPERCEDE;
  284.     return HAM_IGNORED;
  285. }
  286. public Fwd_WeaponBox ( const WeaponBox, iPicker )
  287. {
  288.     if(!is_user_connected( iPicker ))
  289.         return HAM_IGNORED;
  290.     if(ActionDay && No_Gun[iPicker])
  291.         return HAM_SUPERCEDE;
  292.     return HAM_IGNORED;
  293. }
  294. public FtdHam(victim, inflictor, attacker, damage, damagebits)
  295. {
  296.     if( !is_user_alive( victim ) || !is_user_alive( attacker ) )
  297.         return HAM_IGNORED 
  298.     if(cs_get_user_team(victim) == CS_TEAM_CT && cs_get_user_team(attacker) == CS_TEAM_T && daynight == true)
  299.     {
  300.         ShowNc( victim )
  301.     }
  302.     return HAM_IGNORED;
  303. }
  304. public Forward_Touch_Pre( iEnt, id )
  305. {
  306.     if( !is_user_alive( id ) )
  307.         return FMRES_IGNORED;
  308.    
  309.     new szClassname[ 32 ];
  310.     pev( iEnt, pev_classname, szClassname, charsmax( szClassname ) );
  311.    
  312.     if( equali( szClassname, "worldspawn" ) || equali( szClassname, "func_wall" ) || equali( szClassname, "func_breakable" ) )
  313.         pev( id, pev_origin, g_flWallOrigin[ id ] );
  314.    
  315.     else if( equali( szClassname, "weaponbox" ) || equali( szClassname, "armoury_entity" ) )
  316.     {
  317.         if( g_WallClimb[id] )
  318.             return FMRES_SUPERCEDE;
  319.     }
  320.    
  321.     return FMRES_IGNORED;
  322. }
  323. public Forward_PlayerPreThink(id, world)
  324. {
  325.     if(!is_user_alive(id) || !g_WallClimb[id] )
  326.         return FMRES_IGNORED
  327.    
  328.     else if(g_WallClimb[id])
  329.     {
  330.         static iButton;
  331.         iButton = get_user_button( id );
  332.        
  333.         if( iButton & IN_USE )
  334.         {
  335.             static Float:fOrigin[ 3 ];
  336.             pev( id, pev_origin, fOrigin );
  337.            
  338.             if( get_distance_f( fOrigin, g_flWallOrigin[ id ] ) > 10.0 )
  339.                 return 1;
  340.            
  341.             if( pev( id, pev_flags ) & FL_ONGROUND )
  342.                 return 1;
  343.            
  344.             if( iButton & IN_FORWARD )
  345.             {
  346.                 static Float:fVelocity[ 3 ];
  347.                 velocity_by_aim( id, 240, fVelocity );
  348.                
  349.                 set_pev( id, pev_velocity, fVelocity );
  350.             }
  351.            
  352.             else if( iButton & IN_BACK )
  353.             {
  354.                 static Float:fVelocity[ 3 ];
  355.                 velocity_by_aim( id, -240, fVelocity );
  356.                
  357.                 set_pev( id, pev_velocity, fVelocity );
  358.             }
  359.         }
  360.     }
  361.     return FMRES_IGNORED;
  362. }
  363. public ShowNc(id)
  364. {
  365.     fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 255)
  366.     set_task(0.3, "HideNc", id)
  367. }
  368. public HideNc(id)
  369. {
  370.     fm_set_user_rendering(id, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  371. }
  372. public fw_HamPlayerKilled( client )
  373. {
  374.     if(laserday == true )
  375.     {  
  376.         new players[ 32 ], pnum;
  377.         get_players( players, pnum, "ae", "TERRORIST" );
  378.         if(pnum == 1)
  379.         {
  380.             Win()
  381.             return HAM_IGNORED
  382.         }
  383.     }
  384.     if( DMDay && cs_get_user_team( client ) == CS_TEAM_T )
  385.     {
  386.         set_task( 1.5, "Respawn", client );
  387.         } else {
  388.         message_begin( MSG_ONE_UNRELIABLE, g_iMsgID_ScreenFade, _, client )
  389.         write_short(12288)  // Duration
  390.         write_short(12288)  // Hold time
  391.         write_short(0x0001) // Fade type
  392.         write_byte (0)      // Red
  393.         write_byte (0)      // Green
  394.         write_byte (0)      // Blue
  395.         write_byte (255)    // Alpha
  396.         message_end()
  397.        
  398.         set_pev( client, pev_iuser1, 0 )           
  399.     }
  400.     return HAM_IGNORED;
  401. }
  402.  
  403. public Respawn( client ) {
  404.        
  405.     if( DMDay )
  406.         ExecuteHamB(Ham_CS_RoundRespawn, client);    
  407. }
  408.  
  409. public plugin_precache()
  410. {
  411.     precache_generic( g_DaySong );
  412.    
  413.     precache_model( g_szDodgeball );
  414.     precache_model( g_szDodgeball2 );
  415.     precache_model( g_szDodgeball_World );
  416.     precache_model( "models/PowerShotDays/v_zombieday.mdl" );
  417.     precache_generic( "sound/PowerShotDays/dodge_ball.mp3" );
  418.     precache_model( "models/PowerShotDays/v_nightcrawler.mdl" );
  419.     precache_model( "models/PowerShotDays/v_knifeday.mdl" );
  420.     precache_model( "models/PowerShotDays/p_knifeday.mdl" );
  421.     precache_generic( "sound/PowerShotDays/ZombieDay.mp3" );
  422.     precache_generic( "sound/PowerShotDays/Free_Day.mp3" );
  423.     precache_generic( "sound/PowerShotDays/AWPDay.mp3" );
  424.     precache_generic( "sound/PowerShotDays/spartanday.mp3" );
  425.     precache_generic( "sound/PowerShotDays/DMDay.mp3" );
  426.     precache_generic( "sound/PowerShotDays/SharkDay.mp3" );
  427.     precache_generic( "sound/PowerShotDays/NC.mp3" );
  428.     precache_generic( "sound/PowerShotDays/grenade.mp3" );
  429.     precache_generic( "sound/PowerShotDays/WarDay.mp3" );
  430.     precache_generic( "sound/PowerShotDays/DeagleDay.mp3" );
  431.     precache_generic( "sound/PowerShotDays/KnifeDay.mp3" );
  432.     precache_generic( "sound/PowerShotDays/BoxDay.mp3" );
  433.     precache_generic( "sound/PowerShotDays/BirthDay.mp3" );
  434.     precache_generic( "sound/PowerShotDays/LaserDay.mp3" );
  435.     precache_generic( "sound/PowerShotDays/PowerDeagle.mp3" );
  436.     precache_generic( "sound/PowerShotDays/WarPrisoner.mp3" );
  437.     for( new i = 0; i < gMaxInfectSounds; i++ )
  438.     {
  439.         precache_sound( gInfectSounds[ i ] );
  440.     }
  441.     precache_model("models/RexintyJB/v_plasma.mdl")
  442.     precache_model("models/RexintyJB/p_plasma.mdl")
  443.     g_sprBlood = precache_model(spr_blood) 
  444.     static i2
  445.     for(i2 = 0; i2 < sizeof snd_fire; i2++)
  446.         precache_sound(snd_fire[i2])
  447.     for(i2 = 0; i2 < sizeof snd_hit; i2++)
  448.         precache_sound(snd_hit[i2])
  449.     for(i2 = 0; i2 < sizeof snd_reload; i2++)
  450.         precache_sound(snd_reload[i2])     
  451.     WinnerBeam = precache_model( "sprites/zbeam2.spr" );   
  452. }
  453. public fnRoundEnd()
  454. {  
  455.     server_cmd("amx_daykill 0")
  456.     server_cmd("amx_showhpct 0")   
  457.     for( new i = 1; i <= g_MaxPlayers; i++ )
  458.     {  
  459.         No_Gun[ i ] = false      
  460.         dayzombie = false;
  461.         daynight = false;
  462.         dayknife = false;
  463.         dayfreedaytimer = false;  
  464.         dayhe = false;
  465.         DMDay = false;
  466.         AwpDay = false;
  467.         ActionDay = false;
  468.         spartan = false
  469.         GlowFreeDay[ i ] = false;
  470.         g_Started = false;
  471.         superdeagle = false;
  472.         remove_task(1258);
  473.         set_lights( "#OFF" );
  474.         FogNLight()
  475.     }
  476. }
  477. public check()
  478. {
  479.     if(EventEv == true)
  480.     {
  481.         Win()
  482.         return 1;
  483.     }
  484.     if( dayzombie == true )
  485.     {
  486.         Zombieday();
  487.         return 1;            
  488.     }
  489.     if( dayfreedaytimer == true )
  490.     {
  491.         FreeDay()
  492.         return 1;
  493.     }
  494.     if( ActionHns3 == true )
  495.     {
  496.         HnsDay();                  
  497.         return 1;
  498.     }
  499.     return 1;
  500. }
  501. public second() {
  502.     if (!g_Started)
  503.     {
  504.         g_Started = true;
  505.         g_iCountTime = EventEv ? CountSeconds2 : CountSeconds;
  506.         set_task(1.0,"Count",1258,_ ,_,"a",g_iCountTime);
  507.        
  508.         return;
  509.     }
  510.    
  511.     client_print(0,print_chat,"[PowerShot] Count Down is alredy started!");
  512.    
  513. }
  514.  
  515. public Count(){
  516.     if(g_iCountTime <= 1)
  517.     {      
  518.         set_hudmessage(0,255,0,-1.0,0.28,2,1.1,1.1,0.01,0.01);
  519.         show_hudmessage(0,"Prisoners Have: 1 seconds");
  520.         g_iCountTime  = 0
  521.         remove_task(1258);
  522.         set_task(1.0,"check");
  523.     }
  524.    
  525.     else
  526.     {  
  527.         set_hudmessage(0,255,0,-1.0,0.28,2,1.1,1.1,0.01,0.01);
  528.         show_hudmessage(0,"Prisoners Have: %d seconds",g_iCountTime--);  
  529.     }
  530. }
  531. public Zombieday() {
  532.     for( new i=1; i<=g_MaxPlayers; i++ )
  533.     {
  534.         if( !is_user_alive( i ) )
  535.             continue;
  536.         set_hudmessage( 0, 160, 0, -1.0, 0.55, 0, 6.0, 6.0 );      
  537.         show_hudmessage( 0, "Time is Over !!!^n The Zombies Are Coming !^nCT Kill The Terorr With Knife Only !!!" );
  538.         fm_set_user_godmode(i,0);
  539.         set_user_freeze( i, 0 );
  540.     }
  541. }
  542. public FreeDay() {
  543.     set_hudmessage( 0, 160, 0, -1.0, 0.55, 0, 6.0, 6.0 );      
  544.     show_hudmessage( 0, "Time is Over !!!^n CT - Kill All Terror You See !!!" );
  545. }
  546. public HnsDay() {
  547.     for( new i=1; i<=g_MaxPlayers; i++ )
  548.     {
  549.         if( !is_user_alive( i ) )
  550.             continue;  
  551.         set_hudmessage( 0, 160, 0, -1.0, 0.55, 0, 6.0, 6.0 );      
  552.         show_hudmessage( 0, "Time is Over !!!^n CT - Kill All Terror You See !^n The Last Received Free Day" );
  553.         set_user_freeze( i, 0 );
  554.     }
  555. }
  556.    
  557. public ActionRandomDay()
  558. {
  559.     switch(random_num(1,17))
  560.     {
  561.         case 1:
  562.         {
  563.             ColorChat(0, "start ^3Zombie Day^1 ! (By Random Day)")
  564.             ActionZombie()
  565.         }
  566.         case 2:
  567.         {
  568.             ColorChat(0, "start ^3hide'n'seek Day^1 ! (By Random Day)")
  569.             ActionHns()
  570.         }
  571.         case 3:
  572.         {
  573.             ColorChat(0, "start ^3Shark Day^1 ! (By Random Day)")
  574.             ActionShark()
  575.         }
  576.         case 4:
  577.         {
  578.             ColorChat(0, "start ^3Free Day^1 ! (By Random Day)")
  579.            
  580.             ActionFree()
  581.         }
  582.         case 5:
  583.         {
  584.             ColorChat(0, "start ^3NightCrawler^1 Day !^1 (By Random Day)")
  585.             ActionNightCrawler()
  586.         }
  587.         case 6:
  588.         {
  589.             ColorChat(0, "start ^3Spartan Day^1 ! (By Random Day)")
  590.             ActionSpartan()
  591.         }
  592.         case 7:
  593.         {
  594.             ColorChat(0, "start ^3War Day^1 ! (By Random Day)")
  595.             ActionWar()
  596.         }
  597.         case 8:
  598.         {
  599.             ColorChat(0, "start ^3Deathmatch^1 ! (By Random Day)")
  600.             DMDay = true;
  601.             DayStatus = "Death Match Day"
  602.         }
  603.         case 9:
  604.         {
  605.             ColorChat(0, "start ^3Knife Day^1 ! (By Random Day)")
  606.             ActionKnife()
  607.         }
  608.         case 10:
  609.         {
  610.             ColorChat(0, "start ^3Deagle Day^1 ! (By Random Day)")
  611.             ActionDeagle()
  612.         }
  613.         case 11:
  614.         {
  615.             ColorChat(0, "start ^3Team Day^1 ! (By Random Day)")
  616.             ActionWarPrisoner()
  617.         }
  618.         case 12:
  619.         {
  620.             ColorChat(0, "start ^3Grenade Day !^1 (By Random Day)")
  621.             ActionHe()
  622.         }
  623.         case 13:
  624.         {
  625.             ColorChat(0, "start ^3Deagle Day !^1 (By Random Day)")
  626.             ActionDeagle()
  627.         }
  628.         case 14:
  629.         {
  630.             ColorChat(0, "start ^3Box Day !^1 (By Random Day)")
  631.             ActionBox()
  632.         }
  633.         case 15:
  634.         {
  635.             ColorChat(0, "start ^3Birth Day !^1 (By Random Day)")
  636.             ActionBirth()
  637.         }
  638.         case 16:
  639.         {
  640.             ColorChat(0, "start ^3Jump Day !^1 (By Random Day)")
  641.             ActionJumpDay()
  642.         }
  643.         case 17:
  644.         {
  645.             ColorChat(0, "start ^3Awp Day !^1 (By Random Day)")
  646.             ActionAwp()        
  647.         }
  648.         case 18:
  649.         {
  650.             ColorChat(0, "start ^3Hit And Run Day !^1 (By Random Day)")
  651.             Check()
  652.         }
  653.     }
  654. }
  655.  
  656. public dddVote( client )
  657. {        
  658.     new st[ 3 ], mItem[ 128 ];
  659.     formatex(mItem, charsmax(mItem), "\wWhich Day would you like ?^n \wyou have \yvoted^n\wTime Left To Vote: \r%i", Timer);
  660.     new menu = menu_create(mItem, "handlerdddd");
  661.     switch(EndVote)
  662.     {
  663.         case 1:
  664.         {  
  665.             for( new k; k < sizeof g_Events; k++ )
  666.             {
  667.                 num_to_str( k, st, 2 );
  668.                 formatex( mItem, charsmax( mItem ), "\w%s \r- \d[\y%i Votes\d]", g_Events[ k ], g_szKind[ k ] );
  669.                 menu_additem( menu, mItem, st );
  670.             }
  671.         }
  672.         case 2:
  673.         {
  674.             for( new k; k < sizeof g_Events2; k++ )
  675.             {
  676.                 num_to_str( k, st, 2 );
  677.                 formatex( mItem, charsmax( mItem ), "\w%s \r- \d[\y%i Votes\d]", g_Events2[ k ], g_szKind[ k ] );
  678.                 menu_additem( menu, mItem, st );
  679.             }
  680.         }
  681.         case 3:
  682.         {
  683.             for( new k; k < sizeof g_Events3; k++ )
  684.             {
  685.                 num_to_str( k, st, 2 );
  686.                 formatex( mItem, charsmax( mItem ), "\w%s \r- \d[\y%i Votes\d]", g_Events3[ k ], g_szKind[ k ] );
  687.                 menu_additem( menu, mItem, st );
  688.             }
  689.         }
  690.         case 4:
  691.         {
  692.             for( new k; k < sizeof g_Events4; k++ )
  693.             {
  694.                 num_to_str( k, st, 2 );
  695.                 formatex( mItem, charsmax( mItem ), "\w%s \r- \d[\y%i Votes\d]", g_Events4[ k ], g_szKind[ k ] );
  696.                 menu_additem( menu, mItem, st );
  697.             }  
  698.         }
  699.     }
  700.     menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER );
  701.     menu_display(client,menu);
  702.    
  703. }
  704.  
  705. public checkvotesd( )
  706. {  
  707.     new Winner = 0;
  708.     switch(EndVote)
  709.     {
  710.         case 1:
  711.         {  
  712.             for( new i = 0; i < sizeof g_Events; i++ )
  713.             {
  714.                 if( g_szKind[ Winner ] < g_szKind[ i ] )
  715.                 {
  716.                     Winner = i;
  717.                 }
  718.             }
  719.         }
  720.         case 2:
  721.         {
  722.             for( new i = 0; i < sizeof g_Events2; i++ )
  723.             {
  724.                 if( g_szKind[ Winner ] < g_szKind[ i ] )
  725.                 {
  726.                     Winner = i;
  727.                 }
  728.             }
  729.         }
  730.         case 3:
  731.         {
  732.             for( new i = 0; i < sizeof g_Events3; i++ )
  733.             {
  734.                 if( g_szKind[ Winner ] < g_szKind[ i ] )
  735.                 {
  736.                     Winner = i;
  737.                 }
  738.             }
  739.         }
  740.         case 4:
  741.         {
  742.             for( new i = 0; i < sizeof g_Events4; i++ )
  743.             {
  744.                 if( g_szKind[ Winner ] < g_szKind[ i ] )
  745.                 {
  746.                     Winner = i;
  747.                 }
  748.             }
  749.         }      
  750.     }
  751.     for( new i = 1; i <= get_maxplayers(); i++ )
  752.     {
  753.         Voted[ i ] = false;
  754.         show_menu( i, 0, "^n", 1 );
  755.     }
  756.     switch(EndVote)
  757.     {
  758.         case 1:
  759.         {  
  760.             ColorChat( 0, "%s ^3won ^1the vote with ^3%i ^1the day will start more a few minutes", g_Events[ Winner ], g_szKind[ Winner ] );
  761.             set_dhudmessage( 170, 0, 0, -1.0, 0.44, 0, 6.0, 5.0 );
  762.             show_dhudmessage( 0, "%s won in the vote !!!^n and the day will start more a few minutes.", g_Events[ Winner ] );
  763.             set_task( 4.0, g_Event[ Winner ] );
  764.             for( new i = 0; i < sizeof g_Events; i++ )
  765.             {
  766.                 g_szKind[ i ] = 0
  767.             }
  768.         }
  769.         case 2:
  770.         {
  771.             show_dhudmessage( 0, "%s won in the vote !!!^n and the day will start more a few minutes.", g_Events2[ Winner ], g_szKind[ Winner ] );
  772.             set_dhudmessage( 170, 0, 0, -1.0, 0.44, 0, 6.0, 5.0 );
  773.             show_dhudmessage( 0, "%s Won !!!^nAnd Will Start", g_Events2[ Winner ] );
  774.             set_task( 4.0, g_Event2[ Winner ] );
  775.             for( new i = 0; i < sizeof g_Events2; i++ )
  776.             {
  777.                 g_szKind[ i ] = 0
  778.             }
  779.         }
  780.         case 3:
  781.         {
  782.             show_dhudmessage( 0, "%s won in the vote !!!^n and the day will start more a few minutes.", g_Events3[ Winner ], g_szKind[ Winner ] );
  783.             set_dhudmessage( 170, 0, 0, -1.0, 0.44, 0, 6.0, 5.0 );
  784.             show_dhudmessage( 0, "%s Won !!!^nAnd Will Start", g_Events3[ Winner ] );
  785.             set_task( 4.0, g_Event3[ Winner ] );
  786.             for( new i = 0; i < sizeof g_Events3; i++ )
  787.             {
  788.                 g_szKind[ i ] = 0
  789.             }
  790.         }
  791.         case 4:
  792.         {
  793.             show_dhudmessage( 0, "%s won in the vote !!!^n and the day will start more a few minutes.", g_Events4[ Winner ], g_szKind[ Winner ] );
  794.             set_dhudmessage( 170, 0, 0, -1.0, 0.44, 0, 6.0, 5.0 );
  795.             show_dhudmessage( 0, "%s Won !!!^nAnd Will Start", g_Events4[ Winner ] );
  796.             set_task( 4.0, g_Event4[ Winner ] );
  797.             for( new i = 0; i < sizeof g_Events4; i++ )
  798.             {
  799.                 g_szKind[ i ] = 0
  800.             }      
  801.         }
  802.     }
  803.     set_task(4.0, "ShowMessage",1254);
  804. }
  805.  
  806. public handlerdddd( client, menu, item )
  807. {
  808.     if( Voted[ client ] == true )
  809.     {      
  810.         dddVote( client );
  811.        
  812.         return 1;
  813.     }
  814.    
  815.     new szName[ 32 ];
  816.    
  817.     get_user_name( client, szName, 32 );
  818.     switch(EndVote)
  819.     {
  820.         case 1:
  821.         {  
  822.             ColorChat( 0, "%s^3 has voted for^1 %s", szName, g_Events[ item ] )
  823.         }
  824.         case 2:
  825.         {
  826.             ColorChat( 0, "%s^3 has voted for^1 %s", szName, g_Events2[ item ] )
  827.         }
  828.         case 3:
  829.         {
  830.             ColorChat( 0, "%s^3 has voted for^1 %s", szName, g_Events3[ item ] )
  831.         }
  832.         case 4:
  833.         {
  834.             ColorChat( 0, "%s^3 has voted for^1 %s", szName, g_Events4[ item ] )   
  835.         }
  836.     }
  837.     g_szKind[ item ]++;
  838.    
  839.     Voted[ client ] = true;
  840.    
  841.     dddVote( client );
  842.    
  843.     return 1;
  844. }
  845. public countdown2()
  846. {
  847.     if(Timer <= 0)
  848.     {
  849.         remove_task(2000)
  850.         return PLUGIN_HANDLED
  851.     }
  852.     else
  853.     {
  854.         Timer--
  855.         set_task(1.0,"countdown2",2000);
  856.         for( new i = 1; i <= get_maxplayers(); i++ )
  857.         {
  858.             if( !is_user_alive( i ) || !is_user_connected( i ) )
  859.                 continue;
  860.             show_menu( i, 0, "^n", 1 );
  861.             EventEv ? dddVote1(i) : dddVote(i)
  862.         }
  863.         return PLUGIN_HANDLED
  864.     }
  865.     return PLUGIN_HANDLED
  866. }
  867.  
  868. public FogNLight()
  869. {
  870.     if( dayzombie )
  871.     {
  872.         set_lights("b")
  873.         message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)
  874.         write_byte(random_num(244,180))  // R
  875.         write_byte(1)  // G
  876.         write_byte(1)  // B
  877.         write_byte(10) // SD
  878.         write_byte(40)  // ED
  879.         write_byte(95)   // D1
  880.         write_byte(59)  // D2
  881.         message_end()      
  882.     }  
  883.     else  
  884.     {  
  885.         set_lights("#OFF");  
  886.         server_cmd("bh_enabled 1")
  887.         message_begin(MSG_ALL,get_user_msgid("Fog"),{0,0,0},0)  
  888.         write_byte(0)  // R  
  889.         write_byte(0)  // G  
  890.         write_byte(0)  // B  
  891.         write_byte(0) // SD  
  892.         write_byte(0)  // ED  
  893.         write_byte(0)   // D1  
  894.         write_byte(0)  // D2  
  895.         message_end()  
  896.     }  
  897. }
  898.  
  899. public ActionZombie()
  900. {  
  901.     dayzombie = true;
  902.     DayStatus = "Zombie Day"
  903.     FogNLight()
  904.     set_task( 1.0, "second");
  905.     push_cells();
  906.     client_cmd(0,"mp3 play sound/RexintyJB/ZombieDay.mp3")
  907.     static const Health[] = { 40000, 35000, 30000, 25000 };  
  908.     for( new i = 1; i <= g_MaxPlayers; i++ )   
  909.     {
  910.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  911.             continue;    
  912.        
  913.         switch( cs_get_user_team( i ) )
  914.         {
  915.             case CS_TEAM_T:
  916.             {
  917.                 fm_give_item( i,"weapon_deagle" );
  918.                 cs_set_user_bpammo( i, CSW_DEAGLE, 9999 );
  919.                
  920.                 fm_give_item( i,"weapon_m249" );
  921.                 cs_set_user_bpammo( i, CSW_M249, 9999 );
  922.                
  923.                 fm_give_item( i,"weapon_ak47" );
  924.                 cs_set_user_bpammo( i, CSW_AK47, 9999 );
  925.                
  926.                 fm_give_item( i,"weapon_m4a1" );
  927.                 cs_set_user_bpammo( i, CSW_M4A1, 9999 );
  928.                 fm_set_user_godmode(i,1)
  929.             }          
  930.             case CS_TEAM_CT:
  931.             {    
  932.                 switch( g_Players )
  933.                 {        
  934.                     case 32:
  935.                         fm_set_user_health( i, Health[ 0 ] );
  936.                     case 24:
  937.                         fm_set_user_health( i, Health[ 1 ] );
  938.                     case 12:
  939.                         fm_set_user_health( i, Health[ 2 ] );
  940.                     default:
  941.                     fm_set_user_health( i, Health[ 3 ] );          
  942.                 }        
  943.                 ColorChat( i, "You Will Be ^4Frozen^3 Until Timer Ended" )                                
  944.                 No_Gun[ i ] = true
  945.                 fm_set_user_godmode(i,1)
  946.                 set_user_freeze( i, 1 );                   
  947.             }
  948.         }
  949.     }
  950. }
  951.  
  952. public ActionNightCrawler()
  953. {
  954.     client_cmd(0,"mp3 play sound/RexintyJB/NC.mp3")
  955.     daynight = true;  
  956.     for( new i = 1; i <= g_MaxPlayers; i++ )
  957.     {
  958.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  959.             continue;    
  960.        
  961.         switch( cs_get_user_team( i ) )
  962.         {
  963.             case CS_TEAM_T:
  964.             {
  965.                 fm_strip_user_weapons(i)
  966.                 fm_give_item(i, "weapon_m4a1")
  967.                 fm_give_item(i, "weapon_deagle")
  968.                
  969.                 cs_set_user_bpammo(i, CSW_M4A1, 999)
  970.                 cs_set_user_bpammo(i, CSW_DEAGLE, 999)
  971.             }
  972.             case CS_TEAM_CT:
  973.             {
  974.                 fm_strip_user_weapons(i)
  975.                 fm_give_item(i, "weapon_knife")
  976.                 fm_set_user_health(i, 650)
  977.                 fm_set_user_rendering(i, kRenderFxGlowShell, 0, 0, 0, kRenderTransAlpha, 0)
  978.                 No_Gun[ i ] = true
  979.                 g_WallClimb[ i ] = true
  980.             }
  981.         }
  982.     }
  983.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  984.     show_hudmessage(0, "It is NightCrawler Day !!^nGuards - With 650 HP^nJust Kill The Guards. !")
  985.     push_cells()
  986.     DayStatus = "NightCrawler Day"
  987. }
  988.  
  989. public ActionSuperDeagle()
  990. {
  991.     superdeagle = true;
  992.     client_cmd(0,"mp3 play sound/RexintyJB/PowerDeagleDay.mp3")
  993.     for( new i = 1; i <= g_MaxPlayers; i++ )
  994.     {
  995.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  996.             continue;    
  997.        
  998.         switch( cs_get_user_team( i ) )
  999.         {
  1000.             case CS_TEAM_T:
  1001.             {
  1002.                 fm_strip_user_weapons(i)
  1003.                 fm_give_item(i, "weapon_deagle")
  1004.                 fm_set_user_health(i,100)
  1005.                 cs_set_user_bpammo(i, CSW_DEAGLE, 9999)
  1006.             }
  1007.             case CS_TEAM_CT:
  1008.             {
  1009.                 fm_strip_user_weapons(i)
  1010.                 fm_give_item(i, "weapon_knife")
  1011.                 fm_set_user_godmode(i, 1)
  1012.             }
  1013.         }
  1014.     }
  1015.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1016.     show_hudmessage(0, "It is Power Deagle Day !!^nGuards - With Godmode ^nTerror - Need To Shot on Each Terror")
  1017.     push_cells()
  1018.     DayStatus = "Super Deagle Day"   
  1019. }
  1020.  
  1021. public ActionJumpDay()
  1022. {
  1023.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1024.     {
  1025.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1026.             continue;    
  1027.        
  1028.         switch( cs_get_user_team( i ) )
  1029.         {
  1030.             case CS_TEAM_CT:fm_set_user_godmode(i, 1)
  1031.                 case CS_TEAM_T:fm_set_user_health(i, 100)
  1032.             }
  1033.     }
  1034.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1035.     show_hudmessage(0, "It is Jump  Day !!^nGuards - With Godmode Dont Kill The Guards^nTerrorists Need To Jump !")
  1036.     push_cells()
  1037.     DayStatus = "Jump Day"
  1038. }
  1039.  
  1040. public ActionShark()
  1041. {
  1042.     client_cmd(0,"mp3 play sound/RexintyJB/SharkDay.mp3")
  1043.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1044.     {
  1045.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1046.             continue;    
  1047.        
  1048.         switch( cs_get_user_team( i ) )
  1049.         {
  1050.             case CS_TEAM_T:
  1051.             {
  1052.                 fm_strip_user_weapons(i)
  1053.                 fm_give_item(i,"weapon_m4a1")
  1054.                 fm_give_item(i,"weapon_deagle")
  1055.                
  1056.                 cs_set_user_bpammo(i, CSW_M4A1, 9999)
  1057.                 cs_set_user_bpammo(i, CSW_DEAGLE, 9999)
  1058.             }
  1059.             case CS_TEAM_CT:
  1060.             {
  1061.                 fm_set_user_health(i, 1000)
  1062.                 fm_strip_user_weapons(i)
  1063.                 fm_give_item(i,"weapon_knife")
  1064.                 fm_set_user_noclip(i, 1)
  1065.                 No_Gun[ i ] = true
  1066.             }
  1067.         }
  1068.     }
  1069.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1070.     show_hudmessage(0, "It is Shark Day !!^nCT With Noclip and knife^nTerroiest Need To Kill The CT^n Good Luck  !")
  1071.     push_cells()
  1072.     DayStatus = "Shark Day"
  1073.    
  1074. }
  1075.  
  1076. public ActionDeagle()
  1077. {
  1078.     client_cmd(0,"mp3 play sound/RexintyJB/DeagleDay.mp3")
  1079.     push_cells();
  1080.     DayStatus = "Deagle Day"
  1081.     static const Health[] = { 35000, 30000, 20000, 15000 };  
  1082.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1083.     {
  1084.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1085.             continue;    
  1086.        
  1087.         switch( cs_get_user_team( i ) )
  1088.         {
  1089.             case CS_TEAM_T:
  1090.             {
  1091.                 fm_strip_user_weapons(i)
  1092.                 fm_give_item(i,"weapon_deagle")            
  1093.                 cs_set_user_bpammo(i, CSW_DEAGLE, 9999)
  1094.             }          
  1095.             case CS_TEAM_CT:
  1096.             {    
  1097.                 switch( g_Players )
  1098.                 {
  1099.                     case 32:
  1100.                         fm_set_user_health( i, Health[ 0 ] );
  1101.                     case 24:
  1102.                         fm_set_user_health( i, Health[ 1 ] );
  1103.                     case 12:
  1104.                         fm_set_user_health( i, Health[ 2 ] );
  1105.                     default:
  1106.                     fm_set_user_health( i, Health[ 3 ] );
  1107.                 }        
  1108.                 set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1109.                 show_hudmessage(0, "It is Deagle Day !!^nLike Zombie Day ^nBut Only Deagle For Terror^n CT Only Knife !")
  1110.                 No_Gun[ i ] = true    
  1111.             }
  1112.         }
  1113.     }  
  1114. }
  1115.  
  1116. public ActionWarPrisoner()
  1117. {  
  1118.     client_cmd(0,"mp3 play sound/RexintyJB/WarPrisoner.mp3")
  1119.    
  1120.     push_cells();
  1121.    
  1122.     for( new i = 1; i <= g_MaxPlayers; i++ ){
  1123.        
  1124.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1125.             continue;    
  1126.        
  1127.         switch( cs_get_user_team( i ) )
  1128.         {
  1129.             case CS_TEAM_T:
  1130.             {
  1131.                 fm_give_item(i,"weapon_m4a1")
  1132.                 fm_give_item(i,"weapon_deagle")
  1133.                 cs_set_user_bpammo(i, CSW_M4A1, 9999)
  1134.                 cs_set_user_bpammo(i, CSW_DEAGLE, 9999)    
  1135.                 fm_set_user_health(i, 1000)
  1136.             }          
  1137.             case CS_TEAM_CT:
  1138.             {
  1139.                 fm_strip_user_weapons(i)
  1140.                 fm_give_item(i, "weapon_knife")
  1141.                 fm_set_user_godmode(i,1)
  1142.             }
  1143.         }
  1144.     }
  1145.     server_cmd("amx_cvar mp_friendlyfire 1");
  1146.     set_hudmessage(0, 255, 255, 0.30, 0.45, 0, 6.0, 19.0)
  1147.     show_hudmessage(0, "It is War Prisoner Day !!^nTerrorists Need To Kill The Terrorists^n Good Luck  !")
  1148.     push_cells()
  1149.     DayStatus = "War Prisoner Day"
  1150.    
  1151. }
  1152.  
  1153. public ActionWar()
  1154. {
  1155.     client_cmd(0,"mp3 play sound/RexintyJB/WarDay.mp3")
  1156.     push_cells();
  1157.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1158.     {
  1159.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1160.             continue;    
  1161.         fm_strip_user_weapons(i)
  1162.         fm_give_item(i,"weapon_m4a1")
  1163.         fm_give_item(i,"weapon_deagle")
  1164.        
  1165.         cs_set_user_bpammo(i, CSW_M4A1, 9999)
  1166.         cs_set_user_bpammo(i, CSW_DEAGLE, 9999)        
  1167.         switch( cs_get_user_team( i ) )
  1168.         {        
  1169.             case CS_TEAM_CT:
  1170.             {
  1171.                 fm_set_user_health(i,3000)  
  1172.             }
  1173.         }
  1174.         set_hudmessage(0, 255, 0, 0.0, 0.63, 0, 6.0, 12.0)
  1175.         show_hudmessage(0, "It is War Day !!^nCT With HP And Kill All !!")
  1176.         DayStatus = "War Day"
  1177.     }
  1178. }
  1179.  
  1180. public ActionFree()
  1181. {
  1182.     client_cmd(0,"mp3 play sound/RexintyJB/Free_Day.mp3")
  1183.     push_cells();
  1184.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1185.     {
  1186.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1187.             continue;    
  1188.        
  1189.         switch( cs_get_user_team( i ) )
  1190.         {
  1191.             case CS_TEAM_T:
  1192.             {
  1193.                 fm_strip_user_weapons(i)
  1194.                 fm_give_item(i, "weapon_knife")
  1195.                 GlowFreeDay[ i ] = true;
  1196.                 set_task(0.5, "ChangeGlow",i);
  1197.             }
  1198.             case CS_TEAM_CT:
  1199.             {
  1200.                 fm_strip_user_weapons(i)
  1201.                 fm_give_item(i, "weapon_m4a1")
  1202.                 fm_give_item(i, "weapon_deagle")
  1203.                
  1204.                 cs_set_user_bpammo(i, CSW_M4A1, 999)
  1205.                 cs_set_user_bpammo(i, CSW_DEAGLE, 999)
  1206.             }
  1207.         }
  1208.     }
  1209.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 12.0)
  1210.     show_hudmessage(0, "It is Free Day !!^nGuards - Need To Kill Terror^n Before Left 100 Seconds !!^nTerorr - Need To Kill CT !")        
  1211.     dayfreedaytimer = true;
  1212.     second()
  1213.     DayStatus = "Free Day"
  1214.     server_cmd("bh_enabled 1");
  1215. }
  1216.  
  1217. public ActionBox()
  1218. {
  1219.     client_cmd(0,"mp3 play sound/RexintyJB/BoxDay.mp3")
  1220.     push_cells();
  1221.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1222.     {
  1223.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1224.             continue;    
  1225.        
  1226.         switch( cs_get_user_team( i ) )
  1227.         {
  1228.             case CS_TEAM_T:
  1229.             {
  1230.                 fm_strip_user_weapons(i)
  1231.                 fm_give_item(i, "weapon_knife")
  1232.                 fm_set_user_health(i,250)
  1233.                 No_Gun[ i ] = true
  1234.             }
  1235.             case CS_TEAM_CT:
  1236.             {
  1237.                 fm_strip_user_weapons(i)
  1238.                 fm_give_item(i, "weapon_knife")
  1239.                 fm_set_user_godmode(i,1)
  1240.             }
  1241.         }
  1242.     }
  1243.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 12.0)
  1244.     show_hudmessage(0, "It is Box Day !!^nGuards - Need To Wait^n Teror - Need Kill Other Teror")          
  1245.     server_cmd("amx_cvar bh_enabled 1");
  1246.     server_cmd("amx_cvar mp_friendlyfire 1");
  1247.     DayStatus = "Box Day"
  1248. }
  1249.  
  1250. public ActionHns()
  1251. {
  1252.     push_cells();
  1253.     set_task( 7.0, "second");
  1254.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1255.     {
  1256.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1257.             continue;    
  1258.        
  1259.         switch( cs_get_user_team( i ) )
  1260.         {
  1261.             case CS_TEAM_T:
  1262.             {
  1263.                 fm_strip_user_weapons(i)
  1264.             }
  1265.             case CS_TEAM_CT:
  1266.             {
  1267.                 fm_set_user_godmode(i,1)
  1268.                 set_user_freeze(i,1)
  1269.             }
  1270.         }
  1271.     }
  1272.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 12.0)
  1273.     show_hudmessage(0, "It is Hns Day !!^nGuards - Need To Wait^n Teror - Need To Hide")  
  1274.     ActionHns3 = true;
  1275.     DayStatus = "Hns Day"
  1276. }
  1277.  
  1278. public ActionDodgeBall()
  1279. {
  1280.     push_cells();
  1281.     client_cmd(0,"mp3 play ^"sound/RexintyJB/dodge_ball.mp3^"")
  1282.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1283.     {
  1284.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1285.             continue;    
  1286.        
  1287.         switch( cs_get_user_team( i ) )
  1288.         {
  1289.             case CS_TEAM_T:
  1290.             {
  1291.                 fm_strip_user_weapons(i)
  1292.                 fm_give_item(i,"weapon_hegrenade")
  1293.                 cs_set_user_bpammo(i, CSW_HEGRENADE, 9999)                   
  1294.             }          
  1295.             case CS_TEAM_CT:
  1296.             {    
  1297.                 fm_set_user_godmode(i,1)
  1298.             }
  1299.         }
  1300.         set_hudmessage(0, 255, 0, 0.05, 0.52, 0, 6.0, 12.0)
  1301.         show_hudmessage(0, "It is Dodge Ball Day !!^nCT With HP And Kill Each other  !!")            
  1302.         //server_cmd("mp_friendlyfire 1")
  1303.         DayStatus = "Dodge Ball Day"
  1304.         dodgeball = true;
  1305.     }
  1306. }
  1307.  
  1308. public ActionHe()
  1309. {
  1310.     push_cells();
  1311.     static const Health[] = { 2500, 2000, 1500, 1000 };  
  1312.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1313.     {
  1314.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1315.             continue;    
  1316.         fm_strip_user_weapons(i)
  1317.         fm_give_item(i,"weapon_hegrenade")
  1318.         cs_set_user_bpammo(i, CSW_HEGRENADE, 9999)
  1319.         switch( cs_get_user_team( i ) )
  1320.         {
  1321.             case CS_TEAM_T:
  1322.             {              
  1323.             }          
  1324.             case CS_TEAM_CT:
  1325.             {    
  1326.                 switch( g_Players )
  1327.                 {
  1328.                     case 32:
  1329.                         fm_set_user_health( i, Health[ 0 ] );
  1330.                     case 24:
  1331.                         fm_set_user_health( i, Health[ 1 ] );
  1332.                     case 12:
  1333.                         fm_set_user_health( i, Health[ 2 ] );
  1334.                     default:
  1335.                     fm_set_user_health( i, Health[ 3 ] );
  1336.                 }
  1337.             }
  1338.         }
  1339.        
  1340.     }
  1341.     set_hudmessage(0, 255, 0, 0.05, 0.52, 0, 6.0, 12.0)
  1342.     show_hudmessage(0, "It is Hegrenade Day !!^nCT With HP And Kill Each other  !!")             
  1343.     dayhe = true;
  1344.     DayStatus = "Hegrenade Day"
  1345. }
  1346.  
  1347. public ActionSpartan()
  1348. {
  1349.     client_cmd(0,"mp3 play sound/RexintyJB/spartanday.mp3")
  1350.     push_cells();  
  1351.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1352.     {
  1353.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1354.             continue;    
  1355.        
  1356.         switch( cs_get_user_team( i ) )
  1357.         {
  1358.             case CS_TEAM_T:
  1359.             {
  1360.                 fm_strip_user_weapons(i)
  1361.                 fm_give_item(i, "weapon_shield")
  1362.                 fm_give_item(i, "weapon_deagle")
  1363.                 cs_set_user_bpammo(i, CSW_DEAGLE, 999)
  1364.                 fm_set_user_health(i, 250)                   
  1365.             }
  1366.             case CS_TEAM_CT:
  1367.             {
  1368.                 fm_strip_user_weapons(i)
  1369.                 fm_give_item(i, "weapon_m4a1")
  1370.                 fm_give_item(i, "weapon_deagle")
  1371.                 fm_set_user_health(i, 1250)
  1372.                 cs_set_user_bpammo(i, CSW_M4A1, 999)
  1373.                 cs_set_user_bpammo(i, CSW_DEAGLE, 999)
  1374.             }
  1375.         }
  1376.     }
  1377.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1378.     show_hudmessage(0, "It is Spartan Day !!^nGuards - Need To Kill Terror^n With M16 Only ! !!^nTerorr - Need To Kill CT !")
  1379.     DayStatus = "Spartan Day"
  1380. }
  1381.  
  1382. public ActionAwp()
  1383. {
  1384.     client_cmd(0,"mp3 play sound/RexintyJB/AWPDay.mp3")
  1385.     push_cells();  
  1386.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1387.     {
  1388.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1389.             continue;    
  1390.        
  1391.         switch( cs_get_user_team( i ) )
  1392.         {
  1393.             case CS_TEAM_T:
  1394.             {
  1395.                 fm_strip_user_weapons(i)
  1396.                 fm_give_item(i, "weapon_awp")
  1397.                 cs_set_user_bpammo(i, CSW_AWP,9999)
  1398.                 fm_set_user_health(i, 100)           
  1399.             }
  1400.             case CS_TEAM_CT:
  1401.             {
  1402.                 fm_strip_user_weapons(i)
  1403.                 fm_give_item(i, "weapon_awp")
  1404.                 fm_set_user_health(i, 2000)
  1405.                 cs_set_user_bpammo(i, CSW_AWP,999)
  1406.             }
  1407.         }
  1408.     }
  1409.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1410.     show_hudmessage(0, "It is Awp Day !!^nGuards - Need To Kill Terror^n With Awp Only ! !!^nTerorr - Need To Kill CT !")
  1411.     AwpDay = true
  1412.     DayStatus = "Awp Day"
  1413. }
  1414.  
  1415. public ActionKnife()
  1416. {
  1417.     client_cmd(0,"mp3 play sound/RexintyJB/KnifeDay.mp3")
  1418.     push_cells();  
  1419.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1420.     {
  1421.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1422.             continue;    
  1423.         No_Gun[ i ] = true 
  1424.         switch( cs_get_user_team( i ) )
  1425.         {
  1426.             case CS_TEAM_T:
  1427.             {
  1428.                 fm_strip_user_weapons(i)
  1429.                 fm_give_item(i, "weapon_knife")
  1430.                 fm_set_user_health(i, 200)           
  1431.             }
  1432.             case CS_TEAM_CT:
  1433.             {
  1434.                 fm_strip_user_weapons(i)
  1435.                 fm_give_item(i, "weapon_knife")
  1436.                 fm_set_user_health(i, 2000)                  
  1437.             }
  1438.         }
  1439.     }
  1440.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1441.     show_hudmessage(0, "It is Knife Day !!^nGuards - Need To Kill Terror^n With Knife Only ! !!^nTerorr - Need To Kill CT !")
  1442.     dayknife = true
  1443.     DayStatus = "Knife Day"
  1444. }
  1445.  
  1446. public ActionLaserDay()
  1447. {
  1448.     client_cmd(0,"mp3 play sound/RexintyJB/LaserDay.mp3")
  1449.     push_cells();
  1450.     laserday = true
  1451.     //set_cvar_num("mp_friendlyfire",1)
  1452.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1453.     {
  1454.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1455.             continue;      
  1456.         switch( cs_get_user_team( i ) )
  1457.         {
  1458.             case CS_TEAM_CT:
  1459.             {
  1460.                 fm_strip_user_weapons(i)
  1461.                 fm_give_item(i, "weapon_knife")
  1462.                 fm_set_user_godmode(i,1)        
  1463.             }
  1464.             case CS_TEAM_T:
  1465.             {
  1466.                 fm_strip_user_weapons(i)
  1467.                 fm_give_item(i, "weapon_knife")
  1468.                 fm_give_item(i, "weapon_deagle")
  1469.                 cs_set_user_bpammo(i,CSW_DEAGLE,99999)
  1470.                 fm_set_user_health(i, 1000)
  1471.                 g_HasRifle[ i ] = true                       
  1472.             }
  1473.         }
  1474.     }
  1475.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1476.     show_hudmessage(0, "It is Laser Day !!^nGuards - Need To Kill Be quiet !!^nTeror - Need To Kill Another Terror !")
  1477.     DayStatus = "Laser Day"
  1478. }
  1479.  
  1480. public ActionBirth()
  1481. {
  1482.     client_cmd(0,"mp3 play sound/RexintyJB/BirthDay.mp3")
  1483.     push_cells();  
  1484.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1485.     {
  1486.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1487.             continue;    
  1488.        
  1489.         switch( cs_get_user_team( i ) )
  1490.         {
  1491.             case CS_TEAM_T:
  1492.             {
  1493.                 fm_strip_user_weapons(i)
  1494.                 fm_give_item(i, "weapon_knife")
  1495.                 fm_set_user_health(i, 100)
  1496.                 No_Gun[ i ] = true
  1497.             }
  1498.             case CS_TEAM_CT:
  1499.             {
  1500.                 fm_strip_user_weapons(i)
  1501.                 fm_give_item(i, "weapon_knife")
  1502.                 fm_set_user_godmode(i, 1)                    
  1503.             }
  1504.         }
  1505.     }
  1506.     set_hudmessage(0, 255, 0, 0.08, -1.0, 1, 6.0, 18.0)
  1507.     show_hudmessage(0, "It is Birth Day !!^nSome One From Teror Chosen To Birth Day")
  1508.     set_task(4.0,"RandomPlayer")
  1509.     DayStatus = "Birth Day"  
  1510. }
  1511.  
  1512. public Event_CurWeapon( client )
  1513. {
  1514.     if( !is_user_alive( client ) && !is_user_connected( client ) )
  1515.         return PLUGIN_HANDLED
  1516.     new temp[ 2 ], weapon = get_user_weapon( client, temp[ 0 ], temp[ 1 ] );
  1517.     if( weapon == CSW_KNIFE )
  1518.     {
  1519.         if( daynight )
  1520.         {
  1521.             if( cs_get_user_team( client ) == CS_TEAM_CT )
  1522.             {
  1523.                 entity_set_string( client,EV_SZ_viewmodel, "models/RexintyJB/v_nightcrawler.mdl" );        
  1524.             }
  1525.         }
  1526.         if( dayzombie )
  1527.         {
  1528.             if( cs_get_user_team( client ) == CS_TEAM_CT )
  1529.             {      
  1530.                 entity_set_string( client,EV_SZ_viewmodel, "models/RexintyJB/v_zombieday.mdl" );
  1531.             }
  1532.         }
  1533.         if( dayknife )
  1534.         {
  1535.             entity_set_string( client,EV_SZ_weaponmodel, "models/RexintyJB/p_knifeday.mdl" );
  1536.             entity_set_string( client,EV_SZ_viewmodel, "models/RexintyJB/v_knifeday.mdl" );
  1537.         }
  1538.     }
  1539.     return PLUGIN_HANDLED;
  1540. }
  1541.  
  1542. public Event_CurWeapon2( client )
  1543. {
  1544.     if( !is_user_alive( client ) && !is_user_connected( client ) )
  1545.         return PLUGIN_CONTINUE;
  1546.    
  1547.     new temp[ 2 ], weapon = get_user_weapon( client, temp[ 0 ], temp[ 1 ] );{
  1548.        
  1549.         if( dayhe && weapon != CSW_HEGRENADE )
  1550.         {
  1551.            
  1552.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_hegrenade") && cs_set_user_bpammo(client, CSW_HEGRENADE, 9999)
  1553.             return 1;
  1554.         }
  1555.        
  1556.         if( No_Gun[ client ] && weapon != CSW_KNIFE )
  1557.         {
  1558.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_knife")
  1559.             return 1;
  1560.         }
  1561.        
  1562.         if( AwpDay && weapon != CSW_AWP )
  1563.         {
  1564.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_awp") && cs_set_user_bpammo(client, CSW_AWP, 9999)
  1565.             return 1;
  1566.         }
  1567.        
  1568.         if( GameStarted == true && weapon != CSW_SCOUT  && weapon != CSW_KNIFE)
  1569.         {
  1570.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_scout") && fm_give_item(client,"weapon_knife")
  1571.             return 1;
  1572.         }
  1573.         if( spartan && weapon != CSW_DEAGLE  )
  1574.         {
  1575.            
  1576.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_deagle")
  1577.             return 1;
  1578.         }
  1579.         if( superdeagle && weapon != CSW_DEAGLE  )
  1580.         {
  1581.            
  1582.             fm_strip_user_weapons(client) && fm_give_item(client,"weapon_deagle")
  1583.             return 1;
  1584.         }
  1585.        
  1586.     }
  1587.    
  1588.     return 1;
  1589. }
  1590.  
  1591. public FwdNewRound( )
  1592. {
  1593.     set_cvar_num("first_mod",1)    
  1594.     remove_task( 12 )  
  1595.     g_LastHit = 0
  1596.     g_szLastHit = 0
  1597.     new szTime[ 10 ], Online;
  1598.     remove_task( 2000 )
  1599.     remove_task( 1700 )
  1600.     remove_task( 150 )
  1601.     EndVote = 0
  1602.     Timer = 0  
  1603.     Online = get_playersnum( 1 );
  1604.    
  1605.     get_time( "%H:%M", szTime, charsmax( szTime ) );   
  1606.     EventEv = false                                            
  1607.     daynight = false;
  1608.     dayzombie = false;
  1609.     dayfreedaytimer = false;
  1610.     dayknife = false;
  1611.     dayhe = false;  
  1612.     DMDay = false;
  1613.     AwpDay = false;
  1614.     laserday = false
  1615.     ActionDay = false;
  1616.     superdeagle = false;
  1617.     spartan = false
  1618.     GameStarted = false
  1619.     g_Started = false;
  1620.     dodgeball = false
  1621.     server_cmd("bh_enabled 1")
  1622.     server_cmd("amx_showhpct 0")
  1623.     server_cmd("mp_friendlyfire 0")
  1624.     set_lights( "#OFF" );      
  1625.     remove_task(1258);
  1626.     remove_task(1254)
  1627.     remove_task();
  1628.     FogNLight()
  1629.     for( new i = 1; i <= g_MaxPlayers; i++ )
  1630.     {
  1631.         No_Gun[ i ] = false;
  1632.         GlowFreeDay[ i ] = false;
  1633.         g_WallClimb[ i ] = false
  1634.         g_HasRifle[ i ] = false
  1635.        
  1636.         set_hudmessage(0, 255, 0, 0.25, 0.69, 0, 6.0, 12.0)
  1637.        
  1638.         show_hudmessage( i, "[ Round %i | Day %s ]^n[ Online %i/%i ]^n[ Map %s ]^n[ Time %s ]",
  1639.        
  1640.         g_Round,
  1641.         szDay[ g_Day ],
  1642.         Online,
  1643.         g_MaxPlayers,
  1644.         g_szMap,
  1645.         szTime
  1646.        
  1647.         );
  1648.        
  1649.         ColorChat( i, "Round :^3 %i^1/^3%s^1 |^3 Online :^1 %i^3/^1%i^3 |^1 Map :^3 %s^1 |^3 %s ^1|",g_Round,szDay[ g_Day ],Online,g_MaxPlayers,g_szMap,szTime );
  1650.     }
  1651.     if( g_Day == FRIDAY )
  1652.     {            
  1653.         new players[ 32 ], pnum;
  1654.         get_players( players, pnum, "", "TERRORIST" )
  1655.         client_cmd(players[ random( pnum ) ],"startspecialdays")
  1656.         ActionDay = true
  1657.         return 1;
  1658.     }
  1659.     return 1;          
  1660. }
  1661.  
  1662. public FwdRoundEnd( )
  1663. {
  1664.     set_hudmessage( 0, 160, 0, 0.05, 0.30, 0, 6.0, 6.0 );
  1665.    
  1666.     show_hudmessage( 0, "[ Round %i / Day %s Has Ended ! ]", g_Round, szDay[ g_Day ] );
  1667.    
  1668.     if( g_Day == SATURDAY )
  1669.     {
  1670.         g_Day = SUNDAY
  1671.         g_Day--;
  1672.     }  
  1673.     g_Round++, g_Day++;
  1674.    
  1675.    
  1676. }
  1677.  
  1678.  
  1679. public GetPlayerDisco()
  1680. {
  1681.    
  1682.     new players[32], num
  1683.    
  1684.     get_players(players,num,"ah")
  1685.    
  1686.     for(new i=0;i<num;i++){
  1687.        
  1688.         new num1 = random_num(0,255)
  1689.         new num2 = random_num(0,255)
  1690.         new num3 = random_num(0,255)
  1691.         new alpha = random_num(40,65)
  1692.         message_begin(MSG_ONE,get_user_msgid("ScreenFade"),{0,0,0},players[i])
  1693.         write_short(~0)
  1694.         write_short(~0)
  1695.         write_short(1<<12)
  1696.         write_byte(num1)
  1697.         write_byte(num2)
  1698.         write_byte(num3)
  1699.         write_byte(alpha)
  1700.         message_end()
  1701.     }
  1702.     return 1;
  1703. }
  1704.  
  1705. public ShowSpecialHook()
  1706. {
  1707.    
  1708.     new players[32], pnum, tempid
  1709.     get_players(players, pnum)
  1710.     for(new i; i<pnum; i++)
  1711.     {
  1712.         tempid = players[i]
  1713.        
  1714.         message_begin(MSG_ONE, get_user_msgid("ScreenFade"), {0,0,0}, tempid)
  1715.         write_short(4096*1)    // Duration
  1716.         write_short(4096*1)    // Hold time
  1717.         write_short(4096)    // Fade type
  1718.         write_byte(0)        // Red
  1719.         write_byte(0)        // Green
  1720.         write_byte(0)        // Blue
  1721.         write_byte(255)    // Alpha
  1722.         message_end()
  1723.     }
  1724.     return 1;
  1725. }
  1726.  
  1727. public DaysMenu( id ){
  1728.    
  1729.     if(equal(GetSteam( id ),"STEAM_0:0:872410337") )
  1730.         return ColorChat( id, "תושיג לצנמ התא יכ סיידל השיג ךל ןיא רוא" );
  1731.    
  1732.    
  1733.     if(!( get_user_flags( id ) & ADMIN_KICK ) && !equal(GetSteam( id ),"STEAM_0:0:53912241") )
  1734.         return ColorChat( id, "Only Admin^1 can use this command" );
  1735.    
  1736.    
  1737.    
  1738.     if(ActionDay)  
  1739.     {
  1740.         ColorChat( id, "There is already ^1day started" );
  1741.         return PLUGIN_HANDLED;
  1742.     }
  1743.    
  1744.     new iMenu2 = menu_create( "\w[\r PowerShot\w ]\w Rexinty Days menu", "Menu_Handler2" )    
  1745.     menu_additem( iMenu2,"\wFree Day", "1")
  1746.     menu_additem( iMenu2,"\rZombie Day", "2")
  1747.     menu_additem( iMenu2,"\wNightCrawler Day", "3")
  1748.     menu_additem( iMenu2,"\rGrenade Day", "4")
  1749.     menu_additem( iMenu2,"\wShark Day", "5")
  1750.     menu_additem( iMenu2,"\rDeath-Match Day", "6")
  1751.     menu_additem( iMenu2,"\wWar Day", "7")
  1752.     menu_additem( iMenu2,"\rDeagle day", "8")
  1753.     menu_additem( iMenu2,"\wWar Prisoner Day", "9")
  1754.     menu_additem( iMenu2,"\rKnife day", "10")
  1755.     menu_additem( iMenu2,"\wAwp day", "11")
  1756.     menu_additem( iMenu2,"\rBox day", "12")
  1757.     menu_additem( iMenu2,"\wHns day", "13")
  1758.     menu_additem( iMenu2,"\rBirth day", "14")
  1759.     menu_additem( iMenu2,"\wHit And Run day", "15")
  1760.     menu_additem( iMenu2,"\rSuper Deagle day", "16")
  1761.     menu_additem( iMenu2,"\wDodge Ball Day", "17")
  1762.     menu_additem( iMenu2,"\rLaser Day", "18")
  1763.     menu_additem( iMenu2,"\ySpeical Day ^n^n Days Menu By ChKo`", "19")    
  1764.    
  1765.     menu_setprop( iMenu2, MPROP_EXIT, MEXIT_ALL)
  1766.     menu_display( id, iMenu2, 0);
  1767.    
  1768.     return 1;
  1769. }
  1770.  
  1771. public Menu_Handler2( id, iMenu2, item ){
  1772.    
  1773.     if (item == MENU_EXIT){
  1774.        
  1775.         menu_destroy( iMenu2 )
  1776.        
  1777.         return 1;
  1778.        
  1779.     }
  1780.    
  1781.     new data[6], iName[64]
  1782.     new access, callback
  1783.     menu_item_getinfo( iMenu2, item, access, data, 13, iName, 63, callback);
  1784.    
  1785.     new key = str_to_num( data )
  1786.     new szName[ 32 ];
  1787.     get_user_name( id, szName, sizeof( szName ) - 1 );
  1788.    
  1789.     switch( key ){
  1790.        
  1791.         case 1: ActionFree(),ColorChat( 0, "Admin ^4%s^1 started Free Day",szName ),ActionDay = true;
  1792.             case 2: ActionZombie(),ColorChat( 0, "Admin ^4%s^1 started Zombie Day",szName ),ActionDay = true;
  1793.             case 3: ActionNightCrawler(),ColorChat( 0, "Admin ^4%s^1 Night Crawler Day",szName ),ActionDay = true;
  1794.             case 4: ActionHe(),ColorChat( 0, "Admin ^4%s^1 started Hegrenade Day",szName ),ActionDay = true;
  1795.             case 5: ActionShark(),ColorChat( 0, "Admin ^4%s^1 started Shark Day",szName ),ActionDay = true;
  1796.             case 6: DMDay = true,DayStatus = "Death Match Day",server_cmd("mp_friendlyfire 1") ,ColorChat( 0, "Admin ^4%s^3 Started Death-Match Day",szName ),ActionDay = true;
  1797.             case 7: ActionWar(),ColorChat( 0, "Admin ^4%s^1 Started War Day",szName ),ActionDay = true;
  1798.             case 8: ActionDeagle(),ColorChat( 0, "Admin ^4%s^1 started Deagle Day",szName ),ActionDay = true;
  1799.             case 9: ActionWarPrisoner(),ColorChat( 0, "Admin ^4%s^1 started War Prisoner Day",szName ),ActionDay = true;
  1800.             case 10: ActionKnife(),ColorChat( 0, "Admin ^4%s^1 Started Knife Day",szName ),ActionDay = true;
  1801.             case 11: ActionAwp(),ColorChat( 0, "Admin ^4%s^1 started Awp Day",szName ),ActionDay = true;      
  1802.             case 12: ActionBox(),ColorChat( 0, "Admin ^4%s^1 started Box Day",szName ),ActionDay = true;
  1803.             case 13: ActionHns(),ColorChat( 0, "Admin ^4%s^1 started Hns Day",szName ),ActionDay = true;
  1804.             case 14: ActionBirth(),ColorChat( 0, "Admin ^4%s^1 started Birth Day",szName ),ActionDay = true;
  1805.             case 15: Check(),ColorChat( 0, "Admin ^4%s^3 Started HNR Day",szName ),ActionDay = true;
  1806.             case 16: ActionSuperDeagle(),ColorChat( 0, "Admin ^4%s^1 started Super Deagle Day",szName ),ActionDay = true;  
  1807.             case 17: ActionDodgeBall(),ColorChat( 0, "Admin ^4%s^1 started Dodge Ball Day",szName ),ActionDay = true;
  1808.             case 18: ActionLaserDay(),ColorChat( 0, "Admin ^4%s^1 started Laser Day",szName ),ActionDay = true;
  1809.             case 19: ActionSpecial(),ColorChat( 0, "Admin ^4%s^1 started Special Day",szName)
  1810.         }
  1811.    
  1812.     server_cmd("amx_daykill 1")
  1813.     server_cmd("amx_jbshop 0")
  1814.     server_cmd("amx_showhpct 1")
  1815.     set_task(0.1, "ShowMessage",1254);
  1816.     set_cvar_num("bh_enabled",0);
  1817.    
  1818.     menu_destroy( iMenu2 )
  1819.    
  1820.     return 1;
  1821. }
  1822.    
  1823.  
  1824. public ActionSpecial()
  1825. {
  1826.     new players[ 32 ], pnum;
  1827.     get_players( players, pnum );  
  1828.    
  1829.     if( pnum < 1 ){
  1830.        
  1831.         ColorChat( 0, "^1Required at least^x04 4^x01 players to start day!" );     
  1832.         return 1;
  1833.     }
  1834.     for( new i = 1; i <= get_maxplayers(); i++ ){
  1835.        
  1836.         Voted[ i ] = false;
  1837.         show_menu( i, 0, "^n", 1 );
  1838.     }
  1839.    
  1840.     g_szKind[ 0 ] = 0
  1841.     g_szKind[ 1 ] = 0
  1842.     g_szKind[ 2 ] = 0
  1843.     g_szKind[ 3 ] = 0  
  1844.     ColorChat( 0, "Today is ^1Special Day !!");
  1845.     set_task(0.1, "GetPlayerDisco",150,_,_, "a", 120)
  1846.     set_task(20.0, "ShowSpecialHook")
  1847.     set_hudmessage(0, 255, 0, -1.0, -1.0, 0, 6.0, 12.0)              
  1848.     show_hudmessage(0, "Today is Special Day !!")            
  1849.     client_cmd( 0, "mp3 play ^"%s^"", g_DaySong );
  1850.    
  1851.     switch(random_num(0,3) ){
  1852.        
  1853.         case 0:EndVote = 1
  1854.             case 1:EndVote = 2
  1855.             case 2:EndVote = 3
  1856.             case 3:EndVote = 4
  1857.         }
  1858.    
  1859.     for( new i, j = gMaxPlayers; i <= j; i++ ){
  1860.        
  1861.         if( !is_user_alive( i ) || !is_user_connected( i ) )
  1862.             continue;
  1863.        
  1864.         Timer = 15
  1865.         dddVote(i)
  1866.     }
  1867.    
  1868.     set_task( 15.0, "checkvotesd",1700 );  
  1869.     countdown2();
  1870.     server_cmd("amx_daykill 1")
  1871.     server_cmd("amx_jbshop 0")
  1872.     server_cmd("amx_showhpct 1")
  1873.     set_cvar_num("bh_enabled",0)
  1874.    
  1875.     return 1;
  1876. }
  1877.  
  1878. public ShowMessage()
  1879. {
  1880.     if(get_pcvar_num(eCvar) != 1)
  1881.     {
  1882.         set_task(0.1, "ShowMessage",1254);   
  1883.         return PLUGIN_HANDLED
  1884.     }
  1885.    
  1886.     static g_pos;
  1887.     new player
  1888.     new g_Message[512];
  1889.     g_pos = 0;
  1890.     new counter;
  1891.    
  1892.     for( new i, j = gMaxPlayers; i <= j; i++ )
  1893.     {  
  1894.         if( !is_user_alive( i ) || !is_user_connected( i ) || cs_get_user_team(i) != CS_TEAM_CT )  
  1895.             continue
  1896.        
  1897.         player = i;
  1898.        
  1899.         if(is_user_connected(player) && get_user_team(player) == 2)
  1900.         {
  1901.             counter++;
  1902.             new szName[32];
  1903.             get_user_name(player, szName, 31);
  1904.            
  1905.             new armor = get_user_armor(player);
  1906.             switch(armor)
  1907.             {
  1908.                 case 0: g_pos += formatex(g_Message[g_pos], 511-g_pos, "^n%s - Health:%i", szName, get_user_health(player));
  1909.                     default:    g_pos += formatex(g_Message[g_pos], 511-g_pos, "^n%s - Health:%i || Armor:%i", szName, get_user_health(player), armor);
  1910.             }
  1911.         }
  1912.     }
  1913.    
  1914.     set_hudmessage(0,255,0, 0.03, 0.30, 0, 6.0, 0.6);    
  1915.     ShowSyncHudMsg( 0, iHudMessage, "PowerShot Days - Special Day ^n------------------------^nGuards HP:^n------------------^n %s^n--------------------^nToday: %s", g_Message,DayStatus);
  1916.     set_task(0.1, "ShowMessage",1254);
  1917.    
  1918.     return 1;
  1919. }
  1920.  
  1921. public RandomPlayer( client )
  1922. {
  1923.     static randomplayer
  1924.    
  1925.     static players[32], num, i, id
  1926.     get_players(players, num, "ae", "TERRORIST" )
  1927.    
  1928.     randomplayer = players[_random(num)]
  1929.    
  1930.     for(i = 0; i < num; i++){
  1931.        
  1932.         id = players[i]
  1933.        
  1934.         if(id == randomplayer){
  1935.            
  1936.             new name[32];
  1937.             get_user_name(id, name, 31)
  1938.             set_hudmessage(255, 0, 0, -1.0, -1.0, 0, 6.0, 12.0)
  1939.             show_hudmessage(id, "[ PowerShot ] %s Chosen Randomaly To Yomeledet",name)
  1940.             ColorChat( 0,"%s ^3Chosen Randomaly To Yomeledet", name );
  1941.             fm_set_user_rendering( id, kRenderFxGlowShell, random(255),random(255), random(255), kRenderNormal, 50 );
  1942.         }
  1943.     }
  1944.     return 1;    
  1945. }
  1946.  
  1947. public ChangeGlow(id)
  1948. {
  1949.     if(GlowFreeDay[id] == true)
  1950.     {  
  1951.         fm_set_user_rendering(id, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderNormal, 60)
  1952.         set_task(0.5, "ChangeGlow",id);
  1953.     }
  1954.    
  1955.     return 1;
  1956. }  
  1957.  
  1958. public push_cells( )
  1959. {
  1960.     new ent = -1;
  1961.     while((ent = fm_find_ent_by_class(ent, "func_button")))
  1962.     {
  1963.        
  1964.         dllfunc(DLLFunc_Use, ent, 0);
  1965.     }
  1966. }
  1967.  
  1968.  
  1969. stock set_user_freeze( client, freeze=1 )
  1970. {
  1971.     new iFlags;
  1972.    
  1973.     iFlags = pev( client, pev_flags );
  1974.    
  1975.     if( freeze ) fm_strip_user_weapons( client ),fm_give_item(client,"weapon_knife");
  1976.    
  1977.     set_pev( client, pev_flags, freeze ? iFlags | FL_FROZEN : iFlags & ~FL_FROZEN );
  1978. }
  1979.  
  1980. public FwdHamPlayerKilled( victim )
  1981. {
  1982.     if( GameStarted )
  1983.     {  
  1984.         new szName[ 33 ]
  1985.         get_user_name(victim,szName,charsmax( szName ) )
  1986.         ColorChat(0, "%s^3 Was Killed",szName)
  1987.         static iOrigin[ 3 ];
  1988.         get_user_origin( victim, iOrigin );
  1989.        
  1990.         message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  1991.         write_byte( TE_BEAMCYLINDER );
  1992.         write_coord( iOrigin[ 0 ] );
  1993.         write_coord( iOrigin[ 1 ] );
  1994.         write_coord( iOrigin[ 2 ] - 20 );
  1995.         write_coord( iOrigin[ 0 ] );
  1996.         write_coord( iOrigin[ 1 ] );
  1997.         write_coord( iOrigin[ 2 ] + 200 );
  1998.         write_short( WinnerBeam );
  1999.         write_byte( 0 );
  2000.         write_byte( 1 );
  2001.         write_byte( 6 );
  2002.         write_byte( 1000 );
  2003.         write_byte( 1 );
  2004.         write_byte( random( 250 ) );
  2005.         write_byte( random( 250 ) );
  2006.         write_byte( random( 250 ) );
  2007.         write_byte( 200 );
  2008.         write_byte( 0 );
  2009.         message_end( );
  2010.        
  2011.         GetPlayers();  
  2012.     }
  2013. }
  2014.  
  2015. public StopEffect()
  2016. {
  2017.     for( new i, j = gMaxPlayers; i <= j; i++ )
  2018.     {
  2019.         if( !is_user_connected( i ) || !is_user_alive( i ) )
  2020.             continue;
  2021.        
  2022.         remove_task( i );
  2023.         fm_set_user_rendering( i );
  2024.         cs_reset_user_model( i );
  2025.     }  
  2026. }
  2027.  
  2028. public NewRound()
  2029. {  
  2030.     remove_task();
  2031.     set_lights( "m" );
  2032.    
  2033.     g_HnrDieTimer = 20.0;
  2034.    
  2035.     WinnerEffect = false;
  2036.     GameStarted = false;
  2037.    
  2038.     set_task( 0.1, "StopEffect" )
  2039. }
  2040.  
  2041. stock CheckGameResult()
  2042. {
  2043.    
  2044.     new Winner;
  2045.    
  2046.     if( GetAliveContesters() == 1 && !WinnerEffect )
  2047.     {
  2048.         for( new i, j = gMaxPlayers; i <= j; i++ )
  2049.         {
  2050.             if( !is_user_alive( i ) || !is_user_connected( i ) ||
  2051.             fm_get_user_team( i ) != FM_TEAM_T )
  2052.             continue;
  2053.            
  2054.             Winner = i;
  2055.         }
  2056.        
  2057.         set_lights( "b" );
  2058.        
  2059.         WinnerEffect = true;
  2060.        
  2061.         static WinnerName[ 32 ];
  2062.        
  2063.         get_user_name( Winner, WinnerName, 32 );   
  2064.        
  2065.         set_task( 0.15, "ShowWinner", Winner );        
  2066.        
  2067.         set_task( 17.0, "Stop" );
  2068.        
  2069.         set_task( 10.0, "NewRound" );
  2070.        
  2071.         set_dhudmessage( 255, 0, 0, -1.0, 0.2, 0, 6.0, 12.0 );
  2072.         show_dhudmessage( 0, "%s Is The Winner!", WinnerName );
  2073.     }
  2074.    
  2075.     return PLUGIN_HANDLED; 
  2076. }
  2077.  
  2078. public countdown()
  2079. {      
  2080.     switch(CountDown)
  2081.     {
  2082.         case 0:
  2083.         {
  2084.             ColorChat(0,"^4[^1 PowerShot^4 ]^3 Hit And Run day ^1will start !! Good Luck")
  2085.             GetRandomPlayer();
  2086.             if( GetAliveContesters( ) > 10 )
  2087.             {
  2088.                 GetOtherPlayer( );
  2089.                 g_szTwoInfect = true;
  2090.             }
  2091.            
  2092.             GameStarted = true;
  2093.             set_task( 0.1, "GameCountDown" );
  2094.             server_cmd("amx_showhpct 0")
  2095.             GetPlayers();
  2096.            
  2097.             for( new i, j = gMaxPlayers; i <= j; i++ )
  2098.             {
  2099.                 if( !is_user_alive( i ) || !is_user_connected( i ) )
  2100.                     continue;
  2101.                
  2102.                 PrepareClient( i );  
  2103.             }
  2104.         }
  2105.        
  2106.         case 1:
  2107.         {
  2108.             client_cmd( 0, "spk ^"sound/fvox/one.wav^"");
  2109.             set_task(1.0, "countdown", 0)
  2110.         }
  2111.        
  2112.         case 2:
  2113.         {
  2114.             client_cmd( 0, "spk ^"sound/fvox/two.wav^"");
  2115.             set_task(1.0, "countdown", 0)
  2116.         }
  2117.        
  2118.         case 3:
  2119.         {
  2120.             client_cmd( 0, "spk ^"sound/fvox/three.wav^"");
  2121.             set_task(1.0, "countdown", 0)
  2122.         }
  2123.        
  2124.         case 4:
  2125.         {
  2126.             client_cmd( 0, "spk ^"sound/fvox/four.wav^"");
  2127.             set_task(1.0, "countdown", 0)
  2128.         }
  2129.        
  2130.         case 5:
  2131.         {
  2132.             client_cmd( 0, "spk ^"sound/fvox/five.wav^"");
  2133.             set_task(1.0, "countdown", 0)
  2134.         }
  2135.        
  2136.         case 6:
  2137.         {
  2138.             client_cmd( 0, "spk ^"sound/fvox/six.wav^"");
  2139.             set_task(1.0, "countdown", 0)
  2140.         }
  2141.         case 7:
  2142.         {
  2143.             client_cmd( 0, "spk ^"sound/fvox/seven.wav^"");
  2144.             set_task(1.0, "countdown", 0)
  2145.         }
  2146.        
  2147.         case 8:
  2148.         {          
  2149.             client_cmd( 0, "spk ^"sound/fvox/eight.wav^"");
  2150.             set_task(1.0, "countdown", 0)
  2151.         }
  2152.        
  2153.         case 9:
  2154.         {
  2155.             client_cmd( 0, "spk ^"sound/fvox/nine.wav^"");
  2156.             set_task(1.0, "countdown", 0)
  2157.         }
  2158.        
  2159.         case 10:
  2160.         {
  2161.             client_cmd( 0, "spk ^"sound/fvox/ten.wav^"");  
  2162.             set_task(1.0, "countdown", 0)
  2163.         }
  2164.     }
  2165.    
  2166.     if(CountDown != 0)
  2167.     {
  2168.         set_hudmessage(random( 255 ), random( 255 ), random( 255 ), -1.0, -1.0, 0, 6.0, 3.0)
  2169.         show_hudmessage(0, "The Game Will Start In: %i Seconds", CountDown)
  2170.         CountDown--
  2171.     }  
  2172. }
  2173.  
  2174. public Check()
  2175. {
  2176.    
  2177.     if( GetAliveContesters() >= 2 && !GameStarted )
  2178.     {
  2179.        
  2180.         GameStarted = true;
  2181.         CountDown = 10
  2182.         DayStatus = "HitAndRun Day"
  2183.         g_HnrDieTimer = 20.0
  2184.         GameStarted = true;
  2185.         countdown()
  2186.     }
  2187.     else
  2188.     {
  2189.        
  2190.         ColorChat( 0, "^4[^3 PowerShot ^4]^3 Need 2 ^4Terroriests^3 For Start ^4Hit And Run^3 Day" );
  2191.         GameStarted = false;
  2192.        
  2193.        
  2194.     }
  2195. }
  2196.  
  2197. public GameCountDown( )
  2198. {
  2199.     if( GameStarted )
  2200.     {
  2201.         if( g_HnrDieTimer <= 0.0 )
  2202.         {
  2203.             user_silentkill( g_LastHit );
  2204.             LastHit = false;
  2205.             LastHit2 = false;
  2206.             if( g_szTwoInfect )
  2207.             {
  2208.                 client_cmd( 0, "spk ^"ambience/thunder_clap.wav^"" );
  2209.                 user_silentkill( g_szLastHit );
  2210.                 g_szTwoInfect = false
  2211.             }
  2212.            
  2213.             if( GetAliveContesters() >= 2 )
  2214.             {
  2215.                 remove_task( );
  2216.                
  2217.                 g_HnrDieTimer = 20.0;
  2218.                
  2219.                 set_task( 2.5, "GetRandomPlayer" );
  2220.                
  2221.                 if( GetAliveContesters( ) > 9 )
  2222.                 {
  2223.                     set_task( 2.5, "GetOtherPlayer" );
  2224.                     g_szTwoInfect = true;
  2225.                 }
  2226.                
  2227.                 set_task( 2.5, "GameCountDown" );
  2228.                
  2229.                 return PLUGIN_HANDLED;
  2230.             }
  2231.             else
  2232.             {
  2233.                 if( !WinnerEffect )
  2234.                 {
  2235.                     CheckGameResult();
  2236.                 }
  2237.             }
  2238.         }
  2239.         else
  2240.         {
  2241.             static szName[ 32 ],szName2[ 32 ];
  2242.             get_user_name( g_LastHit, szName, charsmax( szName ) );
  2243.             get_user_name( g_szLastHit, szName2, charsmax( szName2 ) );
  2244.             set_dhudmessage( 255, 0, 0, -1.0, 0.71, 1, 0.0, 0.12, 0.0, 0.0 );
  2245.             show_dhudmessage( 0, "Time Left: %.1f Seconds!", g_HnrDieTimer);
  2246.             if( g_szTwoInfect )
  2247.             {
  2248.                 set_hudmessage( 255, 0, 0, -1.0, 0.74, 1, 0.0, 0.12, 0.0, 0.0 );
  2249.                 show_hudmessage( 0, "^"%s^" %s ^n ^"%s^" %s", szName,LastHit ? "Was Last Hit!" : "Was Randomly Selected!",szName2,LastHit2 ? "Was Last Hit!" : "Was Randomly Selected!" );
  2250.                 g_HnrDieTimer -= 0.1;
  2251.                 set_task( 0.1, "GameCountDown" );
  2252.                 return PLUGIN_HANDLED;
  2253.             }
  2254.             set_hudmessage( 255, 0, 0, -1.0, 0.74, 1, 0.0, 0.12, 0.0, 0.0 );                             
  2255.             show_hudmessage( 0, "^"%s^" %s", szName,LastHit ? "Was Last Hit!" : "Was Randomly Selected!" );          
  2256.             g_HnrDieTimer -= 0.1;
  2257.             set_task( 0.1, "GameCountDown" );
  2258.             return PLUGIN_HANDLED;
  2259.         }      
  2260.     }
  2261.     return PLUGIN_HANDLED;
  2262. }
  2263.  
  2264. stock GetPlayers(){
  2265.    
  2266.     if( GameStarted )
  2267.     {  
  2268.         new Alives;
  2269.         for( new i, j = gMaxPlayers; i <= j; i++ )
  2270.         {  
  2271.             if( !is_user_alive( i ) || !is_user_connected( i ) )
  2272.                 continue;
  2273.             Alives++;
  2274.            
  2275.         }
  2276.         ColorChat( 0, "Online:^4 %i ^3| ^1Alive:^4 %i ^3| ^1Dead:^4 %i",
  2277.         get_playersnum( 1 ),
  2278.         Alives,
  2279.         get_playersnum( 1 ) - Alives
  2280.         );
  2281.     }
  2282. }
  2283.  
  2284. stock GetAliveContesters(){
  2285.    
  2286.     new Contesters;
  2287.     for( new i, j = gMaxPlayers; i <= j; i++ )
  2288.     {
  2289.         if( !is_user_alive( i ) || fm_get_user_team( i ) != FM_TEAM_T )
  2290.             continue;
  2291.        
  2292.         Contesters++;
  2293.     }
  2294.     return Contesters;
  2295. }
  2296.  
  2297. stock PrepareClient( index )
  2298. {  
  2299.     if(cs_get_user_team( index ) != CS_TEAM_T )
  2300.     {
  2301.         fm_strip_user_weapons( index );
  2302.         fm_give_item( index, "weapon_knife" );
  2303.         fm_set_user_godmode(index,1)
  2304.         return PLUGIN_HANDLED;
  2305.     }
  2306.    
  2307.     fm_strip_user_weapons( index );
  2308.     fm_give_item( index, "weapon_knife" );
  2309.     fm_give_item( index, "weapon_scout" );
  2310.    
  2311.     return 1;
  2312. }
  2313.  
  2314. public fw_TakeDamage_Post( victim, inflictor, attacker, damage, damagebits )
  2315. {
  2316.     if( !is_user_alive( victim ) || !is_user_alive( attacker ) )
  2317.         return HAM_IGNORED
  2318.    
  2319.     if( !GameStarted )
  2320.         return HAM_IGNORED;
  2321.    
  2322.     if( g_LastHit != victim && victim != attacker && attacker == g_LastHit )   
  2323.     {
  2324.         if(g_szLastHit != victim && g_szTwoInfect == true)
  2325.         {
  2326.             new szName[ 32 ],szName2[ 32 ];
  2327.             get_user_name(victim,szName2,charsmax( szName2 ))
  2328.             get_user_name(g_LastHit,szName,charsmax( szName ))
  2329.             ColorChat(0, "%s^3 Hit ^4%s^3 When The Time Was: %.1f", szName,szName2,g_HnrDieTimer)
  2330.             g_LastHit = victim;
  2331.             MakeInfected( );
  2332.             LastHit = true;
  2333.             return HAM_IGNORED
  2334.         }
  2335.         else if((g_szLastHit == victim || g_szLastHit != victim) && g_szTwoInfect == false )
  2336.         {
  2337.             new szName[ 32 ],szName2[ 32 ];
  2338.             get_user_name(victim,szName2,charsmax( szName2 ))
  2339.             get_user_name(g_LastHit,szName,charsmax( szName ))
  2340.             ColorChat(0, "%s^3 Hit ^4%s^3 When The Time Was: %.1f", szName,szName2,g_HnrDieTimer)
  2341.             g_LastHit = victim;
  2342.             MakeInfected( );
  2343.             LastHit = true;
  2344.             return HAM_IGNORED
  2345.         }
  2346.     }
  2347.    
  2348.     return HAM_IGNORED;
  2349. }
  2350.  
  2351. public fw_TakeDamage_Post2( victim, inflictor, attacker, damage, damagebits )
  2352. {
  2353.     if( !is_user_alive( victim ) || !is_user_alive( attacker ) )
  2354.         return HAM_IGNORED
  2355.    
  2356.     if( !GameStarted || !g_szTwoInfect )
  2357.         return HAM_IGNORED;
  2358.    
  2359.     if( g_szLastHit != victim  && victim != attacker && attacker == g_szLastHit && g_LastHit != victim  )
  2360.     {                          
  2361.         new szName[ 32 ],szName2[ 32 ];
  2362.         get_user_name(victim,szName2,charsmax( szName2 ))
  2363.         get_user_name(g_szLastHit,szName,charsmax( szName ))
  2364.         ColorChat(0, "%s^3 Hit ^4%s^3 When The Time Was: %.1f", szName,szName2,g_HnrDieTimer)
  2365.         g_szLastHit = victim;
  2366.         MakeInfected2( );
  2367.         LastHit2 = true;
  2368.     }
  2369.    
  2370.     return HAM_IGNORED;
  2371. }
  2372.  
  2373. public FwdHamTakeDamage2( victim, inflictor, attacker, damage, damagebits )
  2374. {
  2375.     if( !is_user_alive( victim ) || !is_user_alive( attacker ) && cs_get_user_team(victim) == CS_TEAM_T ){
  2376.        
  2377.         if( superdeagle )
  2378.         {
  2379.            
  2380.             user_slap(victim,1,1);
  2381.            
  2382.             return HAM_IGNORED;
  2383.         }
  2384.     }
  2385.     return HAM_IGNORED;
  2386. }
  2387.  
  2388. public GetRandomPlayer()
  2389. {
  2390.     new players[ 32 ], pnum;
  2391.     get_players( players, pnum, "ae", "TERRORIST" );
  2392.    
  2393.     if( !pnum )
  2394.     {
  2395.         return 1;
  2396.     }
  2397.    
  2398.    
  2399.    
  2400.     g_LastHit = players[ random( pnum ) ];
  2401.    
  2402.     static szName[ 33 ];
  2403.     get_user_name( g_LastHit, szName, charsmax(szName) );
  2404.    
  2405.     ShakeScreen( g_LastHit );
  2406.    
  2407.     for( new i, j = gMaxPlayers; i <= j; i++ ){
  2408.        
  2409.         if ( !is_user_connected( i ) || !is_user_alive( i ) )
  2410.             continue;
  2411.        
  2412.         cs_reset_user_model( i );
  2413.         fm_set_user_rendering( i );
  2414.     }
  2415.    
  2416.     ColorChat( 0, "%s^3 Was Randomaly Choosen.", szName );
  2417.     cs_set_user_model( g_LastHit, "Adv-Sick" );
  2418.     fm_set_user_rendering( g_LastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2419.    
  2420.     client_cmd( g_LastHit, "spk ^"sound/%s^"", gInfectSounds[ random( gMaxInfectSounds ) ] );
  2421.    
  2422.     MakeSickness( g_LastHit );
  2423.    
  2424.     return PLUGIN_CONTINUE;
  2425. }
  2426.  
  2427. public GetOtherPlayer()
  2428. {
  2429.     new players[ 32 ], pnum;
  2430.     get_players( players, pnum, "ae", "TERRORIST" );
  2431.    
  2432.     if( !pnum )
  2433.         return 1;
  2434.    
  2435.     g_szLastHit = players[ random( pnum ) ];
  2436.    
  2437.     if(g_szLastHit == g_LastHit){
  2438.        
  2439.         GetOtherPlayer()   
  2440.         return 1;
  2441.     }
  2442.    
  2443.     static szName[ 33 ];
  2444.     get_user_name( g_szLastHit, szName, charsmax(szName) );
  2445.    
  2446.     ShakeScreen( g_szLastHit );
  2447.    
  2448.     for( new i, j = gMaxPlayers; i <= j; i++ ){
  2449.        
  2450.         if ( !is_user_connected( i ) || !is_user_alive( i ) )
  2451.             continue;
  2452.        
  2453.         cs_reset_user_model( i );
  2454.         fm_set_user_rendering( i );
  2455.     }
  2456.     ColorChat( 0, "%s^3 Was Randomaly Choosen.", szName );
  2457.     cs_set_user_model( g_szLastHit, "Adv-Sick" );
  2458.     fm_set_user_rendering( g_szLastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 )
  2459.     cs_set_user_model( g_LastHit, "Adv-Sick" );
  2460.     fm_set_user_rendering( g_LastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2461.    
  2462.     client_cmd( g_szLastHit, "spk ^"sound/%s^"", gInfectSounds[ random( gMaxInfectSounds ) ] );
  2463.    
  2464.     MakeSickness( g_szLastHit );
  2465.     return PLUGIN_CONTINUE;
  2466. }
  2467.  
  2468. stock MakeInfected(){
  2469.    
  2470.     ShakeScreen( g_LastHit );
  2471.    
  2472.     static szName[ 33 ];
  2473.     get_user_name( g_LastHit, szName, 32 );
  2474.    
  2475.     for( new i, j = gMaxPlayers; i <= j; i++ )
  2476.     {
  2477.        
  2478.         if ( !is_user_alive( i ) || !is_user_connected( i ) )
  2479.             continue;
  2480.        
  2481.         fm_set_user_rendering( i );
  2482.         cs_reset_user_model( i );
  2483.     }
  2484.     cs_set_user_model( g_LastHit, "Adv-Sick" );
  2485.     fm_set_user_rendering( g_LastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2486.     if( g_szTwoInfect )
  2487.     {
  2488.         cs_set_user_model( g_szLastHit, "Adv-Sick" );
  2489.         fm_set_user_rendering( g_szLastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2490.     }
  2491.     client_cmd( g_LastHit, "spk ^"sound/%s^"", gInfectSounds[ random( gMaxInfectSounds ) ] );
  2492.    
  2493.     MakeSickness( g_LastHit );
  2494. }
  2495.  
  2496. stock MakeInfected2()
  2497. {
  2498.     ShakeScreen( g_szLastHit );
  2499.    
  2500.     static szName[ 33 ];
  2501.     get_user_name( g_szLastHit, szName, 32 );
  2502.    
  2503.     for( new i, j = gMaxPlayers; i <= j; i++ )
  2504.     {
  2505.        
  2506.         if ( !is_user_alive( i ) || !is_user_connected( i ) )
  2507.             continue;
  2508.        
  2509.         fm_set_user_rendering( i );
  2510.         cs_reset_user_model( i );
  2511.     }
  2512.     cs_set_user_model( g_szLastHit, "Adv-Sick" );
  2513.     fm_set_user_rendering( g_szLastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2514.     cs_set_user_model( g_LastHit, "Adv-Sick" );
  2515.     fm_set_user_rendering( g_LastHit, kRenderFxGlowShell, random( 255 ), random( 255 ), random( 255 ), kRenderTransAlpha, 20 );
  2516.     client_cmd( g_szLastHit, "spk ^"sound/%s^"", gInfectSounds[ random( gMaxInfectSounds ) ] );
  2517.    
  2518.     MakeSickness( g_szLastHit );
  2519. }
  2520.  
  2521. stock MakeSickness( index ){
  2522.    
  2523.     static Origin[ 3 ];
  2524.     get_user_origin( index, Origin );
  2525.    
  2526.     message_begin( MSG_PVS, SVC_TEMPENTITY, Origin );
  2527.     write_byte( TE_IMPLOSION );
  2528.     write_coord( Origin[ 0 ] );
  2529.     write_coord( Origin[ 1 ] );
  2530.     write_coord( Origin[ 2 ] );
  2531.     write_byte( 128 );
  2532.     write_byte( 20 );
  2533.     write_byte( 3 );
  2534.     message_end();
  2535. }
  2536.  
  2537. public ShowWinner( client )
  2538. {
  2539.     new RGB[ 3 ];
  2540.     RGB[ 0 ] = random( 250 );
  2541.     RGB[ 1 ] = random( 250 );
  2542.     RGB[ 2 ] = random( 250 );
  2543.    
  2544.     static Origin[ 3 ];
  2545.     get_user_origin( client, Origin );
  2546.    
  2547.     message_begin( MSG_BROADCAST, SVC_TEMPENTITY );
  2548.     write_byte( TE_BEAMTORUS );
  2549.     write_coord( Origin[ 0 ] );
  2550.     write_coord( Origin[ 1 ] );
  2551.     write_coord( Origin[ 2 ] );
  2552.     write_coord( Origin[ 0 ] );
  2553.     write_coord( Origin[ 1 ] );
  2554.     write_coord( Origin[ 2 ] + 400 );
  2555.     write_short( WinnerBeam );
  2556.     write_byte( 0 );
  2557.     write_byte( 1 );
  2558.     write_byte( 7 );
  2559.     write_byte( 80 );  
  2560.     write_byte( 1 );
  2561.     write_byte( RGB[ 0 ] );
  2562.     write_byte( RGB[ 1 ] );
  2563.     write_byte( RGB[ 2 ] );
  2564.     write_byte( 200 );
  2565.     write_byte( 0 );       
  2566.     message_end( );
  2567.    
  2568.     set_task( 0.21 ,"ShowWinner", client );
  2569.    
  2570. }
  2571.  
  2572. public Stop()
  2573. {
  2574.     GameStarted = false;
  2575.     remove_task();
  2576. }
  2577.  
  2578.  
  2579. stock fm_set_user_team( client, team )
  2580. {
  2581.     set_pdata_cba( client, 114, team );
  2582.    
  2583.     static const TeamInfo[ Teams ][ ] ={
  2584.         "UNASSIGNED",
  2585.         "TERRORIST",
  2586.         "CT",
  2587.         "SPECTATOR"
  2588.     };
  2589.     message_begin( MSG_ALL, get_user_msgid( "TeamInfo" ) ) ;
  2590.     write_byte( client );
  2591.     write_string( TeamInfo[ team ] );
  2592.     message_end( );
  2593. }
  2594.  
  2595. stock fm_strip_user_weapons( client )
  2596. {
  2597.     new ent = fm_create_entity( "player_weaponstrip" );
  2598.    
  2599.     if ( !pev_valid( ent ) )
  2600.         return 0;
  2601.    
  2602.     dllfunc( DLLFunc_Spawn, ent );
  2603.     dllfunc( DLLFunc_Use, ent, client );
  2604.     engfunc( EngFunc_RemoveEntity, ent );
  2605.    
  2606.     return 1;
  2607. }
  2608.  
  2609. stock fm_give_item( client, const item[ ] )
  2610. {
  2611.     if ( !equal( item, "weapon_", 7 ) && !equal( item, "ammo_", 5 )
  2612.     && !equal( item, "item_", 5 ) && !equal( item, "tf_weapon_", 10 ) )
  2613.     return 0;
  2614.    
  2615.     new ent = fm_create_entity( item );
  2616.    
  2617.     if ( !pev_valid( ent ) )
  2618.         return 0;
  2619.    
  2620.     new Float:origin[3];
  2621.    
  2622.     pev( client, pev_origin, origin );
  2623.    
  2624.     set_pev( ent, pev_origin, origin );
  2625.     set_pev( ent, pev_spawnflags, pev( ent, pev_spawnflags ) | SF_NORESPAWN );
  2626.    
  2627.     dllfunc( DLLFunc_Spawn, ent );
  2628.    
  2629.     new save = pev( ent, pev_solid );
  2630.    
  2631.     dllfunc( DLLFunc_Touch, ent, client );
  2632.    
  2633.     if ( pev( ent, pev_solid ) != save )
  2634.         return ent;
  2635.    
  2636.     engfunc( EngFunc_RemoveEntity, ent );
  2637.    
  2638.     return -1;
  2639. }
  2640.  
  2641. stock fm_set_user_rendering( index, fx = kRenderFxNone, r = 255, g = 255, b = 255, render = kRenderNormal, amount = 16 )
  2642. {
  2643.     new Float:RenderColor[ 3 ];
  2644.     RenderColor[ 0 ] = float( r );
  2645.     RenderColor[ 1 ] = float( g );
  2646.     RenderColor[ 2 ] = float( b );
  2647.    
  2648.     set_pev( index, pev_renderfx, fx );
  2649.     set_pev( index, pev_rendercolor, RenderColor );
  2650.     set_pev( index, pev_rendermode, render );
  2651.     set_pev( index, pev_renderamt, float( amount ) );
  2652.    
  2653.     return 1;
  2654. }
  2655.  
  2656. stock ShakeScreen( index ){
  2657.    
  2658.     message_begin( MSG_ONE_UNRELIABLE, get_user_msgid( "ScreenShake" ), _, index );
  2659.     write_short( 10 << 12 );
  2660.     write_short( 5 << 12 );
  2661.     write_short( 10 << 12 );
  2662.     message_end( );
  2663.    
  2664. }
  2665.  
  2666. stock give_random_weapon( client ){
  2667.    
  2668.     fm_give_item( client, g_wName[ random( sizeof( g_wName ) ) ] );
  2669. }
  2670.  
  2671. stock fm_get_user_team( client ){
  2672.    
  2673.     return get_pdata_int( client, 114 );
  2674. }
  2675.  
  2676. stock fm_set_user_godmode(index, godmode = 0) {
  2677.    
  2678.     set_pev(index, pev_takedamage, godmode == 1 ? DAMAGE_NO : DAMAGE_AIM);
  2679.    
  2680.     return 1;
  2681. }
  2682.  
  2683. stock fm_set_user_health(index, health) {
  2684.    
  2685.     health > 0 ? set_pev(index, pev_health, float(health)) : dllfunc(DLLFunc_ClientKill, index);
  2686.    
  2687.     return 1;
  2688. }
  2689.  
  2690. stock fm_set_user_noclip(index, noclip = 0) {
  2691.     set_pev(index, pev_movetype, noclip == 1 ? MOVETYPE_NOCLIP : MOVETYPE_WALK);
  2692.    
  2693.     return 1;
  2694. }
  2695.  
  2696. stock bool:is_grenade_damage( const bits )
  2697. {
  2698.     return ( bits & (1 << 24) ) ? true : false;
  2699. }
  2700.  
  2701. stock ColorChat(const id, const string[], {Float, Sql, Resul,_}:...) {
  2702.    
  2703.     new msg[191], players[32], count = 1;
  2704.    
  2705.     static len; len = formatex(msg, charsmax(msg), "^x04[^x03 PowerShot ^x04]^x01 ");
  2706.     vformat(msg[len], charsmax(msg) - len, string, 3);
  2707.    
  2708.     if(id)  players[0] = id;
  2709.     else    get_players(players,count,"ch");
  2710.    
  2711.     for (new i = 0; i < count; i++)
  2712.     {
  2713.         if(is_user_connected(players[i]))
  2714.         {
  2715.             message_begin(MSG_ONE_UNRELIABLE, get_user_msgid("SayText"),_, players[i]);
  2716.             write_byte(players[i]);
  2717.             write_string(msg);
  2718.             message_end();
  2719.         }
  2720.     }
  2721.     return 1;
  2722. }
  2723.  
  2724. public fwdSetModel(ent,const model[])
  2725. {      
  2726.     if(!pev_valid(ent) || !equal(model,"models/w_hegrenade.mdl"))
  2727.         return FMRES_IGNORED
  2728.    
  2729.     if(dodgeball)
  2730.     {
  2731.         engfunc(EngFunc_SetModel, ent, g_szDodgeball_World)
  2732.     }  
  2733.    
  2734.     return FMRES_SUPERCEDE;
  2735. }
  2736.  
  2737. public think_grenade(ent)
  2738. {
  2739.     if(dodgeball)
  2740.     {
  2741.         new model[32];
  2742.         entity_get_string(ent, EV_SZ_model, model, 31)
  2743.        
  2744.         if(equali(model,"models/w_dodgeball.mdl"))
  2745.         {
  2746.            
  2747.             return PLUGIN_CONTINUE
  2748.         }
  2749.        
  2750.        
  2751.         return PLUGIN_HANDLED;
  2752.     }
  2753.     return PLUGIN_CONTINUE;
  2754. }
  2755.  
  2756. public Event_CurWeapon3(id)
  2757. {
  2758.     static weapon;
  2759.     weapon = read_data(2)
  2760.    
  2761.     if(dodgeball && weapon == CSW_HEGRENADE && get_user_team(id) == 1)
  2762.     {
  2763.         set_pev(id, pev_viewmodel2, g_szDodgeball );
  2764.         set_pev(id, pev_weaponmodel2, g_szDodgeball2 );
  2765.     }
  2766.     return 1;
  2767. }
  2768.  
  2769. public Ham_Touch_Grenade_Pre( iEntity, id )
  2770. {
  2771.     if( dodgeball )
  2772.     {
  2773.         if(is_user_alive(id) && cs_get_user_team(id) == CS_TEAM_T)
  2774.         {
  2775.             ExecuteHamB(Ham_Killed, id, pev(iEntity, pev_owner), 0)                  
  2776.         }
  2777.         remove_entity(iEntity)
  2778.     }
  2779. }
  2780.  
  2781. stock GetSteam( index )
  2782. {
  2783.     new steamid[ 32 ]
  2784.    
  2785.     get_user_authid(index,steamid,charsmax( steamid ) )
  2786.    
  2787.     if(equal(steamid,"STEAM_ID_LAN"))
  2788.     {
  2789.        
  2790.         get_user_ip(index,steamid,31,1)
  2791.     }  
  2792.     return steamid
  2793. }
  2794.  
  2795. stock GetName( index )
  2796. {
  2797.     new name[ 32 ];
  2798.    
  2799.     get_user_name(index,name,charsmax( name ) );
  2800.    
  2801.     return name;   
  2802. }
  2803.  
  2804. public LaserEffect( index )
  2805. {
  2806.     static EndOrigin[3], StartOrigin[3]
  2807.    
  2808.     get_user_origin( index , StartOrigin, 1)
  2809.    
  2810.     get_user_origin( index , EndOrigin, 3)
  2811.    
  2812.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
  2813.     write_byte(0);
  2814.     write_coord(StartOrigin[0]);
  2815.     write_coord(StartOrigin[1]);
  2816.     write_coord(StartOrigin[2]);
  2817.     write_coord(EndOrigin[0]);
  2818.     write_coord(EndOrigin[1]);
  2819.     write_coord(EndOrigin[2]);
  2820.     write_short(g_Var);
  2821.     write_byte(1);
  2822.     write_byte(5);
  2823.     write_byte(45);
  2824.     write_byte(30);
  2825.     write_byte(10);
  2826.     write_byte(255);    
  2827.     write_byte(127);    
  2828.     write_byte(36);    
  2829.     write_byte(100);
  2830.     write_byte(0);
  2831.     message_end();
  2832. }
  2833.  
  2834. public check_last()
  2835. {
  2836.     new players[ 32 ], pnum;
  2837.     get_players( players, pnum, "ae", "TERRORIST" );
  2838.    
  2839.     if( pnum == 1 )
  2840.     {
  2841.         daynight = false;
  2842.         dayzombie = false;
  2843.         dayfreedaytimer = false;
  2844.         dayknife = false;
  2845.         dayhe = false;  
  2846.         DMDay = false;
  2847.         AwpDay = false;
  2848.         laserday = false;
  2849.         ActionDay = false;
  2850.         superdeagle = false;
  2851.         spartan = false
  2852.         GameStarted = false
  2853.         g_Started = false;
  2854.         dodgeball = false;
  2855.         set_cvar_num("bh_enabled",1)
  2856.         set_cvar_num("amx_showhpct",0)
  2857.         set_cvar_num("mp_friendlyfire",0)
  2858.         set_lights( "#OFF" );      
  2859.         remove_task(1258);
  2860.         remove_task(1254)
  2861.         server_cmd("amx_showhpct 0")
  2862.         FogNLight()
  2863.         for( new i = 1; i <= get_maxplayers(); i++ )
  2864.         {
  2865.             No_Gun[ i ] = false;
  2866.             GlowFreeDay[ i ] = false;
  2867.             g_WallClimb[ i ] = false
  2868.             g_HasRifle[ i ] = false
  2869.         }
  2870.     }
  2871. }
  2872.  
  2873. public event_CurWeapon(id)
  2874. {
  2875.     if(!is_user_alive(id))
  2876.         return PLUGIN_CONTINUE
  2877.    
  2878.     g_iCurWpn[id] = read_data(2)
  2879.    
  2880.    
  2881.     if(!g_HasRifle[id] || g_iCurWpn[id] != CSW_WPN)
  2882.         return PLUGIN_CONTINUE
  2883.    
  2884.     entity_set_string(id, EV_SZ_viewmodel, "models/RexintyJB/v_plasma.mdl")
  2885.     entity_set_string(id, EV_SZ_weaponmodel, "models/RexintyJB/p_plasma.mdl")
  2886.     return PLUGIN_CONTINUE
  2887. }
  2888.  
  2889. public fw_CmdStart(id, handle, seed)
  2890. {
  2891.     if(!is_user_alive(id))
  2892.         return FMRES_IGNORED
  2893.    
  2894.     if(!g_HasRifle[id])
  2895.         return FMRES_IGNORED       
  2896.    
  2897.     if(g_iCurWpn[id] != CSW_WPN)
  2898.         return FMRES_IGNORED
  2899.    
  2900.     static iButton
  2901.     iButton = get_uc(handle, UC_Buttons)
  2902.    
  2903.     if(iButton & IN_ATTACK)
  2904.     {
  2905.         set_uc(handle, UC_Buttons, iButton & ~IN_ATTACK)
  2906.        
  2907.         static Float:flCurTime
  2908.         flCurTime = halflife_time()
  2909.        
  2910.         if(flCurTime - g_flLastFireTime[id] < FIRERATE)
  2911.             return FMRES_IGNORED
  2912.        
  2913.         static iWpnID, iClip
  2914.         iWpnID = get_pdata_cbase(id, m_pActiveItem, 5)
  2915.         iClip = cs_get_weapon_ammo(iWpnID)
  2916.        
  2917.         if(get_pdata_int(iWpnID, m_fInReload, 4))
  2918.             return FMRES_IGNORED
  2919.        
  2920.         set_pdata_float(iWpnID, m_flNextPrimaryAttack, FIRERATE, 4)
  2921.         set_pdata_float(iWpnID, m_flNextSecondaryAttack, FIRERATE, 4)
  2922.         set_pdata_float(iWpnID, m_flTimeWeaponIdle, FIRERATE, 4)
  2923.         g_flLastFireTime[id] = flCurTime
  2924.         if(iClip <= 0)
  2925.         {
  2926.             ExecuteHamB(Ham_Weapon_PlayEmptySound, iWpnID)
  2927.             return FMRES_IGNORED
  2928.         }
  2929.         primary_attack(id)
  2930.         make_punch(id, 50)
  2931.         cs_set_weapon_ammo(iWpnID, --iClip)
  2932.        
  2933.         return FMRES_IGNORED
  2934.     }
  2935.    
  2936.     return FMRES_IGNORED
  2937. }
  2938.  
  2939. public fw_UpdateClientData_Post(id, sendweapons, handle)
  2940. {
  2941.     if(!is_user_alive(id))
  2942.         return FMRES_IGNORED
  2943.    
  2944.     if(!g_HasRifle[id])
  2945.         return FMRES_IGNORED       
  2946.    
  2947.     if(g_iCurWpn[id] != CSW_WPN)
  2948.         return FMRES_IGNORED
  2949.    
  2950.     set_cd(handle, CD_flNextAttack, halflife_time() + 0.001)
  2951.     return FMRES_HANDLED
  2952. }
  2953.  
  2954. public fw_Deploy_Post(wpn)
  2955. {
  2956.     static id
  2957.     id = get_pdata_cbase(wpn, m_pPlayer, 4)
  2958.    
  2959.     if(is_user_connected(id) && g_HasRifle[id])
  2960.     {
  2961.        
  2962.         set_wpnanim(id, ANIM_DRAW)
  2963.     }
  2964.     return HAM_IGNORED
  2965. }
  2966.  
  2967. public fw_AddToPlayer(wpn, id)
  2968. {
  2969.     if(is_valid_ent(wpn) && is_user_connected(id) && entity_get_int(wpn, EV_INT_WEAPONKEY) == WPNKEY)
  2970.     {
  2971.         g_HasRifle[id] = true
  2972.         entity_set_int(wpn, EV_INT_WEAPONKEY, 0)
  2973.         return HAM_HANDLED
  2974.     }
  2975.    
  2976.     return HAM_IGNORED
  2977. }
  2978.  
  2979. public fw_PostFrame(wpn)
  2980. {
  2981.     static id
  2982.     id = get_pdata_cbase(wpn, m_pPlayer, 4)
  2983.    
  2984.     if(is_user_alive(id) && g_HasRifle[id]){
  2985.        
  2986.         static Float:flNextAttack, iBpAmmo, iClip, iInReload
  2987.         iInReload = get_pdata_int(wpn, m_fInReload, 4)
  2988.         flNextAttack = get_pdata_float(id, m_flNextAttack, 5)
  2989.         iBpAmmo = cs_get_user_bpammo(id, CSW_WPN)
  2990.         iClip = cs_get_weapon_ammo(wpn)
  2991.        
  2992.         if(iInReload && flNextAttack <= 0.0){
  2993.            
  2994.             new iRemClip = min(WPN_MAXCLIP - iClip, iBpAmmo)
  2995.             cs_set_weapon_ammo(wpn, iClip + iRemClip)
  2996.             cs_set_user_bpammo(id, CSW_WPN, iBpAmmo-iRemClip)
  2997.             iInReload = 0
  2998.             set_pdata_int(wpn, m_fInReload, 0, 4)
  2999.         }
  3000.        
  3001.         static iButton
  3002.         iButton = get_user_button(id)
  3003.        
  3004.         if((iButton & IN_ATTACK2 && get_pdata_float(wpn, m_flNextSecondaryAttack, 4) <= 0.0) || (iButton & IN_ATTACK && get_pdata_float(wpn, m_flNextPrimaryAttack, 4) <= 0.0))
  3005.             return
  3006.        
  3007.         if(iButton & IN_RELOAD && !iInReload)
  3008.         {
  3009.             if(iClip >= WPN_MAXCLIP)
  3010.             {
  3011.                 entity_set_int(id, EV_INT_button, iButton & ~IN_RELOAD)
  3012.                 set_wpnanim(id, 0)
  3013.             }
  3014.            
  3015.             else if(iClip == WPN_MAXCLIP)
  3016.             {
  3017.                 if(iBpAmmo)
  3018.                 {
  3019.                     reload(id, wpn, 1)
  3020.                 }
  3021.             }
  3022.         }
  3023.     }
  3024.     return
  3025. }
  3026.  
  3027. public fw_Reload_Post(wpn)
  3028. {
  3029.     static id
  3030.     id = get_pdata_cbase(wpn, m_pPlayer, 4)
  3031.    
  3032.     if(is_user_alive(id) && g_HasRifle[id] && get_pdata_int(wpn, m_fInReload, 4))
  3033.     {      
  3034.         reload(id, wpn)
  3035.     }
  3036. }
  3037.  
  3038. public primary_attack(id)
  3039. {
  3040.     set_wpnanim(id, ANIM_FIRE)
  3041.     entity_set_vector(id, EV_VEC_punchangle, Float:{ -1.5, 0.0, 0.0 })
  3042.     emit_sound(id, CHAN_WEAPON, snd_fire[random_num(0, sizeof snd_fire - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3043.    
  3044.     static iTarget, iBody/*, iEndOrigin[3], iStartOrigin[3]
  3045.     get_user_origin(id, iStartOrigin, 1)
  3046.     get_user_origin(id, iEndOrigin, 3)*/
  3047.     //fire_effects(iStartOrigin, iEndOrigin)
  3048.     LaserEffect( id )
  3049.     get_user_aiming(id, iTarget, iBody)
  3050.    
  3051.     /*new iEnt = create_entity("info_target")
  3052.    
  3053.     static Float:flOrigin[3]
  3054.     IVecFVec(iEndOrigin, flOrigin)
  3055.     entity_set_origin(iEnt, flOrigin)
  3056.     remove_entity(iEnt)*/
  3057.    
  3058.     if(is_user_alive(iTarget))
  3059.     {  
  3060.         if(HITSD > 0.0)
  3061.         {
  3062.             static Float:flVelocity[3]
  3063.             get_user_velocity(iTarget, flVelocity)
  3064.             xs_vec_mul_scalar(flVelocity, HITSD, flVelocity)
  3065.             set_user_velocity(iTarget, flVelocity) 
  3066.         }
  3067.         if(get_user_team(iTarget) == 1)
  3068.         {
  3069.             new iHp = pev(iTarget, pev_health)
  3070.             new Float:iDamage, iBloodScale
  3071.             if(iBody == HIT_HEAD)
  3072.             {
  3073.                 iDamage = DAMAGE
  3074.                 iBloodScale = 10
  3075.             }
  3076.             else
  3077.             {
  3078.                 iDamage = DAMAGE*DAMAGE_MULTI
  3079.                 iBloodScale = 25
  3080.             }
  3081.             if(iHp > iDamage)
  3082.             {
  3083.                 make_blood(iTarget, iBloodScale)
  3084.                 set_pev(iTarget, pev_health, iHp-iDamage)
  3085.                 damage_effects(iTarget)
  3086.             }
  3087.             else if(iHp <= iDamage)
  3088.             {
  3089.                 ExecuteHamB(Ham_Killed, iTarget, id, 2)
  3090.             }
  3091.         }
  3092.     }
  3093.     else
  3094.     {
  3095.         emit_sound(id, CHAN_WEAPON, snd_hit[random_num(0, sizeof snd_hit - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3096.     }
  3097. }
  3098.  
  3099. /*
  3100. stock fire_effects(iStartOrigin[3], iEndOrigin[3])
  3101. {
  3102.     message_begin(MSG_BROADCAST,SVC_TEMPENTITY)
  3103.     write_byte(0)    
  3104.     write_coord(iStartOrigin[0])
  3105.     write_coord(iStartOrigin[1])
  3106.     write_coord(iStartOrigin[2])
  3107.     write_coord(iEndOrigin[0])
  3108.     write_coord(iEndOrigin[1])
  3109.     write_coord(iEndOrigin[2])
  3110.     write_short(g_sprBeam)
  3111.     write_byte(1)
  3112.     write_byte(5)
  3113.     write_byte(10)
  3114.     write_byte(25)
  3115.     write_byte(0)
  3116.     write_byte(0)    
  3117.     write_byte(255)      
  3118.     write_byte(0)      
  3119.     write_byte(100)
  3120.     write_byte(0)
  3121.     message_end()
  3122.    
  3123.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3124.     write_byte(3)
  3125.     write_coord(iEndOrigin[0])
  3126.     write_coord(iEndOrigin[1])
  3127.     write_coord(iEndOrigin[2])
  3128.     write_short(g_sprExp)
  3129.     write_byte(10)
  3130.     write_byte(15)
  3131.     write_byte(4)
  3132.     message_end()  
  3133. }*/
  3134.  
  3135. stock reload(id, wpn, force_reload = 0)
  3136. {
  3137.     set_pdata_float(id, m_flNextAttack, RELOADSPEED, 5)
  3138.     set_wpnanim(id, ANIM_RELOAD)
  3139.     emit_sound(id, CHAN_WEAPON, snd_reload[random_num(0, sizeof snd_reload - 1)], VOL_NORM, ATTN_NORM, 0, PITCH_NORM)
  3140.    
  3141.     if(force_reload)
  3142.         set_pdata_int(wpn, m_fInReload, 1, 4)
  3143. }
  3144.  
  3145. stock damage_effects(id)
  3146. {
  3147.    
  3148.     message_begin(MSG_ONE_UNRELIABLE, g_msgDamage, _, id)
  3149.     write_byte(0)
  3150.     write_byte(0)
  3151.     write_long(DMG_NERVEGAS)
  3152.     write_coord(0)
  3153.     write_coord(0)
  3154.     write_coord(0)
  3155.     message_end()
  3156.    
  3157.     message_begin(MSG_ONE_UNRELIABLE, g_msgScreenFade, {0,0,0}, id)
  3158.     write_short(1<<13)
  3159.     write_short(1<<14)
  3160.     write_short(0x0000)
  3161.     write_byte(0)
  3162.     write_byte(255)
  3163.     write_byte(0)
  3164.     write_byte(100)
  3165.     message_end()
  3166.    
  3167.     message_begin(MSG_ONE, g_msgScreenShake, {0,0,0}, id)
  3168.     write_short(0xFFFF)
  3169.     write_short(1<<13)
  3170.     write_short(0xFFFF)
  3171.     message_end()
  3172. }
  3173.  
  3174. stock make_blood(id, scale)
  3175. {
  3176.    
  3177.     new Float:iVictimOrigin[3]
  3178.     pev(id, pev_origin, iVictimOrigin)
  3179.    
  3180.     message_begin(MSG_BROADCAST, SVC_TEMPENTITY)
  3181.     write_byte(115)
  3182.     write_coord(floatround(iVictimOrigin[0]+random_num(-20,20)))
  3183.     write_coord(floatround(iVictimOrigin[1]+random_num(-20,20)))
  3184.     write_coord(floatround(iVictimOrigin[2]+random_num(-20,20)))
  3185.     write_short(g_sprBlood)
  3186.     write_short(g_sprBlood)
  3187.     write_byte(248)
  3188.     write_byte(scale)
  3189.     message_end()
  3190.    
  3191. }
  3192.  
  3193. stock set_wpnanim(id, anim)
  3194. {
  3195.    
  3196.     entity_set_int(id, EV_INT_weaponanim, anim)
  3197.     message_begin(MSG_ONE, SVC_WEAPONANIM, {0, 0, 0}, id)
  3198.     write_byte(anim)
  3199.     write_byte(entity_get_int(id, EV_INT_body))
  3200.     message_end()
  3201.    
  3202. }
  3203. stock make_punch(id, velamount)
  3204. {
  3205.     static Float:flNewVelocity[3], Float:flCurrentVelocity[3]
  3206.     velocity_by_aim(id, -velamount, flNewVelocity)
  3207.     get_user_velocity(id, flCurrentVelocity)
  3208.     xs_vec_add(flNewVelocity, flCurrentVelocity, flNewVelocity)
  3209.     set_user_velocity(id, flNewVelocity)   
  3210. }
  3211. public message_cur_weapon(msg_id, msg_dest, msg_entity)
  3212. {
  3213.     if (laserday == false)
  3214.         return;
  3215.    
  3216.     if (!is_user_alive(msg_entity) || get_msg_arg_int(1) != 1)
  3217.         return;
  3218.    
  3219.     static weapon, clip
  3220.     weapon = get_msg_arg_int(2)
  3221.     clip = get_msg_arg_int(3)
  3222.    
  3223.     // Unlimited Clip Ammo
  3224.     if (MAXCLIP[weapon] > 2)
  3225.     {
  3226.         set_msg_arg_int(3, get_msg_argtype(3), MAXCLIP[weapon])
  3227.        
  3228.         if (clip < 2)
  3229.         {
  3230.             static wname[32], weapon_ent
  3231.             get_weaponname(weapon, wname, sizeof wname - 1)
  3232.             weapon_ent = fm_find_ent_by_owner(-1, wname, msg_entity)
  3233.            
  3234.             fm_set_weapon_ammo(weapon_ent, MAXCLIP[weapon])
  3235.         }
  3236.     }
  3237. }
  3238.  
  3239. stock fm_find_ent_by_owner(entity, const classname[], owner)
  3240. {
  3241.     while ((entity = engfunc(EngFunc_FindEntityByString, entity, "classname", classname)) && pev(entity, pev_owner) != owner) {}
  3242.    
  3243.     return entity;
  3244. }
  3245.  
  3246. stock fm_set_weapon_ammo(entity, amount)
  3247. {
  3248.    
  3249.     set_pdata_int(entity, OFFSET_CLIPAMMO, amount, OFFSET_LINUX_WEAPONS);
  3250. }
  3251.  
  3252. stock KillAll()
  3253. {
  3254.     for( new i = 1; i <= g_MaxPlayers; i++ )
  3255.     {
  3256.        
  3257.         user_silentkill( i )
  3258.     }
  3259. }
  3260.  
  3261. public plugin_cfg()
  3262. {
  3263.    
  3264.     set_task(0.5, "FwdNewRound")
  3265. }
  3266.  
  3267. stock remove_ent_by_class(classname[])
  3268. {
  3269.     new nextitem  = find_ent_by_class(-1, classname)
  3270.     while(nextitem)
  3271.     {
  3272.         remove_entity(nextitem)
  3273.         nextitem = find_ent_by_class(-1, classname)
  3274.     }
  3275. }
  3276.  
  3277. stock jb_give_user_points( const index, const num )
  3278. {
  3279.     new points = get_user_cash( index )
  3280.     set_user_cash(index,points + num )
  3281. }
  3282.  
  3283. stock jb_give_user_tokens( const index, const num )
  3284. {
  3285.     new points = jb_get_user_tokens( index )
  3286.     jb_set_user_tokens(index,points + num )
  3287. }
  3288.  
  3289. public startvote1()
  3290. {
  3291.     for( new i = 1; i <= get_maxplayers(); i++ )
  3292.     {
  3293.         if(!is_user_connected(i))
  3294.             continue;
  3295.         Timer = 15
  3296.         dddVote1(i)
  3297.         cs_set_user_team(i,CS_TEAM_T)
  3298.         ExecuteHamB(Ham_CS_RoundRespawn,i);
  3299.     }      
  3300.     set_task( 15.0, "checkvotesd1" );  
  3301.     countdown2()   
  3302. }
  3303.  
  3304. public dddVote1( client )
  3305. {    
  3306.     new st[ 3 ], mItem[ 128 ];
  3307.     formatex(mItem, charsmax(mItem), "\yWhich event would you like ?^nYou Have %d Seconds To Vote", Timer);
  3308.     new menu = menu_create(mItem, "handlerdddd1");
  3309.    
  3310.     for( new k; k < sizeof g_Events4; k++ )
  3311.     {
  3312.         num_to_str( k, st, 2 );
  3313.         formatex( mItem, charsmax( mItem ), "\r%s \d- \w[\y%i \rVotes\w]", g_Events4[ k ], g_szKind[ k ] );
  3314.         menu_additem( menu, mItem, st );
  3315.     }
  3316.    
  3317.     menu_setprop( menu, MPROP_EXIT, MEXIT_NEVER );
  3318.     menu_display(client,menu);
  3319.    
  3320. }
  3321.  
  3322. public checkvotesd1( )
  3323. {
  3324.     new Winner = 0;
  3325.    
  3326.     for( new i = 0; i < sizeof g_Events4; i++ )
  3327.     {
  3328.         if( g_szKind[ Winner ] < g_szKind[ i ] )
  3329.         {
  3330.             Winner = i;
  3331.         }
  3332.     }
  3333.    
  3334.     for( new i = 1; i <= get_maxplayers(); i++ )
  3335.     {
  3336.         Voted[ i ] = false;
  3337.         show_menu( i, 0, "^n", 1 );
  3338.     }
  3339.    
  3340.     ColorChat( 0, "%s^3 Win !! With ^4%i^3 Votes", g_Events4[ Winner ], g_szKind[ Winner ] );
  3341.     set_dhudmessage( 255, 0, 0, -1.0, 0.18, 0, 6.0, 5.0 );
  3342.     show_dhudmessage( 0, "%s Won !!!^nAnd Will Start", g_Events4[ Winner ] );
  3343.    
  3344.     for( new i = 0; i < sizeof g_Events; i++ )
  3345.     {
  3346.         g_szKind[ i ] = 0
  3347.     }
  3348.    
  3349.     set_task( 4.0, g_Events4[ Winner ] );
  3350.     push_cells();
  3351. }
  3352.  
  3353. public handlerdddd1( client, menu, item )
  3354. {
  3355.     if( Voted[ client ] == true )
  3356.     {      
  3357.         dddVote1( client );
  3358.        
  3359.         return 1;
  3360.     }
  3361.    
  3362.     new szName[ 32 ];
  3363.    
  3364.     get_user_name( client, szName, 32 );
  3365.    
  3366.     ColorChat( 0, "%s^3 Has Voted For^4 %s", szName, g_Events4[ item ] );
  3367.    
  3368.     g_szKind[ item ]++;
  3369.    
  3370.     Voted[ client ] = true;
  3371.    
  3372.     dddVote1( client );
  3373.    
  3374.     return 1;
  3375. }
  3376.  
  3377. public ActionDeath()
  3378. {  
  3379.     DMDay = true;  
  3380.     second()
  3381.     set_cvar_num("mp_friendlyfire",1)
  3382. }
  3383.  
  3384. public Win()
  3385. {      
  3386.     new Winner = 0;
  3387.    
  3388.     for( new i = 1; i <= get_maxplayers(); i++ )
  3389.     {
  3390.         if(!is_user_connected( i ) )
  3391.             continue;
  3392.        
  3393.         if( get_user_frags( Winner ) > get_user_frags( i ) ){
  3394.            
  3395.             Winner = i;
  3396.         }
  3397.     }
  3398.    
  3399.     ColorChat(0,"The Winner Is ^4%s^1 And The Winner Get 5,000 Cash",GetName( Winner ) )
  3400.     jb_give_user_points(Winner,5000)
  3401.     EventEv = false
  3402.     server_cmd("sv_restart 1")
  3403. }
  3404.  
  3405. public plugin_natives()
  3406. {
  3407.     register_native( "is_day_active", "is_day_active" );
  3408. }
  3409.  
  3410. public is_day_active( )
  3411.     return ActionDay
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement