//****************************************// // 4HM's Gun Game MOD // // v3.0.10 Optimized by Mattie // // www.cagemonkey.org // // www.4hm.net // // 4honor.net // //****************************************// block load { // Gun Game Admin STEAM_ID // Set this to the steam id of the person that can reset the scores. // If they say !reset, all Gun Game scores will reset. es_xsetinfo gg_admin "STEAM_0:0:796294" // *********************************************************** // There are several variables in the event es_map_start block // that need to be edited to setup the Gun Game. // Other than that, this is the only block you should // ever edit UNLESS YOU KNOW WHAT YOU ARE DOING!! // *********************************************************** // Weapon List // Your choices are: // glock //usp // p228 //deagle // fiveseven //elite // m3 //xm1014 // tmp //mac10 // mp5navy //ump45 // p90 //p90 // famas //ak47 // scout //m4a1 // sg550 //g3sg1 // awp //sg552 // aug //m249 // hegrenade //knife // Pick which ones you want and put them in order with level 1 being first in the list then level 2, etc. // You can repeat weapons if you like, just make sure that the knife level is last. (only one knife level is allowed) // Separate each weapon with a comma ',' NO SPACES!! es_xsetinfo gg_weapon_order "glock,usp,p228,deagle,fiveseven,elite,m3,xm1014,tmp,mac10,mp5navy,ump45,p90,galil,famas,ak47,scout,m4a1,sg552,aug,m249,hegrenade,knife" // Worldspawn deaths (falling) count as suicides 0=no, 1=yes es_xsetinfo worldspawn_suicide 1 // Give level for planting/defusing 0=no, 1=yes es_xsetinfo bomb_defuse_lvl 1 // Turn GG handicap 0=off, 1=on // Gives joining players the avg level of all other players when they join late. // If you're in the top5, you do not get this handicap even if it is turned on. es_xsetinfo gg_handicap_on 1 // Turn Knife Pro level stealing on/off es_xsetinfo gg_knife_pro 1 // Sound files // Put the exact file name here preceded with "gungame/" Make sure there are no spaces in it. // Rename the file if you have to remove any spaces in the name. // Make sure you put the filenames in your mani downloads.txt file, also. // Put your sounds in the cstrike/sound/gungame directory es_xsetinfo gg_sound_levelup "gungame/smb3_powerup.wav" es_xsetinfo gg_sound_leveldown "gungame/smb3_powerdown.wav" // The triple level sound must be exactly 10 seconds long to work correctly with the Gun Game code es_xsetinfo gg_sound_triple "gungame/smb_star.mp3" // default winner sound is "music\HL2_song15.mp3" es_xsetinfo gg_sound_winner "music\HL2_song15.mp3" // ############ DO NOT EDIT BELOW THIS LINE ############ // Create weapon list es_xsetinfo gg_tmp_weapon 0 es_xsetinfo gg_levels 0 es_token gg_levels server_var(gg_weapon_order) 0 , es_xkeygroupdelete gg_weapons es_xkeygroupcreate gg_weapons es_setinfo gg_level_counter server_var(gg_levels) if (server_var(gg_levels) > 0) then es_xdoblock gungame3/create_weapon_list // Public cvar announcing server runs Gun Game es_xsetinfo eventscripts_gg "Gun Game v3.0.10 -- http://www.4hm.net" es_makepublic eventscripts_gg // gg_winners open flag es_xsetinfo win_db_open 0 es_xsetinfo read_write 0 // Level variables // used to calc current leader es_xsetinfo ldr_level 0 // afk database es_xkeygroupdelete afk_db es_xkeygroupcreate afk_db // level db for reconnecting players es_xkeygroupdelete lvl_db es_xkeygroupcreate lvl_db // gg_players database es_xkeygroupdelete gg_players es_xkeygroupcreate gg_players // gg_top5 database es_xkeygroupdelete gg_top5 es_xkeygroupcreate gg_top5 es_xkeygroupload gg_top5 es_xsetinfo top5_check 0 es_xsetinfo top5_counter 1 es_xkeygetvalue top5_check gg_top5 5 steam if (server_var(top5_check) == 0) then es_xdoblock gungame3/create_top5 // Add players already playing to the databases es_createplayerlist gg_player_list es_foreachkey key_x in gg_player_list "es_xdoblock gungame3/player_setup" // generate ammo clip info es_xkeydelete gg_ammo_props es_xkeydelete gg_ammo_count es_xkeycreate gg_ammo_props es_xkeycreate gg_ammo_count es_xkeysetvalue gg_ammo_props "weapon_glock" "CCSPlayer.baseclass.localdata.m_iAmmo.006" es_xkeysetvalue gg_ammo_count "weapon_glock" 200 es_xkeysetvalue gg_ammo_props "weapon_usp" "CCSPlayer.baseclass.localdata.m_iAmmo.008" es_xkeysetvalue gg_ammo_count "weapon_usp" 200 es_xkeysetvalue gg_ammo_props "weapon_p228" "CCSPlayer.baseclass.localdata.m_iAmmo.009" es_xkeysetvalue gg_ammo_count "weapon_p228" 200 es_xkeysetvalue gg_ammo_props "weapon_deagle" "CCSPlayer.baseclass.localdata.m_iAmmo.001" es_xkeysetvalue gg_ammo_count "weapon_deagle" 200 es_xkeysetvalue gg_ammo_props "weapon_fiveseven" "CCSPlayer.baseclass.localdata.m_iAmmo.010" es_xkeysetvalue gg_ammo_count "weapon_fiveseven" 200 es_xkeysetvalue gg_ammo_props "weapon_elite" "CCSPlayer.baseclass.localdata.m_iAmmo.006" es_xkeysetvalue gg_ammo_count "weapon_elite" 200 es_xkeysetvalue gg_ammo_props "weapon_m3" "CCSPlayer.baseclass.localdata.m_iAmmo.007" es_xkeysetvalue gg_ammo_count "weapon_m3" 200 es_xkeysetvalue gg_ammo_props "weapon_xm1014" "CCSPlayer.baseclass.localdata.m_iAmmo.007" es_xkeysetvalue gg_ammo_count "weapon_xm1014" 200 es_xkeysetvalue gg_ammo_props "weapon_tmp" "CCSPlayer.baseclass.localdata.m_iAmmo.006" es_xkeysetvalue gg_ammo_count "weapon_tmp" 200 es_xkeysetvalue gg_ammo_props "weapon_mac10" "CCSPlayer.baseclass.localdata.m_iAmmo.008" es_xkeysetvalue gg_ammo_count "weapon_mac10" 200 es_xkeysetvalue gg_ammo_props "weapon_mp5navy" "CCSPlayer.baseclass.localdata.m_iAmmo.006" es_xkeysetvalue gg_ammo_count "weapon_mp5navy" 200 es_xkeysetvalue gg_ammo_props "weapon_ump45" "CCSPlayer.baseclass.localdata.m_iAmmo.008" es_xkeysetvalue gg_ammo_count "weapon_ump45" 200 es_xkeysetvalue gg_ammo_props "weapon_p90" "CCSPlayer.baseclass.localdata.m_iAmmo.010" es_xkeysetvalue gg_ammo_count "weapon_p90" 200 es_xkeysetvalue gg_ammo_props "weapon_galil" "CCSPlayer.baseclass.localdata.m_iAmmo.003" es_xkeysetvalue gg_ammo_count "weapon_galil" 200 es_xkeysetvalue gg_ammo_props "weapon_famas" "CCSPlayer.baseclass.localdata.m_iAmmo.003" es_xkeysetvalue gg_ammo_count "weapon_famas" 200 es_xkeysetvalue gg_ammo_props "weapon_ak47" "CCSPlayer.baseclass.localdata.m_iAmmo.002" es_xkeysetvalue gg_ammo_count "weapon_ak47" 200 es_xkeysetvalue gg_ammo_props "weapon_scout" "CCSPlayer.baseclass.localdata.m_iAmmo.002" es_xkeysetvalue gg_ammo_count "weapon_scout" 200 es_xkeysetvalue gg_ammo_props "weapon_m4a1" "CCSPlayer.baseclass.localdata.m_iAmmo.003" es_xkeysetvalue gg_ammo_count "weapon_m4a1" 200 es_xkeysetvalue gg_ammo_props "weapon_sg552" "CCSPlayer.baseclass.localdata.m_iAmmo.003" es_xkeysetvalue gg_ammo_count "weapon_sg552" 200 es_xkeysetvalue gg_ammo_props "weapon_aug" "CCSPlayer.baseclass.localdata.m_iAmmo.002" es_xkeysetvalue gg_ammo_count "weapon_aug" 200 es_xkeysetvalue gg_ammo_props "weapon_awp" "CCSPlayer.baseclass.localdata.m_iAmmo.005" es_xkeysetvalue gg_ammo_count "weapon_awp" 0 es_xkeysetvalue gg_ammo_props "weapon_g3sg1" "CCSPlayer.baseclass.localdata.m_iAmmo.002" es_xkeysetvalue gg_ammo_count "weapon_g3sg1" 0 es_xkeysetvalue gg_ammo_props "weapon_sg550" "CCSPlayer.baseclass.localdata.m_iAmmo.003" es_xkeysetvalue gg_ammo_count "weapon_sg550" 0 es_xkeysetvalue gg_ammo_props "weapon_m249" "CCSPlayer.baseclass.localdata.m_iAmmo.004" es_xkeysetvalue gg_ammo_count "weapon_m249" 200 // init ammo variables es_xsetinfo gg_ammoname 0 es_xsetinfo gg_ammonum 0 } block player_setup { // enable player console so they can read rules, score, etc. es_cexec event_var(userid) con_enable 1 ///////////////////////////////////// // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es_xkeygroupcreate gg_winners es_xkeygroupload gg_winners es_xsetinfo win_db_open 1 } es_xmath read_write + 1 /////////////////////// // gg_winners actions / /////////////////////// // // Variables es_xsetinfo p_level 0 es_xsetinfo s_wins 0 es_xsetinfo gg_bot_victim 0 es_keygetvalue gg_bot_victim gg_player_list server_var(key_x) isbot es_xsetinfo gg_tmp_steam es_keygetvalue gg_tmp_steam gg_player_list server_var(key_x) steamid es_xsetinfo gg_tmp_name es_keygetvalue gg_tmp_name gg_player_list server_var(key_x) name es_xsetinfo gg_tmp_userid es_getuserid gg_tmp_userid server_var(gg_tmp_steam) // Check to see if player is already in the gg_players db if (server_var(gg_bot_victim) == 0) do { es_keygetvalue p_level gg_players server_var(gg_tmp_steam) level } // Setup new player in gg_players db if (server_var(gg_bot_victim) == 1) do { es_keycreate gg_players server_var(gg_tmp_name) es_keysetvalue gg_players server_var(gg_tmp_name) name server_var(gg_tmp_name) es_keysetvalue gg_players server_var(gg_tmp_name) level 1 } else do { if (server_var(p_level) == 0) do { es_keycreate gg_players server_var(gg_tmp_steam) es_keysetvalue gg_players server_var(gg_tmp_steam) name server_var(gg_tmp_name) es_keysetvalue gg_players server_var(gg_tmp_steam) level 1 } // Bring over user wins from gg_winners es_keygetvalue s_wins gg_winners server_var(gg_tmp_steam) wins es_keysetvalue gg_players server_var(gg_tmp_steam) wins server_var(s_wins) // Save and close gg_winners es_xmath read_write - 1 if (server_var(read_write) == 0) do { if (server_var(win_db_open) == 1) do { es_xkeygroupsave gg_winners es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } //gg_winners closed ////////////////////////////////////////// // add player to afk_db es_keydelete afk_db server_var(gg_tmp_userid) es_keycreate afk_db server_var(gg_tmp_userid) // Player join message & gungame sound es_tell server_var(gg_tmp_userid) #green server_var(gg_tmp_name) server_var(gg_tmp_steam) added to database. } } event es_map_start { // ############# EDIT THESE VALUES ############# // Warmup timer 0=off, x=number of seconds to warmup before restart es_xsetinfo gg_warmup_timer 60 // Used to start random votemap when someone reaches knife level 1=on, 0=off // This requires mani's admin plugin to work es_xsetinfo gg_vote 1 // Gun Game map presets // It is recommended that you leave these settings alone, especially winlimit and chattime. alias gg_map_setup "es mp_timelimit 45; es mp_winlimit 0; es sv_alltalk 0; es mp_chattime 10; es mp_c4timer 25" es_delayed 2 gg_map_setup // ##################################### // DO NOT EDIT ANYTHING BELOW THIS LINE // UNLESS YOU KNOW WHAT YOU ARE DOING // ##################################### // afk database es_xkeygroupdelete afk_db es_xkeygroupcreate afk_db // level db for reconnecting players es_xkeygroupdelete lvl_db es_xkeygroupcreate lvl_db // gg_players database es_xkeygroupdelete gg_players es_xkeygroupcreate gg_players alias warmup_countdown "es_xmath gg_warmup_timer - 1; if (server_var(gg_warmup_timer) == 1) then warmup_over; es_centermsg Warmup round: server_var(gg_warmup_timer) seconds left; if (server_var(gg_warmup_timer) > 1) then es_delayed 1 warmup_countdown" alias warmup_over "mp_restartgame 1; es_delayed .90 es_xforeachkey test in gg_players warmup_reset" alias warmup_reset "es_keysetvalue gg_players server_var(test) level 1" if (server_var(gg_warmup_timer) > 0) then warmup_countdown } block create_weapon_list { es_token gg_tmp_weapon server_var(gg_weapon_order) server_var(gg_level_counter) , es_keycreate gg_weapons server_var(gg_level_counter) es_keysetvalue gg_weapons server_var(gg_level_counter) weapon server_var(gg_tmp_weapon) es_xmath gg_level_counter - 1 if (server_var(gg_level_counter) > 0) then es_xdoblock gungame3/create_weapon_list } block create_top5 { es_keycreate gg_top5 server_var(top5_counter) es_keysetvalue gg_top5 server_var(top5_counter) name none es_keysetvalue gg_top5 server_var(top5_counter) wins 0 if (server_var(top5_counter) == 5) do { es_keysetvalue gg_top5 server_var(top5_counter) steam 1 } else do { es_keysetvalue gg_top5 server_var(top5_counter) steam 0 } es_xmath top5_counter + 1 if (server_var(top5_counter) < 6) then es_xdoblock gungame3/create_top5 if (server_var(top5_counter) == 6) then es_xkeygroupsave gg_top5 } event player_activate { // enable player console so they can read rules, score, etc. es_cexec event_var(userid) con_enable 1 ///////////////////////////////////// // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es_xkeygroupcreate gg_winners es_xkeygroupload gg_winners es_xsetinfo win_db_open 1 } es_xmath read_write + 1 /////////////////////// // gg_winners actions / /////////////////////// // // Variables es_xsetinfo p_level 0 es_xsetinfo s_wins 0 es_xsetinfo gg_bot_victim 0 es_isbot gg_bot_victim event_var(userid) // Check to see if player is already in the gg_players db if (server_var(gg_bot_victim) == 0) do { es_keygetvalue p_level gg_players event_var(es_steamid) level } // Setup new player in gg_players db if (server_var(gg_bot_victim) == 1) do { es_keycreate gg_players event_var(es_username) es_keysetvalue gg_players event_var(es_username) name event_var(es_username) es_keysetvalue gg_players event_var(es_username) level 1 } else do { if (server_var(p_level) == 0) do { es_keycreate gg_players event_var(es_steamid) es_keysetvalue gg_players event_var(es_steamid) name event_var(es_username) es_keysetvalue gg_players event_var(es_steamid) level 1 } // Bring over user wins from gg_winners es_keygetvalue s_wins gg_winners event_var(es_steamid) wins es_keysetvalue gg_players event_var(es_steamid) wins server_var(s_wins) // Save and close gg_winners es_xmath read_write - 1 if (server_var(read_write) == 0) do { if (server_var(win_db_open) == 1) do { es_xkeygroupsave gg_winners es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } //gg_winners closed ////////////////////////////////////////// // Player join message & gungame sound es_tell event_var(userid) #green event_var(es_username) event_var(es_steamid) added to database. es_delayed 8 es_xcexec event_var(userid) play gungame\gungame2.wav // add player to afk_db es_keydelete afk_db event_var(userid) es_keycreate afk_db event_var(userid) // If player is reconnecting, give previous level es_xsetinfo p_level 0 es_xsetinfo skip_handicap 0 // Check to see if player has already connected to the current map es_keygetvalue p_level lvl_db event_var(es_steamid) level // If player has already connected, give back player's level upon disconnecting if (server_var(p_level) > 0) do { es_keysetvalue gg_players event_var(es_steamid) level server_var(p_level) es_xsetinfo skip_handicap 1 } // Execute handicap code if (server_var(skip_handicap) == 0) do { if (server_var(gg_handicap_on) == 1) do { es_xdoblock gungame3/gg_handicap } } // Remove player from lvl_db es_keydelete lvl_db event_var(es_steamid) } } event bomb_pickup { es_setinfo bomber event_var(userid) } event player_spawn { //removes weapons es_give event_var(userid) player_weaponstrip es_fire event_var(userid) player_weaponstrip Strip //removes cash es_setplayerprop event_var(userid) CCSPlayer.m_iAccount 0 // have the player initialize es_cexec event_var(userid) !ggstartround } event player_death { // afk_db get player death location es_xsetinfo user_afk 0 es_xsetinfo user_x 0 es_xsetinfo user_y 0 es_xsetinfo user_z 0 es_getplayerlocation user_x user_y user_z event_var(userid) es_xsetinfo dead_x 0 es_xsetinfo dead_y 0 es_keygetvalue dead_x afk_db event_var(userid) x es_keygetvalue dead_y afk_db event_var(userid) y if (server_var(user_x) == server_var(dead_x)) then es_xif (server_var(user_y) == server_var(dead_y)) then es_xsetinfo user_afk 1 // bot settings es_xsetinfo gg_bot_attacker 0 es_xsetinfo gg_bot_victim 0 es_isbot gg_bot_attacker event_var(attacker) es_isbot gg_bot_victim event_var(userid) // Level variables es_xsetinfo p_lvl 0 if (server_var(gg_bot_attacker) == 1) do { es_keygetvalue p_lvl gg_players event_var(es_attackername) level } else do { es_keygetvalue p_lvl gg_players event_var(es_attackersteamid) level } es_xsetinfo p_wpn 0 es_keygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es_xsetinfo jumper_lvl 0 if (server_var(gg_bot_victim) == 1) do { es_keygetvalue jumper_lvl gg_players event_var(es_username) level } else do { es_keygetvalue jumper_lvl gg_players event_var(es_steamid) level } if (event_var(es_userteam) != event_var(es_attackerteam)) do { if (event_var(weapon) == server_var(p_wpn)) do { if (server_var(user_afk) == 0) do { es_xdoblock gungame3/gg_levelup } else do { es ma_msay 5 event_var(attacker) event_var(es_username) was AFK\n Your kill did not count!! es_tell event_var(attacker)#multi #green event_var(es_username)#default was AFK es_tell event_var(attacker) Your kill did not count!! es_keysetvalue afk_db event_var(userid) x 1 es_keysetvalue afk_db event_var(userid) y 1 } } else do { if (event_var(weapon) == "knife") do { if (server_var(gg_knife_pro) == 1) do { if (server_var(user_afk) == 0) do { es_xmath jumper_lvl - 1 if (server_var(jumper_lvl) > 0) do { if (server_var(gg_bot_victim) == 1) do { es_keysetvalue gg_players event_var(es_username) level server_var(jumper_lvl) } else do { es_keysetvalue gg_players event_var(es_steamid) level server_var(jumper_lvl) } } es_msg #green event_var(es_attackername) stole a level from event_var(es_username) es_cexec event_var(userid) play server_var(gg_sound_leveldown) if (server_var(p_wpn) != "hegrenade") then es_xdoblock gungame3/gg_levelup } else do { es ma_msay 5 event_var(attacker) event_var(es_username) was AFK\n Your kill did not count!! es_tell event_var(attacker)#multi #green event_var(es_username)#default was AFK es_tell event_var(attacker) Your kill did not count!! es_keysetvalue afk_db event_var(userid) x 1 es_keysetvalue afk_db event_var(userid) y 1 } } } } } else do { if (server_var(suicide_protect) == 0) do { if (event_var(userid) == event_var(attacker)) do { es_xdoblock gungame3/gg_suicide } } else do { if (server_var(worldspawn_suicide) == 1) do { if (event_var(weapon) == "worldspawn") do { es_xdoblock gungame3/gg_worldspawn } } } } } block gg_awp { // Set awp ammo in clip to 1 es_foreachkey index in all_awps "es_setindexprop server_var(index) CWeaponAWP.baseclass.baseclass.baseclass.LocalWeaponData.m_iClip1 1" es_delayed 2 es_keygroupdelete all_awps } block gg_levelup { if (server_var(p_lvl) == server_var(gg_levels)) do { es_cexec_all play server_var(gg_sound_winner) es_centermsg event_var(es_attackername) won! es_setinfo winner_name event_var(es_attackername) es_setinfo winner_steam event_var(es_attackersteamid) if (server_var(winner_steam) != "BOT") do { es_xdoblock gungame3/gg_winner } // End map es sv_alltalk 1 es_give event_var(userid) game_end es_delayed 2 es_xfire event_var(userid) game_end EndGame es_delayed 4 es_xdoblock gungame3/winner_reset } else do { es_xsetinfo gg_star 0 if (server_var(gg_bot_attacker) == 0) then es_xkeygetvalue gg_star gg_players event_var(es_attackersteamid) triple es_xmath gg_star + 1 if (server_var(gg_star) == 3) do { es_keysetvalue gg_players event_var(es_attackersteamid) triple 0 es_setinfo gg_triple_player event_var(attacker) es_xsetinfo gg_triple_start 10 es_cexec_all play server_var(gg_sound_triple) es_msg #multi #green event_var(es_attackername)#lightgreen triple levelled!!! es_centermsg event_var(es_attackername) triple levelled!!! es_fire event_var(attacker) !self addoutput "rendermode 1" es_fire event_var(attacker) !self alpha 180 es_setplayerprop event_var(attacker) CCSPlayer.baseclass.m_iHealth 100 es_setplayerprop event_var(attacker) CCSPlayer.baseclass.localdata.m_flLaggedMovementValue 2.0 es_fire event_var(attacker) !self color "0 0 255" es_xdoblock gungame3/gg_triple_star } else do { if (server_var(gg_bot_attacker) == 0) then es_xkeysetvalue gg_players event_var(es_attackersteamid) triple server_var(gg_star) } es_xmath p_lvl + 1 if (server_var(gg_bot_attacker) == 1) do { es_keysetvalue gg_players event_var(es_attackername) level server_var(p_lvl) } else do { es_keysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) es_keysetvalue gg_players event_var(es_attackersteamid) name event_var(es_attackername) } es_setinfo p_diff server_var(ldr_level) es_math p_diff - server_var(p_lvl) if (server_var(p_lvl) > server_var(ldr_level)) do { es_setinfo ldr_level server_var(p_lvl) if (server_var(gg_bot_attacker) == 1) do { es_keygetvalue ldr_name gg_players event_var(es_attackername) name } else do { es_keygetvalue ldr_name gg_players event_var(es_attackersteamid) name } es_msg #multi #green event_var(es_attackername)#lightgreen is leading on level server_var(p_lvl) } if (server_var(p_lvl) == server_var(ldr_level)) do { if (event_var(es_attackername) != server_var(ldr_name)) do { es_msg #multi #green event_var(es_attackername)#lightgreen has tied the leader! } } if (server_var(p_lvl) < server_var(ldr_level)) do { es_tell event_var(attacker) #lightgreen You are now server_var(p_diff) levels behind the leader } if (server_var(gg_triple_player) != event_var(attacker)) then es_cexec event_var(attacker) play server_var(gg_sound_levelup) } } block gg_triple_star { es_xmath gg_triple_start - 1 if (server_var(gg_triple_start) > 1) do { es_delayed 1 es_xdoblock gungame3/gg_triple_star } else do { // Reset player to defaults es_setplayerprop server_var(gg_triple_player) CCSPlayer.baseclass.localdata.m_flLaggedMovementValue 1.0 es_fire server_var(gg_triple_player) !self color "255 255 255" es_fire server_var(gg_triple_player) !self alpha 255 es_xsetinfo gg_triple_player 0 } } block gg_suicide { es_xmath p_lvl - 1 if (server_var(p_lvl) > 0) do if (server_var(gg_bot_attacker) == 1) do { es_keysetvalue gg_players event_var(es_attackername) level server_var(p_lvl) } else do { es_keysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) } es_msg #multi #green event_var(es_attackername)#lightgreen lost a level for suicide es_cexec event_var(attacker) play server_var(gg_sound_leveldown) } block gg_worldspawn { es_xmath jumper_lvl - 1 if (server_var(jumper_lvl) > 0) do { if (server_var(gg_bot_victim) == 1) do { es_keysetvalue gg_players event_var(es_username) level server_var(jumper_lvl) } else do { es_keysetvalue gg_players event_var(es_steamid) level server_var(jumper_lvl) } } es_msg #multi #green event_var(es_username)#lightgreen lost a level for suicide es_cexec event_var(userid) play server_var(gg_sound_leveldown) } event player_team { es_xsetinfo gg_team 0 if (event_var(team) == 1) then es_xsetinfo gg_team "Spectators" if (event_var(team) == 2) then es_xsetinfo gg_team "Terrorists" if (event_var(team) == 3) then es_xsetinfo gg_team "Counter Terrorists" es ma_msay 5 event_var(userid) You have switched teams.\n You are now on server_var(gg_team) } event player_say { if (event_var(text) == "!rules") then es_xdoblock gungame3/gg_display_rules if (event_var(text) == "!weapons") then es_xdoblock gungame3/gg_display_weapons if (event_var(text) == "!top5") then es_xdoblock gungame3/gg_display_top5 if (event_var(text) == "!news") then es_xdoblock gungame3/gg_display_news if (event_var(text) == "!score") then es_xdoblock gungame3/gg_display_score if (event_var(text) == "!level") then es_xdoblock gungame3/gg_display_level if (event_var(text) == "!reset") do { es_xsetinfo admin_steam 0 es_getplayersteamid admin_steam event_var(userid) if (server_var(admin_steam) == server_var(gg_admin)) then es_xdoblock gungame3/gg_reset_scores } if (event_var(text) == "!give") do { es_xsetinfo activeweapon 0 es_getplayerprop activeweapon event_var(userid) "CCSPlayer.baseclass.baseclass.m_hActiveWeapon" if (server_var(activeweapon) == "-1") do { es_xdoblock gungame3/give_player_weapon } } if (event_var(text) == "!start") do { es_xsetinfo tmp 0 es_getplayersteamid tmp event_var(userid) es_keysetvalue gg_players server_var(tmp) level 1 es_give server_var(tmp) weapon_glock es_setplayerprop event_var(userid) CCSPlayer.baseclass.localdata.m_iAmmo.006 200 } } event player_disconnect { // add player to lvl_db minus one level for punishment es_xsetinfo gg_bot_victim 0 es_isbot gg_bot_victim event_var(userid) if (server_var(gg_bot_victim) == 0) do { es_xsetinfo p_lvl 0 es_keygetvalue p_lvl gg_players event_var(es_steamid) level es_xmath p_lvl - 1 if (server_var(p_lvl) < 2) do { es_xsetinfo p_lvl 1 } es_keycreate lvl_db event_var(es_steamid) es_keysetvalue lvl_db event_var(es_steamid) level server_var(p_lvl) // Delete player from afk_db es_keydelete afk_db event_var(userid) // Delete player from gg_players es_keydelete gg_players event_var(es_steamid) } else do { es_keydelete gg_players event_var(es_username) } } event bomb_defused { if (server_var(bomb_defuse_lvl) == 1) do { es_xsetinfo gg_bot_victim 0 es_isbot gg_bot_victim event_var(userid) es_xsetinfo p_lvl 0 if (server_var(gg_bot_victim) == 1) do { es_keygetvalue p_lvl gg_players event_var(es_username) level } else do { es_keygetvalue p_lvl gg_players event_var(es_steamid) level } es_xsetinfo p_wpn 0 es_keygetvalue p_wpn gg_weapons server_var(p_lvl) weapon if (server_var(p_wpn) != "hegrenade") do { if (server_var(p_wpn) != "knife") do { es_xmath p_lvl + 1 if (server_var(gg_bot_victim) == 1) do { es_keysetvalue gg_players event_var(es_username) level server_var(p_lvl) } else do { es_keysetvalue gg_players event_var(es_steamid) level server_var(p_lvl) } es_msg #green event_var(es_username) gained a level for defusing es_cexec event_var(user) play server_var(gg_sound_levelup) } else do { es_tell event_var(user) #green You cannot skip level server_var(p_lvl) by defusing! } } else do { es_tell event_var(user) #green You cannot skip level server_var(p_lvl) by defusing! } } } event bomb_exploded { if (server_var(bomb_defuse_lvl) == 1) do { es_xsetinfo gg_bot_victim 0 es_isbot gg_bot_victim event_var(userid) es_xsetinfo p_lvl 0 if (server_var(gg_bot_victim) == 1) do { es_keygetvalue p_lvl gg_players event_var(es_username) level } else do { es_keygetvalue p_lvl gg_players event_var(es_steamid) level } es_xsetinfo p_wpn 0 es_keygetvalue p_wpn gg_weapons server_var(p_lvl) weapon if (server_var(p_wpn) != "hegrenade") do { if (server_var(p_wpn) != "knife") do { es_xmath p_lvl + 1 if (server_var(gg_bot_victim) == 1) do { es_keysetvalue gg_players event_var(es_username) level server_var(p_lvl) } else do { es_keysetvalue gg_players event_var(es_steamid) level server_var(p_lvl) } es_msg #green event_var(es_username) gained a level for planting the bomb es_cexec event_var(user) play server_var(gg_sound_levelup) } else do { es_tell event_var(user) #green You cannot skip level server_var(p_lvl) by planting the bomb! } } else do { es_tell event_var(user) #green You cannot skip level server_var(p_lvl) by planting the bomb! } } } event round_start { // Reset triple star status es_xsetinfo gg_triple_start 0 // Welcome message at round start es_msg #green This server is running 4HM's Gun Game es_msg #multi #default Say #green!rules#default for instructions on how to play es_msg #multi #default If you do not get a gun, say #green!give #defaultand you will get it if (server_var(gg_knife_pro) == 1) then es_msg #multi #lightgreenKnife Pro [#greenENABLED#lightgreen] // End suicide protection given at round_end es_xsetinfo suicide_protect 0 // Get mp_friendlyfire settings es_xsetinfo ldr_weapon 0 es_keygetvalue ldr_weapon gg_weapons server_var(ldr_level) weapon if (server_var(ldr_weapon) == "hegrenade") do { es_cexec_all play gungame\nade_level.wav if (server_var(mp_friendlyfire) == 0) do { es mp_friendlyfire 1 es_msg #green Friendly Fire is ON!!! Watch your fire! } } if (server_var(ldr_weapon) == "knife") do { es_cexec_all play gungame\knife_level.wav } // Give taken c4 back to Terrorist es_delayed 2 es_give server_var(bomber) weapon_c4 // Reset triple level counts alias gg_reset_star "es_keysetvalue gg_players server_var(tmp) triple 0" es_foreachkey tmp in gg_players gg_reset_star // Give awpers 1 bullet in the clip //es_delayed 1 es_createentitylist all_awps weapon_awp //es_delayed 2 es_doblock gungame3/gg_awp } event round_end { // Give suicide protection for team changes at round end es_xsetinfo suicide_protect 1 // Get leader information alias chk_ldr "es_keygetvalue ldr_a gg_players server_var(p_id) level; if (server_var(ldr_a) > server_var(ldr_level)) then es_xkeygetvalue ldr_name gg_players server_var(p_id) name; if (server_var(ldr_a) > server_var(ldr_level)) then es_xsetinfo ldr_level server_var(ldr_a)" es_xsetinfo ldr_a 0 es_xsetinfo ldr_level 0 es_xsetinfo ldr_name "none" es_delayed 1 es_foreachkey p_id in gg_players chk_ldr // Reset bomber es_xsetinfo bomber 0 } block gg_winner { es_xsetinfo t_wins 0 // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es_xkeygroupload gg_winners es_xsetinfo win_db_open 1 } es_xmath read_write + 1 // Save player win total es_keygetvalue t_wins gg_winners event_var(es_attackersteamid) wins if (server_var(t_wins) == 0) then es_xkeycreate gg_winners event_var(es_attackersteamid) es_xmath t_wins + 1 es_keysetvalue gg_winners event_var(es_attackersteamid) name event_var(es_attackername) es_keysetvalue gg_winners event_var(es_attackersteamid) wins server_var(t_wins) es_keysetvalue gg_players event_var(es_attackersteamid) wins server_var(t_wins) // Save and close gg_winners es_xmath read_write - 1 if (server_var(read_write) == 0) do { if (server_var(win_db_open) == 1) do { es_xkeygroupsave gg_winners es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } // Update top5 db es_xsetinfo top5_list 0 es_keygetvalue top5_list gg_top5 5 wins if (server_var(t_wins) => server_var(top5_list)) then es_xdoblock gungame3/gg_execute_top5 } block winner_reset { alias gg_winner_reset "es_keysetvalue gg_players server_var(test) level 1" es_xforeachkey test in gg_players gg_winner_reset } block gg_handicap { es_xsetinfo p_1337 0 es_xsetinfo tmp_1337 0 alias get_1337_steam "es_keygetvalue tmp_1337 gg_top5 server_var(plyr_1337) steam; if (event_var(es_steamid) == server_var(tmp_1337)) then es_xsetinfo p_1337 1" es_foreachkey plyr_1337 in gg_top5 get_1337_steam // Execute averaging code es_xsetinfo tmp_total 0.0 es_xsetinfo tmp_count 0 es_xsetinfo tmp_stor 0 alias get_totals "es_keygetvalue tmp_stor gg_players server_var(avg_key) level; es_math tmp_total + server_var(tmp_stor); es_xmath tmp_count + 1" es_foreachkey avg_key in gg_players get_totals es_math tmp_total / server_var(tmp_count) es_token tmp_total server_var(tmp_total) 1 . if (server_var(tmp_total) > 1) do { if (server_var(p_1337) == 0) do { es_keysetvalue gg_players event_var(es_steamid) level server_var(tmp_total) } else do { es_tell event_var(userid) You are currently in the top5 and receive no handicap level } } } block gg_execute_top5 { es_xsetinfo reserve_name 0 es_xsetinfo reserve_steam 0 es_xsetinfo reserve_wins 0 es_xsetinfo top1_steam 0 es_xsetinfo top2_steam 0 es_xsetinfo top3_steam 0 es_xsetinfo top4_steam 0 es_xsetinfo top5_steam 0 es_xsetinfo top1_wins 0 es_xsetinfo top2_wins 0 es_xsetinfo top3_wins 0 es_xsetinfo top4_wins 0 es_xsetinfo top5_wins 0 es_xkeygetvalue top1_steam gg_top5 1 steam es_xkeygetvalue top2_steam gg_top5 2 steam es_xkeygetvalue top3_steam gg_top5 3 steam es_xkeygetvalue top4_steam gg_top5 4 steam es_xkeygetvalue top5_steam gg_top5 5 steam es_xkeygetvalue top1_wins gg_top5 1 wins es_xkeygetvalue top2_wins gg_top5 2 wins es_xkeygetvalue top3_wins gg_top5 3 wins es_xkeygetvalue top4_wins gg_top5 4 wins es_xkeygetvalue top5_wins gg_top5 5 wins // Winner name is server_var(winner_name) // Winner steamid is server_var(winner_steam) // Winner win amount is server_var(t_wins) alias move_top1 "es_xkeygetvalue reserve_name gg_top5 1 name; es_xkeygetvalue reserve_steam gg_top5 1 steam; es_xkeygetvalue reserve_wins gg_top5 1 wins; es_keysetvalue gg_top5 2 name server_var(reserve_name); es_keysetvalue gg_top5 2 steam server_var(reserve_steam); es_keysetvalue gg_top5 2 wins server_var(reserve_wins); write_top1" alias move_top2 "es_xkeygetvalue reserve_name gg_top5 2 name; es_xkeygetvalue reserve_steam gg_top5 2 steam; es_xkeygetvalue reserve_wins gg_top5 2 wins; es_keysetvalue gg_top5 3 name server_var(reserve_name); es_keysetvalue gg_top5 3 steam server_var(reserve_steam); es_keysetvalue gg_top5 3 wins server_var(reserve_wins); overwrite2" alias move_top3 "es_xkeygetvalue reserve_name gg_top5 3 name; es_xkeygetvalue reserve_steam gg_top5 3 steam; es_xkeygetvalue reserve_wins gg_top5 3 wins; es_keysetvalue gg_top5 4 name server_var(reserve_name); es_keysetvalue gg_top5 4 steam server_var(reserve_steam); es_keysetvalue gg_top5 4 wins server_var(reserve_wins); overwrite3" alias move_top4 "es_xkeygetvalue reserve_name gg_top5 4 name; es_xkeygetvalue reserve_steam gg_top5 4 steam; es_xkeygetvalue reserve_wins gg_top5 4 wins; es_keysetvalue gg_top5 5 name server_var(reserve_name); es_keysetvalue gg_top5 5 steam server_var(reserve_steam); es_keysetvalue gg_top5 5 wins server_var(reserve_wins); overwrite4" alias overwrite2 "es_keysetvalue gg_top5 2 name server_var(winner_name); es_keysetvalue gg_top5 2 steam server_var(winner_steam); es_keysetvalue gg_top5 2 wins server_var(t_wins)" alias overwrite3 "es_keysetvalue gg_top5 3 name server_var(winner_name); es_keysetvalue gg_top5 3 steam server_var(winner_steam); es_keysetvalue gg_top5 3 wins server_var(t_wins)" alias overwrite4 "es_keysetvalue gg_top5 4 name server_var(winner_name); es_keysetvalue gg_top5 4 steam server_var(winner_steam); es_keysetvalue gg_top5 4 wins server_var(t_wins)" alias overwrite5 "es_keysetvalue gg_top5 5 name server_var(winner_name); es_keysetvalue gg_top5 5 steam server_var(winner_steam); es_keysetvalue gg_top5 5 wins server_var(t_wins)" alias write_top1 "es_keysetvalue gg_top5 1 name server_var(winner_name); es_keysetvalue gg_top5 1 steam server_var(winner_steam); es_keysetvalue gg_top5 1 wins server_var(t_wins)" alias write_top2 "if (server_var(t_wins) > server_var(top1_wins)) then move_top1; if (server_var(t_wins) =< server_var(top1_wins)) then overwrite2" alias write_top3 "if (server_var(t_wins) > server_var(top2_wins)) then move_top2; if (server_var(t_wins) =< server_var(top2_wins)) then overwrite3" alias write_top4 "if (server_var(t_wins) > server_var(top3_wins)) then move_top3; if (server_var(t_wins) =< server_var(top3_wins)) then overwrite4" alias write_top5 "if (server_var(t_wins) > server_var(top4_wins)) then move_top4; if (server_var(t_wins) =< server_var(top4_wins)) then overwrite5" if (server_var(top1_steam) == 0) do { write_top1 } else do { if (server_var(winner_steam) == server_var(top1_steam)) do { write_top1 } else do { if (server_var(winner_steam) == server_var(top2_steam)) do { write_top2 } else do { if (server_var(winner_steam) == server_var(top3_steam)) do { write_top3 } else do { if (server_var(winner_steam) == server_var(top4_steam)) do { write_top4 } else do { write_top5 } } } } } // Move players in top5 based on win amount es_xkeygetvalue top4_wins gg_top5 4 wins es_xkeygetvalue top5_wins gg_top5 5 wins alias reset_top_4 "es_xkeygetvalue winner_name gg_top5 5 name; es_xkeygetvalue winner_steam gg_top5 5 steam; es_xkeygetvalue t_wins gg_top5 5 wins; move_top4" if (server_var(top5_wins) > server_var(top4_wins)) then reset_top_4 es_xkeygetvalue top3_wins gg_top5 3 wins es_xkeygetvalue top4_wins gg_top5 4 wins alias reset_top_3 "es_xkeygetvalue winner_name gg_top5 4 name; es_xkeygetvalue winner_steam gg_top5 4 steam; es_xkeygetvalue t_wins gg_top5 4 wins; move_top3" if (server_var(top4_wins) > server_var(top3_wins)) then reset_top_3 es_xkeygetvalue top2_wins gg_top5 2 wins es_xkeygetvalue top3_wins gg_top5 3 wins alias reset_top_2 "es_xkeygetvalue winner_name gg_top5 3 name; es_xkeygetvalue winner_steam gg_top5 3 steam; es_xkeygetvalue t_wins gg_top5 3 wins; move_top2" if (server_var(top3_wins) > server_var(top2_wins)) then reset_top_2 es_xkeygetvalue top1_wins gg_top5 1 wins es_xkeygetvalue top2_wins gg_top5 2 wins alias reset_top_1 "es_xkeygetvalue winner_name gg_top5 2 name; es_xkeygetvalue winner_steam gg_top5 2 steam; es_xkeygetvalue t_wins gg_top5 2 wins; move_top1" if (server_var(top2_wins) > server_var(top1_wins)) then reset_top_1 es_xkeygroupsave gg_top5 } block gg_display_top5 { es_xsetinfo gg_top_1 0 es_xsetinfo gg_top1_wins 0 es_xsetinfo gg_top_2 0 es_xsetinfo gg_top2_wins 0 es_xsetinfo gg_top_3 0 es_xsetinfo gg_top3_wins 0 es_xsetinfo gg_top_4 0 es_xsetinfo gg_top4_wins 0 es_xsetinfo gg_top_5 0 es_xsetinfo gg_top5_wins 0 es_keygetvalue gg_top_1 gg_top5 1 name es_keygetvalue gg_top_2 gg_top5 2 name es_keygetvalue gg_top_3 gg_top5 3 name es_keygetvalue gg_top_4 gg_top5 4 name es_keygetvalue gg_top_5 gg_top5 5 name es_keygetvalue gg_top1_wins gg_top5 1 wins es_keygetvalue gg_top2_wins gg_top5 2 wins es_keygetvalue gg_top3_wins gg_top5 3 wins es_keygetvalue gg_top4_wins gg_top5 4 wins es_keygetvalue gg_top5_wins gg_top5 5 wins es ma_msay 5 event_var(userid) 4HM Gun Game Top 5 Players\n __________\n Wins: server_var(gg_top1_wins) Name: server_var(gg_top_1)\n Wins: server_var(gg_top2_wins) Name: server_var(gg_top_2)\n Wins: server_var(gg_top3_wins) Name: server_var(gg_top_3)\n Wins: server_var(gg_top4_wins) Name: server_var(gg_top_4)\n Wins: server_var(gg_top5_wins) Name: server_var(gg_top_5) es_tell event_var(userid)#multi #green "Top5 info is listed in your console.#default Press ~ to view" es_cexec event_var(userid) echo ***** Gun Game Top5 ***** es_cexec event_var(userid) echo Wins: server_var(gg_top1_wins) Name: server_var(gg_top_1) es_cexec event_var(userid) echo Wins: server_var(gg_top2_wins) Name: server_var(gg_top_2) es_cexec event_var(userid) echo Wins: server_var(gg_top3_wins) Name: server_var(gg_top_3) es_cexec event_var(userid) echo Wins: server_var(gg_top4_wins) Name: server_var(gg_top_4) es_cexec event_var(userid) echo Wins: server_var(gg_top5_wins) Name: server_var(gg_top_5) es_cexec event_var(userid) echo ************************* } block gg_display_rules { es_cexec event_var(userid) echo ----------------------------- es_cexec event_var(userid) echo ----------------------------- es_cexec event_var(userid) echo **** 4HM Gun Game Rules: **** es_cexec event_var(userid) echo 1) You must get a kill with your current weapon to level up. es_cexec event_var(userid) echo 2) If you get a kill with a weapon out of order, it does not count and you remain on your current level. es_cexec event_var(userid) echo 3) You can gain levels by PLANTING and DEFUSING. es_cexec event_var(userid) echo 4) If you commit suicide, you will lose a level. es_cexec event_var(userid) echo 5) Friendly Fire is turned ON when someone reaches GRENADE level. es_cexec event_var(userid) echo 6) You CAN gain more than one level per round. es_cexec event_var(userid) echo 7) There is a grace period at the end of each round to allow players to switch teams. es_cexec event_var(userid) echo 8) If Knife Pro is ENABLED, you can steal a level from an opponent by knifing them. es_cexec event_var(userid) echo 9) If you start with no weapon, just say !start and it will reset your score and give you a glock. es_cexec event_var(userid) echo **************************************************************** es_cexec event_var(userid) echo Say !level to see your current level and who is winning. es_cexec event_var(userid) echo Say !weapons to see the weapon order. es_cexec event_var(userid) echo Say !score to see all player current scores. es_cexec event_var(userid) echo Say !top5 to see the top 5 winners on the server. es_cexec event_var(userid) echo Say !news to get the latest on Gun Mod updates. es_cexec event_var(userid) echo Say !start to reset your level to level 1 and get a glock. es_cexec event_var(userid) echo ----------------------------- es_cexec event_var(userid) echo ----------------------------- es ma_msay 0 event_var(userid) Game rules are listed in your game console\n __________\n Say commands:\n ----------\n Say !top5 to see the top 5 players on this server\n Say !level to see your current level and who is winning\n Say !weapons to see the weapon order\n Say !score to see player scores\n Say !news to get the latest on Gun Game updates\n \n 0.Exit es_tell event_var(userid)#multi #green "Gun Game Rules are listed in your console.#default Press ~ to view" } block gg_display_news { es ma_msay 0 event_var(userid) 4HM Gun Game News\n_______________\n v3.0.10\n This is the first release for Eventscripts v1.0\n Added Knife Pro\n Added triple level bonus\n Added custom weapon and level order for admins\n Added support for BOTS\n Added support for random map vote when the map ends\n Added support for admins to turn the Gun Game on/off after the map has started\n \n Would you like to run the Gun Game on your server?\n Visit www.4honor.net to download/discuss the Gun Game!\n \n 0.Exit es_tell event_var(userid)#multi #green "Gun Game News is listed in your console.#default Press ~ to view" es_cexec event_var(userid) echo **************************** es_cexec event_var(userid) echo **** 4HM Gun Game News: **** es_cexec event_var(userid) echo v3.0.10 es_cexec event_var(userid) echo This is the first release for Eventscripts v1.0 es_cexec event_var(userid) echo Added Knife Pro es_cexec event_var(userid) echo Added triple level bonus es_cexec event_var(userid) echo Added custom weapon and level order for admins es_cexec event_var(userid) echo Added support for BOTS es_cexec event_var(userid) echo Added support for random map vote when the map ends es_cexec event_var(userid) echo Added support for admins to turn the Gun Game on/off after the map has started es_cexec event_var(userid) echo ---------- es_cexec event_var(userid) echo Would you like to run the Gun Game on your server? es_cexec event_var(userid) echo Visit www.4honor.net to download/discuss the Gun Game! es_cexec event_var(userid) echo **************************** } block gg_display_weapons { es_xsetinfo tmp_wpn_name 0 alias print_weapon_order "es_keygetvalue tmp_wpn_name gg_weapons server_var(tmp_wpn_lvl) weapon; es_cexec event_var(userid) echo Level server_var(tmp_wpn_lvl): server_var(tmp_wpn_name)" es_tell event_var(userid)#multi #green "Weapon Order is listed in your console.#default Press ~ to view" es_cexec event_var(userid) echo ----------------------- es_cexec event_var(userid) echo Weapon Order es_cexec event_var(userid) echo ----------------------- es_foreachkey tmp_wpn_lvl in gg_weapons print_weapon_order es_cexec event_var(userid) echo ----------------------- } block gg_display_score { es_xsetinfo p_name 0 es_xsetinfo p_wins 0 alias chk_lvl "es_cexec event_var(userid) echo ##;es_cexec event_var(userid) echo ##### Scores #####; es_cexec event_var(userid) echo ---------------------; es_foreachkey steam_id in gg_players print_score; es_cexec event_var(userid) echo ---------------------; es_cexec event_var(userid) echo Leaders denoted with **; es_cexec event_var(userid) echo ##### End of scorelist #####; es_cexec event_var(userid) echo ##" alias print_score "es_keygetvalue p_name gg_players server_var(steam_id) name; es_keygetvalue p_lvl gg_players server_var(steam_id) level; es_keygetvalue p_wins gg_players server_var(steam_id) wins; if (server_var(p_lvl) == server_var(ldr_level)) then es_cexec event_var(userid) echo **Level: server_var(p_lvl) Wins: server_var(p_wins) Name: server_var(p_name); if (server_var(p_lvl) != server_var(ldr_level)) then es_cexec event_var(userid) echo Level: server_var(p_lvl) Wins: server_var(p_wins) Name: server_var(p_name)" chk_lvl es_tell event_var(userid)#multi #green "Scores are listed in your console.#default Press ~ to view" } block gg_display_level { es_xsetinfo p_wpn 0 es_xsetinfo p_wins 0 es_xsetinfo p_lvl 0 es_keygetvalue p_lvl gg_players event_var(es_steamid) level es_keygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es_keygetvalue p_wins gg_players event_var(es_steamid) wins es ma_msay 5 event_var(userid) You are on level server_var(p_lvl)\nYou need a server_var(p_wpn) kill to advance\n----------\nYou have won server_var(p_wins) times\n----------\nCurrent leader: server_var(ldr_name)\nLevel: server_var(ldr_level) es_tell event_var(userid)#multi #green "Level info is listed in your console.#default Press ~ to view" es_cexec event_var(userid) echo *************************** es_cexec event_var(userid) echo ***** Gun Game !level ***** es_cexec event_var(userid) echo You are on level server_var(p_lvl) es_cexec event_var(userid) echo You need a server_var(p_wpn) kill to advance es_cexec event_var(userid) echo --------------- es_cexec event_var(userid) echo You have won server_var(p_wins) times es_cexec event_var(userid) echo --------------- es_cexec event_var(userid) echo Current leader: server_var(ldr_name) es_cexec event_var(userid) echo Level: server_var(ldr_level) es_cexec event_var(userid) echo *************************** } block unload { // Delete all open databases es_xkeygroupdelete gg_players es_xkeygroupdelete gg_top5 es_xkeygroupdelete lvl_db es_xkeygroupdelete afk_db } block gg_reset_scores { // Delete all open databases es_xkeygroupdelete gg_players es_xkeygroupdelete gg_winners es_xkeygroupdelete gg_top5 es_xkeygroupdelete lvl_db es_xkeygroupdelete afk_db // Create empty database es_xkeygroupcreate gg_winners es_xkeygroupsave gg_winners es_xkeygroupcreate gg_top5 es_xsetinfo top5_counter 1 es_xdoblock gungame3/create_top5 // Restart the map es_delayed 7 es changelevel server_var(eventscripts_currentmap) // Turn off Gun Game //es_unload gungame3 } event es_client_command { if (event_var(command) equalto "!ggstartround") then es_xdoblock gungame3/main_reset_player } block give_player_weapon { // Level variables es_xsetinfo p_lvl 0 es_xsetinfo p_wpn 0 // Get player's level and weapon from db if (event_var(es_steamid) == "BOT") do { es_keygetvalue p_lvl gg_players event_var(es_username) level } else do { es_keygetvalue p_lvl gg_players event_var(es_steamid) level } es_keygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es_tell event_var(userid) #multi #lightgreen You are on level#green server_var(p_lvl) es_tell event_var(userid) #multi #lightgreen You need a#green server_var(p_wpn)#lightgreen kill to advance es_format p_wpn "weapon_%1" server_var(p_wpn) es_give event_var(userid) server_var(p_wpn) es_give event_var(userid) item_kevlar es_give event_var(userid) weapon_knife // Give each CT a defuse kit if (event_var(es_userteam) == 3) then es_xsetplayerprop event_var(userid) CCSPlayer.m_bHasDefuser 1 es_xsetinfo gg_ammoname 0 es_xsetinfo gg_ammonum 0 // give them the right ammo for their gun es_keygetvalue gg_ammoname gg_ammo_props server_var(p_wpn) es_keygetvalue gg_ammonum gg_ammo_count server_var(p_wpn) es_setplayerprop event_var(userid) server_var(gg_ammoname) server_var(gg_ammonum) } block main_reset_player { // afk_db store spawn location es_xsetinfo user_x 0 es_xsetinfo user_y 0 es_xsetinfo user_z 0 es_getplayerlocation user_x user_y user_z event_var(userid) es_keysetvalue afk_db event_var(userid) x server_var(user_x) es_keysetvalue afk_db event_var(userid) y server_var(user_y) es_xdoblock gungame3/give_player_weapon // Warn if they are on level 0 if (server_var(p_lvl) == 0) do { es_tell event_var(userid) #green It appears you didn't get a level. es_tell event_var(userid) #green Say !start to reset you to level 1 if (event_var(es_steamid) == "BOT") do { es_keysetvalue gg_players event_var(es_username) level 1 } } if (server_var(p_wpn) == "weapon_hegrenade") do { if (server_var(gg_vote) == 1) do { // At the end of this line is the number of random maps you will have in the vote ma_voterandom end 4 es_xsetinfo gg_vote 0 } } }