Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <amxmodx>
- #include <amxmisc>
- #include <cstrike>
- #include <hamsandwich>
- #include <fakemeta_util>
- #include <fvault>
- #include <dhudmessage>
- #include <fun>
- #include <engine>
- #include <fakemeta>
- // Because I like semicolons =P
- #pragma semicolon 1
- #pragma tabsize 0
- // To evoid AMX_ERR_STACKERR, AMX_ERR_STACKLOW and AMX_ERR_HEAPLOW debug errors
- #pragma dynamic 32768
- // Plugin version
- #define PLUGIN_VERSION "1.0"
- // HitAndRun stuff taskids
- #define COUNTDOWN_TASKID 16
- #define TIMER_TASKID 1337
- #define SOUNDS_TASKID 1338
- #define GAMESTART_TASKID 1339
- // Max win sounds
- #define MAX_WIN_SOUNDS 11
- // Max infecte sounds
- #define MAX_INFECTE_SOUNDS 5
- // Max levels that allowed
- #define MAX_LEVELS 150
- // Counter-Strike money offset
- #define OFFSET_CSMONEY 115
- // HeGrenade damage bit
- #define DMG_HEGRENADE (1<<24)
- /* make_user_statusicon(index, const spr[], r = 0, g = 255, b = 255, status = STATUSICON_ON) */
- #define STATUSICON_OFF 0
- #define STATUSICON_ON 1
- #define STATUSICON_FLASH 2
- /* Fog Settings */
- #define FOG_OFF 0
- #define FOG_LOW 3
- #define FOG_NORMAL 5
- #define FOG_HIGH 7
- #define FOG_MAX 9
- native hnr_get_user_xp( const client );
- native hnr_set_user_xp( const client, num );
- native hnr_get_user_credits( const client );
- native hnr_set_user_credits( const client, cash );
- new const PREFIX[] = "eTs";
- new g_LevelBooster[ 33 ];
- new g_MimiLevelBooster[ 33 ];
- new szVault[] = "LevelBooster";
- new szVault1[] = "MiniBooster";
- new const danceModel[ ] = "models/eTs/v_dance.mdl";
- new const mac101Model[ ] = "models/eTs/mac10level1.mdl";
- new const mac1010Model[ ] = "models/eTs/mac10level10.mdl";
- new const awpModel1[ ] = "models/eTs/awp.mdl";
- new const awp10Model[ ] = "models/eTs/awp10.mdl";
- new infected = 0, bool:GameStarted = false;
- new bool:g_lasttwo = false;
- new Float:g_timer;
- new smoke, light,WinnerBeamspr3, WinnerBeamspr2, WinnerBeamspr1, WinnerBeamspr;
- new g_winner;
- new g_lasthit = 0;
- new g_maxplayers;
- new HnrSync;
- new cd;
- new Reset[ 32 ];
- new g_rounds[33],g_totalrounds[33],g_wins[33],g_totalwins[33];
- new xps[MAX_LEVELS] [] = {
- "50",
- "100",
- "150",
- "200",
- "250",
- "300",
- "350",
- "400",
- "450",
- "500",
- "550",
- "600",
- "650",
- "700",
- "750",
- "800",
- "850",
- "900",
- "950",
- "1000",
- "1050",
- "1100",
- "1150",
- "1200",
- "1250",
- "1300",
- "1350",
- "1400",
- "1450",
- "1500",
- "1550",
- "1600",
- "1650",
- "1700",
- "1750",
- "1800",
- "1850",
- "1900",
- "1950",
- "2000",
- "2050",
- "2100",
- "2150",
- "2200",
- "2250",
- "2300",
- "2350",
- "2400",
- "2450",
- "2500",
- "2550",
- "2600",
- "2650",
- "2700",
- "2750",
- "2800",
- "2850",
- "2900",
- "2950",
- "3000",
- "3050",
- "3100",
- "3150",
- "3200",
- "3250",
- "3300",
- "3350",
- "3400",
- "3450",
- "3500",
- "3550",
- "3600",
- "3650",
- "3700",
- "3750",
- "3800",
- "3850",
- "3900",
- "3950",
- "4000",
- "4050",
- "4100",
- "4150",
- "4200",
- "4250",
- "4300",
- "4350",
- "4400",
- "4450",
- "4500",
- "4550",
- "4600",
- "4750",
- "4800",
- "4850",
- "4900",
- "5000",
- "5050",
- "5100",
- "5150",
- "5200",
- "5250",
- "5300",
- "5350",
- "5400",
- "5450",
- "5500",
- "5550",
- "5600",
- "5650",
- "5700",
- "5750",
- "5800",
- "5850",
- "5900",
- "5950",
- "6000",
- "6050",
- "6100",
- "6150",
- "6200",
- "6250",
- "6300",
- "6350",
- "6400",
- "6450",
- "6500",
- "6550",
- "6600",
- "6650",
- "6700",
- "6750",
- "6800",
- "6850",
- "6900",
- "6950",
- "7000",
- "7050",
- "7100",
- "7150",
- "7200",
- "7250",
- "7300",
- "7350",
- "7400",
- "7450",
- "7500",
- "7550",
- "7600",
- "7650"
- };
- new playerxp[33],playerlevel[33];
- new playercash[33];
- enum _:Events
- {
- EVENT_AWP,
- EVENT_KNIFE,
- EVENT_AWP,
- EVENT_MINIGUN,
- EVENT_KNIFESMOKE
- };
- enum _:Cvars
- {
- ENABLED,
- NOSLOWDOWN,
- NOZOOM,
- SCOUTDROP,
- M3DROP,
- DeagleDROP,
- FIVESEVENDROP,
- BLOCKKILL,
- CASHSYS,
- ROUNDSYS,
- SENDSYS,
- GAMBLESYS,
- LEVELSYS
- };
- enum _:WepTemp
- {
- NAME[32],
- CLASS[32],
- COST,
- CSW,
- BULLETS
- };
- enum _:Powers
- {
- SPEED,
- INVISIBILITY,
- GRAVITY,
- NOHEGRENADE,
- NOFLASH
- };
- enum _:PwrTemp
- {
- PWR_NAME[64],
- PWR_TIME[16],
- PWR_COST
- };
- new const g_eventname[Events][] = {
- "",
- "Knife Event",
- "Awp Event",
- "MINIGUN Event",
- "Knife Smoke Event"
- };
- new g_event = 0;
- new g_round = 0;
- new bool:EventStarted = false;
- new bool:fn = true;
- new bool:g_powers[33][Powers];
- new g_cvars[Cvars];
- new const g_szVault[] = "eTs";
- new const g_winsounds [MAX_WIN_SOUNDS] [] = {
- "eTs/Song/s1.mp3",
- "eTs/Song/s2.mp3",
- "eTs/Song/s3.mp3",
- "eTs/Song/s4.mp3",
- "eTs/Song/s5.mp3",
- "eTs/Song/s6.mp3",
- "eTs/Song/s7.mp3",
- "eTs/Song/s8.mp3",
- "eTs/Song/s9.mp3",
- "eTs/Song/s10.mp3",
- "eTs/Song/s11.mp3"
- };
- new const g_infectesounds [MAX_INFECTE_SOUNDS] [] = {
- "eTs/items/lol.wav",
- "eTs/items/alarm-clock.wav",
- "eTs/items/aizeloser.mp3",
- "eTs/items/loki_omg.wav",
- "eTs/items/alarm-thriller.wav"
- };
- new fwd_win,fwd_infected,fwd_event,fwd_return;
- new g_msgScreenFade;
- public plugin_init(){
- register_plugin("eTs HitAndRun",PLUGIN_VERSION,"eTs");
- ///////////////////////
- /// Client Commands ///
- ///////////////////////
- register_clcmd("jointeam","cmd_block");
- register_clcmd("chooseteam","cmd_block");
- register_clcmd("say","HandleSay");
- register_clcmd("say_team","HandleSay");
- register_clcmd("radio1","ActionShop");
- register_clcmd("radio2","ActionShop");
- register_clcmd("radio3","ActionShop");
- register_clcmd("say /eventm","EventMenu");
- register_clcmd("say /reset","resetmenu");
- register_clcmd("say /wlevel", "weaponlevel");
- register_clcmd("say /usebooster", "CmdBooster");
- register_clcmd("say", "CmdSay");
- register_clcmd("say /statusall","ShowInfo");
- register_clcmd("drop","BlockDrop");
- // Add Cash And LEVELS //
- register_concmd("amx_give_level", "cmd_give_level", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_give_xp", "cmd_give_xp", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_set_xp", "cmd_set_xp", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_give_level1", "cmd_give_level1", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_take_level", "cmd_take_level", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_give_cash", "cmd_give_points", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_set_cash", "cmd_set_points", ADMIN_RCON, "<target> <amount>");
- register_concmd("amx_take_cash", "cmd_take_points", ADMIN_RCON, "<target> <amount>");
- //////////////////
- /// Log Events ///
- //////////////////
- register_logevent("Event_RoundStart",2,"1=Round_Start");
- register_logevent("Event_RoundEnd",2,"1=Round_End");
- //////////////
- /// Events ///
- //////////////
- register_event("TextMsg","Event_RoundEnd","a","2&#Game_C","2&#Game_w");
- register_event("ResetHUD","Event_ResetHUD","b");
- register_event("HideWeapon","Event_HideWeapon","b");
- register_event("CurWeapon","Event_CurWeapon","be","1=1");
- register_event("ScreenFade", "Event_Flash","be","4=255","5=255","6=255","7>199");
- ////////////////
- /// CVARS!!! ///
- ////////////////
- register_cvar("amx_hnr_version",PLUGIN_VERSION,FCVAR_SERVER | FCVAR_SPONLY);
- g_cvars[ENABLED] = register_cvar("amx_hnr_enabled","1",FCVAR_SERVER);
- g_cvars[NOSLOWDOWN] = register_cvar("amx_hnr_noslowdown","1");
- g_cvars[NOZOOM] = register_cvar("amx_hnr_nozoom","0");
- g_cvars[SCOUTDROP] = register_cvar("amx_hnr_noscoutdrop","1");
- g_cvars[M3DROP] = register_cvar("amx_hnr_nom3drop","1");
- g_cvars[DeagleDROP] = register_cvar("amx_hnr_nodeagledrop","1");
- g_cvars[FIVESEVENDROP] = register_cvar("amx_hnr_noFIVESEVENDROPdrop","1");
- g_cvars[BLOCKKILL] = register_cvar("amx_hnr_blockkill","1");
- g_cvars[CASHSYS] = register_cvar("amx_hnr_cashsys","1");
- g_cvars[ROUNDSYS] = register_cvar("amx_hnr_roundsys","1");
- g_cvars[SENDSYS] = register_cvar("amx_hnr_sendsys","1");
- g_cvars[GAMBLESYS] = register_cvar("amx_hnr_gamblesys","1");
- g_cvars[LEVELSYS] = register_cvar("amx_hnr_levelsys","1");
- /////////////////
- /// Ham Stuff ///
- /////////////////
- RegisterHam(Ham_Killed,"player","fw_HamPlayerKilled",1);
- RegisterHam(Ham_TakeDamage,"player","fw_HamTakeDamage");
- RegisterHam(Ham_Spawn,"player","fw_HamPlayerSpawn",1);
- RegisterHam(Ham_Player_Jump,"player","fw_HamPlayerJump");
- RegisterHam(Ham_Weapon_SecondaryAttack,"weapon_scout","fw_ScoutOnZoomOn");
- RegisterHam(Ham_CS_Item_CanDrop,"weapon_scout","fw_ScoutCanDrop");
- RegisterHam(Ham_CS_Item_CanDrop,"weapon_m3","fw_M3CanDrop");
- RegisterHam(Ham_CS_Item_CanDrop,"weapon_deagle","fw_DeagleCanDrop");
- RegisterHam(Ham_CS_Item_CanDrop,"weapon_fiveseven","fw_DeagleCanDrop");
- ////////////////
- /// Messages ///
- ////////////////
- register_message(get_user_msgid("StatusIcon"),"msgStatusIcon");
- register_message(get_user_msgid("Money"),"MessageMoney");
- register_message(get_user_msgid("HideWeapon"),"MessageHideWeapon");
- HnrSync = CreateHudSyncObj();
- ///////////////////
- /// Forwards!!! ///
- ///////////////////
- fwd_win = CreateMultiForward("hnr_client_won",ET_IGNORE,FP_CELL);
- fwd_infected = CreateMultiForward("hnr_client_infected",ET_IGNORE,FP_CELL);
- fwd_event = CreateMultiForward("hnr_event_started",ET_IGNORE,FP_CELL);
- register_forward(FM_GetGameDescription,"fw_GetGameDescription");
- register_forward(FM_ClientKill,"fw_ClientKill");
- set_task(30.0,"Adv_message",.flags="b");
- //set_task(5.0, "gameoffline", 204)
- set_task(30.0,"gameoffline",.flags="b");
- g_maxplayers = get_maxplayers();
- g_msgScreenFade = get_user_msgid("ScreenFade");
- }
- public plugin_cfg(){
- if (!cstrike_running())
- set_fail_state("Supports only Counter-Strike!");
- RemoveEntityAll("func_bomb_target");
- RemoveEntityAll("info_bomb_target");
- if (is_plugin_loaded("FrostNades") == -1)
- {
- fn = false;
- log_amx("DEBUG: Frostnade plugin not found!");
- }
- set_cvar_num("mp_flashlight",0);
- set_cvar_num("mp_roundtime",9);
- set_cvar_num("sv_airaccelerate",100);
- set_cvar_num("mp_freezetime",0);
- set_cvar_num("mp_limitteams",0);
- set_cvar_num("mp_autoteambalance",0);
- if (fn)
- {
- set_cvar_num("fn_enabled",1);
- set_cvar_num("fn_hitself",0);
- set_cvar_num("fn_los",0);
- set_cvar_num("fn_icon",2);
- }
- set_cvar_string("humans_join_team","T");
- LoadConfig();
- set_task(5.0,"RestartGame");
- }
- public LoadConfig(){
- new cfg[256],some[256];
- get_configsdir(some,255);
- formatex(cfg,255,"%s/HitAndRun.cfg",some);
- if (!file_exists(cfg))
- {
- log_amx("DEBUG: HitAndRun config file (%s) not found. Creating...",cfg);
- write_file(cfg,"////////////////////////////////////////////////////////////");
- formatex(some,255,"/// eTs HitAndRun v%s config file ///",PLUGIN_VERSION);
- write_file(cfg,some);
- write_file(cfg,"////////////////////////////////////////////////////////////");
- write_file(cfg,"");
- write_file(cfg,"");
- write_file(cfg,"/////////////////////");
- write_file(cfg,"/// General Cvars ///");
- write_file(cfg,"/////////////////////");
- write_file(cfg,"");
- write_file(cfg,"amx_hnr_enabled 1 // Enable/Disable the plugin. (Defualt: 1)");
- write_file(cfg,"amx_hnr_noslowdown 1 // Enable/Disable noslowdown after jump. (Defualt: 1)");
- write_file(cfg,"amx_hnr_nozoom 0 // Enable/Disable nozoom at scout. (Defualt: 0)");
- write_file(cfg,"amx_hnr_noscoutdrop 1 // Enable/Disable blocking scout from dropping. (Defualt: 1)");
- write_file(cfg,"amx_hnr_nom3drop 1 // Enable/Disable blocking scout from dropping. (Defualt: 1)");
- write_file(cfg,"amx_hnr_nodeagledrop 1 // Enable/Disable blocking scout from dropping. (Defualt: 1)");
- write_file(cfg,"amx_hnr_noFIVESEVENDROPdrop 1 // Enable/Disable blocking scout from dropping. (Defualt: 1)");
- write_file(cfg,"amx_hnr_blockkill 1 // Enable/Disable blocking from client killing himself. (Defualt: 1)");
- write_file(cfg,"");
- write_file(cfg,"/////////////////////");
- write_file(cfg,"/// Systems Cvars ///");
- write_file(cfg,"/////////////////////");
- write_file(cfg,"amx_hnr_cashsys 1 // Enable/Disable Cash (aka Money aka cash) System. (Defualt: 1)");
- write_file(cfg,"amx_hnr_roundsys 1 // Enable/Disable Round & Wins Count System. (Defualt: 1)");
- write_file(cfg,"amx_hnr_sendsys 1 // Enable/Disable Send System. (Defualt: 1)");
- write_file(cfg,"amx_hnr_gamblesys 1 // Enable/Disable Gamble System. (Defualt: 1)");
- write_file(cfg,"amx_hnr_levelsys 1 // Enable/Disable Level System. (Defualt: 1)");
- log_amx("DEBUG: HitAndRun config file (%s) was succesfully created.",cfg);
- }
- server_cmd("exec %s",cfg);
- server_exec();
- log_amx("DEBUG: HitAndRun config file (%s) was succesfully executed.",cfg);
- }
- public plugin_precache(){
- WinnerBeamspr3 = precache_model("sprites/snow_white.spr");
- WinnerBeamspr2 = precache_model("sprites/frost_explode.spr");
- WinnerBeamspr1 = precache_model("sprites/redball.spr");
- WinnerBeamspr = precache_model("sprites/frost_gib.spr");
- smoke = precache_model("sprites/steam1.spr");
- light = precache_model("sprites/lgtning.spr");
- precache_sound("ambience/thunder_clap.wav");
- precache_sound("eTs/items/aizeloser.wav");
- precache_sound("eTs/items/alarm-thriller.mp3");
- precache_sound("eTs/items/Clock.mp3");
- precache_model( mac1010Model );
- precache_model( mac101Model );
- precache_model( danceModel );
- precache_model( awpModel1 );
- precache_model( awp10Model );
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/AlienAngel/AlienAngel.mdl");
- precache_model("models/player/IDF/IDF.mdl");
- for (new i = 0; i <= MAX_WIN_SOUNDS - 1; i++)
- precache_sound(g_winsounds[i]);
- for (new j = 0; j <= MAX_INFECTE_SOUNDS - 1; j++)
- precache_sound(g_infectesounds[j]);
- }
- ///////////////////
- /// API Support ///
- ///////////////////
- public dance(client){
- set_pev(client,pev_viewmodel2,danceModel);
- }
- public plugin_natives(){
- register_library("HitAndRun"); // API libarary support
- register_native("hnr_get_infected","_hnr_get_infected");
- register_native("hnr_get_lasthit","_hnr_get_lasthit");
- register_native("hnr_get_winner","_hnr_get_winner");
- register_native("hnr_started","_hnr_started");
- register_native("hnr_get_event","_hnr_get_event");
- register_native("hnr_get_user_rounds","_hnr_get_user_rounds");
- register_native("hnr_get_user_xp","_hnr_get_user_xp");
- register_native("hnr_set_user_xp","_hnr_set_user_xp");
- register_native("hnr_get_user_level","_hnr_get_user_level");
- register_native("hnr_set_user_level","_hnr_set_user_level");
- register_native("hnr_get_user_powers","_hnr_get_user_powers");
- register_native("hnr_get_user_credits", "_hnr_get_user_credits");
- register_native("hnr_set_user_credits", "_hnr_set_user_credits");
- }
- public client_connect( client )
- {
- set_task( 23.0, "ShowInfo", client, _, _, "b" );
- CmdLoad( client );
- }
- public premiumget(client)
- {
- new some[256],shop;
- formatex(some,255,"\r(\weTs\r) \wPremiumGet Menu^n\dCash: \r%i | \dLevel: \r%i",playercash[client],playerlevel[client]);
- shop = menu_create(some,"premhandler");
- menu_additem( shop, "Double Jump");
- menu_additem( shop, "x2.5 NextCash");
- menu_additem( shop, "Model For Minigun \d(Minigun Event)");
- menu_additem( shop, "Premium Infected Zombie");
- menu_additem( shop, "\wAccess For The Premium Shop^n^n\yNote: If you buy premium you will get Wings + 500k.");
- menu_setprop(shop,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(shop,MPROP_EXITNAME,"\yExit Menu");
- menu_display(client,shop);
- return 1;
- }
- public premhandler(client,shop,item){
- if (item == MENU_EXIT)
- {
- menu_destroy(shop);
- return;
- }
- switch (item)
- {
- case 0: premiumget(client);
- case 1: premiumget(client);
- case 2: premiumget(client);
- case 3: premiumget(client);
- case 4: premiumget(client);
- case 5: premiumget(client);
- case 6: premiumget(client);
- case 7:
- {
- ActionShop(client);
- return;
- }
- }
- menu_destroy(shop);
- }
- public ShowInfo( client,id )
- {
- static szName[ 32 ];
- get_user_name( client, szName, charsmax( szName ) );
- set_hudmessage( 0, 255, 255, 0.03, 0.19, 0, 6.0, 12.0);
- show_hudmessage( client, "[ eTs ]^nName: %s, Cash: %i, Level: %i^nExp: %i, Next Exp: %i,^nRounds Played: %i^nTotal Rounds Played: %i ^nWins: %i^nTotal Wins: %i^nLevelBooster: %i", szName, playercash[client], playerlevel[client],playerxp[client],xps[playerlevel[client] + 1],g_rounds[client],g_totalrounds[client],g_wins[client],g_totalwins[client],g_LevelBooster[ client ]);
- }
- public _hnr_get_user_credits(plugin, params)
- {
- new client = get_param(1);
- if (is_user_connected(client))
- return playercash[client];
- return -1;
- }
- public _hnr_set_user_xp(plugin, params)
- {
- new client = get_param(1);
- new num = get_param(2);
- playerxp[client] = num;
- }
- public _hnr_set_user_credits(plugin, params)
- {
- new client = get_param(1);
- new num = get_param(2);
- playercash[client] = num;
- }
- public _hnr_get_infected(plugin,params){
- return infected;
- }
- public _hnr_get_lasthit(plugin,params){
- return g_lasthit;
- }
- public _hnr_get_winner(plugin,params){
- return g_winner;
- }
- public bool:_hnr_started(plugin,params){
- return bool:GameStarted;
- }
- public _hnr_get_event(plugin,params){
- return g_event;
- }
- public _hnr_get_user_rounds(plugin,params){
- new client = get_param(1), total = get_param(2);
- if (is_user_connected(client))
- return (total ? (g_rounds[client] + g_totalrounds[client]) : g_rounds[client]);
- log_error(AMX_ERR_NATIVE,"[ eTs ] Player %i is invaild!",client);
- return -1;
- }
- public _hnr_get_user_xp(plugin,params){
- new client = get_param(1);
- if (is_user_connected(client))
- return playerxp[client];
- log_error(AMX_ERR_NATIVE,"[ eTs ] Player %i is invaild!",client);
- return -1;
- }
- public _hnr_get_user_level(plugin,params){
- new client = get_param(1);
- if (is_user_connected(client))
- return playerlevel[client];
- log_error(AMX_ERR_NATIVE,"[ eTs ] Player %i is invaild!",client);
- return -1;
- }
- public _hnr_set_user_level(plugin,params){
- new client = get_param(1);
- new num = get_param(2);
- playerlevel[client] = num;
- }
- public _hnr_get_user_powers(plugin,params){
- new client = get_param(1);
- new powers;
- if (is_user_connected(client))
- {
- for (new i = 0; i < Powers; i++)
- if (g_powers[client][i])
- powers |= 1<<i;
- return powers;
- }
- log_error(AMX_ERR_NATIVE,"[ eTs ] Player %i is invaild!",client);
- return 0;
- }
- ///////////////////
- /// Save & Load ///
- ///////////////////
- public client_putinserver(client) LoadData(client);
- public client_disconnect(client){
- set_task(0.5,"check");
- CmdSave(client);
- SaveData(client);
- }
- public check(){
- if (get_playersnum() < 2)
- {
- if (!GameStarted)
- {
- remove_task(COUNTDOWN_TASKID);
- Event_RoundStart();
- }
- else
- RestartGame();
- }
- }
- /////////////////////
- /// Some say cmds ///
- /////////////////////
- public HandleSay(client, id){
- new iMsg[200], iArgs[4][60];
- read_argv(1,iMsg ,sizeof iMsg - 5);
- parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return 0;
- if(equali(iArgs[0],"/status"))
- {
- if (!get_pcvar_num(g_cvars[ROUNDSYS]))
- {
- set_dhudmessage( 150,150,255, 0.07, 0.19, 1, 6.0, 12.0);
- show_dhudmessage(client, "HNR Stats system is disabled!");
- return 1;
- }
- new player = cmd_target(client,iArgs[1],CMDTARGET_NO_BOTS);
- if (!player)
- {
- ColorChat(client,"^1%s ^3( %s ) ^1Status:",GetUserName(client),GetUserAuth(client));
- ColorChat(client,"^1Cash Amount:^3 %i ^1, Level:^3 %i ^1, Exp to next level:^3 %i",playercash[client],playerlevel[client],playerxp[client],(playerlevel[client] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[client] + 1]) - playerxp[client])));
- ColorChat(client,"^1Rounds Played:^3 %i ^4(%i in total rounds)",g_rounds[client],g_totalrounds[client]);
- ColorChat(client,"^1Wins:^3 %i ^4(%i in total wins)",g_wins[client],g_totalwins[client]);
- }
- else
- {
- ColorChat(client,"^4 ^1( %s ) Status:",GetUserAuth(client));
- set_dhudmessage( 150,150,255, 0.07, 0.19, 1, 6.0, 12.0);
- show_dhudmessage(client, "^nCash: %i",playercash[client]);
- set_dhudmessage( 150,150,255, 0.07, 0.19, 1, 6.0, 12.0);
- show_dhudmessage(client, "^n^nRounds Played: %i | Total Rounds Played: %i",g_rounds[client],g_totalrounds[client]);
- set_dhudmessage( 150,150,255, 0.07, 0.19, 1, 6.0, 12.0);
- show_dhudmessage(client, "^n^n^nWins: %i | Total Wins: %i",g_wins[client],g_totalwins[client]);
- set_dhudmessage( 150,150,255, 0.07, 0.19, 1, 6.0, 12.0);
- show_dhudmessage(client, "^n^n^n^nLevel: %i | ^1Xp: %i | Xp to next level: %i"
- ,playerlevel[client]
- ,playerxp[client]
- ,(playerlevel[client] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[client] + 1]) - playerxp[client])));
- }
- }
- if( equali( iArgs[0], "/givecash" ) )
- {
- new target[32];
- new intPlayer = cmd_target( client, iArgs[1], 0 );
- new player = cmd_target( client, target, 8 );
- new admin_name[32], player_name[32];
- get_user_name( client, admin_name, 31 );
- get_user_name( player, player_name, 31 );
- if( get_user_flags( client ) && ADMIN_IMMUNITY )
- {
- if( !iArgs[1][ 0 ] || !iArgs[2][ 0 ] || !str_to_num( iArgs[2] ))
- {
- ColorChat( client, "You cant use letters as cash amount" );
- return PLUGIN_HANDLED;
- }
- new intPlayer = cmd_target( client, iArgs[2], 0 );
- if( !intPlayer )
- {
- ColorChat( client, " No client found <%s>", iArgs[1] );
- return PLUGIN_HANDLED;
- }
- playercash[player] += str_to_num( iArgs[2] );
- ColorChat( client, "You gave^3 %i^1 cash to^4 %s^1.", str_to_num( iArgs[2] ), player_name );
- ColorChat( 0, "^4Owner:^3 %s ^1gave^3 %i^1 cash to^4 %s^1.",admin_name, str_to_num( iArgs[2] ), player_name );
- SaveData(client);
- return 1;
- }
- return 1;
- }
- else if (equali(iArgs[0],"/cash") || equali(iArgs[0], "/level") || equali(iArgs[0], "/xp" ) )
- {
- if (!get_pcvar_num(g_cvars[CASHSYS]))
- {
- ColorChat(client,"HNR Cash system is disabled!");
- return 1;
- }
- new player = cmd_target(client,iArgs[1],CMDTARGET_NO_BOTS);
- if (!player)
- {
- ColorChat(client, "^4Your ^1Level : ^3%i, ^1Exp : ^3%i, ^1Your Cash : ^3%i",playerlevel[ client ], playerxp[ client ],playercash[ client ]);
- ColorChat(client, "NextXP : ^3%i, ^1Level Boosters : ^3%i, ^1Mini Boosters : ^3%i, ^1Reset : ^3%i", (playerlevel[client] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[client] + 1]) - playerxp[client])), g_LevelBooster[ client ], g_MimiLevelBooster[ client ], Reset[client]);
- }
- else
- {
- ColorChat(client,"^3%s^1 ^1Your Cash : ^3%i,^1 ^1Level : ^3%i, ^1Exp : ^3%i ^1.",get_player_name(player),playercash[player],playerlevel[ client ],playerxp[ client ]);
- return 1;
- }
- }
- else if (equali(iArgs[0],"/shop"))
- {
- ActionShop(client);
- return 1;
- }
- else if (equali(iArgs[0],"/dddddddd") )
- {
- if (!get_pcvar_num(g_cvars[LEVELSYS]))
- {
- ColorChat(client,"HNR Level system is disabled!");
- return 1;
- }
- new player = cmd_target(client,iArgs[1],CMDTARGET_NO_BOTS);
- if (!player)
- {
- ColorChat(client,"^1Level: ^4%i ^3| ^1Xp: ^4%i ^3| ^1Xp to next level: ^4%i"
- ,playerlevel[client]
- ,playerxp[client]
- ,(playerlevel[client] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[client] + 1]) - playerxp[client])));
- }
- else
- {
- ColorChat(client,"^3%s^1 Level Status:",get_player_name(player));
- ColorChat(client,"^1Level: ^4%i ^3| ^1Xp: ^4%i ^3| ^1Xp to next level: ^4%i"
- ,playerlevel[player]
- ,playerxp[player]
- ,(playerlevel[player] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[player] + 1]) - playerxp [player])));
- }
- }
- else if (equali( iArgs[0],"/transfer"))
- {
- if (!get_pcvar_num(g_cvars[SENDSYS]) || !get_pcvar_num(g_cvars[CASHSYS]))
- {
- ColorChat(client,"HNR Transfer/Cash system is disabled!");
- return 1;
- }
- if (equali(iArgs[1],""))
- {
- ColorChat(client,"Usage: ^4/transfer <target> <amount>");
- return 1;
- }
- new player = cmd_target(client,iArgs[1],CMDTARGET_NO_BOTS);
- if (!player || player == client)
- {
- ColorChat(client,"You can't transfer cash to yourself!");
- return 1;
- }
- if(!is_str_num(iArgs[2]))
- {
- ColorChat(client,"You must enter ^3numbers^1!");
- return 1;
- }
- new num = str_to_num(iArgs[2]);
- if (!check_cash(client,num))
- {
- ColorChat(client,"You don't have that amount of cash!");
- return 1;
- }
- playercash[client] -= num;
- playercash[player] += num;
- ColorChat(client,"You send ^4%i^3 cash^1 to ^3%s^1.",num,get_player_name(player));
- ColorChat(player,"^3%s^1 send ^4%i^3 cash^1 to you.",get_player_name(client),num);
- ColorChat(0,"^3%s^1 send ^4%i^3 cash^1 to ^3%s^1.",get_player_name(client),num,get_player_name(player));
- return 1;
- }
- else if(equali(iArgs[0],"/gamble"))
- {
- if( !iArgs[1][ 0 ] )
- {
- ColorChat( client, "^4Error: ^1you must to type amount.");
- return PLUGIN_HANDLED;
- }
- new intGambling = str_to_num( iArgs[1] );
- if( playercash[client] >= 300 && equali( iArgs[1], "allin" ) || equali( iArgs[1], "all" ) )
- {
- intGambling = playercash[client];
- Action_Gambleall(client,(playercash[client]));
- return PLUGIN_HANDLED;
- }
- if (!get_pcvar_num(g_cvars[GAMBLESYS]) || !get_pcvar_num(g_cvars[CASHSYS]))
- {
- ColorChat(client,"HNR Gamble/Cash system is disabled!");
- return 0;
- }
- else if(playercash[client] < str_to_num(iArgs[1]))
- {
- ColorChat(client,"You ^3don't ^1have enough ^3cash^1!");
- return 1;
- }
- else if(str_to_num(iArgs[1]) < 300)
- {
- ColorChat(client,"You ^3must ^1gamble on more than^4 300 ^3cash^1!");
- return 1;
- }
- Action_Gamble(client,(str_to_num(iArgs[1])));
- return 1;
- }
- else if (equali(iArgs[0],"/next") || equali(iArgs[0],"/nextlevel") || equali(iArgs[0],"/nextlvl"))
- {
- if (!get_pcvar_num(g_cvars[LEVELSYS]))
- {
- ColorChat(client,"HNR Level system is disabled!");
- return 1;
- }
- ColorChat(client,"Xp to next level: ^4%i",(playerlevel[client] == MAX_LEVELS ? 0:(str_to_num(xps[playerlevel[client] + 1]) - playerxp[client])));
- }
- else if (equali(iArgs[0],"/eventm"))
- {
- EventMenu(client);
- return 1;
- }
- else if (equali(iArgs[0],"/event"))
- {
- if (EventStarted)
- ColorChat(client,"^3%s^1 is running now!",g_eventname[g_event]);
- else if (get_playersnum() < 2)
- ColorChat(client,"Need at least^4 1 more player^1 to start an ^4Event^1!");
- else if (g_round == 4)
- ColorChat(client,"Event will start next round.");
- else
- ColorChat(client,"Rounds until the next event will start: ^4%i^1.",(5 - g_round));
- return 1;
- }
- }
- /////////////////////
- /// Gamble Action ///
- /////////////////////
- public Action_Gamble(client,cash){
- new iMsg[200], iArgs[4][60];
- read_argv(1,iMsg ,sizeof iMsg - 5);
- parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
- new GambledNum = random(100);
- switch(GambledNum)
- {
- case 0..60:
- {
- ColorChat(0,"^3%s^1 has gambled on ^4%i^1 cash and ^3lost^1!",get_player_name(client),cash);
- playercash[client]-=cash;
- client_cmd(client, "mp3 play ^"sound/eTs/items/aizeloser.mp3^"");
- }
- case 61..100:
- {
- ColorChat(0,"^3%s^1 has gambled on ^4%i^1 cash and ^3won^1!",get_player_name(client),cash);
- playercash[client]+=cash;
- }
- }
- }
- public Action_Gambleall(client,cash){
- new iMsg[200], iArgs[4][60];
- read_argv(1,iMsg ,sizeof iMsg - 5);
- parse(iMsg,iArgs[0],charsmax(iArgs[]),iArgs[1],charsmax(iArgs[]),iArgs[2],charsmax(iArgs[]),iArgs[3],charsmax(iArgs[]));
- new GambledNum = random(100);
- if( playercash[client] >= 300 )
- {
- switch(GambledNum)
- {
- case 0..57:
- {
- ColorChat(0,"^3%s^1 has gambled All-in ^4%i^1 cash and ^3lost^1(+2%%)",get_player_name(client),cash);
- playercash[client]-=cash;
- client_cmd(client, "mp3 play ^"sound/eTs/items/aizeloser.mp3^"");
- }
- case 58..100:
- {
- ColorChat(0,"^3%s^1 has gambled All-in ^4%i^1 cash and ^3won^1(+2%%)",get_player_name(client),cash);
- playercash[client]+=cash;
- }
- }
- }
- else
- {
- ColorChat(client,"In Order Gamble all-in you must be more 300 cash!!!");
- }
- }
- // Level Booster //
- public CmdSay( client )
- {
- new szMsg[ 192 ], szArgs[ 3 ][ 32 ];
- read_argv( 1, szMsg, charsmax( szMsg ) );
- parse( szMsg, szArgs[ 0 ], 31, szArgs[ 1 ], 31, szArgs[ 2 ], 31 );
- if ( equali( szArgs[ 0 ], "/tl" ) | equali( szArgs[ 0 ], "/transferbooster") )
- {
- if ( !is_str_num( szArgs[ 2 ] ) || equali( szMsg, "/tl" ) | equali( szMsg, "/transferbooster") )
- return ColorChat( client, "Syntax: ^4/tl ^1or ^4/transferbooster ^3< name > < amount >" );
- static iPlayer;
- iPlayer = cmd_target( client, szArgs[ 1 ], 8 );
- if ( !iPlayer )
- return ColorChat( client, "^3%s ^1Was Not Found^4!", szArgs[ 1 ] );
- if ( iPlayer == client )
- return ColorChat( client, "You can't transfer booster to yourself^4." );
- new Amount = str_to_num( szArgs[ 2 ] );
- if ( Amount > g_LevelBooster[client] )
- return ColorChat( client, "You don't have enough ^4Levelbooster" );
- set_user_booster(client, get_user_booster(client) - Amount);
- set_user_booster(iPlayer, get_user_booster(iPlayer) + Amount);
- ColorChat( 0, "^3%s ^1Has Transfered ^4%i ^1LevelBooster^3's ^1To ^4%s", GetUserName( client ), Amount, GetUserName( iPlayer ));
- }
- if ( equali( szArgs[ 0 ], "/givebooster" ) )
- {
- if ( !( get_user_flags( client ) & ADMIN_IMMUNITY ) )
- {
- ColorChat(client, "^3Error: ^1You Don't Have ^4Access ^1To This Command^4.");
- return 1;
- }
- if ( !is_str_num( szArgs[ 2 ] ) || equali( szMsg, "/givebooster" ) )
- return ColorChat( client, "^1Syntax: ^4/givebooster ^3<Player> <Amount>" );
- static iPlayer, Amount;
- iPlayer = cmd_target( client, szArgs[ 1 ], 8 );
- if ( !iPlayer )
- return ColorChat( client, "^3%s ^1Was Not Found^4!", szArgs[ 1 ] );
- Amount = str_to_num( szArgs[ 2 ] );
- if ( Amount < 0 )
- return ColorChat( client, "You can't use a value lower than^4 0^3." );
- set_user_booster(iPlayer, get_user_booster(iPlayer) + Amount);
- ColorChat(0, "Owner: ^3%s ^1has give ^4%i ^1Level booster to ^3%s", GetUserName( client ), Amount, GetUserName( iPlayer ) );
- return 1;
- }
- if ( equali( szArgs[ 0 ], "/levelbooster" ) )
- {
- new iPlayer = cmd_target( client, szArgs[ 1 ], 8 );
- if ( equali( szMsg, "/levelbooster" ) )
- iPlayer = client;
- if ( !iPlayer )
- return ColorChat( client, "^3%s^1 was not found!", szArgs[ 1 ] );
- new szNameiPlayer[ 33 ];
- get_user_name( iPlayer, szNameiPlayer, charsmax( szNameiPlayer ) );
- return ColorChat( client, "^3%s ^1LevelBooster: ^4%i", GetUserName( client ), g_LevelBooster[ client ] );
- }
- if ( equali( szArgs[ 0 ], "/takebooster" ) )
- {
- if ( !( get_user_flags( client ) & ADMIN_IMMUNITY ) )
- {
- ColorChat(client, "^3Error: ^1You don't have ^4access ^1to this command^4.");
- return 1;
- }
- if ( !is_str_num( szArgs[ 2 ] ) || equali( szMsg, "/takebooster" ) )
- return ColorChat( client, "^1Syntax: ^4/takebooster ^3<Player> <Amount>" );
- static iPlayer, Amount;
- iPlayer = cmd_target( client, szArgs[ 1 ], 8 );
- if ( !iPlayer )
- return ColorChat( client, "^3%s ^1was not found^3!", szArgs[ 1 ] );
- Amount = str_to_num( szArgs[ 2 ] );
- if ( Amount < 0 )
- return ColorChat( client, "You can't use a value lower than^4 0^3." );
- set_user_booster(iPlayer, get_user_booster(iPlayer) - Amount);
- ColorChat(0, "Owner: ^3%s ^1Has Take ^4%i ^1Level Booster To ^3%s", GetUserName( client ), Amount, GetUserName( iPlayer ) );
- return 1;
- }
- if ( equali( szArgs[ 0 ], "/setbooster" ) || equali( szArgs[ 0 ], "/setlvlbooster" ) )
- {
- if ( !( get_user_flags( client ) & ADMIN_IMMUNITY ) )
- {
- ColorChat(client, "^3Error: ^1You don't have ^4access ^1to this command^4.");
- return 1;
- }
- if ( !is_str_num( szArgs[ 2 ] ) || equali( szMsg, "/setbooster" ) || equali( szMsg, "/setlvlbooster" ) )
- return ColorChat( client, "^1Syntax: ^4/setbooster ^3<Player> <Amount>" );
- static iPlayer, Amount;
- iPlayer = cmd_target( client, szArgs[ 1 ], 8 );
- if ( !iPlayer )
- return ColorChat( client, "^3%s ^1was not found ^4!", szArgs[ 1 ] );
- Amount = str_to_num( szArgs[ 2 ] );
- if ( Amount < 0 )
- return ColorChat( client, "You Can't Use a Value Lower Than^4 0^3." );
- set_user_booster( iPlayer, Amount );
- ColorChat(0, "Owner: ^3%s ^1has set ^4%i ^1Level Booster to ^3%s", GetUserName( client ), Amount, GetUserName( iPlayer ) );
- return 1;
- }
- return 0;
- }
- public CmdBooster( client )
- {
- new szText[ 208 ];
- formatex( szText, charsmax( szText ), "\r[\w eTs \r] \wLevel Booster Menu");
- new menu = menu_create( szText, "handler1" );
- formatex( szText, charsmax( szText ), "\wLevelBooster \r[ \y1 Level Booster \r]");
- menu_additem( menu, szText );
- formatex( szText, charsmax( szText ), "\wMini LevelBooster \r[\yEXP \r]");
- menu_additem( menu, szText );
- menu_display( client, menu );
- return 1;
- }
- public handler1( client, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu );
- return 1;
- }
- switch( item )
- {
- case 0: mainlevelbooster(client);
- case 1: minilevelbooster(client);
- }
- return 1;
- }
- public mainlevelbooster( client )
- {
- new szText[ 208 ];
- formatex( szText, charsmax( szText ), "\r[\w eTs \r] \wLevel Booster Menu");
- new menu = menu_create( szText, "mainhandler" );
- formatex( szText, charsmax( szText ), "\wUse LevelBooster \r[ \y1 Level Booster \r]");
- menu_additem( menu, szText );
- formatex( szText, charsmax( szText ), "\wBuy LevelBooster \r[\y1,500,000 Cash\r]^n^n\wYour LevelBoosters: \r%d^n\yNote: \wLevel Booster Will Give You 4 Levels", g_LevelBooster[ client ] );
- menu_additem( menu, szText );
- menu_display( client, menu );
- return 1;
- }
- public mainhandler( client, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu );
- return 1;
- }
- switch( item )
- {
- case 0:
- {
- if( g_LevelBooster[ client ] > 0 )
- {
- g_LevelBooster[ client ]--;
- server_cmd("amx_give_level1 ^"%s^" ^"4^"",GetUserName(client));
- hnr_set_user_xp( client, hnr_get_user_xp( client ) + 200 );
- ColorChat( 0, "^3%s ^1Has used ^4LevelBooster^1, And ^34 Level ^1Has Added to his ^4level!", GetUserName( client ));
- CmdBooster( client );
- }
- else
- ColorChat(client, "^1You need^4 at least %d Level Boosters", 1);
- }
- case 1:
- {
- if( hnr_get_user_credits( client ) < 1500000 )
- {
- ColorChat( client, "^3Error: ^1You need^4 %d ^1cash to Buy LevelBooster.", 1500000 );
- return 1;
- }
- g_LevelBooster[ client ] += 1;
- hnr_set_user_credits( client, hnr_get_user_credits( client ) - 1500000 );
- ColorChat(0, "^3%s ^1has buy LevelBooster for^4 1,500,000 ^1Cash^4.", GetUserName( client ));
- CmdBooster(client);
- }
- }
- return 1;
- }
- public minilevelbooster(client)
- {
- new szText[ 208 ];
- formatex( szText, charsmax( szText ), "\r[\w eTs \r] \wMiniBooster Menu");
- new menu = menu_create( szText, "minihandler" );
- formatex( szText, charsmax( szText ), "\wUse MiniBooster\d ( Requires: 1 MiniBooster )");
- menu_additem( menu, szText );
- formatex( szText, charsmax( szText ), "\wBuy MiniBooster\d [ 300,000 Cash ]^n^n\wYour MiniBooster: \r%d^n\d*Note: \wMiniBooster Will Give You Exp & Level^n\r*Warning:\w MiniBooster Can give you Nothing. \y( 20%% )", g_MimiLevelBooster[ client ] );
- menu_additem( menu, szText );
- menu_display( client, menu );
- return 1;
- }
- public minihandler( client, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu );
- return 1;
- }
- switch( item )
- {
- case 0:
- {
- if( g_MimiLevelBooster[ client ] > 0 )
- {
- new luckNum = random(100);
- switch(luckNum)
- {
- case 0..80:
- {
- new RandomAmount = random_num(0, 25);
- g_MimiLevelBooster[ client ]--;
- hnr_set_user_xp( client, hnr_get_user_xp( client ) + RandomAmount );
- ColorChat( 0, "^1Player:^4 %s ^1has used^3 MiniBooster^1 And Won^4 %i ^1Exp, Good Job!", GetUserName( client ), RandomAmount );
- minilevelbooster(client);
- }
- case 81..100:
- {
- new RandomAmount1 = random_num(0, 0);
- g_MimiLevelBooster[ client ]--;
- hnr_set_user_xp( client, hnr_get_user_xp( client ) + RandomAmount1 );
- ColorChat( 0, "^1Player:^4 %s ^1has used^3 MiniBooster^1 And Lose, Nice Try!", GetUserName( client ));
- minilevelbooster(client);
- }
- }
- }
- }
- case 1:
- {
- if( hnr_get_user_credits( client ) < 300000 )
- {
- ColorChat( client, "^3Error: ^1You need^4 %d ^1cash to Buy MiniBooster.", 300000 );
- return 1;
- }
- g_MimiLevelBooster[ client ] += 1;
- hnr_set_user_credits( client, hnr_get_user_credits( client ) - 300000 );
- ColorChat(0, "^3%s ^1has buy MiniBooster for^4 300,000 ^1Cash^4.", GetUserName( client ));
- minilevelbooster(client);
- }
- }
- }
- ////////////
- /// Shop ///
- ////////////
- public EventMenu(client){
- if ( get_user_flags( client ) & ADMIN_LEVEL_B )
- {
- new some[256],shop;
- formatex(some,255,"\r[\w eTs \r] \wEvent Menu");
- shop = menu_create(some,"handler");
- menu_additem( shop,"\wMinigun Event");
- menu_additem( shop,"\wDeagle Event");
- menu_additem( shop,"\wKnifeSmoke Event");
- menu_additem( shop,"\wHE Event");
- menu_additem( shop,"\wKnife Event");
- menu_additem( shop,"\wAWP Event");
- menu_additem( shop,"\wSpeical Gun Event");
- menu_additem( shop,"\wCreateBox Event");
- menu_additem( shop,"\wUzi Event");
- menu_additem( shop,"\wGravity Event");
- menu_additem( shop,"\wSpeed Event");
- menu_additem( shop,"\wIDF Event");
- menu_additem( shop,"\wHideAndSeek Event");
- menu_setprop(shop,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(shop,MPROP_EXITNAME,"\yExit Menu");
- menu_display(client,shop);
- return 1;
- }
- }
- public handler( client, menu, item )
- {
- if( item == MENU_EXIT )
- {
- menu_destroy( menu );
- return 1;
- }
- static szName[ 32 ];
- get_user_name( client, szName, charsmax( szName ) );
- static players[32],pnum;
- get_players(players,pnum,"aceh","TERRORIST");
- switch(item)
- {
- case 0:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Minigun Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Minigun Event",szName);
- CreateFog(random( 256 ), random( 256 ), random( 256 ),FOG_HIGH);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_m249");
- cs_set_user_bpammo(players[i],CSW_M249,2562);
- }
- }
- case 1:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Deagle Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Deagle Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_deagle");
- cs_set_user_bpammo(players[i],CSW_DEAGLE,2562);
- }
- }
- case 2:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started KnifeSmoke Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3KnifeSmoke Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_knife");
- fm_give_item(players[i],"weapon_smokegrenade");
- cs_set_user_bpammo(players[i],CSW_SMOKEGRENADE,10);
- }
- }
- case 3:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started HE Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3HE Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_hegrenade");
- cs_set_user_bpammo(players[i],CSW_HEGRENADE,2562);
- }
- }
- case 4:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Knife Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Knife Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_knife");
- }
- }
- case 5:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Awp Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Awp Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_awp");
- cs_set_user_bpammo(players[i],CSW_AWP,2562);
- {
- if(playerlevel[client] >= 15)
- {
- set_pev(players[i],pev_viewmodel2,awpModel1);
- ColorChat(client, "^4Hey, ^1Your Awp Skin Is : ^3Awp | Dragon Lore ^1[ ^4Level 15+ ^1]");
- }
- if(playerlevel[client] >= 40)
- {
- set_pev(players[i],pev_viewmodel2,awp10Model);
- ColorChat(client, "^4Hey, ^1Your Awp Skin Is : ^3Awp | X-mas ^1[ ^4Level 40+ ^1]");
- }
- }
- }
- }
- case 6:
- {
- }
- case 7:
- {
- if(get_user_flags(client) & ADMIN_IMMUNITY)
- client_cmd(client, "say /create");
- }
- case 8:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Uzi Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Uzi Event",szName);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_mac10");
- cs_set_user_bpammo(players[i],CSW_MAC10,2562);
- {
- if(playerlevel[client] >= 10)
- {
- set_pev(players[i],pev_viewmodel2,mac101Model);
- ColorChat(client, "^4Hey, ^1Your MAC-10 Skin Is : ^3MAC-10 | Neon Rider ^1[ ^4Level 10+ ^1]");
- }
- if(playerlevel[client] >= 35)
- {
- set_pev(players[i],pev_viewmodel2,mac1010Model);
- ColorChat(client, "^4Hey, ^1Your MAC-10 Skin Is : ^3MAC-10 | Rangeen ^1[ ^4Level 35+ ^1]");
- }
- }
- }
- }
- case 9:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Gravity Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Gravity Event",szName);
- set_pev(players[i],pev_gravity,0.7);
- }
- }
- case 10:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started Speed Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3Speed Event",szName);
- new maxspeed = pev(client,pev_maxspeed);
- maxspeed*=3.0;
- set_pev(players[i],pev_maxspeed,maxspeed);
- }
- }
- case 11:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started IDF Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3IDF Event",szName);
- if(playerlevel[client] >= 0) cs_set_user_model(infected,"IDF");
- }
- }
- case 12:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Admin %s Started HideAndSeek Event",szName);
- ColorChat(0,"Admin ^4%s ^1Started ^3HideAndSeek Event",szName);
- ColorChat(0,"^4Note:^1You Need To find your teammates in dark");
- fm_set_lights("b");
- }
- }
- }
- return 1;
- }
- public weaponlevel(client)
- {
- new some[256],shop;
- formatex(some,255,"\r[\w eTs \r] \wWeapon Level Menu^n\dLevel: \r%i",playerlevel[client]);
- shop = menu_create(some,"weaponhandler");
- menu_additem( shop,"MAC-10 | Neon Rider \r[\yLevel 10+\r]");
- menu_additem( shop,"Awp | Dragon Lore \r[\yLevel 15+\r]");
- menu_additem( shop,"MAC-10 | Rangeen \r[\yLevel 35+\r]");
- menu_additem( shop,"Awp | X-mas \r[\yLevel 40+\r]");
- menu_setprop(shop,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(shop,MPROP_EXITNAME,"\yExit Menu");
- menu_display(client,shop);
- return 1;
- }
- public weaponhandler(client,shop,item){
- if (item == MENU_EXIT)
- {
- menu_destroy(shop);
- return;
- }
- switch (item)
- {
- case 0: weaponlevel(client);
- case 1: weaponlevel(client);
- case 2: weaponlevel(client);
- case 3: weaponlevel(client) ;
- case 4: weaponlevel(client);
- case 5: weaponlevel(client);
- case 6: weaponlevel(client);
- case 7:
- {
- ActionShop(client);
- return;
- }
- }
- menu_destroy(shop);
- }
- public zombienew(client)
- {
- new some[256],shop;
- formatex(some,255,"\r(\weTs\r) \wZombie Menu^n\dCash: \r%i | \dLevel: \r%i",playercash[client],playerlevel[client]);
- shop = menu_create(some,"zombiehandler");
- menu_additem( shop,"ClownMeister \r[\yLevel 0+\r]");
- menu_additem( shop,"Big Foot \r[\yLevel 20+\r]");
- menu_additem( shop,"Monster \r[\yLevel 35+\r]");
- menu_additem( shop,"Titan \r[\yLevel 45+\r]");
- menu_additem( shop,"Witch Zombie \r[\yPremium Only\r]");
- menu_additem( shop,"Troll Infected \r[\yOwner Only\r]^n^n\d*This System Will Choose Automatic by your level (use /cam to check your model)\d*");
- menu_setprop(shop,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(shop,MPROP_EXITNAME,"\yExit Menu");
- menu_display(client,shop);
- return 1;
- }
- public zombiehandler(client,shop,item){
- if (item == MENU_EXIT)
- {
- menu_destroy(shop);
- return;
- }
- switch (item)
- {
- case 0: if(playerlevel[client] >= 0) cs_set_user_model(infected,"AlienAngel");
- case 1: if(playerlevel[client] >= 20) cs_set_user_model(infected,"AlienAngel");
- case 2: if(playerlevel[client] >= 35) cs_set_user_model(infected,"AlienAngel"); // level 35
- case 3: if(playerlevel[client] >= 45) cs_set_user_model(infected,"AlienAngel"); // level 45
- case 4: if(get_user_flags(client) & ADMIN_LEVEL_C) cs_set_user_model(infected,"AlienAngel"); //premium
- case 5: if(get_user_flags(client) & ADMIN_IMMUNITY) cs_set_user_model(infected,"AlienAngel"); // owner
- case 6: zombienew(client);
- case 7: zombienew(client);
- case 8:
- {
- ActionShop(client);
- return;
- }
- }
- menu_destroy(shop);
- }
- public BlockDrop(client)
- {
- client_print(client, print_center, "This weapon cannot be dropped!");
- }
- public ActionShop(client){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return 0;
- new some[256],shop;
- formatex(some,255,"\r[\w eTs \r] \wShop Menu^n\wCash: \r%i \y, \wLevel: \r%i",playercash[client],playerlevel[client]);
- shop = menu_create(some,"Shop_Handler");
- menu_additem(shop,"\wEvent Menu \d[\r Admin Only \d]");
- menu_additem(shop,"\wKnife Menu \d(Cash)");
- menu_additem(shop,"\wScout Menu \d(Level)");
- menu_additem(shop,"\wLevelBooster Shop \d(Cash)");
- menu_setprop(shop,MPROP_EXIT,MEXIT_ALL);
- menu_setprop(shop,MPROP_EXITNAME,"\yExit");
- menu_display(client,shop);
- return 1;
- }
- public Shop_Handler(client,shop,item){
- if (item == MENU_EXIT)
- {
- menu_destroy(shop);
- return;
- }
- switch (item)
- {
- case 0: EventMenu(client);
- case 1: client_cmd(client,"say /knife");
- case 2: client_cmd(client,"say /scout");
- case 3: client_cmd(client,"say /usebooster");
- }
- return;
- menu_destroy(shop);
- }
- public fw_ScoutOnZoomOn(const ent){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return HAM_IGNORED;
- if (get_pcvar_num(g_cvars[NOZOOM]))
- return HAM_SUPERCEDE;
- }
- public cmd_give_xp(id,level,cid,client)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playerxp[player] += pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Gave to ^4%s ^3%i ^1XP",admin_name, player_name, pointnum );
- SaveData( id );
- return PLUGIN_CONTINUE;
- }
- public cmd_set_xp(id,level,cid,client)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playerxp[player] = pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Set to ^4%s ^3%i ^1XP",admin_name, player_name, pointnum );
- if (playerxp[client] > str_to_num(xps[playerlevel[client]]))
- {
- playerlevel[client]++;
- ColorChat(client,"Congratulations! You'r have level up! You'r new level is: ^4%i^1",playerlevel[client]);
- ColorChat(0,"^3%s^1 has level up to level ^4%i^1!",get_player_name(client),playerlevel[client]);
- }
- SaveData( id );
- return PLUGIN_CONTINUE;
- }
- public cmd_give_level(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playerlevel[player] += pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Gave to ^4%s ^3%i ^1level",admin_name, player_name, pointnum );
- SaveData( id );
- return PLUGIN_CONTINUE;
- }
- // for the level booster //
- public cmd_give_level1(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playerlevel[player] += pointnum;
- SaveData( id );
- return PLUGIN_CONTINUE;
- }
- public cmd_take_level(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv( 1, target, 31 );
- read_argv( 2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if(!player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name( id, admin_name, 31 );
- get_user_name( player, player_name, 31 );
- new pointnum = str_to_num( amount );
- playerlevel[player] -= pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Took from ^4%s ^3%i ^1level",admin_name, player_name, pointnum );
- SaveData( id );
- return PLUGIN_CONTINUE;
- }
- public cmd_give_points(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playercash[player] += pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Gave to ^4%s ^3%i ^1Cash",admin_name, player_name, pointnum );
- SaveData(id);
- return PLUGIN_CONTINUE;
- }
- public cmd_set_points(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv(1, target, 31 );
- read_argv(2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if( ! player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name(id, admin_name, 31);
- get_user_name(player, player_name, 31);
- new pointnum = str_to_num(amount);
- playercash[player] = pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Set for ^4%s ^3%i ^1Cash",admin_name, player_name, pointnum );
- SaveData(id);
- return PLUGIN_CONTINUE;
- }
- public cmd_take_points(id,level,cid)
- {
- if( !(get_user_flags( id ) & ADMIN_IMMUNITY ) ) return 1;
- new target[32], amount[21], reason[21];
- read_argv( 1, target, 31 );
- read_argv( 2, amount, 20 );
- read_argv( 3, reason, 20 );
- new player = cmd_target( id, target, 8 );
- if(!player )
- return 1;
- new admin_name[32], player_name[32];
- get_user_name( id, admin_name, 31 );
- get_user_name( player, player_name, 31 );
- new pointnum = str_to_num( amount );
- playercash[player] -= pointnum;
- ColorChat( 0, "^1Owner: ^4%s ^1Took from ^4%s ^3%i ^1Cash",admin_name, player_name, pointnum );
- SaveData(id);
- return 1;
- }
- public resetmenu(client){
- if(playerlevel[client] <= 199)
- {
- ColorChat(client, "You ^3most^1 be ^4atleast^1 level^3 200^1+");
- return PLUGIN_HANDLED;
- }
- else
- {
- ColorChat(client, "You have been ^3reset^1 your level");
- Reset[client]++;
- playerlevel[client] = 0;
- playerxp[client] = 0;
- SaveData( client );
- return PLUGIN_HANDLED;
- }
- return PLUGIN_HANDLED;
- }
- public RemoveInv(client){
- if(is_user_alive(client))
- {
- ColorChat(client,"^4Invisibility Power^1 has gone! You are ^3visible^1 now!");
- fm_set_entity_visibility(client,1);
- }
- g_powers[client][INVISIBILITY] = false;
- }
- public Shop_CallBack2(client,shop,item){
- if (!is_user_alive(client) || g_powers[client][item] || EventStarted || !get_pcvar_num(g_cvars[CASHSYS]))
- return ITEM_DISABLED;
- return ITEM_ENABLED;
- }
- /////////////////////////
- /// Block team change ///
- /////////////////////////
- public cmd_block(client){
- if (cs_get_user_team(client) == CS_TEAM_SPECTATOR)
- cs_set_user_team(client,CS_TEAM_T);
- ActionShop(client);
- return PLUGIN_HANDLED_MAIN;
- }
- ///////////////////
- /// Adv message ///
- ///////////////////
- public Adv_message(){
- ColorChat(0,"type ^4/premiumget ^1to check out what premium get.");
- ColorChat(0,"^1type^4 /status^1 to Check your ^3Game Info");
- ColorChat(0,"^1type^4 /wlevel^1 to Check the ^3Weapons Level Skins");
- }
- // Game Description
- public fw_GetGameDescription(){
- new some[32];
- formatex(some,31,"eTs HitAndRun",PLUGIN_VERSION);
- //formatex(some,31,"eTs HitAndRun v%s",PLUGIN_VERSION);
- forward_return(FMV_STRING,some);
- return FMRES_SUPERCEDE;
- }
- public fw_ClientKill(client){
- if (!get_pcvar_num(g_cvars[ENABLED]) || !get_pcvar_num(g_cvars[BLOCKKILL]) || !is_user_alive(client))
- return FMRES_IGNORED;
- ColorChat(client,"You cann't kill yourself!");
- console_print(client,"You cann't kill yourself!");
- return FMRES_SUPERCEDE;
- }
- //////////////////////
- /// Hide HUD Stuff ///
- //////////////////////
- public msgStatusIcon(msgid,msgdest,id){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return 1;
- static szIcon[8];
- get_msg_arg_string(2,szIcon,7);
- if(equal(szIcon,"buyzone") && get_msg_arg_int(1))
- {
- set_pdata_int(id,235,get_pdata_int(id,235) & ~(1<<0));
- return 1;
- }
- return 0;
- }
- public MessageMoney(msgid,dest,id){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- set_pdata_int(id,OFFSET_CSMONEY,0);
- set_msg_arg_int(1,ARG_LONG,0);
- }
- public MessageHideWeapon(msgid,dest,id){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- set_msg_arg_int(1,ARG_BYTE,get_msg_arg_int(1) | (1<<5));
- }
- public Event_ResetHUD(client){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- set_pdata_int(client,362,0);
- set_pdata_int(client,361,(1<<3)|(1<<4));
- }
- public Event_HideWeapon(client){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- new iFlags = read_data(1);
- new HudFlags;
- for (new i = 0; i <= 7; i++)
- HudFlags |= 1<<i;
- if(1<<3 && (iFlags & 1<<3 != 1<<3))
- {
- set_pdata_int(client,362,0);
- set_pdata_int(client,361,iFlags|(1<<3)|(1<<4));
- }
- if(iFlags & HudFlags && !(1<<3 & 1<<7) && is_user_alive(client))
- set_pdata_cbase(client,374,FM_NULLENT);
- }
- public Event_CurWeapon(client){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- if (g_powers[client][SPEED])
- {
- new maxspeed = pev(client,pev_maxspeed);
- maxspeed*=2.0;
- engfunc(EngFunc_SetClientMaxspeed,client,maxspeed);
- set_pev(client,pev_maxspeed,maxspeed);
- }
- }
- public Event_Flash(client){
- if (g_powers[client][NOFLASH])
- {
- message_begin(MSG_ONE,g_msgScreenFade,{0,0,0},client);
- write_short((1<<0));
- write_short((1<<0));
- write_short((1<<0));
- write_byte(0);
- write_byte(0);
- write_byte(0);
- write_byte(255);
- message_end();
- }
- }
- ////////////////////
- /// Some Events ///
- //////////////////
- public Event_RoundStart(){
- if (g_winner)
- remove_task(g_winner);
- for (new i = 1; i <= g_maxplayers; i++)
- {
- if (is_user_connected(i))
- {
- if (cs_get_user_team(i) != CS_TEAM_T)
- cs_set_user_team(i,CS_TEAM_T);
- if (!is_user_alive(i))
- ExecuteHam(Ham_CS_RoundRespawn,i);
- fm_set_lights("m");
- }
- }
- remove_task(COUNTDOWN_TASKID);
- remove_task(GAMESTART_TASKID);
- remove_task(SOUNDS_TASKID);
- remove_task(TIMER_TASKID);
- GameStarted = false;
- EventStarted = false;
- infected = 0;
- g_lasthit = 0;
- g_lasttwo = false;
- g_event = 0;
- g_winner = 0;
- CreateFog(0,0,0,FOG_OFF);
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- cd = 10;
- set_task(1.0,"StartCD",COUNTDOWN_TASKID,.flags="b");
- set_task(11.0,"Start_Game",GAMESTART_TASKID);
- client_cmd(0,"mp3 stop");
- fm_set_lights("m");
- }
- public StartCD(taskid){
- static szWord[32];
- num_to_word(cd,szWord,31);
- if (cd < 1)
- {
- remove_task(taskid);
- return;
- }
- client_cmd(0,"spk ^"\vox/%s second%s^"",szWord,cd > 1 ? "s":"");
- set_dhudmessage( 100, 100, 255,-1.0,0.14,1,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"Infection start in %i second%s!",cd,cd > 1 ? "s":"");
- fm_set_lights("m");
- fm_set_lights("m");
- fm_set_lights("m");
- fm_set_lights("m");
- cd--;
- }
- public Event_RoundEnd(){
- GameStarted = false;
- EventStarted = false;
- infected = 0;
- g_lasthit = 0;
- g_lasttwo = false;
- g_event = 0;
- CreateFog(0,0,0,FOG_OFF);
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- for (new i = 1; i <= g_maxplayers; i++)
- {
- if (is_user_connected(i))
- {
- if (cs_get_user_team(i) == CS_TEAM_T)
- g_rounds[i]++;
- if (cs_get_user_team(i) != CS_TEAM_T)
- cs_set_user_team(i,CS_TEAM_T);
- g_powers[i][SPEED] = false;
- g_powers[i][INVISIBILITY] = false;
- g_powers[i][GRAVITY] = false;
- g_powers[i][NOHEGRENADE] = false;
- g_powers[i][NOFLASH] = false;
- }
- }
- }
- //////////////////////////
- /// Some HAM functions ///
- //////////////////////////
- public fw_HamPlayerSpawn(client){
- if (!is_user_alive(client) || !get_pcvar_num(g_cvars[ENABLED]))
- return;
- else if (GameStarted)
- {
- fm_strip_user_weapons(client);
- user_silentkill(client);
- blind_player(client);
- ColorChat(client,"You cann't play when the game is running!");
- return;
- }
- PreparePlayer(client);
- g_powers[client][SPEED] = false;
- g_powers[client][INVISIBILITY] = false;
- g_powers[client][GRAVITY] = false;
- g_powers[client][NOHEGRENADE] = false;
- }
- public fw_HamPlayerKilled(victim, attacker, shouldgib){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- if (victim == infected && is_user_connected(victim))
- {
- fm_set_user_rendering(victim,kRenderFxNone,255,255,255,kRenderNormal,16);
- client_cmd(victim,"spk eTs/items/bb.wav");
- check_winner();
- last_two();
- blind_player(victim);
- }
- }
- public fw_HamTakeDamage(victim, idinflictor, attacker, Float:damage, damagebits, client, player, id){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return HAM_IGNORED;
- if (is_user_alive(victim) && is_user_alive(attacker) && attacker == infected && victim != attacker)
- {
- if (g_powers[victim][NOHEGRENADE] && (damagebits & DMG_HEGRENADE))
- return HAM_SUPERCEDE;
- g_lasthit = attacker;
- make_user_statusicon(attacker,"dmg_bio",.status = STATUSICON_OFF);
- infect_player(victim,0);
- fm_set_user_rendering(attacker,kRenderFxNone,255,255,255,kRenderNormal,16);
- client_cmd(victim,"spk %s",g_infectesounds[random(MAX_INFECTE_SOUNDS)]);
- ColorChat(0, "^4%s ^1Hit ^3%s ^1In ^3[ ^4%.1f ^3]", get_player_name(g_lasthit),get_player_name(infected), g_timer);
- cs_reset_user_model(attacker);
- return HAM_SUPERCEDE;
- }
- return HAM_SUPERCEDE;
- }
- public fw_ScoutCanDrop(entity){
- if (!get_pcvar_num(g_cvars[ENABLED]) ||!get_pcvar_num(g_cvars[SCOUTDROP]))
- return HAM_IGNORED;
- return HAM_SUPERCEDE;
- }
- public fw_M3CanDrop(entity){
- if (!get_pcvar_num(g_cvars[ENABLED]) ||!get_pcvar_num(g_cvars[M3DROP]))
- return HAM_IGNORED;
- return HAM_SUPERCEDE;
- }
- public fw_DeagleCanDrop(entity){
- if (!get_pcvar_num(g_cvars[ENABLED]) ||!get_pcvar_num(g_cvars[DeagleDROP]))
- return HAM_IGNORED;
- return HAM_SUPERCEDE;
- }
- public fw_FIVESEVENDROPCanDrop(entity){
- if (!get_pcvar_num(g_cvars[ENABLED]) ||!get_pcvar_num(g_cvars[FIVESEVENDROP]))
- return HAM_IGNORED;
- return HAM_SUPERCEDE;
- }
- public fw_HamPlayerJump(client){
- if (!get_pcvar_num(g_cvars[ENABLED]) ||!get_pcvar_num(g_cvars[NOSLOWDOWN]))
- return HAM_IGNORED;
- if (is_user_alive(client))
- set_pev(client,pev_fuser2,0.0);
- return HAM_IGNORED;
- }
- ////////////////
- /// Events /////
- ////////////////
- public ActionEvent(event){
- g_round = 0;
- EventStarted = true;
- ExecuteForward(fwd_event,fwd_return,g_event);
- static players[32],pnum;
- get_players(players,pnum,"aceh","TERRORIST");
- switch(g_event)
- {
- case EVENT_KNIFE:
- {
- for (new i; i < pnum; i++)
- {
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_knife");
- }
- }
- case EVENT_AWP:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"AWP EVENT HAS BEEN STARTED");
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_awp");
- cs_set_user_bpammo(players[i],CSW_AWP,256);
- }
- }
- case EVENT_MINIGUN:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"MINIGUN EVENT HAS BEEN STARTED");
- CreateFog(random( 256 ), random( 256 ), random( 256 ),FOG_HIGH);
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_m249");
- cs_set_user_bpammo(players[i],CSW_M249,2562);
- }
- }
- case EVENT_KNIFESMOKE:
- {
- for (new i; i < pnum; i++)
- {
- set_dhudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.10,0,6.0,0.5,0.25,0.25);
- show_dhudmessage(0,"HE EVENT HAS BEEN STARTED");
- fm_strip_user_weapons(players[i]);
- fm_give_item(players[i],"weapon_hegrenade");
- cs_set_user_bpammo(players[i],CSW_HEGRENADE,2562);
- }
- }
- }
- set_task(4.0,"Infect_RandomPlayer");
- }
- //////////////////
- /// Game Start ///
- //////////////////
- public Start_Game(){
- new client = get_randomplayer();
- GameStarted = true;
- last_two();
- if (client != -1 && get_playersnum() > 2)
- {
- g_round++;
- if (g_round == 6)
- ColorChat(0,"^3Random Event^1 will start next round!");
- }
- if (g_round == 7 && !g_lasttwo && get_playersnum() > 2)
- {
- ActionEvent(0);
- return;
- }
- infect_player(client,1);
- }
- public PreparePlayer(client){
- fm_strip_user_weapons(client);
- fm_set_user_health(client,100);
- give_item(client,"weapon_knife");
- give_item(client,"weapon_scout");
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- if(playerlevel[client] >= 0) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 0);
- if(playerlevel[client] >= 1) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 1);
- if(playerlevel[client] >= 2) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 2);
- if(playerlevel[client] >= 3) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 3);
- if(playerlevel[client] >= 4) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 4);
- if(playerlevel[client] >= 5) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 5);
- if(playerlevel[client] >= 6) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 6);
- if(playerlevel[client] >= 7) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 7);
- if(playerlevel[client] >= 8) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 8);
- if(playerlevel[client] >= 9) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 9);
- if(playerlevel[client] >= 10) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 10);
- if(playerlevel[client] >= 11) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 11);
- if(playerlevel[client] >= 12) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 12);
- if(playerlevel[client] >= 13) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 13);
- if(playerlevel[client] >= 14) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 14);
- if(playerlevel[client] >= 15) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 15);
- if(playerlevel[client] >= 16) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 16);
- if(playerlevel[client] >= 17) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 17);
- if(playerlevel[client] >= 18) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 18);
- if(playerlevel[client] >= 19) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 19);
- if(playerlevel[client] >= 20) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 20);
- if(playerlevel[client] >= 21) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 21);
- if(playerlevel[client] >= 22) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 22);
- if(playerlevel[client] >= 23) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 23);
- if(playerlevel[client] >= 24) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 24);
- if(playerlevel[client] >= 25) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 25);
- if(playerlevel[client] >= 26) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 26);
- if(playerlevel[client] >= 27) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 27);
- if(playerlevel[client] >= 28) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 28);
- if(playerlevel[client] >= 29) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 29);
- if(playerlevel[client] >= 30) give_item(client, "weapon_scout"), cs_set_user_bpammo(client, CSW_SCOUT, 30);
- if( Reset[client] >= 1 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_user_bpammo(client, CSW_FLASHBANG, 2);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- }
- if( Reset[client] >= 2 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_user_bpammo(client, CSW_FLASHBANG, 2);
- cs_set_user_bpammo(client, CSW_SMOKEGRENADE, 2);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- }
- if( Reset[client] >= 3 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_user_bpammo(client, CSW_FLASHBANG, 2);
- cs_set_user_bpammo(client, CSW_HEGRENADE, 2);
- cs_set_user_bpammo(client, CSW_SMOKEGRENADE, 2);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- cs_set_weapon_ammo(give_item(client, "weapon_deagle"), 2);
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- }
- if( Reset[client] >= 4 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_user_bpammo(client, CSW_FLASHBANG, 3);
- cs_set_user_bpammo(client, CSW_HEGRENADE, 2);
- cs_set_user_bpammo(client, CSW_SMOKEGRENADE, 2);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- cs_set_weapon_ammo(give_item(client, "weapon_m3"), 2);
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- }
- if( Reset[client] >= 5 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_user_bpammo(client, CSW_FLASHBANG, 4);
- cs_set_user_bpammo(client, CSW_HEGRENADE, 2);
- cs_set_user_bpammo(client, CSW_SMOKEGRENADE, 2);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- cs_set_weapon_ammo(give_item(client, "weapon_m4a1"), 2);
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- }
- if( Reset[client] >= 6 )
- {
- strip_user_weapons( client );
- cs_set_weapon_ammo(give_item(client, "weapon_scout"), 10);
- cs_set_weapon_ammo(give_item(client, "weapon_knife"), 1);
- client_cmd(client,"eTsClientMode");
- fm_give_item(client,"weapon_hegrenade");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_flashbang");
- fm_give_item(client,"weapon_smokegrenade");
- }
- if (pev(client,pev_weapons) & (1<<CSW_C4))
- engclient_cmd(client,"drop","weapon_c4");
- cs_reset_user_model(client);
- }
- public infect_player(client,rnd)
- {
- if (!GameStarted || g_winner)
- return;
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- infected = client;
- if(!is_user_alive(infected))
- {
- set_hudmessage( 0, 85, 255, -2.0, 0.35, 1, 1.0, 5.0, 0.1, 0.1, -1 );
- show_hudmessage(0, "Trying again in 10 seconds");
- ColorChat(0,"^3Error: ^1there are not enough players. reconnecting in^3 10 ^1seconds.");
- GameStarted = false;
- set_task(10.0,"Event_RoundStart",GAMESTART_TASKID);
- return;
- }
- ExecuteForward(fwd_infected,fwd_return,infected);
- do_effect(infected,1);
- make_user_statusicon(infected,"dmg_bio",.status = STATUSICON_FLASH);
- MakeSickness();
- if(playerlevel[client] >= 0) cs_set_user_model(infected,"AlienAngel");
- if(playerlevel[client] >= 20) cs_set_user_model(infected,"AlienAngel");
- if(playerlevel[client] >= 35) cs_set_user_model(infected,"AlienAngel");
- if(playerlevel[client] >= 45) cs_set_user_model(infected,"AlienAngel");
- if(get_user_flags(client) & ADMIN_LEVEL_C) cs_set_user_model(infected,"AlienAngel");
- if(get_user_flags(client) & ADMIN_IMMUNITY) cs_set_user_model(infected,"AlienAngel");
- //fm_set_user_rendering( infected, kRenderFxGlowShell,255,255,255);
- if (rnd)
- {
- set_dhudmessage( random( 256 ), random( 256 ), random( 256 ),-1.0,-1.0,0,6.0,10.0);
- ColorChat(0,"^3%s^1 randomly ^4selected^1 to be ^3infected!",get_player_name(client));
- do_effect(infected,0);
- g_timer = 20.0;
- set_task(0.1,"ShowTimer",TIMER_TASKID,.flags="b");
- set_task(3.0,"TikTok",SOUNDS_TASKID);
- set_task(13.0,"Trrrrr",SOUNDS_TASKID);
- }
- }
- public TikTok() client_cmd(0,"mp3 play sound/eTs/items/alarm-thriller.mp3");
- public Trrrrr() client_cmd(0,"mp3 play sound/eTs/items/Clock.mp3");
- public Infect_RandomPlayer(){
- if (!GameStarted || is_user_alive(infected))
- return;
- new rnd = get_randomplayer();
- infect_player(rnd,1);
- }
- public ShowTimer(taskid,client,player){
- if (!GameStarted)
- {
- remove_task(TIMER_TASKID);
- return;
- }
- if (!is_user_connected(infected))
- {
- remove_task(TIMER_TASKID);
- set_task(4.0,"Infect_RandomPlayer");
- return;
- }
- if (g_timer < 0.1)
- {
- make_user_statusicon(infected,"dmg_bio",.status = STATUSICON_OFF);
- if (g_lasthit)
- {
- make_deathmsg(g_lasthit,infected,0,"");
- user_silentkill(infected);
- g_lasthit = 0;
- }
- else
- user_kill(infected,1);
- set_task(4.0,"Infect_RandomPlayer");
- remove_task(TIMER_TASKID);
- return;
- }
- set_dhudmessage(255, 85, 85,-1.0,0.68,1,0.0,0.12,0.0,0.0);
- show_dhudmessage(0,"Time Left: %.1f Seconds!",g_timer);
- set_hudmessage(random_num(1, 255),random_num(1, 255),random_num(1, 255),-1.0,0.71,1,0.0,0.12,0.0,0.0);
- show_hudmessage(0,"^n^"%s^" is infected",get_player_name(infected));
- g_timer-=0.1;
- }
- public WinnerBeam1(index)
- {
- new Float:Origin[ 3 ];
- entity_get_vector( index, EV_VEC_origin, Origin );
- engfunc( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin, 0);
- write_byte( TE_SPRITETRAIL );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] + 10 );
- write_short( WinnerBeamspr3 );
- write_byte( 30 ); /* Count ( Number Of "Entities" ) */
- write_byte( 40 ); /* Life Time */
- write_byte( 2 ); /* Scale Size */
- write_byte( 55 ); /* Velocity Along Vector */
- write_byte( 50 ); /* Rendomness of Velocity */
- message_end( );
- entity_get_vector( index, EV_VEC_origin, Origin );
- engfunc( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin, 0);
- write_byte( TE_SPRITETRAIL );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] + 30 );
- write_short( WinnerBeamspr2 );
- write_byte( 25 ); /* Count ( Number Of "Entities" ) */
- write_byte( 40 ); /* Life Time */
- write_byte( 2 ); /* Scale Size */
- write_byte( 55 ); /* Velocity Along Vector */
- write_byte( 40 ); /* Rendomness of Velocity */
- message_end( );
- engfunc( EngFunc_MessageBegin, MSG_PVS, SVC_TEMPENTITY, Origin, 0);
- write_byte( TE_SPRITETRAIL );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 0 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 1 ] );
- engfunc( EngFunc_WriteCoord, Origin[ 2 ] + 30 );
- write_short( WinnerBeamspr );
- write_byte( 20 ); /* Count ( Number Of "Entities" ) */
- write_byte( 30 ); /* Life Time */
- write_byte( 2 ); /* Scale Size */
- write_byte( 45 ); /* Velocity Along Vector */
- write_byte( 40 ); /* Rendomness of Velocity */
- message_end( );
- }
- public check_winner(){
- if (!get_pcvar_num(g_cvars[ENABLED]))
- return;
- static players[32],pnum;
- get_players(players,pnum,"aceh","TERRORIST");
- remove_task(TIMER_TASKID);
- remove_task(SOUNDS_TASKID);
- if (pnum == 1)
- {
- g_winner = players[0];
- ExecuteForward(fwd_win,fwd_return,g_winner);
- fm_set_lights("b");
- set_task(0.21,"WinnerBeam1",g_winner,.flags="b");
- set_task(15.0,"RestartGame");
- dance(g_winner);
- dance(g_winner);
- set_dhudmessage(0, 170, 255,-1.0,0.71,2,6.0,20.0);
- show_dhudmessage(0,"The winner is %s!",get_player_name(g_winner));
- new cash = (2 * get_playersnum());
- new xp = (10 * get_playersnum());
- if (EventStarted)
- {
- cash*=2;
- xp*=2;
- }
- playerxp[g_winner]+=cash;
- playercash[g_winner]+=cash;
- g_wins[g_winner]++;
- ColorChat(0,"Congratulations! The ^3winner^1%s is ^4%s^1!",(EventStarted ? " of the event":""),get_player_name(g_winner));
- ColorChat(0,"^3%s^1 won in ^4%i ^3xp^1 and ^4%i ^3cash^1 for winning the %s!",get_player_name(g_winner),cash,xp,(EventStarted ? "event":"game"));
- check_level(g_winner);
- client_cmd(0,"mp3 play sound/%s",g_winsounds[random(MAX_WIN_SOUNDS)]);
- set_task(15.0,"RestartGame");
- Event_RoundEnd();
- GameStarted = true;
- return;
- }
- set_task(4.0,"Infect_RandomPlayer");
- }
- public last_two(){
- static players[32],pnum;
- get_players(players,pnum,"aceh","TERRORIST");
- if (pnum == 2)
- g_lasttwo = true;
- }
- public RestartGame(){
- GameStarted = false;
- server_cmd("sv_restart 1");
- server_cmd("sv_restart 1");
- }
- public SaveData(id){
- if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
- return;
- new SteamID[35];
- get_user_authid(id,SteamID,34);
- if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
- get_user_ip(id,SteamID,34,1);
- new szData[40];
- g_totalrounds[id]+=g_rounds[id];
- g_totalwins[id]+=g_wins[id];
- formatex(szData,charsmax(szData),"%d %d %d %d %d %d",g_totalrounds[id],g_totalwins[id],playerlevel[id],playerxp[id],playercash[id], Reset[id]);
- fvault_set_data(g_szVault,SteamID,szData);
- }
- public LoadData(id){
- if (!is_user_connected(id) || is_user_bot(id) || is_user_hltv(id))
- return;
- new SteamID[35];
- get_user_authid(id, SteamID, 34);
- if(contain(SteamID,"_ID_LAN") != -1 || contain(SteamID,"STEAM_0:4") != -1 || contain(SteamID,"VALVE") != -1 || equali(SteamID,"STEAM_666:88:666"))
- get_user_ip(id,SteamID,34,1);
- new szData[40],szRounds[8],szWins[8],szLevel[8],szXp[8],szCash[8],szReset[8];
- if(fvault_get_data(g_szVault,SteamID,szData,charsmax(szData)))
- {
- parse(szData,szRounds,charsmax(szRounds),szWins,charsmax(szWins),szLevel,charsmax(szLevel),szXp,charsmax(szXp),szCash,charsmax(szCash), szReset, charsmax(szReset));
- g_totalrounds[id] = str_to_num(szRounds);
- g_totalwins[id] = str_to_num(szWins);
- playerlevel[id] = str_to_num(szLevel);
- playerxp[id] = str_to_num(szXp);
- playercash[id] = str_to_num(szCash);
- Reset[id] = str_to_num(szReset);
- }
- else
- {
- g_totalrounds[id] = 0;
- g_totalwins[id] = 0;
- playerlevel[id] = 0;
- playerxp[id] = 0;
- playercash[id] = 0;
- Reset[id] = 0;
- }
- g_wins[id] = 0;
- g_rounds[id] = 0;
- }
- //////////////
- /// Stocks ///
- //////////////
- stock get_randomplayer(){
- static players[32],pnum;
- get_players(players,pnum,"aceh","TERRORIST");
- if (pnum < 2)
- return -1;
- return players[random(pnum)];
- }
- stock get_player_name(client){
- static szName[32];
- get_user_name(client,szName,31);
- return szName;
- }
- stock RemoveEntityAll(name[]){
- new ent = engfunc(EngFunc_FindEntityByString,0,"classname",name);
- new temp;
- while (ent)
- {
- temp = engfunc(EngFunc_FindEntityByString,ent,"classname",name);
- engfunc(EngFunc_RemoveEntity, ent);
- ent = temp;
- }
- log_amx("DEBUG: Entity ^"%s^" was removed from the map",name);
- }
- stock do_effect(index,type){
- static origin[3], srco[3];
- get_user_origin(index,origin);
- origin[2] -= 26;
- srco[0] = origin[0] + 150;
- srco[1] = origin[1] + 150;
- srco[2] = origin[2] + 400;
- switch(type)
- {
- case 0:
- {
- create_lightning(srco,origin);
- emit_sound(index,CHAN_ITEM,"ambience/thunder_clap.wav",1.0,ATTN_NORM,0,PITCH_NORM);
- }
- case 1: create_EarthQuake(index);
- }
- }
- stock check_level(client){
- if (!is_user_connected(client) || !get_pcvar_num(g_cvars[ENABLED]) || !get_pcvar_num(g_cvars[LEVELSYS]))
- return;
- if (playerlevel[client] == MAX_LEVELS)
- return;
- while (playerxp[client] > str_to_num(xps[playerlevel[client]]))
- {
- playerlevel[client]++;
- ColorChat(client,"Congratulations! You'r have level up! You'r new level is: ^4%i^1",playerlevel[client]);
- ColorChat(0,"^3%s^1 has level up to level ^4%i^1!",get_player_name(client),playerlevel[client]);
- }
- }
- stock fm_set_lights(const lights[])
- engfunc(EngFunc_LightStyle,0,lights);
- stock bool:check_cash(client,amount)
- return (playercash[client] > amount ? true:false);
- stock MakeSickness(){
- static Origin[3];
- get_user_origin(infected,Origin);
- message_begin(MSG_PVS,SVC_TEMPENTITY,Origin);
- write_byte(TE_IMPLOSION);
- write_coord(Origin[0]);
- write_coord(Origin[1]);
- write_coord(Origin[2]);
- write_byte(128);
- write_byte(20);
- write_byte(3);
- message_end();
- }
- stock create_lightning(vec1[3],vec2[3]){
- //Lightning
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY);
- write_byte(0);
- write_coord(vec1[0]);
- write_coord(vec1[1]);
- write_coord(vec1[2]);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- write_short(light);
- write_byte(1); // framestart
- write_byte(5);// framerate
- write_byte(2); // life
- write_byte(20); // width
- write_byte(30);// noise
- write_byte(200); // r, g, b
- write_byte(200); // r, g, b
- write_byte(200); // r, g, b
- write_byte(200); // brightness
- write_byte(200); // speed
- message_end();
- //Sparks
- message_begin(MSG_PVS,SVC_TEMPENTITY,vec2);
- write_byte(9);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- message_end();
- //Smoke
- message_begin(MSG_BROADCAST,SVC_TEMPENTITY,vec2);
- write_byte(5);
- write_coord(vec2[0]);
- write_coord(vec2[1]);
- write_coord(vec2[2]);
- write_short(smoke);
- write_byte(10);
- write_byte(10);
- message_end();
- }
- stock create_EarthQuake(index){
- static msgScreenShake;
- if (!msgScreenShake)
- msgScreenShake = get_user_msgid("ScreenShake");
- message_begin(MSG_ONE,msgScreenShake,{0,0,0},index);
- write_short(255<<14); //ammount
- write_short(10<<14); //lasts this long
- write_short(255<<14); //frequency
- message_end();
- }
- ////////////////////////////////////////////
- /// Thanks to Arkshine for this stock =] ///
- ////////////////////////////////////////////
- public CmdLoad(id)
- {
- new sztData[ 100 ], szAuth[ 60 ];
- formatex(szAuth,charsmax(szAuth),"%s",GetAuth(id));
- if( !( fvault_get_data( szVault, szAuth, sztData, charsmax( sztData ) ) ) )
- {
- g_LevelBooster[ id ] = 0;
- }
- else
- {
- new gemsstr[ 5 ];
- parse( sztData, gemsstr, charsmax( gemsstr ));
- g_LevelBooster[ id ] = str_to_num( gemsstr );
- }
- if( !( fvault_get_data( szVault1, szAuth, sztData, charsmax( sztData ) ) ) )
- {
- g_MimiLevelBooster[ id ] = 0;
- }
- else
- {
- new gemsstr[ 5 ];
- parse( sztData, gemsstr, charsmax( gemsstr ));
- g_MimiLevelBooster[ id ] = str_to_num( gemsstr );
- }
- }
- stock CreateFog(iRed = 127,iGreen = 127,iBlue = 127,iDensity = 7){
- static msgFog;
- if (!msgFog)
- msgFog = get_user_msgid("Fog");
- // Fog density offsets [Thnx to DA]
- new const fog_density[] = { 0, 0, 0, 0, 111, 18, 3, 58, 111, 18, 125, 58, 66, 96, 27, 59, 90, 101, 60, 59, 90,
- 101, 68, 59, 10, 41, 95, 59, 111, 18, 125, 59, 111, 18, 3, 60, 68, 116, 19, 60 };
- // Get the amount of density
- new dens;
- dens = (4 * iDensity);
- // The fog message
- message_begin(MSG_BROADCAST,msgFog,{0,0,0},0);
- write_byte(iRed); // Red
- write_byte(iGreen); // Green
- write_byte(iBlue); // Blue
- write_byte(fog_density[dens]); // SD
- write_byte(fog_density[dens + 1]); // ED
- write_byte(fog_density[dens + 2]); // D1
- write_byte(fog_density[dens + 3]); // D2
- message_end();
- }
- stock blind_player(index){
- message_begin(MSG_ONE,g_msgScreenFade,.player = index);
- write_short(1<<15);
- write_short(1<<10);
- write_short(1<<12);
- write_byte(0); // Red
- write_byte(0); // Green
- write_byte(0); // Blue
- write_byte(255); // Alpha
- message_end();
- }
- stock make_user_statusicon(index, const spr[], r = 0, g = 255, b = 255, status = STATUSICON_ON){
- static iconstatus;
- if (!iconstatus)
- iconstatus = get_user_msgid("StatusIcon");
- message_begin((index ? MSG_ONE:MSG_ALL),iconstatus,.player = index);
- write_byte(status); // status (0=hide, 1=show, 2=flash)
- write_string(spr); // sprite name
- write_byte(r); // red
- write_byte(g); // green
- write_byte(b); // blue
- message_end();
- }
- stock szName( const index )
- {
- static mName[ 32 ];
- get_user_name( index, mName, charsmax( mName ) );
- return mName;
- }
- stock GetUserName( client )
- {
- new szName[ 33 ];
- get_user_name( client, szName, charsmax( szName ) );
- return szName;
- }
- stock get_user_booster( const index )
- return g_LevelBooster[index];
- stock set_user_booster( const index, Bosterr )
- {
- if ( !is_user_connected( index ) )
- return 1;
- if ( Bosterr < 0 )
- Bosterr = 0;
- g_LevelBooster[ index ] = Bosterr;
- CmdSave( index );
- return 1;
- }
- public CmdSave(id)
- {
- new szData[ 100 ],szAuth[ 60 ];
- formatex(szAuth,charsmax(szAuth),"%s",GetAuth(id));
- formatex( szData, charsmax( szData ), "%d", g_LevelBooster[ id ]);
- fvault_set_data( szVault,szAuth, szData );
- formatex( szData, charsmax( szData ), "%d", g_LevelBooster[ id ]);
- fvault_set_data( szVault1,szAuth, szData );
- return 1;
- }
- stock GetAuth( id )
- {
- static szAuth[ 60 ];
- get_user_authid( id, szAuth, charsmax( szAuth ) );
- if( contain( szAuth, "VALVE_" ) != -1 || contain( szAuth, "ID_LAN" ) != -1 )
- get_user_ip( id, szAuth, charsmax( szAuth ), 1 );
- return szAuth;
- }
- stock GetUserAuth( index )
- {
- new iAuth[ 35 ];
- get_user_authid( index, iAuth, sizeof iAuth -1 );
- return iAuth;
- }
- stock ColorChat(const id,const string[],any:...){
- new msg[191], players[32], count = 1;
- static len; len = formatex(msg,charsmax(msg),"^3[^1eTs^3]^1 ");
- vformat(msg[len],charsmax(msg) - len,string,3);
- static msgSayText;
- if (!msgSayText)
- msgSayText = get_user_msgid("SayText");
- if(id) players[0] = id;
- else get_players(players,count,"ch");
- for (new i = 0; i < count; i++)
- {
- if(is_user_connected(players[i]))
- {
- message_begin(MSG_ONE_UNRELIABLE,msgSayText,.player = players[i]);
- write_byte(players[i]); // Sender ID
- write_string(msg); // String 1
- message_end();
- }
- }
- }
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ fbidis\\ ansi\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
- */
- /* AMXX-Studio Notes - DO NOT MODIFY BELOW HERE
- *{\\ rtf1\\ fbidis\\ ansi\\ ansicpg1252\\ deff0{\\ fonttbl{\\ f0\\ fnil\\ fcharset0 Tahoma;}}\n\\ viewkind4\\ uc1\\ pard\\ ltrpar\\ lang1037\\ f0\\ fs16 \n\\ par }
- */
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement