//***********************************************************// // Gun Game // // v3.2.0.10 // // // // Thank you Mattie for your help in optimizing the code!!! // // // // http://mattie.info/cs/ // // http://www.cagemonkey.org // // http://www.4hm.net // // http://cage.pastebin.ca // //***********************************************************// block config { // ############################################## // 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. // 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" //************************************************************ // Gun Game join message, popup giving players instructions on how to play // 1=on, 0=off es_xsetinfo gg_join_msg 1 //************************************************************ // 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 top10, you do not get this handicap even if it is turned on. es_xsetinfo gg_handicap_on 1 // GG Top10 handicap 0=off, 1=on // Allow players in the top10 to receive a handicap with the rest of the players. // Handicap must also be turned on above for this to work. es_xsetinfo gg_top10_handicap 1 //************************************************************ // Set max levels allowed per round // Server default is 3, so players cannot get more than 3 levels in one round. es_xsetinfo gg_max_lvl 3 //************************************************************ // Turn Knife Pro level stealing on/off es_xsetinfo gg_knife_pro 0 //************************************************************ // Turn Triple Level Bonus 0=off, 1=on // Turbo Mode automatically overrides the Triple Level Bonus to OFF es_xsetinfo gg_triple_on 0 //************************************************************ // Turn Turbo Mode 0=off, 1=on // This gives you your next weapon immediately when you levelup // This also overrides max levels per round and triple level bonuses. es_xsetinfo gg_turbo 0 //************************************************************ // Warmup timer 0=off, x=number of seconds to warmup before restart // This is recommended to allow all clients to connect before the game starts. es_xsetinfo gg_warmup_timer_setting 60 // // Forces warmup rounds to be knife only 0=off, 1=on es_xsetinfo gg_knife_warmup 1 //************************************************************ // Additional weapons for players on nade level // 1=on, 0=off // This gives a glock with 50 bullets es_xsetinfo gg_nade_glock 0 // This gives a smokegrenade es_xsetinfo gg_nade_smoke 0 // This gives a flashbang es_xsetinfo gg_nade_flash 0 //************************************************************ // Automatically turn friendly fire ON when a player reaches // grenade level. es_xsetinfo gg_ff_auto 1 //************************************************************ // 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_setting 0 //************************************************************ // Gun Game map presets // It is recommended that you leave these settings alone, especially winlimit and chattime. alias gg_map_setup "mp_timelimit 45; mp_winlimit 0; sv_alltalk 0; mp_chattime 10; mp_c4timer 25" //************************************************************ // 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 // To disable a particular sound, leave it empty between the quotes, "" es_xsetinfo gg_sound_levelup "gungame/smb3_powerup.wav" es_xsetinfo gg_sound_leveldown "gungame/smb3_powerdown.wav" es_xsetinfo gg_sound_nade "gungame/nade_level.wav" es_xsetinfo gg_sound_knife "gungame/knife_level.wav" es_xsetinfo gg_sound_welcome "gungame/gungame2.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" // ##### END OF CONFIG BLOCK ##### // } //######################################### // DO NOT EDIT ANYTHING BELOW THIS LINE!!! //######################################### block load { // Load config es_xdoblock gungame3/config // Variable to test if things exist es_xsetinfo gg_exists 0 // Gun Game map presets es_xdelayed 2 gg_map_setup // Setup Gun Game dir for databases es_xsetinfo gg_dir "|gungame3" // Create console commands es_xregcmd gg_setlevel gungame3/gg_set_level "Allows admin to change player level: gg_setlevel " es_xregcmd gg_reset gungame3/gg_reset_scores "Resets all player records for the Gun Game and restarts the current map" es_xregcmd gg_setweapons gungame3/gg_set_weapon_order "Allows changes to the weapon order: gg_setweapons ,," es_xregcmd gg_triple_cmd gungame3/gg_triple_finish "Internal Gun Game command" // Create weapon list es_xsetinfo gg_tmp_weapon 0 es_xsetinfo gg_levels 0 es es_xtoken gg_levels server_var(gg_weapon_order) 0 , es_xexists gg_exists keygroup gg_weapons if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_weapons es_xkeygroupcreate gg_weapons es_xsetinfo gg_level_counter 1 if (server_var(gg_levels) > 0) then es_xdoblock gungame3/create_weapon_list // Dynamic level total - 1 es es_xsetinfo gg_level_dynamic server_var(gg_levels) es_xmath gg_level_dynamic - 1 // Public cvar announcing server runs Gun Game es_xsetinfo eventscripts_gg "v3.2.0.10" es_xmakepublic eventscripts_gg // gg_winners open flag es_xsetinfo win_db_open 0 es_xsetinfo gg_read_write 0 // Level variables // used to calc current leader es_xsetinfo ldr_level 0 // This variable allows only one winner if 2 people on knife level get their kill es_xsetinfo gg_one_winner 0 // afk database es_xexists gg_exists keygroup afk_db if (server_var(gg_exists) == 1) then es_xkeygroupdelete afk_db es_xkeygroupcreate afk_db // level db for reconnecting players es_xexists gg_exists keygroup lvl_db if (server_var(gg_exists) == 1) then es_xkeygroupdelete lvl_db es_xkeygroupcreate lvl_db // gg_players database es_xexists gg_exists keygroup gg_players if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_players es_xkeygroupcreate gg_players // gg_top10 database es_xexists gg_exists keygroup gg_top10 if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_top10 es_xkeygroupcreate gg_top10 es es_xkeygroupload gg_top10 server_var(gg_dir) es_xsetinfo top10_check 0 es_xsetinfo top10_counter 1 es_xkeygetvalue top10_check gg_top10 10 steam if (server_var(top10_check) == 0) then es_xdoblock gungame3/create_top10 // Add players already playing to the databases es_xcreateplayerlist gg_player_list es_xforeachkey key_x in gg_player_list "es_xdoblock gungame3/player_setup_in_progress" // generate ammo clip info es_xexists gg_exists keygroup gg_ammo_props if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_ammo_props es_xexists gg_exists keygroup gg_ammo_count if (server_var(gg_exists) == 1) then es_xkeygroupdelete 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 // init tmp menu messages es_xsetinfo tmp_menumsg 0 // init bots es_xsetinfo bot_min_lvl 1 es_xsetinfo bot_max_lvl 1 //################################################################################ // Create popup menus for Score, Weapons and Top 10 popup create Top10Page1 popup prepuser Top10Page1 gungame3/create_top10_popup popup timeout Top10Page1 view 10 // popup create ScorePage1 popup prepuser ScorePage1 gungame3/create_score_popup popup timeout ScorePage1 view 10 // popup create WeaponPage1 popup prepuser WeaponPage1 gungame3/create_weapon_popup popup timeout WeaponPage1 view 10 } block create_top10_popup { es_xsetinfo tmp_top10_playersonpage 0 es_xsetinfo tmp_top10listpages 0 es_xsetinfo tmp_top10_counter 0 es_xforeachkey tmp_top10_userid in gg_top10 "es_xdoblock gungame3/top10list_add" if (server_var(tmp_top10listpages) > 1) do { // Make the last page complete as well as link first page to last page es popup addline server_var(tmp_top10_popupname) "-----------" es popup addline server_var(tmp_top10_popupname) "->8. Prev page" es popup addline server_var(tmp_top10_popupname) "->9. First page" es popup addline server_var(tmp_top10_popupname) "->0. Exit" es_xmath tmp_top10listpages - 1 es es_xformat tmp_temp "Top10Page%1" server_var(tmp_top10listpages) es popup submenu server_var(tmp_top10_popupname) 8 server_var(tmp_top10) es_xmath tmp_top10listpages + 1 es popup submenu server_var(tmp_top10_popupname) 9 Top10Page1 es popup modline Top10Page1 8 "->8. Last page" es popup submenu Top10Page1 8 server_var(tmp_top10_popupname) } else do { es popup addline server_var(tmp_top10_popupname) "-----------" es es_xformat tmp_botscore "BOT levels %1 - %2" server_var(bot_min_lvl) server_var(bot_max_lvl) es popup addline server_var(tmp_top10_popupname) server_var(tmp_botscore) es popup addline server_var(tmp_top10_popupname) "->0. Exit" } // Let's make a final touch by adding page numbering! es_xsetinfo tmp_looper 1 es_xdoblock gungame3/playerlist_page // since we built the list from beginning, let's add this creation again there popup prepuser Top10Page1 gungame3/create_top10_popup } block top10list_page { if (server_var(tmp_top10_looper) <= server_var(tmp_top10listpages)) do { es es_xformat tmp_top10_popupname "Top10Page%1" server_var(tmp_top10_looper) es es_xformat tmp_temp "Gun Game Top10 (%1/%2)" server_var(tmp_top10_looper) server_var(tmp_top10listpages) es popup modline server_var(tmp_top10_popupname) 1 server_var(tmp_top10) // next page es_xmath tmp_top10_looper + 1 es_xdoblock gungame3/top10list_page } } block top10list_add { // we will have maximum of 5 players per page, so let's see if we change pages if (server_var(tmp_top10_playersonpage) == 5) then es_xsetinfo tmp_top10_playersonpage 0 if (server_var(tmp_top10_playersonpage) == 0) do { es_xmath tmp_top10listpages + 1 if (server_var(tmp_top10listpages) > 1) do { es popup addline server_var(tmp_top10_popupname) "-----------" es popup addline server_var(tmp_top10_popupname) "->8. Prev page" es popup addline server_var(tmp_top10_popupname) "->9. Next page" es popup addline server_var(tmp_top10_popupname) "->0. Exit" es_xmath tmp_top10listpages - 2 es es_xformat tmp_top10 "Top10Page%1" server_var(tmp_top10listpages) es popup submenu server_var(tmp_top10_popupname) 8 server_var(tmp_top10) es_xmath tmp_top10listpages + 2 es es_xformat tmp_top10 "Top10Page%1" server_var(tmp_top10listpages) es popup submenu server_var(tmp_top10_popupname) 9 server_var(tmp_top10) } es es_xformat tmp_top10_popupname "Top10Page%1" server_var(tmp_top10listpages) es popup create server_var(tmp_top10_popupname) es popup addline server_var(tmp_top10_popupname) "Gun Game Top10" } es_xsetinfo tmp_top10_playername 0 es_xsetinfo tmp_top10_playerwins 0 es es_xkeygetvalue tmp_top10_playername gg_top10 server_var(tmp_top10_userid) name es es_xkeygetvalue tmp_top10_playerwins gg_top10 server_var(tmp_top10_userid) wins es_xmath tmp_top10_playersonpage + 1 es_xmath tmp_top10_counter + 1 es es_xformat tmp_top10 "->%1. Wins %2 %3" server_var(tmp_top10_counter) server_var(tmp_top10_playerwins) server_var(tmp_top10_playername) es popup addline server_var(tmp_top10_popupname) server_var(tmp_top10) } block unsendTop10Page { // this block will loop through all the player list menus and delete them if (server_var(tmp_top10_looper) <= server_var(tmp_top10listpages)) do { es es_xformat tmp_top10_popupname "Top10Page%1" server_var(tmp_top10_looper) es popup unsendname server_var(tmp_top10_popupname) #all es popup delete server_var(tmp_top10_popupname) // Loop to the next page es_xmath tmp_top10_looper + 1 es_xdoblock gungame3/unsendTop10Page } } block create_weapon_popup { es_xsetinfo tmp_wepsonpage 0 es_xsetinfo tmp_weplistpages 0 es_xforeachkey tmp_weplevel in gg_weapons "es_xdoblock gungame3/weaponlist_add" if (server_var(tmp_weplistpages) > 1) do { // Make the last page complete as well as link first page to last page es popup addline server_var(tmp_weppopup) "-----------" es popup addline server_var(tmp_weppopup) "->8. Prev page" es popup addline server_var(tmp_weppopup) "->9. First page" es popup addline server_var(tmp_weppopup) "->0. Exit" es_xmath tmp_weplistpages - 1 es es_xformat tmp_weptemp "WeaponPage%1" server_var(tmp_weplistpages) es popup submenu server_var(tmp_weppopup) 8 server_var(tmp_weptemp) es_xmath tmp_weplistpages + 1 es popup submenu server_var(tmp_weppopup) 9 WeaponPage1 es popup modline WeaponPage1 13 "->8. Last page" es popup submenu WeaponPage1 8 server_var(tmp_weppopup) } else do { es popup addline server_var(tmp_weppopup) "-----------" es popup addline server_var(tmp_weppopup) "->0. Exit" } // Let's make a final touch by adding page numbering! es_xsetinfo tmp_weplooper 1 es_xdoblock gungame3/weaponlist_page // since we built the list from beginning, let's add this creation again there popup prepuser WeaponPage1 gungame3/create_weapon_popup } block weaponlist_page { if (server_var(tmp_weplooper) <= server_var(tmp_weplistpages)) do { es es_xformat tmp_weppopup "WeaponPage%1" server_var(tmp_weplooper) es es_xformat tmp_weptemp "Gun Game Weapons (%1/%2)" server_var(tmp_weplooper) server_var(tmp_weplistpages) es popup modline server_var(tmp_weppopup) 1 server_var(tmp_weptemp) // next page es_xmath tmp_weplooper + 1 es_xdoblock gungame3/weaponlist_page } } block weaponlist_add { // we will have maximum of 10 weapons per page, so let's see if we change pages if (server_var(tmp_wepsonpage) == 10) then es_xsetinfo tmp_wepsonpage 0 if (server_var(tmp_wepsonpage) == 0) do { es_xmath tmp_weplistpages + 1 if (server_var(tmp_weplistpages) > 1) do { es popup addline server_var(tmp_weppopup) "-----------" es popup addline server_var(tmp_weppopup) "->8. Prev page" es popup addline server_var(tmp_weppopup) "->9. Next page" es popup addline server_var(tmp_weppopup) "->0. Exit" es_xmath tmp_weplistpages - 2 es es_xformat tmp_weptemp "WeaponPage%1" server_var(tmp_weplistpages) es popup submenu server_var(tmp_weppopup) 8 server_var(tmp_weptemp) es_xmath tmp_weplistpages + 2 es es_xformat tmp_weptemp "WeaponPage%1" server_var(tmp_weplistpages) es popup submenu server_var(tmp_weppopup) 9 server_var(tmp_weptemp) } es es_xformat tmp_weppopup "WeaponPage%1" server_var(tmp_weplistpages) es popup create server_var(tmp_weppopup) es popup addline server_var(tmp_weppopup) "Gun Game Weapons" } es_xsetinfo tmp_wepname 0 es es_xkeygetvalue tmp_wepname gg_weapons server_var(tmp_weplevel) weapon es_xmath tmp_wepsonpage + 1 es es_xformat tmp_weptemp "->%1. %2" server_var(tmp_weplevel) server_var(tmp_wepname) es popup addline server_var(tmp_weppopup) server_var(tmp_weptemp) } block unsendWeaponPage { // this block will loop through all the player list menus and delete them if (server_var(tmp_weplooper) <= server_var(tmp_weplistpages)) do { es es_xformat tmp_weppopup "WeaponPage%1" server_var(tmp_weplooper) es popup unsendname server_var(tmp_weppopup) #all es popup delete server_var(tmp_weppopup) // Loop to the next page es_xmath tmp_weplooper + 1 es_xdoblock gungame3/unsendWeaponPage } } block create_score_popup { es_xsetinfo tmp_playersonpage 0 es_xsetinfo tmp_playerlistpages 0 es_xsetinfo tmp_botscore 0 es_xsetinfo tmp_player 0 es_xforeachkey tmp_userid in gg_players "es_xdoblock gungame3/playerlist_add" if (server_var(tmp_playerlistpages) > 1) do { // Make the last page complete as well as link first page to last page es popup addline server_var(tmp_popupname) "-----------" es es_xformat tmp_botscore "BOT levels %1 - %2" server_var(bot_min_lvl) server_var(bot_max_lvl) es popup addline server_var(tmp_popupname) server_var(tmp_botscore) es popup addline server_var(tmp_popupname) "->8. Prev page" es popup addline server_var(tmp_popupname) "->9. First page" es popup addline server_var(tmp_popupname) "->0. Exit" es_xmath tmp_playerlistpages - 1 es es_xformat tmp_temp "ScorePage%1" server_var(tmp_playerlistpages) es popup submenu server_var(tmp_popupname) 8 server_var(tmp_temp) es_xmath tmp_playerlistpages + 1 es popup submenu server_var(tmp_popupname) 9 ScorePage1 es popup modline ScorePage1 8 "->8. Last page" es popup submenu ScorePage1 8 server_var(tmp_popupname) } else do { es popup addline server_var(tmp_popupname) "-----------" es es_xformat tmp_botscore "BOT levels %1 - %2" server_var(bot_min_lvl) server_var(bot_max_lvl) es popup addline server_var(tmp_popupname) server_var(tmp_botscore) es popup addline server_var(tmp_popupname) "->0. Exit" } // Let's make a final touch by adding page numbering! es_xsetinfo tmp_looper 1 es_xdoblock gungame3/playerlist_page // since we built the list from beginning, let's add this creation again there popup prepuser ScorePage1 gungame3/create_score_popup } block playerlist_page { if (server_var(tmp_looper) <= server_var(tmp_playerlistpages)) do { es es_xformat tmp_popupname "ScorePage%1" server_var(tmp_looper) es es_xformat tmp_temp "Gun Game Scores (%1/%2)" server_var(tmp_looper) server_var(tmp_playerlistpages) es popup modline server_var(tmp_popupname) 1 server_var(tmp_temp) // next page es_xmath tmp_looper + 1 es_xdoblock gungame3/playerlist_page } } block playerlist_add { // we will have maximum of 5 players per page, so let's see if we change pages if (server_var(tmp_playersonpage) == 5) then es_xsetinfo tmp_playersonpage 0 if (server_var(tmp_playersonpage) == 0) do { es_xmath tmp_playerlistpages + 1 if (server_var(tmp_playerlistpages) > 1) do { es popup addline server_var(tmp_popupname) "-----------" es popup addline server_var(tmp_popupname) "->8. Prev page" es popup addline server_var(tmp_popupname) "->9. Next page" es popup addline server_var(tmp_popupname) "->0. Exit" es_xmath tmp_playerlistpages - 2 es es_xformat tmp_temp "ScorePage%1" server_var(tmp_playerlistpages) es popup submenu server_var(tmp_popupname) 8 server_var(tmp_temp) es_xmath tmp_playerlistpages + 2 es es_xformat tmp_temp "ScorePage%1" server_var(tmp_playerlistpages) es popup submenu server_var(tmp_popupname) 9 server_var(tmp_temp) } es es_xformat tmp_popupname "ScorePage%1" server_var(tmp_playerlistpages) es popup create server_var(tmp_popupname) es popup addline server_var(tmp_popupname) "Gun Game Scores" } es_xsetinfo tmp_playername 0 es_xsetinfo tmp_playerlevel 0 es_xsetinfo tmp_playerwins 0 es es_xkeygetvalue tmp_playername gg_players server_var(tmp_userid) name es es_xkeygetvalue tmp_playerlevel gg_players server_var(tmp_userid) level es es_xkeygetvalue tmp_playerwins gg_players server_var(tmp_userid) wins es_xmath tmp_playersonpage + 1 es_xmath tmp_player + 1 if (server_var(tmp_playerlevel) == server_var(ldr_level)) do { es es_xformat tmp_temp "->%1. **Level %2 Wins %3 %4" server_var(tmp_player) server_var(tmp_playerlevel) server_var(tmp_playerwins) server_var(tmp_playername) } else do { es es_xformat tmp_temp "->%1. Level %2 Wins %3 %4" server_var(tmp_player) server_var(tmp_playerlevel) server_var(tmp_playerwins) server_var(tmp_playername) } es popup addline server_var(tmp_popupname) server_var(tmp_temp) } block unsendScorePage { // this block will loop through all the player list menus and delete them if (server_var(tmp_looper) <= server_var(tmp_playerlistpages)) do { es es_xformat tmp_popupname "ScorePage%1" server_var(tmp_looper) es popup unsendname server_var(tmp_popupname) #all es popup delete server_var(tmp_popupname) // Loop to the next page es_xmath tmp_looper + 1 es_xdoblock gungame3/unsendScorePage } } block gg_set_level { es_xsetinfo tmp_c 0 es_xsetinfo tmp_d 0 es_xsetinfo tmp_e 0 es_xgetargv tmp_c 1 es_xgetargv tmp_d 2 es es_xgetuserid tmp_e server_var(tmp_c) if (server_var(tmp_e) != 0) do { es es_xgetplayersteamid tmp_c server_var(tmp_e) if (server_var(tmp_c) != "BOT") do { if (server_var(tmp_d) > 0) do { if (server_var(tmp_d) <= server_var(gg_levels)) do { es es_xkeysetvalue gg_players server_var(tmp_c) level server_var(tmp_d) es es_xlog [GunGame] gg_setlevel: server_var(tmp_c) was set to level server_var(tmp_d) } else do { es es_xlog [GunGame] gg_setlevel: Level must be between 1 and server_var(gg_levels): server_var(tmp_d) } } else do { es es_xlog [GunGame] gg_setlevel: Level must be between 1 and server_var(gg_levels): server_var(tmp_d) } } else do { es es_xlog [GunGame] gg_setlevel: server_var(tmp_c) is a BOT! } } else do { es es_xlog [GunGame] gg_setlevel: server_var(tmp_c) is not a valid USERNAME! } } block player_setup { if (event_var(es_steamid) != "BOT") do { // enable player console so they can read rules, score, etc. es es_xcexec event_var(userid) con_enable 1 ///////////////////////////////////// // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xexists gg_exists keygroup gg_winners if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es es_xkeygroupload gg_winners server_var(gg_dir) es_xsetinfo win_db_open 1 } es_xmath gg_read_write + 1 /////////////////////// // gg_winners actions / /////////////////////// // // Variables es_xsetinfo p_level 0 es_xsetinfo s_wins 0 // Check to see if player is already in the gg_players db es es_xkeygetvalue p_level gg_players event_var(es_steamid) level // Setup new player in gg_players db if (server_var(p_level) == 0) do { es es_xkeycreate gg_players event_var(es_steamid) es es_xkeysetvalue gg_players event_var(es_steamid) name event_var(es_username) es es_xkeysetvalue gg_players event_var(es_steamid) level 1 } // Bring over user wins from gg_winners es es_xkeygetvalue s_wins gg_winners event_var(es_steamid) wins es es_xkeysetvalue gg_players event_var(es_steamid) wins server_var(s_wins) // Save and close gg_winners es_xmath gg_read_write - 1 if (server_var(gg_read_write) == 0) do { if (server_var(win_db_open) == 1) do { es es_xkeygroupsave gg_winners server_var(gg_dir) es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } //gg_winners closed ////////////////////////////////////////// // add player to afk_db es es_xkeydelete afk_db event_var(userid) es es_xkeycreate 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 es_xkeygetvalue 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 es_xkeysetvalue 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 es_xkeydelete lvl_db event_var(es_steamid) // Setup !give command to be used once. es es_xkeysetvalue gg_players event_var(es_steamid) give 0 } } block player_setup_in_progress { es_xsetinfo gg_tmp_n 0 es_xsetinfo gg_tmp_s 0 es es_xkeygetvalue gg_tmp_n gg_player_list server_var(key_x) name es es_xkeygetvalue gg_tmp_s gg_player_list server_var(key_x) steamid if (server_var(gg_tmp_s) != "BOT") do { // enable player console so they can read rules, score, etc. es es_xcexec server_var(key_x) con_enable 1 ///////////////////////////////////// // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xexists gg_exists keygroup gg_winners if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es es_xkeygroupload gg_winners server_var(gg_dir) es_xsetinfo win_db_open 1 } es_xmath gg_read_write + 1 /////////////////////// // gg_winners actions / /////////////////////// // // Variables es_xsetinfo p_level 0 es_xsetinfo s_wins 0 es es_xkeycreate gg_players server_var(gg_tmp_s) es es_xkeysetvalue gg_players server_var(gg_tmp_s) name server_var(gg_tmp_n) es es_xkeysetvalue gg_players server_var(gg_tmp_s) level 1 // Bring over user wins from gg_winners es es_xkeygetvalue s_wins gg_winners server_var(gg_tmp_s) wins es es_xkeysetvalue gg_players server_var(gg_tmp_s) wins server_var(s_wins) // Save and close gg_winners es_xmath gg_read_write - 1 if (server_var(gg_read_write) == 0) do { if (server_var(win_db_open) == 1) do { es es_xkeygroupsave gg_winners server_var(gg_dir) es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } //gg_winners closed ////////////////////////////////////////// // add player to afk_db es es_xkeydelete afk_db server_var(key_x) es es_xkeycreate afk_db server_var(key_x) // Execute handicap code if (server_var(skip_handicap) == 0) do { if (server_var(gg_handicap_on) == 1) do { es_xdoblock gungame3/gg_handicap_in_progress } } // Setup !give command to be used once. es es_xkeysetvalue gg_players server_var(gg_tmp_s) give 0 } } event es_map_start { // Load sounds into downloadables es_xsetinfo gg_tmp_sound 0 es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_welcome) es es_xstringtable downloadables server_var(gg_tmp_sound) es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_knife) es es_xstringtable downloadables server_var(gg_tmp_sound) es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_nade) es es_xstringtable downloadables server_var(gg_tmp_sound) es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_levelup) es es_xstringtable downloadables server_var(gg_tmp_sound) es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_leveldown) es es_xstringtable downloadables server_var(gg_tmp_sound) es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_triple) es es_xstringtable downloadables server_var(gg_tmp_sound) if (server_var(gg_sound_winner) != "music/HL2_song15.mp3") do { es es_xformat gg_tmp_sound "sound/%1" server_var(gg_sound_winner) es es_xstringtable downloadables server_var(gg_tmp_sound) } // Warmup timer es es_xsetinfo gg_warmup_timer server_var(gg_warmup_timer_setting) // End of map vote es es_xsetinfo gg_vote server_var(gg_vote_setting) // Gun Game map presets es_xdelayed 2 gg_map_setup // afk database es_xexists gg_exists keygroup afk_db if (server_var(gg_exists) == 1) then es_xkeygroupdelete afk_db es_xkeygroupcreate afk_db // level db for reconnecting players es_xexists gg_exists keygroup lvl_db if (server_var(gg_exists) == 1) then es_xkeygroupdelete lvl_db es_xkeygroupcreate lvl_db // gg_players database es_xexists gg_exists keygroup gg_players if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_players es_xkeygroupcreate gg_players // Warmup round code alias warmup_countdown "es_xmath gg_warmup_timer - 1; if (server_var(gg_warmup_timer) == 1) then warmup_over; es es_xcentermsg Warmup round: server_var(gg_warmup_timer) seconds left; if (server_var(gg_warmup_timer) > 1) then es_xdelayed 1 warmup_countdown" alias warmup_over "mp_restartgame 1; es_xdelayed .90 es_xforeachkey test in gg_players warmup_reset" alias warmup_reset "es es_xkeysetvalue gg_players server_var(test) level 1" if (server_var(gg_warmup_timer) > 0) then warmup_countdown } block create_weapon_list { es es_xtoken gg_tmp_weapon server_var(gg_weapon_order) server_var(gg_level_counter) , es es_xkeycreate gg_weapons server_var(gg_level_counter) es es_xkeysetvalue 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) <= server_var(gg_levels)) then es_xdoblock gungame3/create_weapon_list } block gg_set_weapon_order { es_xsetinfo gg_tmp_weapon_order 0 es_xsetinfo _tmp 0 es_xgetargs gg_tmp_weapon_order es_xexists _tmp variable gg_weapon_order_old if (server_var(_tmp) == 0) do { es_xsetinfo gg_weapon_order_old 0 es_xcopy gg_weapon_order_old gg_weapon_order } if (server_var(gg_tmp_weapon_order) != 0) do { if (server_var(gg_tmp_weapon_order) == "default") do { es_xcopy gg_weapon_order gg_weapon_order_old } else do { es es_xsetinfo gg_weapon_order server_var(gg_tmp_weapon_order) } // Create weapon list es_xsetinfo gg_tmp_weapon 0 es_xsetinfo gg_levels 0 es es_xtoken gg_levels server_var(gg_weapon_order) 0 , es_xexists gg_exists keygroup gg_weapons if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_weapons es_xkeygroupcreate gg_weapons es_xsetinfo gg_level_counter 1 if (server_var(gg_levels) > 0) then es_xdoblock gungame3/create_weapon_list // Dynamic level total - 1 es es_xsetinfo gg_level_dynamic server_var(gg_levels) es_xmath gg_level_dynamic - 1 es es_xlog [GunGame] Weapon order reset to: server_var(gg_weapon_order) es_xlog [GunGame] Restarting map... es_xmsg #green Changing weapon order... mp_restartgame 3 es_xdelayed 2.90 es_xforeachkey test in gg_players warmup_reset } else do { echo gg_setweapons: not enough arguments - Syntax: gg_setweapons ,, } } block create_top10 { es es_xkeycreate gg_top10 server_var(top10_counter) es es_xkeysetvalue gg_top10 server_var(top10_counter) name none es es_xkeysetvalue gg_top10 server_var(top10_counter) wins 0 if (server_var(top10_counter) == 10) do { es es_xkeysetvalue gg_top10 server_var(top10_counter) steam 1 } else do { es es_xkeysetvalue gg_top10 server_var(top10_counter) steam 0 } es_xmath top10_counter + 1 if (server_var(top10_counter) < 11) then es_xdoblock gungame3/create_top10 if (server_var(top10_counter) == 11) then es_xkeygroupsave gg_top10 server_var(gg_dir) } event player_activate { es_xdoblock gungame3/player_setup } event bomb_pickup { // Set bomber es es_xsetinfo bomber event_var(userid) } event bomb_planted { // Reset bomber es_xsetinfo bomber 0 } event bomb_dropped { // Reset bomber es_xsetinfo bomber 0 } event player_spawn { //removes weapons es es_xgive event_var(userid) player_weaponstrip es es_xfire event_var(userid) player_weaponstrip Strip 1 //removes cash es es_xsetplayerprop event_var(userid) CCSPlayer.m_iAccount 0 // have the player initialize if (event_var(es_steamid) == "BOT") do { // If warmup is over, or knife warmup is off, give weapons if (server_var(gg_knife_warmup) == 1) do { if (server_var(gg_warmup_timer) < 2) then es_xdoblock gungame3/bot_spawn if (server_var(gg_warmup_timer) > 1) then es_xdoblock gungame3/give_warmup_knife } else do { es_xdoblock gungame3/bot_spawn } } else do { if (event_var(es_userteam) == 2) then es_xcexec event_var(userid) !ggstartround if (event_var(es_userteam) == 3) then es_xcexec event_var(userid) !ggstartround } } event player_death { // Set !give var if (event_var(es_attackersteamid) != "BOT") then es_xkeysetvalue gg_players event_var(es_attackersteamid) give 1 // afk_db get player death location es_xsetinfo user_afk 0 if (event_var(es_steamid) != "BOT") do { es_xsetinfo user_x 0 es_xsetinfo user_y 0 es_xsetinfo user_z 0 es es_xgetplayerlocation user_x user_y user_z event_var(userid) es_xsetinfo dead_x 0 es_xsetinfo dead_y 0 es es_xkeygetvalue dead_x afk_db event_var(userid) x es es_xkeygetvalue dead_y afk_db event_var(userid) y if (server_var(user_x) == server_var(dead_x)) do { if (server_var(user_y) == server_var(dead_y)) then es_xsetinfo user_afk 1 } } // Level variables es_xsetinfo p_lvl 0 if (event_var(es_attackersteamid) != "BOT") then es_xkeygetvalue p_lvl gg_players event_var(es_attackersteamid) level es_xsetinfo p_wpn 0 if (server_var(p_lvl) != 0) then es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es_xsetinfo victim_lvl 0 if (event_var(es_steamid) != "BOT") then es_xkeygetvalue victim_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 (event_var(es_attackersteamid) != "BOT") do { if (server_var(user_afk) == 0) do { es_xdoblock gungame3/gg_levelup // Log level up for hlstats users es_xsetinfo _tmp 0 es_xsetinfo _tmp2 0 es_xsetinfo oldescape 0 es_xcopy oldescape eventscripts_escapechars if (event_var(es_attackerteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_attackerteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_attackername) event_var(attacker) event_var(es_attackersteamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':l" es es_xlogq server_var(_tmp2) triggered gg_levelup es_xcopy eventscripts_escapechars oldescape } else do { es es_xformat tmp_menumsg "%1 was AFK\n Your kill did not count!!" event_var(es_username) es es_xmenu 5 event_var(attacker) server_var(tmp_menumsg) es es_xkeysetvalue afk_db event_var(userid) x 1 es es_xkeysetvalue 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 victim_lvl - 1 if (server_var(victim_lvl) > 0) do { if (event_var(es_steamid) != "BOT") then es_xkeysetvalue gg_players event_var(es_steamid) level server_var(victim_lvl) } es es_xmsg #green event_var(es_attackername) stole a level from event_var(es_username) es es_xcexec event_var(userid) play server_var(gg_sound_leveldown) if (event_var(es_attackersteamid) != "BOT") do { if (server_var(p_wpn) != "hegrenade") then es_xdoblock gungame3/gg_levelup // Log level steal for hlstats users es_xsetinfo _tmp 0 es_xsetinfo _tmp2 0 es_xsetinfo oldescape 0 es_xcopy oldescape eventscripts_escapechars if (event_var(es_attackerteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_attackerteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_attackername) event_var(attacker) event_var(es_attackersteamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':l" es es_xlogq server_var(_tmp2) triggered gg_levelsteal es_xcopy eventscripts_escapechars oldescape } if (event_var(es_steamid) != "BOT") do { // Log level down for hlstats users es_xcopy oldescape eventscripts_escapechars if (event_var(es_userteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_userteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_username) event_var(userid) event_var(es_steamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':l" es es_xlogq server_var(_tmp2) triggered gg_leveldown es_xcopy eventscripts_escapechars oldescape } } else do { es es_xformat tmp_menumsg "%1 was AFK\n Your kill did not count!!" event_var(es_username) es es_xmenu 5 event_var(attacker) server_var(tmp_menumsg) es es_xkeysetvalue afk_db event_var(userid) x 1 es es_xkeysetvalue afk_db event_var(userid) y 1 } } } } } if (server_var(suicide_protect) == 0) do { if (event_var(userid) == event_var(attacker)) do { es_xdoblock gungame3/gg_suicide } if (server_var(worldspawn_suicide) == 1) do { if (event_var(attacker) == 0) do { es_xdoblock gungame3/gg_worldspawn } } } } block gg_awp { // Set awp ammo in clip to 1 es es_xforeachkey index in all_awps "es_setindexprop server_var(index) CWeaponAWP.baseclass.baseclass.baseclass.LocalWeaponData.m_iClip1 1" es_xdelayed 2 es_xkeygroupdelete all_awps } block gg_levelup { if (server_var(p_lvl) == server_var(gg_levels)) do { // Allow only one winner if (server_var(gg_one_winner) == 0) do { // Log winner for hlstats users es_xsetinfo _tmp 0 es_xsetinfo _tmp2 0 es_xsetinfo oldescape 0 es_xcopy oldescape eventscripts_escapechars if (event_var(es_attackerteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_attackerteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_attackername) event_var(attacker) event_var(es_attackersteamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':w" es es_xlogq server_var(_tmp2) triggered gg_win es_xcopy eventscripts_escapechars oldescape es_xsetinfo gg_one_winner 1 es es_xcexec_all play server_var(gg_sound_winner) es es_xcentermsg event_var(es_attackername) won! es es_xmsg #green event_var(es_attackername) won! es es_xsetinfo winner_name event_var(es_attackername) es es_xsetinfo winner_steam event_var(es_attackersteamid) es_xdoblock gungame3/gg_winner // End map es sv_alltalk 1 es es_xgive event_var(userid) game_end es es_xdelayed 2 es_xfire event_var(userid) game_end EndGame es_xdelayed 4 es_xdoblock gungame3/winner_reset } } else do { if (server_var(gg_turbo) == 1) do { es_xmath p_lvl + 1 es es_xkeysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) //removes weapons es es_xgive event_var(attacker) player_weaponstrip es es_xfire event_var(attacker) player_weaponstrip Strip 1 es_xdoblock gungame3/give_turbo_weapon if (server_var(bomber) == event_var(attacker)) then es_xdelayed 1 es_xgive event_var(attacker) weapon_c4 // Update player name in gg_players database es es_xkeysetvalue gg_players event_var(es_attackersteamid) name event_var(es_attackername) // Start a map vote if this is set in the cfg if (server_var(gg_vote) == 1) do { if (server_var(p_lvl) == server_var(gg_level_dynamic)) do { ma_voterandom end 4 es_xsetinfo gg_vote 0 } } es es_xsetinfo p_diff server_var(ldr_level) es es_xmath p_diff - server_var(p_lvl) if (server_var(p_lvl) > server_var(ldr_level)) do { es es_xsetinfo ldr_level server_var(p_lvl) es es_xkeygetvalue ldr_name gg_players event_var(es_attackersteamid) name es es_xmsg #multi #green event_var(es_attackername)#lightgreen is leading on level #green 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 es_xmsg #multi #green event_var(es_attackername)#lightgreen has tied the leader! } } if (server_var(p_lvl) < server_var(ldr_level)) do { es es_xtell event_var(attacker) #lightgreen You are now server_var(p_diff) levels behind the leader } es es_xcexec event_var(attacker) play server_var(gg_sound_levelup) } else do { es_xsetinfo gg_star 0 if (server_var(gg_triple_on) == 1) do { es es_xkeygetvalue gg_star gg_players event_var(es_attackersteamid) triple es_xmath gg_star + 1 } if (server_var(gg_star) == 3) do { es_xmath p_lvl + 1 es es_xkeysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) es es_xkeysetvalue gg_players event_var(es_attackersteamid) triple 3 es es_xemitsound player event_var(attacker) server_var(gg_sound_triple) 1.0 1.0 es es_xmsg #multi #green event_var(es_attackername)#lightgreen triple levelled!!! es es_xcentermsg event_var(es_attackername) triple levelled!!! // Effects // Spark effect on player es es_xgive event_var(attacker) env_spark es es_xfire event_var(attacker) env_spark setparent !activator es es_xfire event_var(attacker) env_spark addoutput "spawnflags 896" es es_xfire event_var(attacker) env_spark addoutput "angles -90 0 0" es es_xfire event_var(attacker) env_spark addoutput "magnitude 8" es es_xfire event_var(attacker) env_spark addoutput "traillength 3" es es_xfire event_var(attacker) env_spark startspark // Lighting effect on player es es_xgive event_var(attacker) point_spotlight es es_xfire event_var(attacker) point_spotlight setparent !activator es es_xfire event_var(attacker) point_spotlight addoutput "renderamt 255" es es_xfire event_var(attacker) point_spotlight addoutput "spotlightlength 100" es es_xfire event_var(attacker) point_spotlight addoutput "spotlightwidth 300" es es_xfire event_var(attacker) point_spotlight addoutput "rendercolor 0 0 255" es es_xfire event_var(attacker) point_spotlight addoutput "angles -90 0 0" es es_xfire event_var(attacker) point_spotlight lighton // Change player speed to 1.5x normal es es_xsetplayerprop event_var(attacker) CCSPlayer.baseclass.localdata.m_flLaggedMovementValue 1.5 // Remove triple level effects in 10 seconds es es_xdelayed 10 gg_triple_cmd event_var(attacker) } else do { if (server_var(gg_star) < server_var(gg_max_lvl)) do { es es_xkeysetvalue gg_players event_var(es_attackersteamid) triple server_var(gg_star) es_xmath p_lvl + 1 es es_xkeysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es es_xfire event_var(attacker) env_hudhint kill es es_xgive event_var(attacker) env_hudhint es es_xformat tmp_menumsg "message You are now on level %1 (%2)" server_var(p_lvl) server_var(p_wpn) es es_xfire event_var(attacker) env_hudhint AddOutput server_var(tmp_menumsg) es es_xfire event_var(attacker) env_hudhint ShowHudHint // Update player name in gg_players database es es_xkeysetvalue gg_players event_var(es_attackersteamid) name event_var(es_attackername) es es_xsetinfo p_diff server_var(ldr_level) es es_xmath p_diff - server_var(p_lvl) if (server_var(p_lvl) > server_var(ldr_level)) do { es es_xsetinfo ldr_level server_var(p_lvl) es es_xkeygetvalue ldr_name gg_players event_var(es_attackersteamid) name es es_xmsg #multi #green event_var(es_attackername)#lightgreen is leading on level #green 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 es_xmsg #multi #green event_var(es_attackername)#lightgreen has tied the leader! } } if (server_var(p_lvl) < server_var(ldr_level)) do { es es_xtell event_var(attacker) #lightgreen You are now server_var(p_diff) levels behind the leader } } es es_xcexec event_var(attacker) play server_var(gg_sound_levelup) } } } } block gg_triple_finish { es_xsetinfo _tmp 0 es_xgetargv _tmp 1 // Reset player to defaults es es_xfire server_var(_tmp) env_spark kill es es_xfire server_var(_tmp) point_spotlight kill es es_xsetplayerprop server_var(_tmp) CCSPlayer.baseclass.localdata.m_flLaggedMovementValue 1.0 } block gg_suicide { if (server_var(p_lvl) > 1) do { es_xmath p_lvl - 1 es es_xkeysetvalue gg_players event_var(es_attackersteamid) level server_var(p_lvl) } es es_xmsg #multi #green event_var(es_attackername)#lightgreen lost a level for suicide es es_xcexec event_var(attacker) play server_var(gg_sound_leveldown) } block gg_worldspawn { if (server_var(victim_lvl) > 1) do { es_xmath victim_lvl - 1 es es_xkeysetvalue gg_players event_var(es_steamid) level server_var(victim_lvl) } es es_xmsg #multi #green event_var(es_username)#lightgreen lost a level for suicide es es_xcexec event_var(userid) play server_var(gg_sound_leveldown) } event player_say { if (event_var(text) == "!rules") then es_xdoblock gungame3/gg_display_rules if (event_var(text) == "!weapons") do { es popup send WeaponPage1 event_var(userid) } if (event_var(text) == "!top5") do { es es_xtell event_var(userid) #multi Top5 has been upgraded to Top10. Try #green!top10#default instead. } if (event_var(text) == "!top10") do { es popup send Top10Page1 event_var(userid) } if (event_var(text) == "!news") then es_xdoblock gungame3/gg_display_news if (event_var(text) == "!score") do { es popup send ScorePage1 event_var(userid) } if (event_var(text) == "!level") then es_xdoblock gungame3/gg_display_level if (event_var(text) == "!give") do { if (server_var(gg_warmup_timer) < 2) do { es_xsetinfo tmp_m 0 es es_xgetplayerteam tmp_m event_var(userid) if (server_var(tmp_m) > 1) do { es es_xgetplayerprop tmp_m event_var(userid) "CCSPlayer.baseclass.pl.deadflag" if (server_var(tmp_m) == 0) do { es_xsetinfo gg_give_var 0 es es_xgetplayersteamid tmp_m event_var(userid) es_keygetvalue gg_give_var gg_players server_var(tmp_m) give if (server_var(gg_give_var) == "0") do { es_xdoblock gungame3/give_player_weapon } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } if (event_var(text) == "!start") do { if (server_var(gg_warmup_timer) < 2) do { es_xsetinfo tmp_m 0 es es_xgetplayerteam tmp_m event_var(userid) if (server_var(tmp_m) > 1) do { es es_xgetplayerprop tmp_m event_var(userid) "CCSPlayer.baseclass.pl.deadflag" if (server_var(tmp_m) == 0) do { es es_xgetplayersteamid tmp_m event_var(userid) es es_xkeysetvalue gg_players server_var(tmp_m) level 1 es_xdoblock gungame3/give_player_weapon } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } } event player_disconnect { if (event_var(es_steamid) != "BOT") do { // add player to lvl_db minus one level for punishment es_xsetinfo p_lvl 0 es es_xkeygetvalue 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 es_xkeycreate lvl_db event_var(es_steamid) es es_xkeysetvalue lvl_db event_var(es_steamid) level server_var(p_lvl) // Delete player from afk_db es es_xkeydelete afk_db event_var(userid) // Delete player from gg_players es es_xkeydelete gg_players event_var(es_steamid) } } event bomb_defused { if (server_var(bomb_defuse_lvl) == 1) do { if (event_var(es_steamid) != "BOT") do { es_xsetinfo p_lvl 0 es es_xkeygetvalue p_lvl gg_players event_var(es_steamid) level es_xsetinfo p_wpn 0 es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon if (server_var(p_wpn) != "hegrenade") do { if (server_var(p_wpn) != "knife") do { if (server_var(p_lvl) != server_var(gg_levels)) do { es_xmath p_lvl + 1 es es_xkeysetvalue gg_players event_var(es_steamid) level server_var(p_lvl) es es_xmsg #green event_var(es_username) gained a level for defusing es es_xcexec event_var(userid) play server_var(gg_sound_levelup) // Log level up for hlstats users es_xsetinfo _tmp 0 es_xsetinfo _tmp2 0 es_xsetinfo oldescape 0 es_xcopy oldescape eventscripts_escapechars if (event_var(es_userteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_userteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_username) event_var(userid) event_var(es_steamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':l" es es_xlogq server_var(_tmp2) triggered gg_levelup es_xcopy eventscripts_escapechars oldescape } else do { es es_xtell event_var(userid) #green You cannot skip level server_var(p_lvl) by defusing! } } else do { es es_xtell event_var(userid) #green You cannot skip level server_var(p_lvl) by defusing! } } else do { es es_xtell event_var(userid) #green You cannot skip level server_var(p_lvl) by defusing! } } } } event bomb_exploded { if (server_var(bomb_defuse_lvl) == 1) do { if (event_var(es_steamid) != "BOT") do { es_xsetinfo p_lvl 0 es es_xkeygetvalue p_lvl gg_players event_var(es_steamid) level es_xsetinfo p_wpn 0 es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon if (server_var(p_wpn) != "hegrenade") do { if (server_var(p_wpn) != "knife") do { if (server_var(p_lvl) != server_var(gg_levels)) do { es_xmath p_lvl + 1 es es_xkeysetvalue gg_players event_var(es_steamid) level server_var(p_lvl) es es_xmsg #green event_var(es_username) gained a level for planting the bomb es es_xcexec event_var(user) play server_var(gg_sound_levelup) // Log level up for hlstats users es_xsetinfo _tmp 0 es_xsetinfo _tmp2 0 es_xsetinfo oldescape 0 es_xcopy oldescape eventscripts_escapechars if (event_var(es_userteam) == 2) then es_xsetinfo _tmp "TERRORIST" if (event_var(es_userteam) == 3) then es_xsetinfo _tmp "CT" es es_xformat _tmp2 "%1<%2><%3><%4>" event_var(es_username) event_var(userid) event_var(es_steamid) server_var(_tmp) es_xsetinfo eventscripts_escapechars "; {}()':l" es es_xlogq server_var(_tmp2) triggered gg_levelup es_xcopy eventscripts_escapechars oldescape } else do { es es_xtell event_var(user) #green You cannot skip level server_var(p_lvl) by planting the bomb! } } else do { es es_xtell event_var(user) #green You cannot skip level server_var(p_lvl) by planting the bomb! } } else do { es es_xtell event_var(user) #green You cannot skip level server_var(p_lvl) by planting the bomb! } } } } event round_start { // End suicide protection given at round_end es_xsetinfo suicide_protect 0 // Get mp_friendlyfire settings es_xsetinfo ldr_weapon 0 es es_xkeygetvalue ldr_weapon gg_weapons server_var(ldr_level) weapon if (server_var(ldr_weapon) == "hegrenade") do { es es_xcexec_all play server_var(gg_sound_nade) if (server_var(gg_ff_auto) == 1) do { if (server_var(mp_friendlyfire) == 0) do { mp_friendlyfire 1 es_xmsg #green Friendly Fire is ON!!! Watch your fire! } } } if (server_var(ldr_weapon) == "knife") do { es es_xcexec_all play server_var(gg_sound_knife) } // Give taken c4 back to Terrorist es es_xdelayed 2 es_xgive server_var(bomber) weapon_c4 // Reset triple level counts if (server_var(gg_triple_on) == 1) do { alias gg_reset_triple "es es_xkeysetvalue gg_players server_var(tmp) triple 0" es_xforeachkey tmp in gg_players gg_reset_triple } // Give awpers 1 bullet in the clip //es_xdelayed 1 es_xcreateentitylist all_awps weapon_awp //es_xdelayed 2 es_xdoblock gungame3/gg_awp // Set bot max level es_xcopy bot_max_lvl ldr_level } event round_end { // Give suicide protection for team changes at round end es_xsetinfo suicide_protect 1 // Get leader information alias gg_chk_ldr "es es_xkeygetvalue 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_xdelayed 1 es_xforeachkey p_id in gg_players gg_chk_ldr // Reset bomber es_xsetinfo bomber 0 foreach player bomb_userid #all "es es_xfire server_var(bomb_userid) weapon_c4 kill" // New bot code if (server_var(bot_max_lvl) > 3) do { es_xcopy bot_min_lvl bot_max_lvl es_xmath bot_min_lvl - 3 } else do { es_xsetinfo bot_min_lvl 1 } } event item_pickup { if (server_var(suicide_protect) == 1) do { if (event_var(item) == "c4") do { es es_xfire event_var(userid) weapon_c4 kill } } } block gg_winner { es_xsetinfo t_wins 0 // Open gg_winners db if (server_var(win_db_open) == 0) do { es_xexists gg_exists keygroup gg_winners if (server_var(gg_exists) == 1) then es_xkeygroupdelete gg_winners es_xkeygroupcreate gg_winners es es_xkeygroupload gg_winners server_var(gg_dir) es_xsetinfo win_db_open 1 } es_xmath gg_read_write + 1 // Save player win total es es_xkeygetvalue t_wins gg_winners event_var(es_attackersteamid) wins if (server_var(t_wins) == 0) do { es es_xkeycreate gg_winners event_var(es_attackersteamid) } es_xmath t_wins + 1 es es_xkeysetvalue gg_winners event_var(es_attackersteamid) name event_var(es_attackername) es es_xkeysetvalue gg_winners event_var(es_attackersteamid) wins server_var(t_wins) es es_xkeysetvalue gg_players event_var(es_attackersteamid) wins server_var(t_wins) // Save and close gg_winners es_xmath gg_read_write - 1 if (server_var(gg_read_write) == 0) do { if (server_var(win_db_open) == 1) do { es es_xkeygroupsave gg_winners server_var(gg_dir) es_xkeygroupdelete gg_winners es_xsetinfo win_db_open 0 } } // Update top10 db es_xsetinfo top10_list 0 es_xkeygetvalue top10_list gg_top10 10 wins if (server_var(t_wins) >= server_var(top10_list)) then es_xdoblock gungame3/gg_execute_top10 } block winner_reset { alias gg_winner_reset "es es_xkeysetvalue gg_players server_var(test) level 1" es_xforeachkey test in gg_players gg_winner_reset es_xsetinfo bot_min_lvl 1 es_xsetinfo bot_max_lvl 1 es_xsetinfo ldr_level 1 es_xsetinfo gg_one_winner 0 } block gg_handicap { // Execute averaging code es_xsetinfo tmp_total 0.0 es_xsetinfo tmp_count 0 es_xsetinfo tmp_stor 0 alias get_totals "es es_xkeygetvalue tmp_stor gg_players server_var(avg_key) level; es es_xmath tmp_total + server_var(tmp_stor); es_xmath tmp_count + 1" es_xforeachkey avg_key in gg_players get_totals es es_xmath tmp_total / server_var(tmp_count) es es_xtoken tmp_total server_var(tmp_total) 1 . if (server_var(tmp_total) > 1) do { if (server_var(gg_top10_handicap) == 1) do { es es_xkeysetvalue gg_players event_var(es_steamid) level server_var(tmp_total) } else do { es_xsetinfo p_1337 0 es_xsetinfo tmp_1337 0 alias get_1337_steam "es es_xkeygetvalue tmp_1337 gg_top10 server_var(plyr_1337) steam; if (event_var(es_steamid) == server_var(tmp_1337)) then es_xsetinfo p_1337 1" es_xforeachkey plyr_1337 in gg_top10 get_1337_steam if (server_var(p_1337) == 0) do { es es_xkeysetvalue gg_players event_var(es_steamid) level server_var(tmp_total) } } } } block gg_handicap_in_progress { // Execute averaging code es_xsetinfo tmp_total 0.0 es_xsetinfo tmp_count 0 es_xsetinfo tmp_stor 0 alias get_totals_np "es es_xkeygetvalue tmp_stor gg_players server_var(avg_key) level; es es_xmath tmp_total + server_var(tmp_stor); es_xmath tmp_count + 1" es_xforeachkey avg_key in gg_players get_totals_np es es_xmath tmp_total / server_var(tmp_count) es es_xtoken tmp_total server_var(tmp_total) 1 . if (server_var(tmp_total) > 1) do { if (server_var(gg_top10_handicap) == 1) do { es es_xkeysetvalue gg_players server_var(gg_tmp_s) level server_var(tmp_total) } else do { es_xsetinfo p_1337 0 es_xsetinfo tmp_1337 0 alias get_1337_steam_np "es es_xkeygetvalue tmp_1337 gg_top10 server_var(plyr_1337) steam; if (server_var(gg_tmp_s) == server_var(tmp_1337)) then es_xsetinfo p_1337 1" es_xforeachkey plyr_1337 in gg_top10 get_1337_steam_np if (server_var(p_1337) == 0) do { es es_xkeysetvalue gg_players server_var(gg_tmp_s) level server_var(tmp_total) } } } } block bot_spawn { // Randomize bot levels es_xsetinfo bot_lvl 0 if (server_var(ldr_level) == 0) then es_xsetinfo ldr_level 1 es es_xrand bot_lvl server_var(bot_min_lvl) server_var(ldr_level) // Get bot's weapon from db es_xsetinfo bot_wpn 0 es es_xkeygetvalue bot_wpn gg_weapons server_var(bot_lvl) weapon es es_xformat bot_wpn "weapon_%1" server_var(bot_wpn) es es_xgive event_var(userid) weapon_knife es es_xgive event_var(userid) item_assaultsuit es es_xdelayed 1 es_xgive event_var(userid) server_var(bot_wpn) if (server_var(bot_wpn) == "weapon_hegrenade") do { if (server_var(gg_nade_glock) == 1) do { es es_xgive event_var(userid) weapon_glock es es_xsetplayerprop event_var(userid) CCSPlayer.baseclass.localdata.m_iAmmo.006 50 } if (server_var(gg_nade_flash) == 1) do { es es_xgive event_var(userid) weapon_flashbang } if (server_var(gg_nade_smoke) == 1) do { es es_xgive event_var(userid) weapon_smokegrenade } } // Experimental bot ammo //es_xsetinfo gg_ammoname 0 //es_xsetinfo gg_ammonum 0 //es_keygetvalue gg_ammoname gg_ammo_props server_var(bot_wpn) //es_keygetvalue gg_ammonum gg_ammo_count server_var(bot_wpn) //es_delayed 2 es_botsetvalue event_var(userid) server_var(gg_ammoname) server_var(gg_ammonum) // Give each CT a defuse kit if (event_var(es_userteam) == 3) do { es es_xgive event_var(userid) item_defuser } } block gg_execute_top10 { 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 top6_steam 0 es_xsetinfo top7_steam 0 es_xsetinfo top8_steam 0 es_xsetinfo top9_steam 0 es_xsetinfo top10_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_xsetinfo top6_wins 0 es_xsetinfo top7_wins 0 es_xsetinfo top8_wins 0 es_xsetinfo top9_wins 0 es_xsetinfo top10_wins 0 es_xkeygetvalue top1_steam gg_top10 1 steam es_xkeygetvalue top2_steam gg_top10 2 steam es_xkeygetvalue top3_steam gg_top10 3 steam es_xkeygetvalue top4_steam gg_top10 4 steam es_xkeygetvalue top5_steam gg_top10 5 steam es_xkeygetvalue top6_steam gg_top10 6 steam es_xkeygetvalue top7_steam gg_top10 7 steam es_xkeygetvalue top8_steam gg_top10 8 steam es_xkeygetvalue top9_steam gg_top10 9 steam es_xkeygetvalue top10_steam gg_top10 10 steam es_xkeygetvalue top1_wins gg_top10 1 wins es_xkeygetvalue top2_wins gg_top10 2 wins es_xkeygetvalue top3_wins gg_top10 3 wins es_xkeygetvalue top4_wins gg_top10 4 wins es_xkeygetvalue top5_wins gg_top10 5 wins es_xkeygetvalue top6_wins gg_top10 6 wins es_xkeygetvalue top7_wins gg_top10 7 wins es_xkeygetvalue top8_wins gg_top10 8 wins es_xkeygetvalue top9_wins gg_top10 9 wins es_xkeygetvalue top10_wins gg_top10 10 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_top10 1 name; es_xkeygetvalue reserve_steam gg_top10 1 steam; es_xkeygetvalue reserve_wins gg_top10 1 wins; es es_xkeysetvalue gg_top10 2 name server_var(reserve_name); es es_xkeysetvalue gg_top10 2 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 2 wins server_var(reserve_wins); write_top1" alias move_top2 "es_xkeygetvalue reserve_name gg_top10 2 name; es_xkeygetvalue reserve_steam gg_top10 2 steam; es_xkeygetvalue reserve_wins gg_top10 2 wins; es es_xkeysetvalue gg_top10 3 name server_var(reserve_name); es es_xkeysetvalue gg_top10 3 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 3 wins server_var(reserve_wins); overwrite2" alias move_top3 "es_xkeygetvalue reserve_name gg_top10 3 name; es_xkeygetvalue reserve_steam gg_top10 3 steam; es_xkeygetvalue reserve_wins gg_top10 3 wins; es es_xkeysetvalue gg_top10 4 name server_var(reserve_name); es es_xkeysetvalue gg_top10 4 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 4 wins server_var(reserve_wins); overwrite3" alias move_top4 "es_xkeygetvalue reserve_name gg_top10 4 name; es_xkeygetvalue reserve_steam gg_top10 4 steam; es_xkeygetvalue reserve_wins gg_top10 4 wins; es es_xkeysetvalue gg_top10 5 name server_var(reserve_name); es es_xkeysetvalue gg_top10 5 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 5 wins server_var(reserve_wins); overwrite4" alias move_top5 "es_xkeygetvalue reserve_name gg_top10 5 name; es_xkeygetvalue reserve_steam gg_top10 5 steam; es_xkeygetvalue reserve_wins gg_top10 5 wins; es es_xkeysetvalue gg_top10 6 name server_var(reserve_name); es es_xkeysetvalue gg_top10 6 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 6 wins server_var(reserve_wins); overwrite5" alias move_top6 "es_xkeygetvalue reserve_name gg_top10 6 name; es_xkeygetvalue reserve_steam gg_top10 6 steam; es_xkeygetvalue reserve_wins gg_top10 6 wins; es es_xkeysetvalue gg_top10 7 name server_var(reserve_name); es es_xkeysetvalue gg_top10 7 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 7 wins server_var(reserve_wins); overwrite6" alias move_top7 "es_xkeygetvalue reserve_name gg_top10 7 name; es_xkeygetvalue reserve_steam gg_top10 7 steam; es_xkeygetvalue reserve_wins gg_top10 7 wins; es es_xkeysetvalue gg_top10 8 name server_var(reserve_name); es es_xkeysetvalue gg_top10 8 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 8 wins server_var(reserve_wins); overwrite7" alias move_top8 "es_xkeygetvalue reserve_name gg_top10 8 name; es_xkeygetvalue reserve_steam gg_top10 8 steam; es_xkeygetvalue reserve_wins gg_top10 8 wins; es es_xkeysetvalue gg_top10 9 name server_var(reserve_name); es es_xkeysetvalue gg_top10 9 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 9 wins server_var(reserve_wins); overwrite8" alias move_top9 "es_xkeygetvalue reserve_name gg_top10 9 name; es_xkeygetvalue reserve_steam gg_top10 9 steam; es_xkeygetvalue reserve_wins gg_top10 9 wins; es es_xkeysetvalue gg_top10 10 name server_var(reserve_name); es es_xkeysetvalue gg_top10 10 steam server_var(reserve_steam); es es_xkeysetvalue gg_top10 10 wins server_var(reserve_wins); overwrite9" alias overwrite2 "es es_xkeysetvalue gg_top10 2 name server_var(winner_name); es es_xkeysetvalue gg_top10 2 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 2 wins server_var(t_wins)" alias overwrite3 "es es_xkeysetvalue gg_top10 3 name server_var(winner_name); es es_xkeysetvalue gg_top10 3 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 3 wins server_var(t_wins)" alias overwrite4 "es es_xkeysetvalue gg_top10 4 name server_var(winner_name); es es_xkeysetvalue gg_top10 4 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 4 wins server_var(t_wins)" alias overwrite5 "es es_xkeysetvalue gg_top10 5 name server_var(winner_name); es es_xkeysetvalue gg_top10 5 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 5 wins server_var(t_wins)" alias overwrite6 "es es_xkeysetvalue gg_top10 6 name server_var(winner_name); es es_xkeysetvalue gg_top10 6 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 6 wins server_var(t_wins)" alias overwrite7 "es es_xkeysetvalue gg_top10 7 name server_var(winner_name); es es_xkeysetvalue gg_top10 7 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 7 wins server_var(t_wins)" alias overwrite8 "es es_xkeysetvalue gg_top10 8 name server_var(winner_name); es es_xkeysetvalue gg_top10 8 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 8 wins server_var(t_wins)" alias overwrite9 "es es_xkeysetvalue gg_top10 9 name server_var(winner_name); es es_xkeysetvalue gg_top10 9 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 9 wins server_var(t_wins)" alias overwrite10 "es es_xkeysetvalue gg_top10 10 name server_var(winner_name); es es_xkeysetvalue gg_top10 10 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 10 wins server_var(t_wins)" alias write_top1 "es es_xkeysetvalue gg_top10 1 name server_var(winner_name); es es_xkeysetvalue gg_top10 1 steam server_var(winner_steam); es es_xkeysetvalue gg_top10 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" alias write_top6 "if (server_var(t_wins) > server_var(top5_wins)) then move_top5; if (server_var(t_wins) <= server_var(top5_wins)) then overwrite6" alias write_top7 "if (server_var(t_wins) > server_var(top6_wins)) then move_top6; if (server_var(t_wins) <= server_var(top6_wins)) then overwrite7" alias write_top8 "if (server_var(t_wins) > server_var(top7_wins)) then move_top7; if (server_var(t_wins) <= server_var(top7_wins)) then overwrite8" alias write_top9 "if (server_var(t_wins) > server_var(top8_wins)) then move_top8; if (server_var(t_wins) <= server_var(top8_wins)) then overwrite9" alias write_top10 "if (server_var(t_wins) > server_var(top9_wins)) then move_top9; if (server_var(t_wins) <= server_var(top9_wins)) then overwrite10" 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 { if (server_var(winner_steam) == server_var(top5_steam)) do { write_top5 } else do { if (server_var(winner_steam) == server_var(top6_steam)) do { write_top6 } else do { if (server_var(winner_steam) == server_var(top7_steam)) do { write_top7 } else do { if (server_var(winner_steam) == server_var(top8_steam)) do { write_top8 } else do { if (server_var(winner_steam) == server_var(top9_steam)) do { write_top9 } else do { write_top10 } } } } } } } } } } // Move players in top10 based on win amount es_xkeygetvalue top9_wins gg_top10 9 wins es_xkeygetvalue top10_wins gg_top10 10 wins if (server_var(top10_wins) > server_var(top9_wins)) do { es_xkeygetvalue winner_name gg_top10 10 name es_xkeygetvalue winner_steam gg_top10 10 steam es_xkeygetvalue t_wins gg_top10 10 wins move_top9 } es_xkeygetvalue top8_wins gg_top10 8 wins es_xkeygetvalue top9_wins gg_top10 9 wins if (server_var(top9_wins) > server_var(top8_wins)) do { es_xkeygetvalue winner_name gg_top10 9 name es_xkeygetvalue winner_steam gg_top10 9 steam es_xkeygetvalue t_wins gg_top10 9 wins move_top8 } es_xkeygetvalue top7_wins gg_top10 7 wins es_xkeygetvalue top8_wins gg_top10 8 wins if (server_var(top8_wins) > server_var(top7_wins)) do { es_xkeygetvalue winner_name gg_top10 8 name es_xkeygetvalue winner_steam gg_top10 8 steam es_xkeygetvalue t_wins gg_top10 8 wins move_top7 } es_xkeygetvalue top6_wins gg_top10 6 wins es_xkeygetvalue top7_wins gg_top10 7 wins if (server_var(top7_wins) > server_var(top6_wins)) do { es_xkeygetvalue winner_name gg_top10 7 name es_xkeygetvalue winner_steam gg_top10 7 steam es_xkeygetvalue t_wins gg_top10 7 wins move_top6 } es_xkeygetvalue top5_wins gg_top10 5 wins es_xkeygetvalue top6_wins gg_top10 6 wins if (server_var(top6_wins) > server_var(top5_wins)) do { es_xkeygetvalue winner_name gg_top10 6 name es_xkeygetvalue winner_steam gg_top10 6 steam es_xkeygetvalue t_wins gg_top10 6 wins move_top5 } es_xkeygetvalue top4_wins gg_top10 4 wins es_xkeygetvalue top5_wins gg_top10 5 wins if (server_var(top5_wins) > server_var(top4_wins)) do { es_xkeygetvalue winner_name gg_top10 5 name es_xkeygetvalue winner_steam gg_top10 5 steam es_xkeygetvalue t_wins gg_top10 5 wins move_top4 } es_xkeygetvalue top3_wins gg_top10 3 wins es_xkeygetvalue top4_wins gg_top10 4 wins if (server_var(top4_wins) > server_var(top3_wins)) do { es_xkeygetvalue winner_name gg_top10 4 name es_xkeygetvalue winner_steam gg_top10 4 steam es_xkeygetvalue t_wins gg_top10 4 wins move_top3 } es_xkeygetvalue top2_wins gg_top10 2 wins es_xkeygetvalue top3_wins gg_top10 3 wins if (server_var(top3_wins) > server_var(top2_wins)) do { es_xkeygetvalue winner_name gg_top10 3 name es_xkeygetvalue winner_steam gg_top10 3 steam es_xkeygetvalue t_wins gg_top10 3 wins move_top2 } es_xkeygetvalue top1_wins gg_top10 1 wins es_xkeygetvalue top2_wins gg_top10 2 wins if (server_var(top2_wins) > server_var(top1_wins)) do { es_xkeygetvalue winner_name gg_top10 2 name es_xkeygetvalue winner_steam gg_top10 2 steam es_xkeygetvalue t_wins gg_top10 2 wins move_top1 } es es_xkeygroupsave gg_top10 server_var(gg_dir) } block gg_display_rules { es es_xcexec event_var(userid) echo ----------------------------- es es_xcexec event_var(userid) echo ----------------------------- es es_xcexec event_var(userid) echo **** Gun Game Rules: **** es es_xcexec event_var(userid) echo 1) You must get a kill with your current weapon to level up. es es_xcexec 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 es_xcexec event_var(userid) echo 3) You can gain levels by PLANTING and DEFUSING. es es_xcexec event_var(userid) echo 4) If you commit suicide, you will lose a level. es es_xcexec event_var(userid) echo 5) Friendly Fire is turned ON when someone reaches GRENADE level. es es_xcexec event_var(userid) echo 6) You CAN gain more than one level per round. es es_xcexec event_var(userid) echo 7) There is a grace period at the end of each round to allow players to switch teams. es es_xcexec event_var(userid) echo 8) If Knife Pro is ENABLED, you can steal a level from an opponent by knifing them. es es_xcexec event_var(userid) echo 9) If GG Turbo is ENABLED, you will receive your next weapon immediately when you level up. es es_xcexec event_var(userid) echo 10) If you start with no weapon, just say !start and it will reset your score and give you a glock. es es_xcexec event_var(userid) echo **************************************************************** es es_xcexec event_var(userid) echo Say !level to see your current level and who is winning. es es_xcexec event_var(userid) echo Say !weapons to see the weapon order. es es_xcexec event_var(userid) echo Say !score to see all player current scores. es es_xcexec event_var(userid) echo Say !top10 to see the top 10 winners on the server. es es_xcexec event_var(userid) echo Say !news to get the latest on Gun Mod updates. es es_xcexec event_var(userid) echo Say !start to reset you to level 1. es es_xcexec event_var(userid) echo Say !give if you do not receive your weapon. es es_xcexec event_var(userid) echo ----------------------------- es es_xcexec event_var(userid) echo ----------------------------- es es_xmenu 0 event_var(userid) "->Game rules and all Say commands are listed in your game console\n __________\n Some useful Say commands:\n ----------\n Say !top10 to see the top 10 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" } block gg_display_news { es es_xformat tmp_menumsg "->Gun Game News\n %1\n_______________\nUpgraded Top5 to a Top10 list\nUpgraded !weapons display\nUpgraded !score display\n\n \nWould you like to run the Gun Game on your server?\nVisit www.cagemonkey.org to download/discuss the Gun Game!\n \n->0. Exit" server_var(eventscripts_gg) es es_xmenu 0 event_var(userid) server_var(tmp_menumsg) } block gg_display_level { es_xsetinfo p_wpn 0 es_xsetinfo p_wins 0 es_xsetinfo p_lvl 0 es es_xkeygetvalue p_lvl gg_players event_var(es_steamid) level es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es es_xkeygetvalue p_wins gg_players event_var(es_steamid) wins es es_xformat tmp_menumsg "You are on level %1\nYou need a %2 kill to advance\n----------\nYou have won %3 times\n----------\nCurrent leader:" server_var(p_lvl) server_var(p_wpn) server_var(p_wins) if (server_var(ldr_level) > 0) do { es es_xformat tmp_menumsg "%1 %2\nLevel: %3" server_var(tmp_menumsg) server_var(ldr_name) server_var(ldr_level) } else do { es es_xformat tmp_menumsg "%1 Calculating..." server_var(tmp_menumsg) } es es_xmenu 5 event_var(userid) server_var(tmp_menumsg) } block unload { // Delete all open databases es_xkeygroupdelete gg_players es_xkeygroupdelete gg_winners es_xkeygroupdelete gg_top10 es_xkeygroupdelete gg_weapons es_xkeygroupdelete lvl_db es_xkeygroupdelete afk_db // Delete popup menus es_xsetinfo tmp_looper 1 es_xdoblock gungame3/unsendScorePage es_xsetinfo tmp_weplooper 1 es_xdoblock gungame3/unsendWeaponPage es_xsetinfo tmp_top10_looper 1 es_xdoblock gungame3/unsendTop10Page } block gg_reset_scores { // Delete all open databases es_xkeygroupdelete gg_players es_xkeygroupdelete gg_winners es_xkeygroupdelete gg_top10 es_xkeygroupdelete lvl_db es_xkeygroupdelete afk_db // Create empty database es_xkeygroupcreate gg_winners es es_xkeygroupsave gg_winners server_var(gg_dir) es_xkeygroupcreate gg_top10 es_xsetinfo top10_counter 1 es_xdoblock gungame3/create_top10 // Restart the map es es_xdelayed 7 changelevel server_var(eventscripts_currentmap) es_xmsg #green Gun Game scores reset! es_xmsg #green Game will restart in 7 seconds... } event es_client_command { if (event_var(command) == "!rules") then es_xdoblock gungame3/gg_display_rules //if (event_var(command) == "!weapons") then es_xdoblock gungame3/gg_display_weapons if (event_var(command) == "!weapons") do { es popup send WeaponPage1 event_var(userid) } if (event_var(command) == "!top5") do { es es_xtell event_var(userid) #multi Top5 has been upgraded to Top10. Try #green!top10#default instead. } if (event_var(command) == "!top10") do { es popup send Top10Page1 event_var(userid) } if (event_var(command) == "!news") then es_xdoblock gungame3/gg_display_news //if (event_var(command) == "!score") then es_xdoblock gungame3/gg_display_score if (event_var(command) == "!score") then es popup send ScorePage1 event_var(userid) if (event_var(command) == "!level") then es_xdoblock gungame3/gg_display_level if (event_var(command) == "!give") do if (event_var(command) == "!give") do { if (server_var(gg_warmup_timer) < 2) do { es_xsetinfo tmp_m 0 es es_xgetplayerteam tmp_m event_var(userid) if (server_var(tmp_m) > 1) do { es es_xgetplayerprop tmp_m event_var(userid) "CCSPlayer.baseclass.pl.deadflag" if (server_var(tmp_m) == 0) do { es_xsetinfo gg_give_var 0 es es_xgetplayersteamid tmp_m event_var(userid) es es_xkeygetvalue gg_give_var gg_players server_var(tmp_m) give if (server_var(gg_give_var) == "0") do { es_xdoblock gungame3/give_player_weapon } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } if (event_var(command) == "!start") do { if (server_var(gg_warmup_timer) < 2) do { es_xsetinfo tmp_m 0 es es_xgetplayerteam tmp_m event_var(userid) if (server_var(tmp_m) > 1) do { es es_xgetplayerprop tmp_m event_var(userid) "CCSPlayer.baseclass.pl.deadflag" if (server_var(tmp_m) == 0) do { es es_xgetplayersteamid tmp_m event_var(userid) es es_xkeysetvalue gg_players server_var(tmp_m) level 1 es_xdoblock gungame3/give_player_weapon } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } else do { es es_xtell event_var(userid) You cannot use this command now! } } if (event_var(command) == "!ggstartround") do { es_xsetinfo activeweapon 0 es es_xgetplayerprop activeweapon event_var(userid) "CCSPlayer.baseclass.baseclass.m_hActiveWeapon" if (server_var(activeweapon) == "-1") do { 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 es es_xkeygetvalue p_lvl gg_players event_var(es_steamid) level es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon if (server_var(p_lvl) == 0) do { es es_xkeygetvalue p_lvl gg_players server_var(tmp_m) level } // Round start message if (server_var(gg_turbo) == 1) do { es_xformat tmp_menumsg "(Turbo)" if (server_var(gg_knife_pro) == 1) do { es_xstring tmp_menumsg replace ")" " Knife Pro)" } } else do { if (server_var(gg_knife_pro) == 1) do { es_xformat tmp_menumsg "(Knife Pro)" } } if (server_var(gg_knife_pro) != 1) do { if (server_var(gg_turbo) != 1) do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame#lightgreen] You are on level#green server_var(p_lvl) es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame#lightgreen] You need a#green server_var(p_wpn)#lightgreen kill to advance } else do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] You are on level#green server_var(p_lvl) es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] You need a#green server_var(p_wpn)#lightgreen kill to advance } } else do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] You are on level#green server_var(p_lvl) es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] You need a#green server_var(p_wpn)#lightgreen kill to advance } es es_xformat p_wpn "weapon_%1" server_var(p_wpn) es es_xgive event_var(userid) server_var(p_wpn) es es_xgive event_var(userid) item_assaultsuit if (server_var(p_wpn) != "weapon_knife") then es_xgive event_var(userid) weapon_knife if (server_var(p_wpn) == "weapon_hegrenade") do { if (server_var(gg_nade_glock) == 1) do { es es_xgive event_var(userid) weapon_glock es es_xsetplayerprop event_var(userid) CCSPlayer.baseclass.localdata.m_iAmmo.006 50 } if (server_var(gg_nade_flash) == 1) do { es es_xgive event_var(userid) weapon_flashbang } if (server_var(gg_nade_smoke) == 1) do { es es_xgive event_var(userid) weapon_smokegrenade } } // Give each CT a defuse kit if (event_var(es_userteam) == 3) do { es 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 es_xkeygetvalue gg_ammoname gg_ammo_props server_var(p_wpn) es es_xkeygetvalue gg_ammonum gg_ammo_count server_var(p_wpn) es es_xsetplayerprop event_var(userid) server_var(gg_ammoname) server_var(gg_ammonum) } block give_warmup_knife { // Round start message if (server_var(gg_turbo) == 1) do { es_xformat tmp_menumsg "(Turbo)" if (server_var(gg_knife_pro) == 1) do { es_xstring tmp_menumsg replace ")" " Knife Pro)" } } else do { if (server_var(gg_knife_pro) == 1) do { es_xformat tmp_menumsg "(Knife Pro)" } } if (server_var(gg_knife_pro) != 1) do { if (server_var(gg_turbo) != 1) do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame#lightgreen] Warmup round -- KNIVES ONLY } else do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] Warmup round -- KNIVES ONLY } } else do { es es_xtell event_var(userid) #multi #lightgreen[#greenGunGame server_var(tmp_menumsg)#lightgreen] Warmup round -- KNIVES ONLY } es es_xgive event_var(userid) item_assaultsuit es es_xgive event_var(userid) weapon_knife // Give each CT a defuse kit if (event_var(es_userteam) == 3) do { es es_xsetplayerprop event_var(userid) CCSPlayer.m_bHasDefuser 1 } } block give_turbo_weapon { // Level variables es_xsetinfo p_lvl 0 es_xsetinfo p_wpn 0 // Get player's level and weapon from db es es_xkeygetvalue p_lvl gg_players event_var(es_attackersteamid) level es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon es es_xfire event_var(attacker) env_hudhint kill es es_xgive event_var(attacker) env_hudhint es es_xformat tmp_menumsg "message You are now on level %1 (%2)" server_var(p_lvl) server_var(p_wpn) es es_xfire event_var(attacker) env_hudhint AddOutput server_var(tmp_menumsg) es es_xfire event_var(attacker) env_hudhint ShowHudHint es es_xformat p_wpn "weapon_%1" server_var(p_wpn) if (server_var(p_wpn) == "weapon_m3") do { es es_xdelayed .05 es_xgive event_var(attacker) weapon_m3 } else do { if (server_var(p_wpn) == "weapon_hegrenade") do { es es_xdelayed .05 es_xgive event_var(attacker) weapon_hegrenade if (server_var(gg_nade_glock) == 1) do { es es_xdelayed .05 es_xgive event_var(attacker) weapon_glock es es_xdelayed .1 es_xsetplayerprop event_var(attacker) CCSPlayer.baseclass.localdata.m_iAmmo.006 50 } if (server_var(gg_nade_flash) == 1) do { es es_xdelayed .1 es_xgive event_var(attacker) weapon_flashbang } if (server_var(gg_nade_smoke) == 1) do { es es_xdelayed .1 es_xgive event_var(attacker) weapon_smokegrenade } if (server_var(gg_ff_auto) == 1) do { if (server_var(mp_friendlyfire) == 0) do { mp_friendlyfire 1 es_xmsg #green Friendly Fire is ON!!! Watch your fire! es_xcexec_all play ambient/misc/brass_bell_C.wav } } } else do { es es_xsoon es_xgive event_var(attacker) server_var(p_wpn) } } if (server_var(p_wpn) != "weapon_knife") then es_xgive event_var(attacker) weapon_knife // Give each CT a defuse kit if (event_var(es_attackerteam) == 3) do { es es_xdelayed .1 es_xsetplayerprop event_var(attacker) CCSPlayer.m_bHasDefuser 1 } es_xsetinfo gg_ammoname 0 es_xsetinfo gg_ammonum 0 // give them the right ammo for their gun es es_xkeygetvalue gg_ammoname gg_ammo_props server_var(p_wpn) es es_xkeygetvalue gg_ammonum gg_ammo_count server_var(p_wpn) es es_xdelayed .1 es_xsetplayerprop event_var(attacker) 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 es_xgetplayerlocation user_x user_y user_z event_var(userid) es es_xkeysetvalue afk_db event_var(userid) x server_var(user_x) es es_xkeysetvalue afk_db event_var(userid) y server_var(user_y) // If warmup is over, or knife warmup is off, give weapons if (server_var(gg_knife_warmup) == 1) do { if (server_var(gg_warmup_timer) < 2) then es_xdoblock gungame3/give_player_weapon if (server_var(gg_warmup_timer) > 1) then es_xdoblock gungame3/give_warmup_knife } else do { es_xdoblock gungame3/give_player_weapon } // Warn if they are on level 0 if (server_var(gg_knife_warmup) == 1) do { if (server_var(gg_warmup_timer) < 2) do { if (server_var(p_lvl) == 0) do { es es_xtell event_var(userid) #multi It appears you didn't get a level. Say #green!start#default to reset you to level 1 } } } else do { if (server_var(p_lvl) == 0) do { es es_xtell event_var(userid) #multi It appears you didn't get a level. Say #green!start#default to reset you to level 1 } } if (server_var(gg_vote) == 1) do { if (server_var(p_lvl) == server_var(gg_level_dynamic)) do { ma_voterandom end 4 es_xsetinfo gg_vote 0 } } // Join message if (server_var(gg_join_msg) == 1) do { es_xsetinfo gg_join_msg_do 0 es es_xkeygetvalue gg_join_msg_do gg_players event_var(es_steamid) join_msg if (server_var(gg_join_msg_do) == 0) do { // Welcome message es_xsetinfo tmp_menumsg "->This server is running the Gun Game\n_______________\n" if (server_var(gg_knife_pro) == 1) then es_xformat tmp_menumsg "%1->Knife Pro is ENABLED!!\n" server_var(tmp_menumsg) if (server_var(gg_turbo) == 1) then es_xformat tmp_menumsg "%1->GG Turbo is ENABLED!!\n" server_var(tmp_menumsg) es es_xformat tmp_menumsg "%1---------------\nType !rules for instructions on how to play and a list of commands\nType !level to get your level info and who is leading\nType !score to get a list of all players scores and winnings in your console\n \n->0. Exit" server_var(tmp_menumsg) es es_xmenu 0 event_var(userid) server_var(tmp_menumsg) es es_xkeysetvalue gg_players event_var(es_steamid) join_msg 1 // Player join gungame sound es es_xcexec event_var(userid) play server_var(gg_sound_welcome) } } }