//**************************************************************************************************
//  ~ This addon was made by bounty252
//  ~ This addonn is an extremely unique admin command system.
//  ~ The main console command to not is "by_admin" -- this will open the menu.
//  ~ All powers can be used through the menu, however, there are allso console commands for each.
//  ~ For information about this addon and to download, go the following address -
//  ~ http://addons.eventscripts.com/addons/view/by_admin
//  ~ All configuration can be handeled at the by_admin_config.cfg file
//  ~ Please do not edit the script below unless you are experienced.
//**************************************************************************************************


block load
{
    es_msg #green [-by- admin] loaded
    es_load entspawn
    es_load popup
    popup create by_menu_main
	popup addline by_menu_main "|> -by- Admin <|"
    popup addline by_menu_main "----------------------"
	popup addline by_menu_main "->1. Tornado"
	popup addline by_menu_main "->2. Trail"
	popup addline by_menu_main "->3. Pot"
    popup addline by_menu_main "->4. Fog"
	popup addline by_menu_main "->5. Forcefield"
	popup addline by_menu_main "->6. Build Shelter"
    popup addline by_menu_main "----------------------"
	popup addline by_menu_main "0. Exit"
	popup menuselect by_menu_main by_admin/by_menu_main
    popup create by_menu_tornado
	popup addline by_menu_tornado "|> -by- Tornado <|"
	popup addline by_menu_tornado "----------------------"
	popup addline by_menu_tornado "->1. Working tornado"
	popup addline by_menu_tornado "->2. Just for looks"
	popup addline by_menu_tornado "->3. Remove all tornados"
	popup addline by_menu_tornado "----------------------"
	popup addline by_menu_tornado "4. Back"
	popup menuselect by_menu_tornado by_admin/by_menu_tornado
    
    popup create by_menu_fog
	popup addline by_menu_fog "|> -by- Fog <|"
	popup addline by_menu_fog "----------------------"
	popup addline by_menu_fog "->1. Create Fog"
	popup addline by_menu_fog "->2. Remove Fog"
	popup addline by_menu_fog "----------------------"
	popup addline by_menu_fog "3. Back"
	popup menuselect by_menu_fog by_admin/by_menu_fog
    
    popup create by_menu_pot
	popup addline by_menu_pot "|> -by- Pot <|"
	popup addline by_menu_pot "----------------------"
	popup addline by_menu_pot "->1. Spawn some pot"
	popup addline by_menu_pot "->2. Remove all pot"
	popup addline by_menu_pot "----------------------"
	popup addline by_menu_pot "3. Back"
	popup menuselect by_menu_pot by_admin/by_menu_pot
    popup create by_menu_build
	popup addline by_menu_build "|> -by- Build <|"
	popup addline by_menu_build "----------------------"
	popup addline by_menu_build "->1. Spawn large"
	popup addline by_menu_build "->2. Spawn Small"
	popup addline by_menu_build "->3. Remove all"
	popup addline by_menu_build "----------------------"
	popup addline by_menu_build "4. Back"
	popup menuselect by_menu_build by_admin/by_menu_build
    popup create by_menu_trail
	popup addline by_menu_trail "|> -by- Trail <|"
	popup addline by_menu_trail "----------------------"
	popup addline by_menu_trail "->1. Give trail"
	popup addline by_menu_trail "->2. Remove all trails"
	popup addline by_menu_trail "----------------------"
	popup addline by_menu_trail "3. Back"
	popup menuselect by_menu_trail by_admin/by_menu_trail
    popup create by_menu_force
	popup addline by_menu_force "|> -by- Forcefield <|"
	popup addline by_menu_force "----------------------"
	popup addline by_menu_force "->1. Give forcefield"
	popup addline by_menu_force "->2. Remove all"
	popup addline by_menu_force"----------------------"
	popup addline by_menu_force "3. Back"
	popup menuselect by_menu_force by_admin/by_menu_force
    es_xregclientcmd by_admin by_admin/admin "opens menu"
    es_xregclientcmd by_fog by_admin/fog "creates fog"
    es_xregclientcmd by_fog-remove by_admin/fogr "removes fog"
    es_xregclientcmd by_pot by_admin/pot "makes weed"
    es_xregclientcmd by_build by_admin/build "build shelter"
    es_xregclientcmd by_tornado by_admin/tornado "create tornado"
    es_xregclientcmd by_trail by_admin/trail "create trail"
    es_xregclientcmd by_forcefield by_admin/force "creates forcefield"
    es_xregclientcmd by_tornado-remove by_admin/tornador "delete all tornados"
    es_xregclientcmd by_trail-remove by_admin/trailr "delete strail"
    es_xregclientcmd by_forcefield-remove by_admin/forcer "delete forcefield"
    es_xregclientcmd by_pot-remove by_admin/potr "removes weed"
    es_xregclientcmd by_build-remove by_admin/buildr "removes shelter"
    es_xset by_admin_original 1
    es_makepublic by_admin_original
    es_xset by_admins 0
    es_xset by_full_money 0
    es_xset trail_speaker_userid 0
    es_xset trail_name 0
    es_xset trail_userid 0
    es_xset trail_speaker_steamid 0
    es_xset trail_arg_number 0
    es_xset tornado_speaker_userid 0
    es_xset tornado_speaker_steamid 0
    es_xset tornado_hurt 0
    es_xset tornado_arg_number 0
    es_xset build_speaker_userid 0
    es_xset build_speaker_steamid 0
    es_xset build_arg_number 0
    es_xset build_size 0
    es_xset pot_speaker_userid 0
    es_xset pot_speaker_steamid 0
    es_xset pot_arg_number 0
    es_xset by_pot 0
    es_xset force_arg_number 0
    es_xset force_name 0
    es_xset force_userid 0
    es_xset force_speaker_userid 0
    es_xset force_speaker_steamid 0
    es_xset power_exists 0
    es_xset pot_exists 0
    es_xset build_exists 0
    es_xset force_death 0
    es_xset trail_death 0
    es_xset forcer_speaker_userid 0
    es_xset forcer_speaker_steamid 0
    es_xset trailr_speaker_userid 0
    es_xset trailr_speaker_steamid 0
    es_xset potr_speaker_userid 0
    es_xset potr_speaker_steamid 0
    es_xset pot_index 0
    es_xset buildr_speaker_userid 0
    es_xset buildr_speaker_steamid 0
    es_xset build_index 0
    es_xset tornador_speaker_userid 0
    es_xset tornador_speaker_steamid 0
    es_xset admin_speaker_userid 0
    es_xset admin_speaker_steamid 0
    es_xset trail_menu_receiver 0
    es_xset forcefield_menu_receiver 0
    es_xset break_key 0
    es_xset pot_break_index 0
    es_xset fog_speaker_userid 0
    es_xset fog_speaker_steamid 0
    es_xset fog_used 0
    es_xset by_random_userid 0
    es_xset fogr_speaker_userid 0
    es_xset fogr_speaker_steamid 0
    es_mexec ../addons/eventscripts/by_admin/by_admin_config.cfg
    mp_restartgame 1
}    
block unload
{
    es_msg #green [-by- admin] unloaded
    es_xunregclientcmd by_trail
    es_xunregclientcmd by_tornado
    es_xunregclientcmd by_build
    es_xunregclientcmd by_pot
    es_xunregclientcmd by_forcefield
    es_xunregclientcmd by_tornado-remove
    es_xunregclientcmd by_trail-remove
    es_xunregclientcmd by_forcefield-remove
    es_xunregclientcmd by_pot-remove
    es_xunregclientcmd by_build-remove
    es_xunregclientcmd by_admin
    es_xunregclientcmd by_fog
    es_xunregclientcmd by_fog-remove
    es_exists power_exists keygroup power_users
    if (server_var(power_exists) equalto 1) do
    {
        es_keygroupdelete power_users
    }
    es_exists pot_exists keygroup pot_remove
    if (server_var(pot_exists) equalto 1) do
    {
        es_keygroupdelete pot_remove
    }
    es_exists build_exists keygroup build_remove
    if (server_var(build_exists) equalto 1) do
    {
        es_keygroupdelete build_remove
    }
    popup unsendname by_menu_main #all
    popup unsendname by_menu_trail #all
    popup unsendname by_menu_tornado #all
    popup unsendname by_menu_build #all
    popup unsendname by_menu_pot #all
    popup unsendname by_menu_force #all
	popup delete by_menu_main
    popup delete by_menu_trail
    popup delete by_menu_tornado
    popup delete by_menu_build
    popup delete by_menu_pot
    popup delete by_menu_force
}
event break_prop
{
    es_exists pot_exists keygroup pot_remove
    if (server_var(pot_exists) equalto 1) do
    {
        es_set pot_break_index event_var(entindex)
        es_foreachkey break_key in pot_remove "es_doblock by_admin/stop_crash" 
    }
}
block stop_crash
{
    if (server_var(break_key) equalto server_var(pot_break_index)) do
    {
        es_keydelete pot_remove server_var(break_key)
    }
}
block admin
{
    es_getcmduserid admin_speaker_userid
    es_getplayersteamid admin_speaker_steamid server_var(admin_speaker_userid)  
    if (server_var(admin_speaker_steamid) in server_var(by_admins)) do
    {
        es popup send by_menu_main server_var(admin_speaker_userid)
    }
    if (server_var(admin_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(admin_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_admin
    }
}    
    
block by_menu_main
{
    if (server_var(_popup_choice) == 1) then es popup send by_menu_tornado server_var(_popup_userid)
    if (server_var(_popup_choice) == 2) then es popup send by_menu_trail server_var(_popup_userid)
    if (server_var(_popup_choice) == 3) then es popup send by_menu_pot server_var(_popup_userid)
    if (server_var(_popup_choice) == 4) then es popup send by_menu_fog server_var(_popup_userid)
    if (server_var(_popup_choice) == 5) then es popup send by_menu_force server_var(_popup_userid)
    if (server_var(_popup_choice) == 6) then es popup send by_menu_build server_var(_popup_userid)
}
block by_menu_tornado
{
    if (server_var(_popup_choice) == 1) do
    {    
        es_sexec server_var(_popup_userid) by_tornado 1
        es popup send by_menu_tornado server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 2) do
    {    
        es_sexec server_var(_popup_userid) by_tornado 0
        es popup send by_menu_tornado server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es_sexec server_var(_popup_userid) by_tornado-remove
        es popup send by_menu_tornado server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 4) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block by_menu_pot
{
    if (server_var(_popup_choice) == 1) do
    {
        es_sexec server_var(_popup_userid) by_pot
        es popup send by_menu_pot server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 2) do
    {
        es_sexec server_var(_popup_userid) by_pot-remove
        es popup send by_menu_pot server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block by_menu_fog
{
    if (server_var(_popup_choice) == 1) do
    {
        es_sexec server_var(_popup_userid) by_fog
        es popup send by_menu_fog server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 2) do
    {
        es_sexec server_var(_popup_userid) by_fog-remove
        es popup send by_menu_fog server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block by_menu_build
{
    if (server_var(_popup_choice) == 1) do
    {
        es_sexec server_var(_popup_userid) by_build 1
        es popup send by_menu_build server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 2) do
    {
        es_sexec server_var(_popup_userid) by_build 0
        es popup send by_menu_build server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es_sexec server_var(_popup_userid) by_build-remove
        es popup send by_menu_build server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 4) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block by_menu_trail
{
    if (server_var(_popup_choice) == 1) do
    {
        es popup construct Trail_Players players #all
        es popup send Trail_Players server_var(_popup_userid)
        popup menuselect Trail_Players by_admin/Trail_Players 
    }
    if (server_var(_popup_choice) == 2) do
    {
        es_sexec server_var(_popup_userid) by_trail-remove
        es popup send by_menu_trail server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block by_menu_force
{
    if (server_var(_popup_choice) == 1) do
    {
        es popup construct Forcefield_Players players #all
        es popup send Forcefield_Players server_var(_popup_userid)
        popup menuselect Forcefield_Players by_admin/Forcefield_Players
    }
    if (server_var(_popup_choice) == 2) do
    {
        es_sexec server_var(_popup_userid) by_forcefield-remove
        es popup send by_menu_force server_var(_popup_userid)
    }
    if (server_var(_popup_choice) == 3) do
    {
        es popup send by_menu_main server_var(_popup_userid)
    }
}
block Forcefield_Players
{
    es_getplayername forcefield_menu_receiver server_var(_popup_choice)
    es_sexec server_var(_popup_userid) by_forcefield server_var(forcefield_menu_receiver)
    es popup send by_menu_force server_var(_popup_userid)
}
block Trail_Players
{
    es_getplayername trail_menu_receiver server_var(_popup_choice)
    es_sexec server_var(_popup_userid) by_trail server_var(trail_menu_receiver)
    es popup send by_menu_trail server_var(_popup_userid)
}
block buildr
{
    es_getcmduserid buildr_speaker_userid
    es_getplayersteamid buildr_speaker_steamid server_var(buildr_speaker_userid)  
    if (server_var(buildr_speaker_steamid) in server_var(by_admins)) do
    {
        es_foreachkey build_index in build_remove "es_remove server_var(build_index)"
        es_exists build_exists keygroup build_remove
        if (server_var(build_exists) equalto 1) do
        {
            es_keygroupdelete build_remove
        }
        es_keygroupcreate build_remove
    }
    if (server_var(buildr_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(buildr_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_build-remove!
    }
}
block potr
{
    es_getcmduserid potr_speaker_userid
    es_getplayersteamid potr_speaker_steamid server_var(potr_speaker_userid)  
    if (server_var(potr_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(potr_speaker_userid) by_pot_smoke kill
        es_fire server_var(potr_speaker_userid) by_fire kill
        es_foreachkey pot_index in pot_remove "es_remove server_var(pot_index)"
        es_exists pot_exists keygroup pot_remove
        if (server_var(pot_exists) equalto 1) do
        {
            es_keygroupdelete pot_remove
        }
        es_keygroupcreate pot_remove
    }
    if (server_var(potr_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(potr_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_pot-remove!
    }
}
block tornador
{
    es_getcmduserid tornador_speaker_userid
    es_getplayersteamid tornador_speaker_steamid server_var(tornador_speaker_userid)  
    if (server_var(tornador_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(tornador_speaker_userid) by_tornado kill
        es_fire server_var(tornador_speaker_userid) by_tornado_timer kill
        es_fire server_var(tornador_speaker_userid) tornado_point_push kill
        es_fire server_var(tornador_speaker_userid) by_point_hurt kill
    }
    if (server_var(tornador_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(tornador_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_tornado-remove!
    }
}    
block trailr
{
    es_getcmduserid trailr_speaker_userid
    es_getplayersteamid trailr_speaker_steamid server_var(trailr_speaker_userid)  
    if (server_var(trailr_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(trailr_speaker_userid) by_trail kill
        es_fire server_var(trailr_speaker_userid) by_timer kill
    }
    if (server_var(forcer_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(trailr_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_trail-remove!
    }
}        
block forcer
{
    es_getcmduserid forcer_speaker_userid
    es_getplayersteamid forcer_speaker_steamid server_var(forcer_speaker_userid)  
    if (server_var(forcer_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(forcer_speaker_userid) force_push kill
        es_fire server_var(forcer_speaker_userid) by_field kill
        es_fire server_var(forcer_speaker_userid) by_force_timer kill
    }
    if (server_var(forcer_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(forcer_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_forcefield-remove!
    }
}
event player_death
{
    es_keygetvalue force_death power_users event_var(userid) power_force
    es_keygetvalue trail_death power_users event_var(userid) power_trail
    if (server_var(force_death) equalto 1) do
    {
        es_fire event_var(userid) force_push kill
        es_fire event_var(userid) by_field kill
        es_fire event_var(userid) by_force_timer kill
    }
    if (server_var(trail_death) equalto 1) do
    {
        es_fire event_var(userid) by_trail kill
        es_fire event_var(userid) by_timer kill
    }
}     
event round_end
{ 
    es_exists power_exists keygroup power_users
    if (server_var(power_exists) equalto 1) do
    {
        es_keygroupdelete power_users
    }
    es_exists pot_exists keygroup pot_remove
    if (server_var(pot_exists) equalto 1) do
    {
        es_keygroupdelete pot_remove
    }
    es_exists build_exists keygroup build_remove
    if (server_var(build_exists) equalto 1) do
    {
        es_keygroupdelete build_remove
    }
}
event round_start
{
    if (server_var(fog_used) == 1) do
    {    
        es_getuserid by_random_userid
        es_fire server_var(by_random_userid) by_fog kill
        es_fire server_var(by_random_userid) by_fog_timer kill
        es_xset fog_used 0
    }
    es_exists power_exists keygroup power_users
    if (server_var(power_exists) equalto 1) do
    {
        es_keygroupdelete power_users
    } 
    es_exists pot_exists keygroup pot_remove
    if (server_var(pot_exists) equalto 1) do
    {
        es_keygroupdelete pot_remove
    }
    es_exists build_exists keygroup build_remove
    if (server_var(build_exists) equalto 1) do
    {
        es_keygroupdelete build_remove
    }
    es_keygroupcreate power_users
    es_keygroupcreate pot_remove
    es_keygroupcreate build_remove
}
event player_spawn
{
    if (server_var(by_full_money) equalto 1) do
    {
        es playerset cash event_var(userid) 16000
    }
    es_delayed .5 es_keycreate power_users event_var(userid)
    es_delayed .5 es_keysetvalue power_users event_var(userid) power_force 0
    es_delayed .5 es_keysetvalue power_users event_var(userid) power_trail 0
}
block force
{
    es_getcmduserid force_speaker_userid
    es_getplayersteamid force_speaker_steamid server_var(force_speaker_userid)  
    if (server_var(force_speaker_steamid) in server_var(by_admins)) do
    {
        es_getargc force_arg_number
        if (server_var(force_arg_number) equalto 1) do
        {
            es_tell server_var(force_speaker_userid) #green Command Name:   'by_forcefield'
            es_tell server_var(force_speaker_userid) #green Parameters: by_forcefield <target>
            es_tell server_var(force_speaker_userid) #green Extra: Only one player can posses the forcefield at a time.
            es_tell server_var(force_speaker_userid) #green To Remove All: by_forcefield-remove
        }
        if (server_var(force_arg_number) equalto 2) do
        {
            es_getargv force_name 1
            es_getuserid force_userid server_var(force_name)
            es_keysetvalue power_users server_var(force_userid) power_force 1
            es_fire server_var(force_userid) by_field kill
            es_fire server_var(force_userid) by_force_timer kill
            es_fire server_var(force_userid) force_push kill
            es_give server_var(force_userid) point_push
            es_fire server_var(force_userid) point_push addoutput "targetname force_push"
            es_fire server_var(force_userid) force_push addoutput "radius 400"
            es_fire server_var(force_userid) force_push addoutput "magnitude 1185"
            es_fire server_var(force_userid) force_push setparent !activator
            es_fire server_var(force_userid) force_push enable
            es_give server_var(force_userid) env_smokestack
            es_fire server_var(force_userid) env_smokestack addoutput "classname by_field"
            es_fire server_var(force_userid) env_smokestack addoutput "targetname by_field"
            es_fire server_var(force_userid) by_field addoutput "basespread 67"
            es_fire server_var(force_userid) by_field addoutput "speed 500"
            es_fire server_var(force_userid) by_field addoutput "startsize 10"
            es_fire server_var(force_userid) by_field addoutput "SpreadSpeed 10"
            es_fire server_var(force_userid) by_field addoutput "endsize 5"
            es_fire server_var(force_userid) by_field addoutput "Rate 2200"
            es_fire server_var(force_userid) by_field addoutput "Jetlength 150"
            es_fire server_var(force_userid) by_field addoutput "windspeed 0"
            es_fire server_var(force_userid) by_field addoutput "smokematerial particle\fire.vmt"
            es_fire server_var(force_userid) by_field addoutput "twist 800"
            es_fire server_var(force_userid) by_field addoutput "rendercolor 100 100 250"
            es_fire server_var(force_userid) by_field Turnon
            es_fire server_var(force_userid) by_field setparent !activator
            es_entcreate server_var(force_userid) logic_timer
            es_fire server_var(force_userid) logic_timer addoutput "targetname by_force_timer"
            es_fire server_var(force_userid) by_force_timer toggle
            es_fire server_var(force_userid) by_force_timer addoutput "refiretime 1"
            es_fire server_var(force_userid) by_force_timer enable
            es_fire server_var(force_userid) by_force_timer addoutput "startdisabled 0"
            es_fire server_var(force_userid) by_force_timer addoutput "UseRandomTime 0"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 0 255 1,.4,-1"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 0 180 70,.4,-1"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 255 0 1,.2,-1"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 0 0 255,.6,-1"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 255 0 255,.8,-1"
            es_fire server_var(force_userid) by_force_timer addoutput "ontimer by_field,addoutput,rendercolor 0 255 255,1,-1"
        }    
    }
    if (server_var(force_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(force_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_forcefield!
    }
}        
block pot
{
    es_getcmduserid pot_speaker_userid
    es_getplayersteamid pot_speaker_steamid server_var(pot_speaker_userid)  
    if (server_var(pot_speaker_steamid) in server_var(by_admins)) do
    {
        es_getargc pot_arg_number
        if (server_var(pot_arg_number) equalto 1) do
        {         
            es_prop_physics_create server_var(pot_speaker_userid) props/cs_office/plant01.mdl
            es_keycreate pot_remove server_var(eventscripts_lastgive)
            es_entcreate server_var(pot_speaker_userid) env_fire
            es_fire server_var(pot_speaker_userid) env_fire addoutput "targetname by_fire"
            es_fire server_var(pot_speaker_userid) by_fire addoutput "health 9000"
            es_fire server_var(pot_speaker_userid) by_fire addoutput "firesize 35"
            es_fire server_var(pot_speaker_userid) by_fire addoutput "fireattack 1"
            es_fire server_var(pot_speaker_userid) by_fire addoutput "damagescale -1"
            es_fire server_var(pot_speaker_userid) by_fire startfire
            es_fire server_var(pot_speaker_userid) by_fire enable

            es_entcreate server_var(pot_speaker_userid) env_smokestack
            es_fire server_var(pot_speaker_userid) env_smokestack addoutput "targetname by_pot_smoke"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "BaseSpread 5"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "SpreadSpeed 10"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "Speed 75"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "StartSize 1"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "EndSize 16"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "rate 50"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "JetLength 200"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "rendercolor 5 100 0"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "renderamt 200"
            es_fire server_var(pot_speaker_userid) by_pot_smoke addoutput "SmokeMaterial effects/combinemuzzle2.vmt"
            es_fire server_var(pot_speaker_userid) by_pot_smoke turnon:3
        }
    }
    if (server_var(pot_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(pot_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_pot!
    }
}      
block build
{
    es_getcmduserid build_speaker_userid
    es_getplayersteamid build_speaker_steamid server_var(build_speaker_userid)  
    if (server_var(build_speaker_steamid) in server_var(by_admins)) do
    {
        es_getargc build_arg_number
        if (server_var(build_arg_number) equalto 1) do
        {
            es_tell server_var(build_speaker_userid) #green Command Name:   'by_build'
            es_tell server_var(build_speaker_userid) #green Parameters: by_build <1/0> (1 builds large shelter, 0 builds small)
            es_tell server_var(build_speaker_userid) #green Discription: Builds a shelter.
            es_tell server_var(build_speaker_userid) #green To Remove All: by_build-remove
        }
        if (server_var(build_arg_number) equalto 2) do
        {
            es_getargv build_size 1
            if (server_var(build_size) equalto 1) do
            {
                es playerget viewcoord server_var(build_speaker_userid) by_x by_y by_z
                es_math by_z add 106
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x add 84
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x subtract 168
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x subtract 45
                es_math by_y subtract 38
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x add 258
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_y subtract 84
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x subtract 258
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x add 38
                es_math by_y subtract 45
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x add 182
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x add 42
                es_math by_z add 4
                es_math by_y add 38
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_y add 84
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x subtract 100
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_y subtract 84
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x subtract 60
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_y add 84
                es entspawn dynamic location server_var(by_x) server_var(by_y) server_var(by_z) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
            }
            if (server_var(build_size) equalto 0) do
            {
                es playerget viewcoord server_var(build_speaker_userid) by_x2 by_y2 by_z2
                es_math by_z2 add 106
                es entspawn dynamic location server_var(by_x2) server_var(by_y2) server_var(by_z2) props_lab/blastdoor001a.mdl 180 90
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x2 subtract 45
                es_math by_y2 subtract 38
                es entspawn dynamic location server_var(by_x2) server_var(by_y2) server_var(by_z2) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x2 add 84
                es entspawn dynamic location server_var(by_x2) server_var(by_y2) server_var(by_z2) props_lab/blastdoor001a.mdl 180 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
                es_math by_x2 add 10
                es_math by_z2 add 4
                es entspawn dynamic location server_var(by_x2) server_var(by_y2) server_var(by_z2) props_lab/blastdoor001a.mdl 90 180
                es_keycreate build_remove server_var(eventscripts_lastgive)
            }
        }
    }
    if (server_var(build_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(build_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_build!
    }
}
block tornado
{
    es_getcmduserid tornado_speaker_userid
    es_getplayersteamid tornado_speaker_steamid server_var(tornado_speaker_userid)  
    if (server_var(tornado_speaker_steamid) in server_var(by_admins)) do
    {
        es_getargc tornado_arg_number
        if (server_var(tornado_arg_number) equalto 1) do
        {
            es_tell server_var(tornado_speaker_userid) #green Command Name:   'by_tornado'
            es_tell server_var(tornado_speaker_userid) #green Parameters: by_tornado <0/1> (1 pulls in entities, 0 does not)
            es_tell server_var(tornado_speaker_userid) #green To Remove All: by_tornado-remove
        }
        if (server_var(tornado_arg_number) equalto 2) do
        {
            es_getargv tornado_hurt 1
            if (server_var(tornado_hurt) equalto 0) do
            {
                es_entcreate server_var(tornado_speaker_userid) env_smokestack
                es_fire server_var(tornado_speaker_userid) env_smokestack addoutput "classname by_tornado"
                es_fire server_var(tornado_speaker_userid) env_smokestack addoutput "targetname by_tornado"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "basespread 80"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "speed 150"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "startsize 8"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "SpreadSpeed 1"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "endsize 5"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "Rate 250"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "Jetlength 400"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "windspeed 0"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "smokematerial sprites/strider_blackball.vmt"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "twist 175"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "rendercolor 100 100 220"
                es_fire server_var(tornado_speaker_userid) by_tornado Turnon
             
                es_entcreate server_var(tornado_speaker_userid) logic_timer
                es_fire server_var(tornado_speaker_userid) logic_timer addoutput "targetname by_tornado_timer"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer toggle
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "refiretime 1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer enable
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "startdisabled 0"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "UseRandomTime 0"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 255 1,.4,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 180 70,.4,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 255 0 1,.2,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 0 255,.6,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 255 0 255,.8,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 255 255,1,-1"
            }
            if (server_var(tornado_hurt) equalto 1) do
            {
                es_entcreate server_var(tornado_speaker_userid) env_smokestack
                es_fire server_var(tornado_speaker_userid) env_smokestack addoutput "classname by_tornado"
                es_fire server_var(tornado_speaker_userid) env_smokestack addoutput "targetname by_tornado"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "basespread 80"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "speed 150"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "startsize 8"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "SpreadSpeed 1"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "endsize 5"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "Rate 250"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "Jetlength 400"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "windspeed 0"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "smokematerial sprites/strider_blackball.vmt"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "twist 175"
                es_fire server_var(tornado_speaker_userid) by_tornado addoutput "rendercolor 100 100 220"
                es_fire server_var(tornado_speaker_userid) by_tornado Turnon
             
                es_entcreate server_var(tornado_speaker_userid) logic_timer
                es_fire server_var(tornado_speaker_userid) logic_timer addoutput "targetname by_tornado_timer"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer toggle
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "refiretime 1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer enable
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "startdisabled 0"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "UseRandomTime 0"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 255 1,.4,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 180 70,.4,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 255 0 1,.2,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 0 255,.6,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 255 0 255,.8,-1"
                es_fire server_var(tornado_speaker_userid) by_tornado_timer addoutput "ontimer by_tornado,addoutput,rendercolor 0 255 255,1,-1"
                
                es_entcreate server_var(tornado_speaker_userid) point_push
                es_fire server_var(tornado_speaker_userid) point_push addoutput "targetname tornado_point_push"
                es_fire server_var(tornado_speaker_userid) tornado_point_push addoutput "radius 2500"
                es_fire server_var(tornado_speaker_userid) tornado_point_push addoutput "magnitude -500"
                es_fire server_var(tornado_speaker_userid) tornado_point_push enable:1

                es_entcreate server_var(tornado_speaker_userid) point_hurt
                es_fire server_var(tornado_speaker_userid) point_hurt addoutput "targetname by_point_hurt"
                es_fire server_var(tornado_speaker_userid) by_point_hurt addoutput "damage 20000"
                es_fire server_var(tornado_speaker_userid) by_point_hurt addoutput "damageradius 200"
                es_fire server_var(tornado_speaker_userid) by_point_hurt addoutput "damagedelay .1"
                es_fire server_var(tornado_speaker_userid) by_point_hurt turnon:3
            }
        }
    }    
    if (server_var(tornado_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(tornado_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_tornado!
    }
}
block trail
{  
    es_getcmduserid trail_speaker_userid
    es_getplayersteamid trail_speaker_steamid server_var(trail_speaker_userid)  
    if (server_var(trail_speaker_steamid) in server_var(by_admins)) do
    {  
        es_getargc trail_arg_number
        if (server_var(trail_arg_number) equalto 1) do
        {
            es_tell server_var(trail_speaker_userid) #green Command Name:   'by_trail'
            es_tell server_var(trail_speaker_userid) #green Parameters: by_trail <target>
            es_tell server_var(trail_speaker_userid) #green Extra: Only one player can posses the trail at a time.
            es_tell server_var(trail_speaker_userid) #green To Remove All: by_trail-remove
        }
        if (server_var(trail_arg_number) equalto 2) do
        {
            es_getargv trail_name 1
            es_getuserid trail_userid server_var(trail_name)
            es_keysetvalue power_users server_var(trail_userid) power_trail 1
            es_fire server_var(trail_userid) by_trail kill
            es_fire server_var(trail_userid) by_timer kill
            es_give server_var(trail_userid) env_Smokestack
            es_fire server_var(trail_userid) env_smokestack addoutput "classname by_trail"
            es_fire server_var(trail_userid) by_trail addoutput "basespread 0"
            es_fire server_var(trail_userid) by_trail addoutput "spreadspeed 0"
            es_fire server_var(trail_userid) by_trail addoutput "initial 0"
            es_fire server_var(trail_userid) by_trail addoutput "speed 10"
            es_fire server_var(trail_userid) by_trail addoutput "startsize 10"
            es_fire server_var(trail_userid) by_trail addoutput "endsize 1"
            es_fire server_var(trail_userid) by_trail addoutput "rate 200"
            es_fire server_var(trail_userid) by_trail addoutput "jetlength 15"
            es_fire server_var(trail_userid) by_trail addoutput "twist 0"
            es_fire server_var(trail_userid) by_trail addoutput "SmokeMaterial particle\fire.vmt"
            es_fire server_var(trail_userid) by_trail addoutput "angles 0 0 0"
            es_fire server_var(trail_userid) by_trail addoutput "rendermode 18"
            es_fire server_var(trail_userid) by_trail addoutput "renderamt 100"
            es_fire server_var(trail_userid) by_trail addoutput "rendermode 18"
            es_fire server_var(trail_userid) by_trail addoutput "rendercolor 215 71 231"
            es_fire server_var(trail_userid) by_trail turnon
            es_fire server_var(trail_userid) by_trail setparent !activator
            
            es_entcreate server_var(trail_userid) logic_timer
            es_fire server_var(trail_userid) logic_timer addoutput "targetname by_timer"
            es_fire server_var(trail_userid) by_timer toggle
            es_fire server_var(trail_userid) by_timer addoutput "refiretime 1"
            es_fire server_var(trail_userid) by_timer enable
            es_fire server_var(trail_userid) by_timer addoutput "startdisabled 0"
            es_fire server_var(trail_userid) by_timer addoutput "UseRandomTime 0"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 0 255 1,.4,-1"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 0 180 70,.4,-1"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 255 0 1,.2,-1"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 0 0 255,.6,-1"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 255 0 255,.8,-1"
            es_fire server_var(trail_userid) by_timer addoutput "ontimer by_trail,addoutput,rendercolor 0 255 255,1,-1"
        }
    }
    if (server_var(trail_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(trail_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_trail!
    }
}
block fog
{  
    es_getcmduserid fog_speaker_userid
    es_getplayersteamid fog_speaker_steamid server_var(fog_speaker_userid)  
    if (server_var(fog_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(fog_speaker_userid) by_fog kill
        es_fire server_var(fog_speaker_userid) by_fog_timer kill
        es_entcreate server_var(fog_speaker_userid) env_fog_controller
        es_xset fog_used 1
        es_fire server_var(fog_speaker_userid) env_fog_controller addoutput "targetname by_fog"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "angles 0 0 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogcolor2 0 255 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogmaxdensity 1"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogdir 1 0 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogstart 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogend 1000.0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "farz -5"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "mindxlevel 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "maxdxlevel 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogenable 1"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fobblend 0"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "use angles"
        es_fire server_var(fog_speaker_userid) by_fog addoutput "fogcolor 0 255 0"
        es_fire server_var(fog_speaker_userid) by_fog TurnOn
        
        es_entcreate server_var(fog_speaker_userid) logic_timer
        es_fire server_var(fog_speaker_userid) logic_timer addoutput "targetname by_fog_timer"
        es_fire server_var(fog_speaker_userid) by_fog_timer toggle
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "refiretime 6"
        es_fire server_var(fog_speaker_userid) by_fog_timer enable
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "startdisabled 0"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "UseRandomTime 0"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 0 0 255,1,-1"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 255 0 0,2,-1"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 128 0 128,3,-1"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 255 127 0,4,-1"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 64 224 208,5,-1"
        es_fire server_var(fog_speaker_userid) by_fog_timer addoutput "ontimer by_fog,addoutput,fogcolor 0 255 0,6,-1"
    }
    if (server_var(fog_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(fog_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_fog!
    }
}
block fogr
{
    es_getcmduserid fogr_speaker_userid
    es_getplayersteamid fogr_speaker_steamid server_var(fogr_speaker_userid)  
    if (server_var(fogr_speaker_steamid) in server_var(by_admins)) do
    {
        es_fire server_var(fogr_speaker_userid) by_fog kill
        es_fire server_var(fogr_speaker_userid) by_fog_timer kill
        es_xset fog_used 0
    }
    if (server_var(fogr_speaker_steamid) notin server_var(by_admins)) do
    {
        es_tell server_var(fog_speaker_userid) #multi #green|-by-|#lightgreen You are not authorized to run the command by_fog-remove!
    }
}



