//**************************************************
// Team EZ1's ZombieModTool                                              
// Created By [EZ1] JoeReaper
//
// *Sets any suicider as a zombie when they respawn.
// *Sets the respawn point as ct spawn
// *Creates a anti-spawncamp to punish spawn camping zombies.
// *Creates the say command !respawn (Type !respawn if your dead)
//
// http://teamez1.reb.com/                       <(== Not up yet
// http://www.zombiemod.com/
//**************************************************

block load
{
        // Public cvar announcing server runs ZombieModTool
        es_xsetinfo ZombieModTool "Beta 0.7"
        es_makepublic ZombieModTool
        es_keygroupcreate ZM_Players
        es_xsetinfo zm_ctplayer 0
        es_xsetinfo zm_x 0
        es_xsetinfo zm_y 0
        es_xsetinfo zm_z 0
        es_xsetinfo zm_tplayer 0
        es_xsetinfo zm_t_x 0
        es_xsetinfo zm_t_y 0
        es_xsetinfo zm_t_z 0

// zm_neardistance is the only variable that you may change without eventscript knowledge.
        es_xsetinfo zm_neardistance 1000

}
block unload
{
        es_keygroupdelete ZM_Players
}

block zm_spawncamp_punish
{
        es est_Teleport server_var(zm_spawncamper) server_var(zm_t_x) server_var(zm_t_y) server_var(zm_t_z)
}

event player_activate
{
        es_keycreate ZM_Players event_var(es_steamid)
        es_keysetvalue ZM_Players event_var(es_steamid) name event_var(es_username)
        es_keysetvalue ZM_Players event_var(es_steamid) Zombie_Status 0
}

event player_disconnect
{
        es_keydelete ZM_Players event_var(es_steamid)
}

event player_changename
{
        es_keysetvalue ZM_Players event_var(es_steamid) name event_var(newname)
}

event player_spawn
{
        if (server_var(zm_roundstart) == 1) do
        {
                es_xsetinfo zm_setzombie 0
                es_keygetvalue zm_setzombie ZM_Players event_var(es_steamid) Zombie_Status
                if (server_var(zm_setzombie) == 1) do
                {
                        es zombie_player event_var(es_username)
                        es_keysetvalue ZM_Players event_var(es_steamid) Zombie_Status 0
                }
                es_setinfo zm_spawncamper 0
                if (event_var(es_userteam) == 3) then es est_nearcoord zm_spawncamper #t server_var(zm_neardistance) server_var(zm_x) server_var(zm_y) server_var(zm_z) "es_xdoblock ZombieModTool/zm_spawncamp_punish"
        }
}

event player_death
{
        if (event_var(attacker) == 0) do
        {
                es est_team event_var(userid) 2
                es_keysetvalue ZM_Players event_var(es_steamid) Zombie_Status 1
        }
        else do
        {
                es est_team event_var(userid) 3
        }
}

event player_say
{
        if (event_var(text) == "!respawn") then es_xcexec event_var(userid) cmd zombie_respawn
}

event round_start
{
       es_xsetinfo zm_roundstart 1
       est_RandPlayer zm_ctplayer #c
       es_getplayerlocation zm_x zm_y zm_z server_var(zm_ctplayer)
       est_RandPlayer zm_tplayer #t
       es_getplayerlocation zm_t_x zm_t_y zm_t_z server_var(zm_tplayer)
}

event round_end
{
       es_xsetinfo zm_roundstart 0
}