// ############################################## // Bomber-Mod // for Counter-Strike: Source // // * Description: // Terrorists can buy suicide bombs. Bombs are; // armed after a delay. Bombs may be triggered // by chest damage. Random failures may occur. // Death by explosion triggers a chain reaction // if wearing a bomb. Type bind boom in // console to use. // // // * Requirements: // EventScripts v1.2.1 or higher // ES_Tools (for FF disable & bomber coloring) // cl_restrict_server_commands 0 // // ############################################## // // Features: // - Buy small or large bombs // - Small bombs upgradable if not used // - Configurable explosion magnitudes // - Configurable bomb prices // - Configurable arming delay // - Configurable random failures // - Random chance of detonation for chest damage // - Chain reactions from killing other bombers // - Dynamic settings for admins // // // ############################################## // block config { es_xsetinfo sb_announce 1 // Enable/disable announcements es_xsetinfo sb_latebuying 0 // Enable/disable late buying es_xsetinfo sb_ff 1 // Enable/disable friendly fire from bombs es_xsetinfo sb_colorbomber 0 // Enable/disable coloring bombers red es_xsetinfo sb_delay 10 // Roundstart delay (in seconds) before active es_xsetinfo sb_failures 25 // Random failures (1 in X, 0 = Disabled) es_xsetinfo sb_sm_price 5000 // Price of a small bomb es_xsetinfo sb_lg_price 8000 // Price of a large bomb es_xsetinfo sb_up_price 3500 // Price of a bomb upgrade es_xsetinfo sb_sm_size 250 // Magnitude for small bomb es_xsetinfo sb_lg_size 400 // Magnitude for large bomb es_xsetinfo sb_tbombs 1 // Allow Ts to have bombs es_xsetinfo sb_ctbombs 1 // Allow CTs to have bombs es_xsetinfo sb_specbombs 0 // Allow Specs to have bombs es_xsetinfo sb_tbomblimit 4 // T bomb limit per round es_xsetinfo sb_ctbomblimit 4 // CT bomb limit per round es_xsetinfo sb_killcash 2000 // Cash for each kill es_xsetinfo sb_buyfreq 1 // How often (in rounds) a player can buy a bomb es_xsetinfo sb_tkpunish 1 // Prevent them from buying this many additional rounds for each TK // Admin list es_xsetinfo sb_admins "STEAM_0:1:8563998,STEAM_0:0:16201329,STEAM_0:0:6748024,STEAM_ID_LAN 01:56 42 0" } // ############################################## // DO NOT EDIT ANYTHING BELOW THIS LINE!!! // ############################################## block load { es_xsetinfo Bomber-Mod "2.1" es_xmakepublic Bomber-Mod // Get configurations es_xdoblock bombermod/config // Register commands es_xdoblock bombermod/register_cmds // Load required scripts es_xload corelib es_xload popup // Create the bomberlist es_xkeygroupcreate sb_bomberlist // Create the playerlist es_xkeygroupcreate sb_playerlist // Load current players es_xcreateplayerlist sb_currentlist // Load current players into sb_playerlist es_xsetinfo sb_player 0 es_xforeachkey sb_player in sb_currentlist "es_xdoblock bombermod/playerlist_load" // Delete the currentlist es_xkeygroupdelete sb_currentlist // Create menu popups es_xdoblock bombermod/menu_buy_create es_xdoblock bombermod/menu_details_create es_xdoblock bombermod/menu_settings_create es_xdoblock bombermod/menu_credits_create es_xdoblock bombermod/menu_usercmds_create es_xdoblock bombermod/menu_admincvar_create es_xdoblock bombermod/menu_sbomb_create es_xdoblock bombermod/menu_lbomb_create es_xdoblock bombermod/menu_sbombp_create es_xdoblock bombermod/menu_lbombp_create es_xdoblock bombermod/menu_ubombp_create es_xdoblock bombermod/menu_bdelay_create es_xdoblock bombermod/menu_rndfail_create es_xdoblock bombermod/menu_tbs_create // Register client commands to detonate es_xregclientcmd boom bombermod/boom "Detonates your suicide bomb" // Initialize bomb counts es_xsetinfo sb_ctbombcount 0 es_xsetinfo sb_tbombcount 0 // Report load finished if (server_var(sb_announce) == 1) then es_xmsg #multi #green [Suicide Bomb-Mod] #default Loaded } block unload { // Delete the bomberlist es_xkeygroupdelete sb_bomberlist // Delete the playerlist es_xkeygroupdelete sb_playerlist // Remove the menu popups popup unsendname sb_menu_buy1 #all popup unsendname sb_menu_buy2 #all popup unsendname sb_menu_buy3 #all popup unsendname sb_menu_details #all popup unsendname sb_menu_settings #all popup unsendname sb_menu_credits #all popup unsendname sb_menu_usercmds #all popup unsendname sb_menu_sbomb #all popup unsendname sb_menu_lbomb #all popup unsendname sb_menu_sbombp #all popup unsendname sb_menu_lbombp #all popup unsendname sb_menu_ubombp #all popup unsendname sb_menu_bdelay #all popup unsendname sb_menu_rndfail #all popup unsendname sb_menu_tbs #all // Delete the menu popups popup delete sb_menu_buy1 popup delete sb_menu_buy2 popup delete sb_menu_buy3 popup delete sb_menu_details popup delete sb_menu_settings popup delete sb_menu_credits popup delete sb_menu_usercmds popup delete sb_menu_admincvar popup delete sb_menu_sbomb popup delete sb_menu_lbomb popup delete sb_menu_sbombp popup delete sb_menu_lbombp popup delete sb_menu_ubombp popup delete sb_menu_bdelay popup delete sb_menu_rndfail popup delete sb_menu_tbs // Report unload finished if (server_var(sb_announce) == 1) then es_xmsg #multi #green [Suicide Bomb-Mod] #default Unloaded } block playerlist_load { // Add player to the player list es_keycreate sb_playerlist server_var(sb_player) es_keysetvalue sb_playerlist server_var(sb_player) ask 1 es_keysetvalue sb_playerlist server_var(sb_player) freq server_var(sb_buyfreq) } event player_say { if (event_var(text) == "!sb") then es popup send sb_menu_details event_var(userid) // Show buy menu if (event_var(text) == "!buybomb") do { // Late buying is enabled if (server_var(sb_latebuying) == 1) do { // Reset their ask setting es_keysetvalue sb_playerlist event_var(userid) ask 1 // Save their userid es_xsetinfo sb_player 0 es_setinfo sb_player event_var(userid) // Show menu es_xdoblock bombermod/menu_buy_show } } // Enable asking them about bombs if (event_var(text) == "!ask") then es_keysetvalue sb_playerlist event_var(userid) ask 1 // Disable asking them about bombs if (event_var(text) == "!noask") then es_keysetvalue sb_playerlist event_var(userid) ask 0 } block register_cmds { es_xregclientcmd sb_sm_magnitude bombermod/cmd_set "" es_xregsaycmd sb_sm_magnitude bombermod/cmd_set "" es_xregclientcmd sb_lg_magnitude bombermod/cmd_set "" es_xregsaycmd sb_lg_magnitude bombermod/cmd_set "" es_xregclientcmd sb_sm_price bombermod/cmd_set "" es_xregsaycmd sb_sm_price bombermod/cmd_set "" es_xregclientcmd sb_lg_price bombermod/cmd_set "" es_xregsaycmd sb_lg_price bombermod/cmd_set "" es_xregclientcmd sb_up_price bombermod/cmd_set "" es_xregsaycmd sb_up_price bombermod/cmd_set "" es_xregclientcmd sb_delay bombermod/cmd_set "" es_xregsaycmd sb_delay bombermod/cmd_set "" es_xregclientcmd sb_announce bombermod/cmd_set "" es_xregsaycmd sb_announce bombermod/cmd_set "" es_xregclientcmd sb_latebuying bombermod/cmd_set "" es_xregsaycmd sb_latebuying bombermod/cmd_set "" es_xregclientcmd sb_failures bombermod/cmd_set "" es_xregsaycmd sb_failures bombermod/cmd_set "" es_xregclientcmd sb_tbombs bombermod/cmd_set "" es_xregsaycmd sb_tbombs bombermod/cmd_set "" es_xregclientcmd sb_ctbombs bombermod/cmd_set "" es_xregsaycmd sb_ctbombs bombermod/cmd_set "" es_xregclientcmd sb_tbomblimit bombermod/cmd_set "" es_xregsaycmd sb_tbomblimit bombermod/cmd_set "" es_xregclientcmd sb_ctbomblimit bombermod/cmd_set "" es_xregsaycmd sb_ctbomblimit bombermod/cmd_set "" //Silent Admin Menu Popup es_xregsaycmd !bmodadmin bombermod/menu_admincvar_show } block cmd_set { // Get userid es_xsetinfo sb_userid 0 es_xgetcmduserid sb_userid // Get steamid for admin check es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(sb_userid) // Check if they are an admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Get arg count es_xsetinfo sb_argcount 0 es_xgetargc sb_argcount // Check for arguments if (server_var(sb_argcount) > 0) do { // Get the command es_xsetinfo sb_cmd 0 es_xgetargv sb_cmd 0 // Get arg1 es_xsetinfo sb_arg1 0 es_xgetargv sb_arg1 1 // Check for sb_sm_magnitude command if (server_var(sb_cmd) == "sb_sm_magnitude") do { // Save setting es_setinfo sb_sm_size server_var(sb_arg1) } // Check for sb_lg_magnitude command if (server_var(sb_cmd) == "sb_lg_magnitude") do { // Save setting es_setinfo sb_lg_size server_var(sb_arg1) } // Check for sb_sm_price command if (server_var(sb_cmd) == "sb_sm_price") do { // Save setting es_setinfo sb_sm_price server_var(sb_arg1) } // Check for sb_lg_price command if (server_var(sb_cmd) == "sb_lg_price") do { // Save setting es_setinfo sb_lg_price server_var(sb_arg1) } // Check for sb_up_price command if (server_var(sb_cmd) == "sb_up_price") do { // Save setting es_setinfo sb_up_price server_var(sb_arg1) } // Check for sb_delay command if (server_var(sb_cmd) == "sb_delay") do { // Save setting es_setinfo sb_delay server_var(sb_arg1) } // Check for sb_announce command if (server_var(sb_cmd) == "sb_announce") do { // Save setting es_setinfo sb_announce server_var(sb_arg1) } // Check for sb_latebuying command if (server_var(sb_cmd) == "sb_latebuying") do { // Save setting es_setinfo sb_latebuying server_var(sb_arg1) } // Check for sb_failures command if (server_var(sb_cmd) == "sb_failures") do { // Save setting es_setinfo sb_failures server_var(sb_arg1) } // Check for sb_tbombs command if (server_var(sb_cmd) == "sb_tbombs") do { // Save setting es_setinfo sb_tbombs server_var(sb_arg1) } // Check for sb_ctbombs command if (server_var(sb_cmd) == "sb_ctbombs") do { // Save setting es_setinfo sb_ctbombs server_var(sb_arg1) } // Check for sb_tbomblimit command if (server_var(sb_cmd) == "sb_tbomblimit") do { // Save setting es_setinfo sb_tbomblimit server_var(sb_arg1) } // Check for sb_ctbomblimit command if (server_var(sb_cmd) == "sb_ctbomblimit") do { // Save setting es_setinfo sb_ctbomblimit server_var(sb_arg1) } // Recreate the affected menus popup delete sb_menu_buy1 popup delete sb_menu_buy2 popup delete sb_menu_buy3 popup delete sb_menu_settings es_xdoblock bombermod/menu_buy_create es_xdoblock bombermod/menu_settings_create } else do { // Tell them invalid syntax es_tell server_var(sb_userid) #multi #green [Suicide Bomb-Mod] #default Invalid syntax! } } else do { // Tell them they are not admin es_tell server_var(sb_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } event es_map_start { // Recreate the bomberlist es_xkeygroupdelete sb_bomberlist es_xkeygroupcreate sb_bomberlist } event round_start { // Reset bomb counts es_xsetinfo sb_ctbombcount 0 es_xsetinfo sb_tbombcount 0 // Rearm everyone es_xsetinfo sb_bomber 0 es_xforeachkey sb_bomber in sb_bomberlist "es_xdoblock bombermod/rearm" // Ask everyone to buy es_xsetinfo sb_player 0 es_xdelayed 2 es_xforeachkey sb_player in sb_playerlist "es_xdoblock bombermod/menu_buy_show" // Start timer es_xsetinfo sb_timer 1 es_delayed server_var(mp_freezetime) es_xdoblock bombermod/timer // Announce the system if (server_var(sb_announce) == 1) then es_xmsg #multi #green [Suicide Bomb-Mod] #default This server is running a Suicide Bomb-Mod. Type #lightgreen !sb #default for details. } event round_end { // Stop timer es_xsetinfo sb_timer 0 // Disarm everyone es_xsetinfo sb_bomber 0 es_xdelayed 5 es_xforeachkey sb_bomber in sb_bomberlist "es_xdoblock bombermod/disarm" } block disarm { // Disarm their bomb es_keysetvalue sb_bomberlist server_var(sb_bomber) armed 0 } block rearm { // Get player team es_xsetinfo sb_team 0 es_getplayerteam sb_team server_var(sb_bomber) // Increment bombcount if (server_var(sb_team) == 2) then es_xmath sb_tbombcount + 1 if (server_var(sb_team) == 3) then es_xmath sb_ctbombcount + 1 // Store their armwait es_keysetvalue sb_bomberlist server_var(sb_bomber) armwait server_var(sb_delay) // Color them if (server_var(sb_colorbomber) == 1) then es est_SetPlayerColor server_var(sb_bomber) 225 50 50 255 1 } event player_activate { es_xsetinfo sb_exists 0 es_exists sb_exists key sb_playerlist event_var(userid) // If they are NOT in the list if (server_var(sb_exists) == 0) do { // Add the player to the list es_keycreate sb_playerlist event_var(userid) es_keysetvalue sb_playerlist event_var(userid) ask 1 es_keysetvalue sb_playerlist event_var(userid) freq server_var(sb_buyfreq) } } event player_disconnect { // Remove the player from the list es_keydelete sb_playerlist event_var(userid) es_keydelete sb_bomberlist event_var(userid) } event player_team { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist event_var(userid) // If they are in the list if (server_var(sb_exists) == 1) do { if (event_var(oldteam) == 2) then es_xmath sb_tbombcount - 1 if (event_var(oldteam) == 3) then es_xmath sb_ctbombcount - 1 // If new team is T if (event_var(team) == 2) do { // If Ts can have bombs if (server_var(sb_tbombs) == 1) do { // If Ts have NOT reached the limit if (server_var(sb_tbombcount) < server_var(sb_tbomblimit)) do { // Let them keep their bomb es_xmath sb_tbombcount + 1 } else do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash event_var(userid) "CCSPlayer.m_iAccount" // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist event_var(userid) size // Refund their money if (server_var(sb_size) == server_var(sb_sm_size)) then es_math sb_cash + server_var(sb_lg_price) if (server_var(sb_size) == server_var(sb_lg_size)) then es_math sb_cash + server_var(sb_lg_price) es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Remove their bomb es_keydelete sb_bomberlist event_var(userid) // Tell them what happened es_tell event_var(userid) #multi #green [Suicide Bomb-Mod] #default Ts have too many bombers. Your bomb has been removed. } } else do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash event_var(userid) "CCSPlayer.m_iAccount" // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist event_var(userid) size // Refund their money if (server_var(sb_size) == server_var(sb_sm_size)) then es_math sb_cash + server_var(sb_lg_price) if (server_var(sb_size) == server_var(sb_lg_size)) then es_math sb_cash + server_var(sb_lg_price) es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Remove their bomb es_keydelete sb_bomberlist event_var(userid) // Tell them what happened es_tell event_var(userid) #multi #green [Suicide Bomb-Mod] #default Ts can not have suicide bombs. Your bomb has been removed. } } // If new team is CT if (event_var(team) == 3) do { // If CTs can have bombs if (server_var(sb_ctbombs) == 1) do { // If CTs have NOT reached the limit if (server_var(sb_ctbombcount) < server_var(sb_ctbomblimit)) do { // Let them keep their bomb es_xmath sb_ctbombcount + 1 } else do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash event_var(userid) "CCSPlayer.m_iAccount" // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist event_var(userid) size // Refund their money if (server_var(sb_size) == server_var(sb_sm_size)) then es_math sb_cash + server_var(sb_lg_price) if (server_var(sb_size) == server_var(sb_lg_size)) then es_math sb_cash + server_var(sb_lg_price) es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Remove their bomb es_keydelete sb_bomberlist event_var(userid) // Tell them what happened es_tell event_var(userid) #multi #green [Suicide Bomb-Mod] #default CTs have too many bombers. Your bomb has been removed. } } else do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash event_var(userid) "CCSPlayer.m_iAccount" // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist event_var(userid) size // Refund their money if (server_var(sb_size) == server_var(sb_sm_size)) then es_math sb_cash + server_var(sb_lg_price) if (server_var(sb_size) == server_var(sb_lg_size)) then es_math sb_cash + server_var(sb_lg_price) es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Remove their bomb es_keydelete sb_bomberlist event_var(userid) // Tell them what happened es_tell event_var(userid) #multi #green [Suicide Bomb-Mod] #default CTs can not have suicide bombs. Your bomb has been removed. } } } } block menu_buy_create { // Create the popup menus for buying the suicide bombs popup create sb_menu_buy1 popup create sb_menu_buy2 popup create sb_menu_buy3 popup prepuser sb_menu_buy1 bombermod/settings_update popup prepuser sb_menu_buy2 bombermod/settings_update popup prepuser sb_menu_buy3 bombermod/settings_update popup addline sb_menu_buy1 " Suicide Bomb-Mod - Buy" popup addline sb_menu_buy2 " Suicide Bomb-Mod - Buy" popup addline sb_menu_buy3 " Suicide Bomb-Mod - Buy" popup addline sb_menu_buy1 "Do you want to buy a suicide bomb?" popup addline sb_menu_buy2 "Do you want to buy a suicide bomb?" popup addline sb_menu_buy3 "Do you want to upgrade your suicide bomb?" popup addline sb_menu_buy1 " " popup addline sb_menu_buy2 " " popup addline sb_menu_buy3 " " popup addline sb_menu_buy1 "->0 Exit" popup addline sb_menu_buy2 "->0 Exit" popup addline sb_menu_buy3 "->0 Exit" popup addline sb_menu_buy1 "->1 Small Bomb: $" popup addline sb_menu_buy2 "->1 Small Bomb: $" popup addline sb_menu_buy1 "->2 Large Bomb: $" popup addline sb_menu_buy3 "->1 Upgrade: $" popup select sb_menu_buy1 1 bombermod/menu_buy_sm popup select sb_menu_buy1 2 bombermod/menu_buy_lg popup select sb_menu_buy2 1 bombermod/menu_buy_sm popup select sb_menu_buy3 1 bombermod/menu_buy_up popup timeout sb_menu_buy1 view 10 popup timeout sb_menu_buy2 view 10 popup timeout sb_menu_buy3 view 10 } block menu_details_create { // Create menu popup create sb_menu_details popup addline sb_menu_details " Suicide Bomb-Mod " popup addline sb_menu_details "Players can buy suicide bombs. After a short delay," popup addline sb_menu_details "an audible beep will indicate the bomb is armed. To" popup addline sb_menu_details "setup your detonator, open your console using ~ and" popup addline sb_menu_details "type bind boom (ex. bind v boom)." popup addline sb_menu_details " " popup addline sb_menu_details "Some bombs are faulty and may not detonate. Chest" popup addline sb_menu_details "damage may accidentally detonate bombs. Bombs will" popup addline sb_menu_details "explode in a chain reaction if the player is killed" popup addline sb_menu_details "by another explosion." popup addline sb_menu_details " " popup addline sb_menu_details "->0 Exit" popup addline sb_menu_details "->1 Details" popup addline sb_menu_details "->2 Settings" popup addline sb_menu_details "->3 Credits" popup addline sb_menu_details "->4 User Commands" // Add selections popup select sb_menu_details 1 bombermod/menu_details_show popup select sb_menu_details 2 bombermod/menu_settings_show popup select sb_menu_details 3 bombermod/menu_credits_show popup select sb_menu_details 4 bombermod/menu_usercmds_show } block menu_settings_create { // Create menu popup create sb_menu_settings popup prepuser sb_menu_settings bombermod/settings_update popup addline sb_menu_settings " Suicide Bomb-Mod - Settings" es_xsetinfo sb_string 0 es_format sb_string "Small Bomb Magnitude: %1" server_var(sb_sm_size) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Large Bomb Magnitude: %1" server_var(sb_lg_size) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Small Bomb Price: $%1" server_var(sb_sm_price) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Large Bomb Price: $%1" server_var(sb_lg_price) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Upgrade Bomb Price: $%1" server_var(sb_up_price) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Arming Delay: %1 seconds" server_var(sb_delay) es popup addline sb_menu_settings server_var(sb_string) popup addline sb_menu_settings "Terrorist Bombs: On" popup addline sb_menu_settings "Counter-Terrorist Bombs: On" es_format sb_string "Terrorist Bomb Limit: %1 per round" server_var(sb_tbomblimit) es popup addline sb_menu_settings server_var(sb_string) es_format sb_string "Counter-Terrorist Bomb Limit: %1 per round" server_var(sb_ctbomblimit) es popup addline sb_menu_settings server_var(sb_string) popup addline sb_menu_settings "Announcements: On" popup addline sb_menu_settings "Random Failures: " es_format sb_string "Kill Cash: %1" server_var(sb_killcash) es popup addline sb_menu_settings server_var(sb_string) popup addline sb_menu_settings " " popup addline sb_menu_settings "->0 Exit" popup addline sb_menu_settings "->1 Details" popup addline sb_menu_settings "->2 Settings" popup addline sb_menu_settings "->3 Credits" popup addline sb_menu_settings "->4 User Commands" // Add selections popup select sb_menu_settings 1 bombermod/menu_details_show popup select sb_menu_settings 2 bombermod/menu_settings_show popup select sb_menu_settings 3 bombermod/menu_credits_show popup select sb_menu_settings 4 bombermod/menu_usercmds_show } block settings_update { //Updates the menus if (server_var(sb_tbombs) == 1) then popup modline sb_menu_settings 8 "Terrorist Bombs: On" if (server_var(sb_tbombs) == 0) then popup modline sb_menu_settings 8 "Terrorist Bombs: Off" if (server_var(sb_ctbombs) == 1) then popup modline sb_menu_settings 9 "Counter-Terrorist Bombs: On" if (server_var(sb_ctbombs) == 0) then popup modline sb_menu_settings 9 "Counter-Terrorist Bombs: Off" if (server_var(sb_announce) == 1) then popup modline sb_menu_settings 12 "Announcements: On" if (server_var(sb_announce) == 0) then popup modline sb_menu_settings 12 "Announcements: Off" if (server_var(sb_failures) > 0) do { es_format sb_string "Random Failures: 1 in %1" server_var(sb_failures) es popup modline sb_menu_settings 13 server_var(sb_string) } if (server_var(sb_failures) == 0) then popup modline sb_menu_settings 13 "Random Failures: Off" if (server_var(sb_tbombs) == 1) then popup modline sb_menu_tbs 3 "Terrorist Can Have Bombs" if (server_var(sb_tbombs) == 0) then popup modline sb_menu_tbs 3 "Terrorist Cannot Have Bombs" if (server_var(sb_ctbombs) == 1) then popup modline sb_menu_tbs 4 "Counter-Terrorist Can Have Bombs" if (server_var(sb_ctbombs) == 0) then popup modline sb_menu_tbs 4 "Counter-Terrorist Cannot Have Bombs" if (server_var(sb_sm_size) > 0) do { es_format sb_string "Current size: %1" server_var(sb_sm_size) es popup modline sb_menu_sbomb 5 server_var(sb_string) } if (server_var(sb_lg_size) > 0) do { es_format sb_string "Current size: %1" server_var(sb_lg_size) es popup modline sb_menu_lbomb 5 server_var(sb_string) } if (server_var(sb_sm_price) > 0) do { es_format sb_string "Current Price: %1" server_var(sb_sm_price) es popup modline sb_menu_sbombp 3 server_var(sb_string) } if (server_var(sb_lg_price) > 0) do { es_format sb_string "Current Price: %1" server_var(sb_lg_price) es popup modline sb_menu_lbombp 3 server_var(sb_string) } if (server_var(sb_up_price) > 0) do { es_format sb_string "Current Price: %1" server_var(sb_up_price) es popup modline sb_menu_ubombp 3 server_var(sb_string) } if (server_var(sb_delay) > 0) do { es_format sb_string "Current Time: %1" server_var(sb_delay) es popup modline sb_menu_bdelay 4 server_var(sb_string) } if (server_var(sb_delay) == 0) then popup modline sb_menu_bdelay 4 "Arming Time is: Off!" if (server_var(sb_failures) > 0) do { es_format sb_string "Current Setting: 1 in %1" server_var(sb_failures) es popup modline sb_menu_rndfail 3 server_var(sb_string) } if (server_var(sb_failures) == 0) then popup modline sb_menu_rndfail 3 "Random Failures are: Off!" if (server_var(sb_sm_price) > 0) do { es_format sb_string "->1 Small Bomb: $%1" server_var(sb_sm_price) es popup modline sb_menu_buy1 5 server_var(sb_string) es popup modline sb_menu_buy2 5 server_var(sb_string) } if (server_var(sb_lg_price) > 0) do { es_format sb_string "->2 Large Bomb: $%1" server_var(sb_lg_price) es popup modline sb_menu_buy1 6 server_var(sb_string) } if (server_var(sb_up_price) > 0) do { es_format sb_string "->1 Upgrade: $%1" server_var(sb_lg_price) es popup modline sb_menu_buy3 5 server_var(sb_string) } if (server_var(sb_sm_price) == 0) then popup modline sb_menu_buy1 5 "->1 Small Bomb: FREE!" if (server_var(sb_lg_price) == 0) then popup modline sb_menu_buy1 6 "->2 Large Bomb: FREE!" if (server_var(sb_sm_price) == 0) then popup modline sb_menu_buy2 5 "->1 Small Bomb: FREE!" if (server_var(sb_up_price) == 0) then popup modline sb_menu_buy3 5 "->1 Upgrade: FREE!" } block menu_credits_create { // Create menu popup create sb_menu_credits popup addline sb_menu_credits " Suicide Bomb-Mod - Credits " popup addline sb_menu_credits "Written By: ^^11ELITE JIMBOB" popup addline sb_menu_credits "Based On: Jihad-Mod" popup addline sb_menu_credits "Made for Flamin' Jihad Clan" popup addline sb_menu_credits "Allahou Ackbar!!!" popup addline sb_menu_credits " " popup addline sb_menu_credits "->0 Exit" popup addline sb_menu_credits "->1 Details" popup addline sb_menu_credits "->2 Settings" popup addline sb_menu_credits "->3 Credits" popup addline sb_menu_credits "->4 User Commands" // Add selections popup select sb_menu_credits 1 bombermod/menu_details_show popup select sb_menu_credits 2 bombermod/menu_settings_show popup select sb_menu_credits 3 bombermod/menu_credits_show popup select sb_menu_credits 4 bombermod/menu_usercmds_show popup select sb_menu_credits 5 bombermod/menu_admincvar_show } block menu_usercmds_create { // Create menu popup create sb_menu_usercmds popup addline sb_menu_usercmds " Suicide Bomb-Mod - User Commands " popup addline sb_menu_usercmds "!sb - Shows this menu" popup addline sb_menu_usercmds "!ask - Enables asking to buy (default)" popup addline sb_menu_usercmds "!noask - Disables asking to buy" popup addline sb_menu_usercmds "!buybomb - Shows buy menu (if latebuying is enabled)" popup addline sb_menu_usercmds " " popup addline sb_menu_usercmds "->0 Exit" popup addline sb_menu_usercmds "->1 Details" popup addline sb_menu_usercmds "->2 Settings" popup addline sb_menu_usercmds "->3 Credits" popup addline sb_menu_usercmds "->4 User Commands" // Add selections popup select sb_menu_usercmds 1 bombermod/menu_details_show popup select sb_menu_usercmds 2 bombermod/menu_settings_show popup select sb_menu_usercmds 3 bombermod/menu_credits_show popup select sb_menu_usercmds 4 bombermod/menu_usercmds_show } block menu_admincvar_create { // Create menu popup create sb_menu_admincvar popup addline sb_menu_admincvar " Suicide Bomb-Mod - Admin Cvars " popup addline sb_menu_admincvar " Type !bmodadmin to bring up this menu " popup addline sb_menu_admincvar "sb_killcash 2000 (Cash For Each Kill)" popup addline sb_menu_admincvar "sb_buyfreq (How Often in rounds a Player Can Buy a Bomb)" popup addline sb_menu_admincvar "sb_tkpunish (Prevent Players From Buying X Ammount of Rounds For Each TK)" popup addline sb_menu_admincvar " " popup addline sb_menu_admincvar "->0 Exit" popup addline sb_menu_admincvar "->1 Small Bomb Magnitude" popup addline sb_menu_admincvar "->2 Large Bomb Magnitude" popup addline sb_menu_admincvar "->3 Small Bomb Price" popup addline sb_menu_admincvar "->4 Large Bomb Price" popup addline sb_menu_admincvar "->5 Upgrade Price" popup addline sb_menu_admincvar "->6 Arming Delay" popup addline sb_menu_admincvar "->7 Random Failures" popup addline sb_menu_admincvar "->8 Enable/Disable Team's Bombs" // Add selections popup select sb_menu_admincvar 1 bombermod/menu_sbomb_show popup select sb_menu_admincvar 2 bombermod/menu_lbomb_show popup select sb_menu_admincvar 3 bombermod/menu_sbombp_show popup select sb_menu_admincvar 4 bombermod/menu_lbombp_show popup select sb_menu_admincvar 5 bombermod/menu_ubombp_show popup select sb_menu_admincvar 6 bombermod/menu_bdelay_show popup select sb_menu_admincvar 7 bombermod/menu_rndfail_show popup select sb_menu_admincvar 8 bombermod/menu_tbs_show } block menu_tbs_create { // Create menu popup create sb_menu_tbs popup prepuser sb_menu_tbs bombermod/settings_update popup addline sb_menu_tbs " Enable / Disable Teams Ability to Bomb" popup addline sb_menu_tbs " " popup addline sb_menu_tbs "Terrorist Can Have Bombs" popup addline sb_menu_tbs "Counter-Terrorist Can Have Bombs" popup addline sb_menu_tbs " " popup addline sb_menu_tbs "->0 Exit" popup addline sb_menu_tbs "->1 Enable T Bombs" popup addline sb_menu_tbs "->2 Disable T Bombs" popup addline sb_menu_tbs "->3 Enable CT Bombs" popup addline sb_menu_tbs "->4 Disable CT Bombs" popup addline sb_menu_tbs "->8 Back" // Add selections popup menuselect sb_menu_tbs bombermod/tbs popup submenu sb_menu_tbs 1 sb_menu_tbs popup submenu sb_menu_tbs 2 sb_menu_tbs popup submenu sb_menu_tbs 3 sb_menu_tbs popup submenu sb_menu_tbs 4 sb_menu_tbs popup select sb_menu_tbs 8 bombermod/menu_admincvar_show } block tbs { if (server_var(_popup_choice) == 1) do { es_xset sb_tbombs 1 es_xcentermsg T's Can Now Bomb! } if (server_var(_popup_choice) == 2) do { es_xset sb_tbombs 0 es_xcentermsg T's Cannot Bomb! } if (server_var(_popup_choice) == 3) do { es_xset sb_ctbombs 1 es_xcentermsg CT's Can Now Bomb! } if (server_var(_popup_choice) == 4) do { es_xset sb_ctbombs 0 es_xcentermsg CT's Cannot Bomb! } } block menu_sbomb_create { // Create menu popup create sb_menu_sbomb popup prepuser sb_menu_sbomb bombermod/settings_update popup addline sb_menu_sbomb "Small Bomb Magnitude" popup addline sb_menu_sbomb "DO NOT SEET OVER 6000" popup addline sb_menu_sbomb " SERVER WILL CRASH" popup addline sb_menu_sbomb " " popup addline sb_menu_sbomb "Current Size: " popup addline sb_menu_sbomb " " popup addline sb_menu_sbomb "->0 Exit" popup addline sb_menu_sbomb "->1 100" popup addline sb_menu_sbomb "->2 150" popup addline sb_menu_sbomb "->3 200" popup addline sb_menu_sbomb "->4 250 (Defualt)" popup addline sb_menu_sbomb "->5 300" popup addline sb_menu_sbomb "->8 Back" // Add selections popup menuselect sb_menu_sbomb bombermod/sbomb popup submenu sb_menu_sbomb 1 sb_menu_sbomb popup submenu sb_menu_sbomb 2 sb_menu_sbomb popup submenu sb_menu_sbomb 3 sb_menu_sbomb popup submenu sb_menu_sbomb 4 sb_menu_sbomb popup submenu sb_menu_sbomb 5 sb_menu_sbomb popup select sb_menu_sbomb 8 bombermod/menu_admincvar_show } block sbomb { if (server_var(_popup_choice) == 1) do { es_xset sb_sm_size 100 es_msg #multi #green event_var(es_username) #default Changed the size of the small bomb to #lightgreen 100! } if (server_var(_popup_choice) == 2) do { es_xset sb_sm_size 150 es_msg #multi #green event_var(es_username) #default Changed the size of the small bomb to #lightgreen 150! } if (server_var(_popup_choice) == 3) do { es_xset sb_sm_size 200 es_msg #multi #green event_var(es_username) #default Changed the size of the small bomb to #lightgreen 200! } if (server_var(_popup_choice) == 4) do { es_xset sb_sm_size 250 es_msg #multi #green event_var(es_username) #default Changed the size of the small bomb to #lightgreen 250! } if (server_var(_popup_choice) == 5) do { es_xset sb_sm_size 300 es_msg #multi #green event_var(es_username) #default Changed the size of the small bomb to #lightgreen 300! } } block menu_lbomb_create { // Create menu popup create sb_menu_lbomb popup prepuser sb_menu_lbomb bombermod/settings_update popup addline sb_menu_lbomb "Large Bomb Magnitude" popup addline sb_menu_lbomb "DO NOT SEET OVER 6000" popup addline sb_menu_lbomb " SERVER WILL CRASH" popup addline sb_menu_lbomb " " popup addline sb_menu_lbomb "Current Size: " popup addline sb_menu_lbomb " " popup addline sb_menu_lbomb "->0 Exit" popup addline sb_menu_lbomb "->1 350" popup addline sb_menu_lbomb "->2 375" popup addline sb_menu_lbomb "->3 400 (Defualt)" popup addline sb_menu_lbomb "->4 500" popup addline sb_menu_lbomb "->5 2000 (Uber Bomb)" popup addline sb_menu_lbomb "->8 Back" // Add selections popup menuselect sb_menu_lbomb bombermod/lbomb popup submenu sb_menu_lbomb 1 sb_menu_lbomb popup submenu sb_menu_lbomb 2 sb_menu_lbomb popup submenu sb_menu_lbomb 3 sb_menu_lbomb popup submenu sb_menu_lbomb 4 sb_menu_lbomb popup submenu sb_menu_lbomb 5 sb_menu_lbomb popup select sb_menu_lbomb 8 bombermod/menu_admincvar_show } block lbomb { if (server_var(_popup_choice) == 1) do { es_xset sb_lg_size 350 es_msg #multi #green event_var(es_username) #default Changed the size of the large bomb to #lightgreen 350! } if (server_var(_popup_choice) == 2) do { es_xset sb_lg_size 375 es_msg #multi #green event_var(es_username) #default Changed the size of the large bomb to #lightgreen 375! } if (server_var(_popup_choice) == 3) do { es_xset sb_lg_size 400 es_msg #multi #green event_var(es_username) #default Changed the size of the large bomb to #lightgreen 400! } if (server_var(_popup_choice) == 4) do { es_xset sb_lg_size 500 es_msg #multi #green event_var(es_username) #default Changed the size of the large bomb to #lightgreen 500! } if (server_var(_popup_choice) == 5) do { es_xset sb_lg_size 2000 es_msg #multi #green event_var(es_username) #default Changed the size of the large bomb to #lightgreen 2000!!! } } block menu_sbombp_create { // Create menu popup create sb_menu_sbombp popup prepuser sb_menu_sbombp bombermod/settings_update popup addline sb_menu_sbombp "Small Bomb Price" popup addline sb_menu_sbombp " " popup addline sb_menu_sbombp "Current Price: " popup addline sb_menu_sbombp " " popup addline sb_menu_sbombp "->0 Exit" popup addline sb_menu_sbombp "->1 500 " popup addline sb_menu_sbombp "->2 2000" popup addline sb_menu_sbombp "->3 2500" popup addline sb_menu_sbombp "->4 3000" popup addline sb_menu_sbombp "->5 3500" popup addline sb_menu_sbombp "->6 5000 (Defualt)" popup addline sb_menu_sbombp "->8 Back" // Add selections popup menuselect sb_menu_sbombp bombermod/sbombp popup submenu sb_menu_sbombp 1 sb_menu_sbombp popup submenu sb_menu_sbombp 2 sb_menu_sbombp popup submenu sb_menu_sbombp 3 sb_menu_sbombp popup submenu sb_menu_sbombp 4 sb_menu_sbombp popup submenu sb_menu_sbombp 5 sb_menu_sbombp popup submenu sb_menu_sbombp 6 sb_menu_sbombp popup select sb_menu_sbombp 8 bombermod/menu_admincvar_show } block sbombp { if (server_var(_popup_choice) == 1) do { es_xset sb_sm_price 500 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 500! } if (server_var(_popup_choice) == 2) do { es_xset sb_sm_price 2000 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 2000! } if (server_var(_popup_choice) == 3) do { es_xset sb_sm_price 2500 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 2500! } if (server_var(_popup_choice) == 4) do { es_xset sb_sm_price 3000 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 3000! } if (server_var(_popup_choice) == 5) do { es_xset sb_sm_price 3500 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 3500! } if (server_var(_popup_choice) == 6) do { es_xset sb_sm_price 5000 es_msg #multi #green event_var(es_username) #default Changed the price of the small bomb to #lightgreen 5000! } } block menu_lbombp_create { // Create menu popup create sb_menu_lbombp popup prepuser sb_menu_lbombp bombermod/settings_update popup addline sb_menu_lbombp "Large Bomb Price" popup addline sb_menu_lbombp " " popup addline sb_menu_lbombp "Current Price: " popup addline sb_menu_lbombp " " popup addline sb_menu_lbombp "->0 Exit" popup addline sb_menu_lbombp "->1 1500" popup addline sb_menu_lbombp "->2 3000" popup addline sb_menu_lbombp "->3 5000" popup addline sb_menu_lbombp "->4 6000" popup addline sb_menu_lbombp "->5 7000" popup addline sb_menu_lbombp "->6 8000 (Defualt)" popup addline sb_menu_lbombp "->8 Back" // Add selections popup menuselect sb_menu_lbombp bombermod/lbombp popup submenu sb_menu_lbombp 1 sb_menu_lbombp popup submenu sb_menu_lbombp 2 sb_menu_lbombp popup submenu sb_menu_lbombp 3 sb_menu_lbombp popup submenu sb_menu_lbombp 4 sb_menu_lbombp popup submenu sb_menu_lbombp 5 sb_menu_lbombp popup submenu sb_menu_lbombp 6 sb_menu_lbombp popup select sb_menu_lbombp 8 bombermod/menu_admincvar_show } block lbombp { if (server_var(_popup_choice) == 1) do { es_xset sb_lg_price 1500 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 1500! } if (server_var(_popup_choice) == 2) do { es_xset sb_lg_price 3000 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 3000! } if (server_var(_popup_choice) == 3) do { es_xset sb_lg_price 5000 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 5000! } if (server_var(_popup_choice) == 4) do { es_xset sb_lg_price 6000 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 6000! } if (server_var(_popup_choice) == 5) do { es_xset sb_lg_price 7000 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 7000! } if (server_var(_popup_choice) == 6) do { es_xset sb_lg_price 8000 es_msg #multi #green event_var(es_username) #default Changed the price of the large bomb to #lightgreen 8000! } } block menu_ubombp_create { // Create menu popup create sb_menu_ubombp popup prepuser sb_menu_ubombp bombermod/settings_update popup addline sb_menu_ubombp "Upgrade Price" popup addline sb_menu_ubombp " " popup addline sb_menu_ubombp "Current Price: " popup addline sb_menu_ubombp " " popup addline sb_menu_ubombp "->0 Exit" popup addline sb_menu_ubombp "->1 1500" popup addline sb_menu_ubombp "->2 2000" popup addline sb_menu_ubombp "->3 2500" popup addline sb_menu_ubombp "->4 3000" popup addline sb_menu_ubombp "->5 3500 (Defualt)" popup addline sb_menu_ubombp "->8 Back" // Add selections popup menuselect sb_menu_ubombp bombermod/ubombp popup submenu sb_menu_ubombp 1 sb_menu_ubombp popup submenu sb_menu_ubombp 2 sb_menu_ubombp popup submenu sb_menu_ubombp 3 sb_menu_ubombp popup submenu sb_menu_ubombp 4 sb_menu_ubombp popup submenu sb_menu_ubombp 5 sb_menu_ubombp popup select sb_menu_ubombp 8 bombermod/menu_admincvar_show } block ubombp { if (server_var(_popup_choice) == 1) do { es_xset sb_up_price 1500 es_msg #multi #green event_var(es_username) #default Changed the price to upgrade a bomb to #lightgreen 1500! } if (server_var(_popup_choice) == 2) do { es_xset sb_up_price 2000 es_msg #multi #green event_var(es_username) #default Changed the price to upgrade a bomb to #lightgreen 2000! } if (server_var(_popup_choice) == 3) do { es_xset sb_up_price 2500 es_msg #multi #green event_var(es_username) #default Changed the price to upgrade a bomb to #lightgreen 2500! } if (server_var(_popup_choice) == 4) do { es_xset sb_up_price 3000 es_msg #multi #green event_var(es_username) #default Changed the price to upgrade a bomb to #lightgreen 3000! } if (server_var(_popup_choice) == 5) do { es_xset sb_up_price 3500 es_msg #multi #green event_var(es_username) #default Changed the price to upgrade a bomb to #lightgreen 3500! } } block menu_bdelay_create { // Create menu popup create sb_menu_bdelay popup prepuser sb_menu_bdelay bombermod/settings_update popup addline sb_menu_bdelay " Arming Delay" popup addline sb_menu_bdelay "Time in seconds" popup addline sb_menu_bdelay " " popup addline sb_menu_bdelay "Current Time: " popup addline sb_menu_bdelay " " popup addline sb_menu_bdelay "->0 Exit" popup addline sb_menu_bdelay "->1 Off" popup addline sb_menu_bdelay "->2 5" popup addline sb_menu_bdelay "->3 10 (Defualt)" popup addline sb_menu_bdelay "->4 15" popup addline sb_menu_bdelay "->5 20" popup addline sb_menu_bdelay "->8 Back" // Add selections popup menuselect sb_menu_bdelay bombermod/bdelay popup submenu sb_menu_bdelay 1 sb_menu_bdelay popup submenu sb_menu_bdelay 2 sb_menu_bdelay popup submenu sb_menu_bdelay 3 sb_menu_bdelay popup submenu sb_menu_bdelay 4 sb_menu_bdelay popup submenu sb_menu_bdelay 5 sb_menu_bdelay popup select sb_menu_bdelay 8 bombermod/menu_admincvar_show } block bdelay { if (server_var(_popup_choice) == 1) do { es_xset sb_delay 0 es_msg #multi #green event_var(es_username) #default Turned the arming delay #lightgreen Off! } if (server_var(_popup_choice) == 2) do { es_xset sb_delay 5 es_msg #multi #green event_var(es_username) #default Changed the arming delay to #lightgreen 5 seconds! } if (server_var(_popup_choice) == 3) do { es_xset sb_delay 10 es_msg #multi #green event_var(es_username) #default Changed the arming delay to #lightgreen 10 seconds! } if (server_var(_popup_choice) == 4) do { es_xset sb_delay 15 es_msg #multi #green event_var(es_username) #default Changed the arming delay to #lightgreen 15 seconds! } if (server_var(_popup_choice) == 5) do { es_xset sb_delay 20 es_msg #multi #green event_var(es_username) #default Changed the arming delay to #lightgreen 20 seconds! } } block menu_rndfail_create { // Create menu popup create sb_menu_rndfail popup prepuser sb_menu_rndfail bombermod/settings_update popup addline sb_menu_rndfail "Random Failures" popup addline sb_menu_rndfail " " popup addline sb_menu_rndfail "Current Setting: 1 in " popup addline sb_menu_rndfail " " popup addline sb_menu_rndfail "->0 Exit" popup addline sb_menu_rndfail "->1 Off" popup addline sb_menu_rndfail "->2 1 in 15" popup addline sb_menu_rndfail "->3 1 in 25 (Defualt)" popup addline sb_menu_rndfail "->4 1 in 35" popup addline sb_menu_rndfail "->5 1 in 45" popup addline sb_menu_rndfail "->8 Back" // Add selections popup menuselect sb_menu_rndfail bombermod/rndfail popup submenu sb_menu_rndfail 1 sb_menu_rndfail popup submenu sb_menu_rndfail 2 sb_menu_rndfail popup submenu sb_menu_rndfail 3 sb_menu_rndfail popup submenu sb_menu_rndfail 4 sb_menu_rndfail popup submenu sb_menu_rndfail 5 sb_menu_rndfail popup select sb_menu_rndfail 8 bombermod/menu_admincvar_show } block rndfail { if (server_var(_popup_choice) == 1) do { es_xset sb_failures 0 es_msg #multi #green event_var(es_username) #default Turned random bomb failures #lightgreen Off! } if (server_var(_popup_choice) == 2) do { es_xset sb_failures 15 es_msg #multi #green event_var(es_username) #default Changed random bomb failures to #lightgreen 1 in 15! } if (server_var(_popup_choice) == 3) do { es_xset sb_failures 25 es_msg #multi #green event_var(es_username) #default Changed random bomb failures to #lightgreen 1 in 25! } if (server_var(_popup_choice) == 4) do { es_xset sb_failures 35 es_msg #multi #green event_var(es_username) #default Changed random bomb failures to #lightgreen 1 in 35! } if (server_var(_popup_choice) == 5) do { es_xset sb_failures 45 es_msg #multi #green event_var(es_username) #default Changed random bomb failures to #lightgreen 1 in 45! } } block menu_buy_show { // Get player team es_xsetinfo sb_team 0 es_getplayerteam sb_team server_var(sb_player) // Check buy rules es_xsetinfo sb_canbuy 0 if (server_var(sb_team) == 1) then if (server_var(sb_specbombs) == 0) then es_xsetinfo sb_canbuy 0 if (server_var(sb_team) == 2) then if (server_var(sb_tbombs) == 1) then es_xsetinfo sb_canbuy 1 if (server_var(sb_team) == 3) then if (server_var(sb_ctbombs) == 1) then es_xsetinfo sb_canbuy 1 // Check their frequency es_xsetinfo sb_freq 0 es_keygetvalue sb_freq sb_playerlist server_var(sb_player) freq es_xmath sb_freq + 1 es_keysetvalue sb_playerlist server_var(sb_player) freq server_var(sb_freq) if (server_var(sb_freq) < server_var(sb_buyfreq)) then es_xsetinfo sb_canbuy 0 // Player can buy if (server_var(sb_canbuy) == 1) do { // Get their ask setting es_xsetinfo sb_ask 0 es_keygetvalue sb_ask sb_playerlist server_var(sb_player) ask // Their ask is enabled if (server_var(sb_ask) == 1) do { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist server_var(sb_player) // If they are NOT in the list if (server_var(sb_exists) == 0) do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash server_var(sb_player) "CCSPlayer.m_iAccount" // If they have enough for a small bomb if (server_var(sb_cash) >= server_var(sb_sm_price)) do { // If they have enough for a large bomb if (server_var(sb_cash) >= server_var(sb_lg_price)) do { // Ask them if they want to buy a large or small bomb es popup send sb_menu_buy1 server_var(sb_player) } else do { // Ask them if they want to buy a small bomb es popup send sb_menu_buy2 server_var(sb_player) } } else do { // Tell them they don't have the cash es_tell server_var(sb_player) #multi #green [Suicide Bomb-Mod] #default You are poor so you don't have enough cash to buy a bomb! } } else do { // Get their a bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist server_var(sb_player) size // If they have a small bomb if (server_var(sb_size) < server_var(sb_lg_size)) do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash server_var(sb_player) "CCSPlayer.m_iAccount" // If they have enough for an upgrade if (server_var(sb_cash) >= server_var(sb_up_price)) do { // Ask them if they want to upgrade to a large bomb es popup send sb_menu_buy3 server_var(sb_player) } else do { // Tell them they don't have the cash es_tell server_var(sb_player) #multi #green [Suicide Bomb-Mod] #default You are poor so you don't have enough cash to upgrade your bomb! } } } } } } block menu_buy_sm { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist server_var(_popup_userid) // If they are NOT in the list if (server_var(sb_exists) == 0) do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash server_var(_popup_userid) "CCSPlayer.m_iAccount" // If they have enough cash for a small bomb if (server_var(sb_cash) >= server_var(sb_sm_price)) do { // Get player team es_xsetinfo sb_team 0 es_getplayerteam sb_team server_var(_popup_userid) // Check if they can buy es_xsetinfo sb_canbuy 0 if (server_var(sb_team) == 2) then if (server_var(sb_tbombcount) < server_var(sb_tbomblimit)) then es_xsetinfo sb_canbuy 1 if (server_var(sb_team) == 3) then if (server_var(sb_ctbombcount) < server_var(sb_ctbomblimit)) then es_xsetinfo sb_canbuy 1 // If they can buy if (server_var(sb_canbuy) == 1) do { // Increment bombcount if (server_var(sb_team) == 2) then es_xmath sb_tbombcount + 1 if (server_var(sb_team) == 3) then es_xmath sb_ctbombcount + 1 // Subtract small bomb price es_math sb_cash - server_var(sb_sm_price) es_setplayerprop server_var(_popup_userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Give them a small bomb es_keycreate sb_bomberlist server_var(_popup_userid) es_keysetvalue sb_bomberlist server_var(_popup_userid) size server_var(sb_sm_size) es_keysetvalue sb_bomberlist server_var(_popup_userid) armed 0 es_keysetvalue sb_bomberlist server_var(_popup_userid) armwait server_var(sb_delay) if (server_var(sb_colorbomber) == 1) then es est_SetPlayerColor server_var(_popup_userid) 225 50 50 255 1 // Reset their frequency es_keysetvalue sb_playerlist event_var(userid) freq 0 // Emit pickup sound from player es_emitsound player server_var(_popup_userid) items/itempickup.wav 1.0 0.75 } else do { // Tell them there are too many bombs es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default There are too many bombs on your team! } } else do { // Tell them they don't have the cash es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are Poor! } } else do { // Tell them they already have a bomb es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You have already answered Allah's call to Jihad! } } block menu_buy_lg { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist server_var(_popup_userid) // If they are NOT in the list if (server_var(sb_exists) == 0) do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash server_var(_popup_userid) "CCSPlayer.m_iAccount" // If they have enough cash for a large bomb if (server_var(sb_cash) >= server_var(sb_lg_price)) do { // Get player team es_xsetinfo sb_team 0 es_getplayerteam sb_team server_var(_popup_userid) // Check if they can buy es_xsetinfo sb_canbuy 0 if (server_var(sb_team) == 2) then if (server_var(sb_tbombcount) < server_var(sb_tbomblimit)) then es_xsetinfo sb_canbuy 1 if (server_var(sb_team) == 3) then if (server_var(sb_ctbombcount) < server_var(sb_ctbomblimit)) then es_xsetinfo sb_canbuy 1 // If they can buy if (server_var(sb_canbuy) == 1) do { // Increment bombcount if (server_var(sb_team) == 2) then es_xmath sb_tbombcount + 1 if (server_var(sb_team) == 3) then es_xmath sb_ctbombcount + 1 // Subtract large bomb price es_math sb_cash - server_var(sb_lg_price) es_setplayerprop server_var(_popup_userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Give them a large bomb es_keycreate sb_bomberlist server_var(_popup_userid) es_keysetvalue sb_bomberlist server_var(_popup_userid) size server_var(sb_lg_size) es_keysetvalue sb_bomberlist server_var(_popup_userid) armed 0 es_keysetvalue sb_bomberlist server_var(_popup_userid) armwait server_var(sb_delay) if (server_var(sb_colorbomber) == 1) then es est_SetPlayerColor server_var(_popup_userid) 225 50 50 255 1 // Reset their frequency es_keysetvalue sb_playerlist event_var(userid) freq 0 // Emit pickup sound from player es_emitsound player server_var(_popup_userid) items/itempickup.wav 1.0 0.75 } else do { // Tell them there are too many bombs es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default There are too many bombs on your team! } } else do { // Tell them they don't have the cash es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are Poor! } } else do { // Tell them they already have a bomb es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You have already answered Allah's call to Jihad! } } block menu_buy_up { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist server_var(_popup_userid) // If they are in the list if (server_var(sb_exists) == 1) do { // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist server_var(_popup_userid) size // If they have a small bomb if (server_var(sb_size) < server_var(sb_lg_size)) do { // Get their cash es_xsetinfo sb_cash 0 es_getplayerprop sb_cash server_var(_popup_userid) "CCSPlayer.m_iAccount" // If they have enough cash for a large bomb upgrade if (server_var(sb_cash) >= server_var(sb_up_price)) do { // Subtract large bomb upgrade price es_math sb_cash - server_var(sb_up_price) es_setplayerprop server_var(_popup_userid) "CCSPlayer.m_iAccount" server_var(sb_cash) // Give them a large bomb es_keysetvalue sb_bomberlist server_var(_popup_userid) size server_var(sb_lg_size) es_keysetvalue sb_bomberlist server_var(_popup_userid) armed 0 es_keysetvalue sb_bomberlist server_var(_popup_userid) armwait server_var(sb_delay) if (server_var(sb_colorbomber) == 1) then es est_SetPlayerColor server_var(_popup_userid) 225 50 50 255 1 // Emit pickup sound from player es_emitsound player server_var(_popup_userid) items/itempickup.wav 1.0 0.75 } else do { // Tell them they don't have the cash es_tell server_var(_popup_userid) #multi #green [Bomber-Mod] #default You are Poor! } } else do { // Tell them they already have a large bomb es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You already have a large suicide bomb! } } else do { // Tell them they don't have a bomb es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You do not have a suicide bomb to upgrade! } } block menu_details_show { // Show menu es popup send sb_menu_details server_var(_popup_userid) } block menu_settings_show { // Show menu es popup send sb_menu_settings server_var(_popup_userid) } block menu_credits_show { // Show menu es popup send sb_menu_credits server_var(_popup_userid) } block menu_usercmds_show { // Show menu es popup send sb_menu_usercmds server_var(_popup_userid) } block menu_admincvar_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_admincvar server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_tbs_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_tbs server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_sbomb_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_sbomb server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_lbomb_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_lbomb server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_sbombp_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_sbombp server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_lbombp_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_lbombp server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_ubombp_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_ubombp server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_bdelay_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_bdelay server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } block menu_rndfail_show { // Get SteamID es_xsetinfo sb_steamid 0 es_getplayersteamid sb_steamid server_var(_popup_userid) // Check to See if They Are Admin if (server_var(sb_steamid) in server_var(sb_admins)) do { // Show menu es popup send sb_menu_rndfail server_var(_popup_userid) } else do { // Tell them they aren't an admin es_tell server_var(_popup_userid) #multi #green [Suicide Bomb-Mod] #default You are not an admin! } } event player_death { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist event_var(userid) // If they are NOT in the list if (server_var(sb_exists) == 1) do { // Get their armed status es_xsetinfo sb_armed 0 es_keygetvalue sb_armed sb_bomberlist event_var(userid) armed // Check if bombs are armed if (server_var(sb_armed) == 1) do { // Check if an explosion killed them if (event_var(weapon) == env_explosion) do { // Get userid es_xsetinfo sb_userid 0 es_setinfo sb_userid event_var(userid) // Blow them up es_xdoblock bombermod/explode } } // Remove the player from the list es_keydelete sb_bomberlist event_var(userid) } // Remove menus es popup unsendname sb_menu_buy1 event_var(userid) es popup unsendname sb_menu_buy2 event_var(userid) es popup unsendname sb_menu_buy3 event_var(userid) // If they were killed by explosion if (event_var(weapon) == env_explosion) do { // If they were on the same team if (event_var(es_userteam) == event_var(es_attackerteam)) do { // If they were NOT the same person if (event_var(userid) != event_var(attacker)) do { // Update their frequency es_xsetinfo sb_freq 0 es_keygetvalue sb_freq sb_playerlist event_var(attacker) freq es_math sb_freq - server_var(sb_tkpunish) es_keysetvalue sb_playerlist event_var(attacker) freq server_var(sb_freq) } } else do { // Pay the attacker es_xsetinfo sb_pd_cash 0 es_getplayerprop sb_pd_cash event_var(attacker) "CCSPlayer.m_iAccount" es_math sb_pd_cash + server_var(sb_killcash) if (server_var(sb_pd_cash) > 16000) then es_xsetinfo sb_pd_cash 16000 es_setplayerprop event_var(attacker) "CCSPlayer.m_iAccount" server_var(sb_pd_cash) } } // If they were killed by explosion if (event_var(weapon) == point_hurt) do { // Pay the attacker es_xsetinfo sb_pd_cash 0 es_getplayerprop sb_pd_cash event_var(attacker) "CCSPlayer.m_iAccount" es_math sb_pd_cash + server_var(sb_killcash) if (server_var(sb_pd_cash) > 16000) then es_xsetinfo sb_pd_cash 16000 es_setplayerprop event_var(attacker) "CCSPlayer.m_iAccount" server_var(sb_pd_cash) } } event player_hurt { // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist event_var(userid) // If they are NOT in the list if (server_var(sb_exists) == 1) do { // Get their armed status es_xsetinfo sb_armed 0 es_keygetvalue sb_armed sb_bomberlist event_var(userid) armed // Check if bombs are armed if (server_var(sb_armed) == 1) do { // Check if damage was to chest if (event_var(hitgroup) == 2) do { // Get random number for detonation es_xsetinfo sb_random 0 es_xrand sb_random 1 50 // Check for detonation if (server_var(sb_random) < event_var(dmg_health)) do { // Get userid es_xsetinfo sb_userid 0 es_setinfo sb_userid event_var(userid) // Trigger their bomb es_xdoblock bombermod/explode // Get player name es_xsetinfo sb_name " " es_getplayername sb_name event_var(userid) // Get player name es_xsetinfo sb_attackername " " es_getplayername sb_attackername event_var(attacker) // Announce explosion if (server_var(sb_announce) == 1) then es_msg #multi #green [Suicide Bomb-Mod] #default server_var(sb_name)'s was accidentally #lightgreen ASPLODE #default by server_var(sb_attackername)! } } } } } block boom { // Get userid es_xsetinfo sb_userid 0 es_xgetcmduserid sb_userid // Get them from the bomberlist es_xsetinfo sb_exists 0 es_exists sb_exists key sb_bomberlist server_var(sb_userid) // If they are NOT in the list if (server_var(sb_exists) == 1) do { // Get their armed status es_xsetinfo sb_armed 0 es_keygetvalue sb_armed sb_bomberlist server_var(sb_userid) armed // Check if bombs are armed if (server_var(sb_armed) == 1) do { // Get player name es_xsetinfo sb_name " " es_getplayername sb_name server_var(sb_userid) // Get random number for failure es_xsetinfo sb_random 0 es_rand sb_random 1 server_var(sb_failures) // Check for failure if (server_var(sb_random) == server_var(sb_failures)) do { // Announce failure if (server_var(sb_announce) == 1) then es_msg #multi #green [Suicide Bomb-Mod] #default server_var(sb_name) detonated their suicide bomb, but nothing happened! // Remove the player from the list es_keydelete sb_bomberlist server_var(sb_userid) } else do { // Blow them up es_xdoblock bombermod/explode // Announce explosion if (server_var(sb_announce) == 1) then es_msg #multi #green [Suicide Bomb-Mod] #default server_var(sb_name) #lightgreen ASPLODE! } } else do { // Tell them they aren't armed es_tell server_var(sb_userid) #multi #green [Suicide Bomb-Mod] #default Your bomb has not armed yet! } } } block explode { // Create an explosion es_give server_var(sb_userid) env_explosion // Set explosion owner es_xsetinfo sb_owner 0 es_getplayerhandle sb_owner server_var(sb_userid) es_setindexprop server_var(eventscripts_lastgive) "CBaseEntity.m_hOwnerEntity" server_var(sb_owner) // Get their bomb size es_xsetinfo sb_size 0 es_keygetvalue sb_size sb_bomberlist server_var(sb_userid) size // Remove the player from the list es_keydelete sb_bomberlist server_var(sb_userid) // Set explosion magnitude es_xsetinfo sb_magnitude 0 es_format sb_magnitude "imagnitude %1" server_var(sb_size) es_fire server_var(sb_userid) env_explosion addoutput server_var(sb_magnitude) // Random explosion sound effect es_xsetinfo sb_sound 0 es_xrand sb_sound 1 9 if (server_var(sb_sound) == 6) then es_xsetinfo sb_sound 1 es_format sb_sound "ambient/explosions/explode_%1.wav" server_var(sb_sound) es_emitsound entity server_var(eventscripts_lastgive) server_var(sb_sound) 1.0 0.5 // Get player location for explosion effect es_xsetinfo sb_x 0 es_xsetinfo sb_y 0 es_xsetinfo sb_z 0 es_getplayerlocation sb_x sb_y sb_z server_var(sb_userid) // Make the ground shake es_format sb_origin "origin %1 %2 %3" server_var(sb_x) server_var(sb_y) server_var(sb_z) es_give server_var(sb_userid) env_shake es_fire server_var(sb_userid) env_shake AddOutput "spawnflags 12" es_fire server_var(sb_userid) env_shake AddOutput server_var(sb_origin) es_fire server_var(sb_userid) env_shake AddOutput "amplitude 15" es_fire server_var(sb_userid) env_shake AddOutput "radius 3000" es_fire server_var(sb_userid) env_shake AddOutput "duration 1.5" es_fire server_var(sb_userid) env_shake AddOutput "frequency 50" // Cause the explosion with effects es ma_effect 12 A 0 server_var(sb_x) server_var(sb_y) server_var(sb_z) lightning 10 10 32 server_var(sb_size) server_var(sb_size) es_fire server_var(sb_userid) env_shake StartShake es_fire server_var(sb_userid) env_shake kill // If ff is enabled if (server_var(sb_ff) == 1) do { // Do normal explosion es_fire server_var(sb_userid) env_explosion explode } else do { // Kill them es_give server_var(sb_userid) point_hurt es_fire server_var(sb_userid) !self addoutput "targetname badboy" es_fire server_var(sb_userid) point_hurt addoutput "targetname bombdmg" es_fire server_var(sb_userid) bombdmg addoutput "Damage 250" es_fire server_var(sb_userid) bombdmg addoutput "DamageType 64" es_fire server_var(sb_userid) bombdmg addoutput "DamageTarget badboy" es_fire server_var(sb_userid) bombdmg TurnOn es_fire server_var(sb_userid) bombdmg Hurt es_fire server_var(sb_userid) bombdmg Kill es_fire server_var(sb_userid) !self addoutput "targetname notbad" es_sexec server_var(sb_userid) kill // Set explosion owner es_xsetinfo sb_team 0 es_getplayerteam sb_team server_var(sb_userid) // Kill any nearby enemies es_xsetinfo sb_enemy 0 if (server_var(sb_team) == 2) then es est_near sb_enemy #c!d server_var(sb_size) server_var(sb_userid) "es_xdoblock bombermod/kill" if (server_var(sb_team) == 3) then es est_near sb_enemy #t!d server_var(sb_size) server_var(sb_userid) "es_xdoblock bombermod/kill" } } block kill { // Kill them es_give server_var(sb_enemy) point_hurt es_fire server_var(sb_enemy) !self addoutput "targetname badboy" es_fire server_var(sb_enemy) point_hurt addoutput "targetname bombdmg" es_fire server_var(sb_enemy) bombdmg addoutput "Damage 250" es_fire server_var(sb_enemy) bombdmg addoutput "DamageType 64" es_fire server_var(sb_userid) bombdmg addoutput "DamageTarget badboy" es_fire server_var(sb_enemy) bombdmg TurnOn es_fire server_var(sb_userid) bombdmg Hurt es_fire server_var(sb_enemy) bombdmg Kill es_fire server_var(sb_enemy) !self addoutput "targetname notbad" } block timer { // Check if timer is running if (server_var(sb_timer) == 1) do { // Tell each player they are armed es_xsetinfo sb_bomber 0 es_xforeachkey sb_bomber in sb_bomberlist "es_xdoblock bombermod/check_armed" // Run timer again es_xdelayed 1 es_xdoblock bombermod/timer } } block check_armed { // Get their armed status es_xsetinfo sb_armed 0 es_keygetvalue sb_armed sb_bomberlist server_var(sb_bomber) armed // Check if they are NOT armed if (server_var(sb_armed) == 0) do { // Get their armwait es_xsetinfo sb_armwait 0 es_keygetvalue sb_armwait sb_bomberlist server_var(sb_bomber) armwait // Update their armwait es_xmath sb_armwait - 1 es_keysetvalue sb_bomberlist server_var(sb_bomber) armwait server_var(sb_armwait) // Check if we should arm them if (server_var(sb_armwait) <= 0) do { // Arm their bomb es_keysetvalue sb_bomberlist server_var(sb_bomber) armed 1 // Emit arming sound from player es_emitsound player server_var(sb_bomber) buttons/blip2.wav 1.0 0.85 // Tell player they are armed es_tell server_var(sb_bomber) #multi #green [Suicide Bomb-Mod] #default You can now #lightgreen ASPLODE! } } }