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 1
//************************************************************
// 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 1
//************************************************************
// 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 gungame3lan/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 "|gungame3lan"
// Create console commands
es_xregcmd gg_setlevel gungame3lan/gg_set_level "Allows admin to change player level: gg_setlevel <partial name> <level>"
es_xregcmd gg_reset gungame3lan/gg_reset_scores "Resets all player records for the Gun Game and restarts the current map"
es_xregcmd gg_setweapons gungame3lan/gg_set_weapon_order "Allows changes to the weapon order: gg_setweapons <weapon>,<weapon>,<etc>"
es_xregcmd gg_triple_cmd gungame3lan/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 gungame3lan/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 LAN"
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 gungame3lan/create_top10
// Add players already playing to the databases
es_xcreateplayerlist gg_player_list
es_xforeachkey key_x in gg_player_list "es_xdoblock gungame3lan/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 gungame3lan/create_top10_popup
popup timeout Top10Page1 view 10
//
popup create ScorePage1
popup prepuser ScorePage1 gungame3lan/create_score_popup
popup timeout ScorePage1 view 10
//
popup create WeaponPage1
popup prepuser WeaponPage1 gungame3lan/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 gungame3lan/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 gungame3lan/playerlist_page
// since we built the list from beginning, let's add this creation again there
popup prepuser Top10Page1 gungame3lan/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 gungame3lan/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 gungame3lan/unsendTop10Page
}
}
block create_weapon_popup
{
es_xsetinfo tmp_wepsonpage 0
es_xsetinfo tmp_weplistpages 0
es_xforeachkey tmp_weplevel in gg_weapons "es_xdoblock gungame3lan/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 gungame3lan/weaponlist_page
// since we built the list from beginning, let's add this creation again there
popup prepuser WeaponPage1 gungame3lan/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 gungame3lan/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 gungame3lan/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 gungame3lan/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 gungame3lan/playerlist_page
// since we built the list from beginning, let's add this creation again there
popup prepuser ScorePage1 gungame3lan/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 gungame3lan/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 gungame3lan/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_xgetplayername 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_username) level
// Setup new player in gg_players db
if (server_var(p_level) == 0) do
{
es es_xkeycreate gg_players event_var(es_username)
es es_xkeysetvalue gg_players event_var(es_username) name event_var(es_username)
es es_xkeysetvalue gg_players event_var(es_username) level 1
}
// Bring over user wins from gg_winners
es es_xkeygetvalue s_wins gg_winners event_var(es_username) wins
es es_xkeysetvalue gg_players event_var(es_username) 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_username) 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_username) 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 gungame3lan/gg_handicap
}
}
// Remove player from lvl_db
es es_xkeydelete lvl_db event_var(es_username)
// Setup !give command to be used once.
es es_xkeysetvalue gg_players event_var(es_username) 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 gungame3lan/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 gungame3lan/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 gungame3lan/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 <weapon>,<weapon>,<etc>
}
}
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 gungame3lan/create_top10
if (server_var(top10_counter) == 11) then es_xkeygroupsave gg_top10 server_var(gg_dir)
}
event player_activate
{
es_xdoblock gungame3lan/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 gungame3lan/bot_spawn
if (server_var(gg_warmup_timer) > 1) then es_xdoblock gungame3lan/give_warmup_knife
}
else do
{
es_xdoblock gungame3lan/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_attackername) 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_attackername) 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_username) 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 gungame3lan/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_attackername) 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_username) 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 gungame3lan/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_attackername) 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_username) 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 gungame3lan/gg_suicide
}
if (server_var(worldspawn_suicide) == 1) do
{
if (event_var(attacker) == 0) do
{
es_xdoblock gungame3lan/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_attackername) 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_attackername)
es_xdoblock gungame3lan/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 gungame3lan/winner_reset
}
}
else do
{
if (server_var(gg_turbo) == 1) do
{
es_xmath p_lvl + 1
es es_xkeysetvalue gg_players event_var(es_attackername) 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 gungame3lan/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_attackername) 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_attackername) 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_attackername) 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_attackername) level server_var(p_lvl)
es es_xkeysetvalue gg_players event_var(es_attackername) 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_attackername) triple server_var(gg_star)
es_xmath p_lvl + 1
es es_xkeysetvalue gg_players event_var(es_attackername) 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_attackername) 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_attackername) 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_attackername) 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_username) 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 gungame3lan/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 gungame3lan/gg_display_news
if (event_var(text) == "!score") do
{
es popup send ScorePage1 event_var(userid)
}
if (event_var(text) == "!level") then es_xdoblock gungame3lan/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_xgetplayername 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 gungame3lan/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_xgetplayername tmp_m event_var(userid)
es es_xkeysetvalue gg_players server_var(tmp_m) level 1
es_xdoblock gungame3lan/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_username) 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_username)
es es_xkeysetvalue lvl_db event_var(es_username) 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_username)
}
}
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_username) 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_username) 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_username) 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_username) 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_username) 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_username) 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 gungame3lan/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_attackername) wins
if (server_var(t_wins) == 0) do
{
es es_xkeycreate gg_winners event_var(es_attackername)
}
es_xmath t_wins + 1
es es_xkeysetvalue gg_winners event_var(es_attackername) name event_var(es_attackername)
es es_xkeysetvalue gg_winners event_var(es_attackername) wins server_var(t_wins)
es es_xkeysetvalue gg_players event_var(es_attackername) 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 gungame3lan/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_username) 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_username) == 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_username) 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_username) level
es es_xkeygetvalue p_wpn gg_weapons server_var(p_lvl) weapon
es es_xkeygetvalue p_wins gg_players event_var(es_username) 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 gungame3lan/unsendScorePage
es_xsetinfo tmp_weplooper 1
es_xdoblock gungame3lan/unsendWeaponPage
es_xsetinfo tmp_top10_looper 1
es_xdoblock gungame3lan/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 gungame3lan/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 gungame3lan/gg_display_rules
//if (event_var(command) == "!weapons") then es_xdoblock gungame3lan/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 gungame3lan/gg_display_news
//if (event_var(command) == "!score") then es_xdoblock gungame3lan/gg_display_score
if (event_var(command) == "!score") then es popup send ScorePage1 event_var(userid)
if (event_var(command) == "!level") then es_xdoblock gungame3lan/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_xgetplayername 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 gungame3lan/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_xgetplayername tmp_m event_var(userid)
es es_xkeysetvalue gg_players server_var(tmp_m) level 1
es_xdoblock gungame3lan/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 gungame3lan/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_username) 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_attackername) 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 gungame3lan/give_player_weapon
if (server_var(gg_warmup_timer) > 1) then es_xdoblock gungame3lan/give_warmup_knife
}
else do
{
es_xdoblock gungame3lan/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_username) 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_username) join_msg 1
// Player join gungame sound
es es_xcexec event_var(userid) play server_var(gg_sound_welcome)
}
}
}