block config
{
  match_config 0
  match_overtime_config 0
  match_startmoney 800
  match_overtime_startmoney 800
  match_rounds 15
  match_overtime_rounds 5
  match_players 10
  match_record 1
  match_playout 0
  match_auto 1
  match_fix_defuse 1
  match_fix_c4_exploit 1
  match_fix_bhop 1
  match_remove_ragdolls 1
  match_warmup_nonades 1
  match_warmup_noc4 1
  match_objective_points 0
  match_name "[War]"
}

event es_map_start
{
  if (server_var(estado) == 4) do
  {
    match_cancel
  }
}

event load
{
  es_load popup
  es_xset match_config 0
  es_xset match_overtime_config 0
  es_xset match_startmoney 0
  es_xset match_overtime_startmoney 0
  es_xset match_rounds 0
  es_xset match_overtime_rounds 0
  es_xset match_players 0
  es_xset match_record 0
  es_xset match_playout 0
  es_xset match_auto 0
  es_xset match_fix_defuse 0
  es_xset match_fix_c4_exploit 0
  es_xset match_fix_bhop 0
  es_xset match_remove_ragdolls 0
  es_xset match_warmup_nonades 0
  es_xset match_warmup_noc4 0
  es_xset match_objective_points 0
  es_xset match_active 0
  es_xset match_overtime 0
  es_xset match_overtime_puntaje1 0
  es_xset match_overtime_puntaje2 0
  es_xset ronda 0
  es_xset existe 0
  es_exists existe command match
  if (server_var(existe) == 0) do
  { 
    es_regcmd match match/ko3
  }
  es_exists existe command match_cancel
  if (server_var(existe) == 0) do
  { 
    es_regcmd match_cancel match/cancel
  }
  es_exists existe command match_force
  if (server_var(existe) == 0) do
  { 
    es_regcmd match_force match/forzar
  }
  es_exists existe command match_ready
  if (server_var(existe) == 0) do
  { 
    es_regcmd match_ready match/ready
  }
  es_regsaycmd .r match/dot_r
  es_regsaycmd .nr match/dot_ur
  es_xset estado 0
  es_xset ganador_cuchi 0
  es_xset ronda_cuchi 0
  es_xset match_name 0
  es_xset teamsize 0
  es_xdoblock match/config
}

event item_pickup
{
  if(server_var(ronda_cuchi) == 1) do
  {
	  if (event_var(item) != knife) do
    {
      es_give event_var(userid) player_weaponstrip
      es_fire event_var(userid) player_weaponstrip strip
      es_delayed 0.1 es_xgive event_var(userid) weapon_knife
      
      if (event_var(item) == usp) do
      {
        if (event_var(es_userteam) == 2) do
        {
          es_xset dinero 0
          es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
          es_math dinero + 500
          es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
        }
      }
      if (event_var(item) == glock) do
      {
        if (event_var(es_userteam) == 3) do
        {
          es_xset dinero 0
          es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
          es_math dinero + 400
          es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
        }
      }
      if (event_var(item) == deagle) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 650
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == p228) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 600
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == elite) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 800
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == fiveseven) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 750
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == hegrenade) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 300
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == flashbang) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 200
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
      if (event_var(item) == smokegrenade) do
      {
        es_xset dinero 0
        es_getplayerprop dinero event_var(userid) "CCSPlayer.m_iAccount"
        es_math dinero + 300
        es_setplayerprop event_var(userid) "CCSPlayer.m_iAccount" server_var(dinero)
      }
    }
	}
	
	if (server_var(estado) == 4) do
	{
	  if (server_var(match_warmup_nonades) == 1) do
	  {
  	  if (event_var(item) == "hegrenade") do
      {
        es_fire event_var(userid) weapon_hegrenade kill
      }
      if (event_var(item) == "flashbang") do
      {
        es_fire event_var(userid) weapon_flashbang kill
      }
      if (event_var(item) == "smokegrenade") do
      {
        es_fire event_var(userid) weapon_smokegrenade kill
      }
    }
    if (server_var(match_warmup_noc4) == 1) do
    {
      if (event_var(item) == c4) do
      {
        es_fire event_var(userid) weapon_c4 kill
      } 
    }
  }
}

event round_end
{
  if(server_var(ronda_cuchi) == 1) do
  {
    ronda_cuchi 0
    ganador_cuchi 0
    estado 2
    if (event_var(winner) equalto "3") do
    {
      ganador_cuchi 3
      es_msg #multi #green server_var(match_name) #lightgreen CT WINS!
      es_msg #multi #green server_var(match_name) #lightgreen Choose side, say "t" or "ct"
    }
      if (event_var(winner) equalto "2") do
    {
      ganador_cuchi 2
      es_msg #multi #green server_var(match_name) #lightgreen T WINS!
      es_msg #multi #green server_var(match_name) #lightgreen Choose side, say "t" or "ct"
    }
  }

  if(server_var(estado) == 3) do
  {
      if (server_var(ganador_cuchi) equalto "3") do
      {
        es_msg #multi #green server_var(match_name) #lightgreen CT WON THE KNIVES ROUND
        es_msg #multi #green server_var(match_name) #lightgreen Choose side, say "t" or "ct"
      }
      if (server_var(ganador_cuchi) equalto "2") do
      {
        es_msg #multi #green server_var(match_name) #lightgreen T WON THE KNIVES ROUND
        es_msg #multi #green server_var(match_name) #lightgreen Choose side, say "t" or "ct"
      }
  }

  if (server_var(match_active) == 1) do
  {
    if (event_var(winner) == 2) do
    {
      es_math ronda + 1
    }
    else do
    {
      if (event_var(winner) == 3) do
      {
        es_math ronda + 1
      }
    }
    if (server_var(ronda) <= server_var(match_rounds)) do
    {
      if (event_var(winner) == 2) do
      {
        es_math puntaje1 + 1
      }
      if (event_var(winner) == 3) do
      {
        es_math puntaje2 + 1
      } 
    }
    else do
    {
      if (event_var(winner) == 2) do
      {
        es_math puntaje2 + 1
      }
      if (event_var(winner) == 3) do
      {
        es_math puntaje1 + 1
      }
    }
    es_xdoblock match/score
    if (server_var(ronda) == server_var(match_rounds)) do
    {
      if (server_var(match_overtime) == 1) do
      {
        if (server_var(match_overtime_rounds) == 1) do
        {
        }
        else do
        {
          match_active 0
          estado 4
          es_delayed 3 es_xdoblock match/ready
          es_delayed 5 es_xdoblock match/swap
        }
      }
      else do
      {
        match_active 0
        estado 4
        es_delayed 3 es_xdoblock match/ready
        es_delayed 5 es_xdoblock match/swap
      }
    }
    if (server_var(match_playout) == 0) do
    {
      es_setinfo match_win server_var(match_rounds)
      if (server_var(match_overtime) == 1) do
      {
        if (server_var(match_overtime_rounds) > 1) do
        {
          es_math match_win + 1
        }
      }
      else do
      {
        es_math match_win + 1
      }
      if (server_var(puntaje1) == server_var(match_win)) do
      {
        match_active 0
        estado 0
        es_delayed 5 es_xdoblock match/finish
        es_msg #multi #green server_var(match_name) #lightgreen server_var(team1) wins!
        es_set puntaje1_temp server_var(puntaje1)
        es_math puntaje1_temp + server_var(match_overtime_puntaje1)
        es_set puntaje2_temp server_var(puntaje2)
        es_math puntaje2_temp + server_var(match_overtime_puntaje2)
        es_msg #multi #green server_var(match_name) #lightgreen Final Score was server_var(puntaje1_temp) - server_var(puntaje2_temp)
      }
      if (server_var(puntaje2) == server_var(match_win)) do
      {
        match_active 0
        estado 0
        es_delayed 5 es_xdoblock match/finish
        es_msg #multi #green server_var(match_name) #lightgreen server_var(team2) wins!
        es_set puntaje1_temp server_var(puntaje1)
        es_math puntaje1_temp + server_var(match_overtime_puntaje1)
        es_set puntaje2_temp server_var(puntaje2)
        es_math puntaje2_temp + server_var(match_overtime_puntaje2)
        es_msg #multi #green server_var(match_name) #lightgreen Final Score was server_var(puntaje2_temp) - server_var(puntaje1_temp)
      }
    }
    else do
    {
      es_setinfo match_total_rounds server_var(match_rounds)
      if (server_var(match_overtime) == 1) do
      {
        if (server_var(match_overtime_rounds) > 1) do
        {
          es_math match_total_rounds * 2
        }
      }
      else do
      {
        es_math match_total_rounds * 2
      }
      if (server_var(ronda) == server_var(match_total_rounds)) do
      {
        if (server_var(puntaje1) > server_var(puntaje2)) do
        {
          match_active 0
          estado 0
          es_delayed 5 es_xdoblock match/finish
          es_msg #multi #green server_var(match_name) #lightgreen server_var(team1) wins!
          es_set puntaje1_temp server_var(puntaje1)
          es_math puntaje1_temp + server_var(match_overtime_puntaje1)
          es_set puntaje2_temp server_var(puntaje2)
          es_math puntaje2_temp + server_var(match_overtime_puntaje2)
          es_msg #multi #green server_var(match_name) #lightgreen Final Score was server_var(puntaje1_temp) - server_var(puntaje2_temp)
        }
        if (server_var(puntaje2) > server_var(puntaje1)) do
        {
          match_active 0
          estado 0
          es_delayed 5 es_xdoblock match/finish
          es_msg #multi #green server_var(match_name) #lightgreen server_var(team2) wins!
          es_set puntaje1_temp server_var(puntaje1)
          es_math puntaje1_temp + server_var(match_overtime_puntaje1)
          es_set puntaje2_temp server_var(puntaje2)
          es_math puntaje2_temp + server_var(match_overtime_puntaje2)
          es_msg #multi #green server_var(match_name) #lightgreen Final Score was server_var(puntaje2_temp) - server_var(puntaje1_temp)
        }
      }
    }
    if (server_var(puntaje1) == server_var(match_rounds)) do
    {
      if (server_var(puntaje2) == server_var(match_rounds)) do
      {
        if (server_var(match_overtime_rounds) == 0) do
        {
          match_active 0
          estado 0
          es_delayed 5 es_xdoblock match/finish
          es_msg #multi #green server_var(match_name) #lightgreen Final Score was tie server_var(puntaje2) - server_var(puntaje1)
        }
        else do
        {
          es_msg #multi #green server_var(match_name) #lightgreen Match is going into OVERTIME
          match_active 0
          match_overtime 1
          es_math match_overtime_puntaje1 + server_var(puntaje1)
          es_math match_overtime_puntaje2 + server_var(puntaje2)
          estado 4
          ronda 0
          es_set match_rounds server_var(match_overtime_rounds)
          es_delayed 5 es_xdoblock match/ready
        }
      }
    }
  }
}

event round_start
{
  if(server_var(estado) == 2) do
  {
    estado 3
  }
  
  if(server_var(match_record) == 1) do
  {
    if(server_var(estado) == 0) do
    {
      if(server_var(tv_enable) == 0) do
      {
        tv_enable 1
        es changelevel server_var(eventscripts_currentmap)
      }
    }
  }
  
  if (server_var(match_active) == 1) do
  {
    foreach player tempuserid #ct "es_xdoblock match/cash"
    foreach player tempuserid #t "es_xdoblock match/cash"
  }
}

event player_say
{
  es_xset valor 0
  if (server_var(estado) == 2) do
  {
    valor 1
  }
  if (server_var(estado) == 3) do
  {
    valor 1
  }
  if (server_var(valor) == 1) do
  {
    if (event_var(text) equalto "ct") do
    {
      if(event_var(es_userteam) == server_var(ganador_cuchi)) do
      {
        if(event_var(es_userteam) != 3) do
        {
          es_xdoblock match/swap
          es_xdoblock match/ready
        }
        else do
        {
          es_xdoblock match/ready
        }
      }
    }
    if (event_var(text) equalto "t") do
    {
      if(event_var(es_userteam) == server_var(ganador_cuchi)) do
      {
        if(event_var(es_userteam) != 2) do
        {
          es_xdoblock match/swap
          es_xdoblock match/ready
        }
        else do
        {
          es_xdoblock match/ready
        }
      }
    }
  }
}

event player_activate
{
  if (server_var(estado) == 4) do
  {
    es_xset existe 0
    popup exists listos existe
    if (server_var(existe) == 1) do
    {
      es popup send listos event_var(userid)
    }
  }
}

event player_team
{
  if (server_var(estado) == 4) do
  {
    es_xdoblock match/pup_update
  }
  
  if (server_var(match_auto) == 1) do
  {
    if(server_var(estado) > 0) do
    {
      es_xset teamsize 0
      es_getplayercount teamsize event_var(team)
      es_setinfo match_players_side server_var(match_players)
      es_math match_players_side / 2
      if (server_var(teamsize) > server_var(match_players_side)) do
      {
        es_changeteam event_var(userid) 1
      }
    }
  }
  
  es_xdoblock match/launch
}

event player_disconnect
{
  if (server_var(estado) == 4) do
  {
    es_xdoblock match/pup_update
  }
  
  es_xsetinfo players 0
  getplayercount players #all
  if (server_var(tv_enable) == 1) do
  {
    if(server_var(players) == 1) do
    {
      if(server_var(estado) > 0) do
      {
        match_cancel
        sv_password " "
      }
      else do
      {
        sv_password " "
      }
    }
  }
  else do
  {
    if(server_var(players) == 0) do
    {
      if(server_var(estado) > 0) do
      {
        match_cancel
        sv_password " "
      }
      else do
      {
        sv_password " "
      }
    }
  }
}

event player_death
{
  if (event_var(es_userdead) == 1) do 
	{
		
		if (server_var(match_remove_ragdolls) == 1) do
    {
      es_delayed 1.5 es_fire event_var(userid) cs_ragdoll kill
    }
	}
}

event bomb_beginplant
{
  if (server_var(eventscripts_currentmap) == "de_inferno") do
  {
    if (event_var(site) == 206) do
    {
      es_xset ilegal 0
      es_xset player_x 0
      es_xset player_y 0
      es_xset player_z 0
      es_getplayerlocation player_x player_y player_z event_var(userid)
      if (server_var(player_x) < 475) do
      {
        if (server_var(player_x) > 205) do
        {
          if (server_var(player_y) < 2905) do
          {
            if (server_var(player_y) > 2625) do
            {
              ilegal 1
            }
          }
        }
      }
      if (server_var(ilegal) == 1) do
      {
        es_setplayerprop event_var(userid) CBasePlayer.m_fFlags 8.0
        es_delayed 0.3 es_setplayerprop event_var(userid) CBasePlayer.m_fFlags 1
        es usermsg hudhint event_var(userid) "You can't plant on the water"
      }
    }
  } 
}

event bomb_planted
{
  if (server_var(match_fix_defuse) == 1) do
  {
    es_set x_min event_var(posx)
    es_math x_min - 90
    es_set x_max event_var(posx)
    es_math x_max + 90 
    es_set y_min event_var(posy)
    es_math y_min - 90
    es_set y_max event_var(posy)
    es_math y_max + 90
    
    es_set x_min_d event_var(posx)
    es_math x_min_d - 60
    es_set x_max_d event_var(posx)
    es_math x_max_d + 60 
    es_set y_min_d event_var(posy)
    es_math y_min_d - 60
    es_set y_max_d event_var(posy)
    es_math y_max_d + 60
    
    es_set x_min_l event_var(posx)
    es_math x_min_l - 20
    es_set x_max_l event_var(posx)
    es_math x_max_l + 20 
    es_set y_min_l event_var(posy)
    es_math y_min_l - 20
    es_set y_max_l event_var(posy)
    es_math y_max_l + 20
  }
}

event bomb_beep
{
  if (server_var(match_fix_defuse) == 1) do
  {
    es_keygroupdelete lista
    es_xcreateentitylist lista item_defuser
    foreach player tempuserid #ct "es_xdoblock match/ubicacion"
  }
}

event bomb_begindefuse
{
  if (server_var(match_fix_c4_exploit) == 1) do
  {
    es_xset legal 0
    es_xset looking 0
    es_prop_dynamic_create event_var(userid) props_c17/tv_monitor01_screen.mdl
    es_getindexprop looking server_var(eventscripts_lastgive) CBaseEntity.m_vecOrigin
    es_remove server_var(eventscripts_lastgive)
    es_xset look_x 0
    es_xset look_y 0
    es_token look_x server_var(looking) 1 ","
    es_token look_y server_var(looking) 2 ","
    if (server_var(look_x) < server_var(x_max_l)) do
    {
      if (server_var(look_x) > server_var(x_min_l)) do
      {
        if (server_var(look_y) < server_var(y_max_l)) do
        {
          if (server_var(look_y) > server_var(y_min_l)) do
          {
            legal 1
          }
        }
      }
    }
    if (server_var(legal) == 0) do
    {
      es_delayed 0.3 es_setplayerprop event_var(userid) CBasePlayer.m_fFlags 8.0
      es_delayed 0.5 es_setplayerprop event_var(userid) CBasePlayer.m_fFlags 1
      es usermsg hudhint event_var(userid) "You must see the bomb to diffuse it"
    }
  } 
}

event bomb_defused
{
  if (server_var(match_objective_points) == 0) do
  {
        es score del event_var(userid) 3
  }
}
    
event bomb_exploded
{
  if (server_var(match_objective_points) == 0) do
  {
        es score del event_var(userid) 3
  }
}

event player_jump
{
  if(server_var(match_fix_bhop) == 1) do
  {
    es_xset fmove 0
    es_xset smove 0
    es_getplayerprop fmove event_var(userid) "CBasePlayer.localdata.m_vecVelocity[0]"
    es_getplayerprop smove event_var(userid) "CBasePlayer.localdata.m_vecVelocity[1]" 
    es_math fmove * server_var(fmove)
    es_math smove * server_var(smove)
    es_math fmove + server_var(smove)
    es_xmath fmove root 2
    if (server_var(fmove) > 260) do
    {
      es_xmath fmove - 260
      es_xmath fmove * "-1"
      es playerset push event_var(userid) server_var(fmove) 0 0
      es_delayed 0.02 es_doblock match/speed_check
    }
  }
}

block speed_check
{
  es_getplayerprop fmove event_var(userid) "CBasePlayer.localdata.m_vecVelocity[0]"
  es_getplayerprop smove event_var(userid) "CBasePlayer.localdata.m_vecVelocity[1]" 
  es_math fmove * server_var(fmove)
  es_math smove * server_var(smove)
  es_math fmove + server_var(smove)
  es_xmath fmove root 2
  if (server_var(fmove) > 261) do
  {
    es_xmath fmove - 260
    es playerset push event_var(userid) server_var(fmove) 0 0
  }
}

block ko3
{
  if (server_var(estado) == 0) do
  {
    estado 1
    mp_freezetime 5
    mp_startmoney 800
    ma_war 1
    es_delayed 1 es_msg #multi #green server_var(match_name) #lightgreen KNIVES ON 3 RESTARTS
    es_delayed 4 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 1 ]"
    es_delayed 4 mp_restartgame 1
    es_delayed 6 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 2 ]"
    es_delayed 6 mp_restartgame 1
    es_delayed 10 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 3 ]"
    es_delayed 10 ronda_cuchi 1
    es_delayed 10 mp_restartgame 1
    es_delayed 12 es_msg #multi #green server_var(match_name) #lightgreen KNIVES ROUND!
    es_delayed 12 es_msg #multi #green server_var(match_name) #lightgreen GOOD LUCK  -  HAVE FUN
  }
}

block swap
{
  es_msg #multi #green server_var(match_name) #lightgreen Swapping teams...
  es_keygroupcreate jugadores
  es_keygroupcreate jugadores2
  foreach player tempuserid #ct "es_keycreate jugadores server_var(tempuserid)"
  foreach player tempuserid2 #t "es_keycreate jugadores2 server_var(tempuserid2)"
  es_foreachkey example_player in jugadores "es_changeteam server_var(example_player) 2"
  es_foreachkey example_player2 in jugadores2 "es_changeteam server_var(example_player2) 3"
  es_keygroupdelete jugadores
  es_keygroupdelete jugadores2
}

block ready
{
  if (server_var(match_active) == 0) do
  {
    estado 4
    es_xdoblock match/warmup
    es_xdoblock match/pup_start
  }
}

block pup_start
{
  es_xset players_ready 0
  es_keygroupdelete rdy
  es_keygroupcreate rdy
  es_xset existe 0
  popup exists listos existe
  if (server_var(existe) == 0) do
  {
    popup create listos
    popup addline listos "GET READY!"
    popup addline listos "  When you're ready, say .r"
    popup addline listos " "
    popup addline listos "PLAYERS NOT READY:"
    es_keygroupcreate lineas
    es_xsetinfo linea 5
  }
  else do
  {
    es_foreachkey line in lineas "es popup delline listos 5"
    es_keygroupdelete lineas
    es_keygroupcreate lineas
    linea 5
  }
  es_keygroupdelete todos
  es_createplayerlist todos
  es_foreachkey player in todos "es_xdoblock match/pup_add"
  popup addline listos " "
  es_keycreate lineas server_var(linea)
  es_math linea + 1
  popup addline listos "PLAYERS READY:"
  es_keycreate lineas server_var(linea)
  es_math linea + 1
  es_foreachkey player in todos "es_xdoblock match/pup_add2"
  popup displaymode listos normal
  foreach player tempuserid #all "es popup send listos server_var(tempuserid)"
}

block pup_update
{
  es_xset players_ready 0
  es_keygroupdelete todos
  es_createplayerlist todos
  es_foreachkey line in lineas "es popup delline listos 5"
  es_keygroupdelete lineas
  es_keygroupcreate lineas
  linea 5
  es_foreachkey player in todos "es_xdoblock match/pup_add"
  popup addline listos " "
  es_keycreate lineas server_var(linea)
  es_math linea + 1
  popup addline listos "PLAYERS READY:"
  es_keycreate lineas server_var(linea)
  es_math linea + 1
  es_foreachkey player in todos "es_xdoblock match/pup_add2"
  foreach player tempuserid #all "es popup update listos server_var(tempuserid)"
  if (server_var(players_ready) == server_var(match_players)) do
  {
    es_delayed 1 es_msg #multi #green server_var(match_name) #lightgreen Everyone is ready!
    es_delayed 2 es_xdoblock match/pup_end
  }
}

block pup_end
{
  foreach player tempuserid #all "es popup close listos server_var(tempuserid)"
  
  if (server_var(ronda) > 0) do
  {
    estado 5
    es_set puntaje1_temp server_var(puntaje1)
    es_math puntaje1_temp + server_var(match_overtime_puntaje1)
    es_set puntaje2_temp server_var(puntaje2)
    es_math puntaje2_temp + server_var(match_overtime_puntaje2)
    if (server_var(puntaje1) > server_var(puntaje2)) do
    {
      es_msg #multi #green server_var(match_name) #lightgreen Current scores: server_var(team1) - server_var(puntaje1_temp), server_var(team2) - server_var(puntaje2_temp)
    }
    else do
    {
      es_msg #multi #green server_var(match_name) #lightgreen Current scores: server_var(team2) - server_var(puntaje2_temp), server_var(team1) - server_var(puntaje1_temp)
    }
    if (server_var(match_overtime) == 1) do
    {
      es_msg #multi #green server_var(match_name) #lightgreen Starting overtime second half.
    }
    else do
    {
      es_msg #multi #green server_var(match_name) #lightgreen Starting second half.
    }
    es_delayed 2 es_xdoblock match/resume
  }
  else do
  {
    estado 5
    if (server_var(match_overtime) == 1) do
    {
      if (server_var(match_overtime_rounds) == 1) do
      {
        es_msg #multi #green server_var(match_name) #lightgreen Starting overtime round.
      }
      else do
      {
        es_msg #multi #green server_var(match_name) #lightgreen Starting overtime first half.
      }
    }
    else do
    {
      es_msg #multi #green server_var(match_name) #lightgreen Starting first half.
    }
    es_delayed 2 es_xdoblock match/war
  }
}

block pup_add
{
  es_xset playername 0
  es_xset playerteam 0
  es es_xkeygetvalue playername todos server_var(player) name
  es es_xkeygetvalue playerteam todos server_var(player) teamid
  es_xset juega 0
  if (server_var(playerteam) == 2) do
  {
    juega 1
  }
  if (server_var(playerteam) == 3) do
  {
    juega 1
  }
  if (server_var(juega) == 1) do
  {
    es_xset existe 0
    es_exists existe keyvalue rdy server_var(player) listo 
    if(server_var(existe) == 0) do
    {
      es_xsetinfo texto 0
      es_format texto "  %1" server_var(playername)
      es popup addline listos server_var(texto)
      es_keycreate rdy server_var(player)
      es_keysetvalue rdy server_var(player) listo 0
      es_keycreate lineas server_var(linea)
      es_math linea + 1
    }
    else do
    {
      es_xset valor 0
      es es_xkeygetvalue valor rdy server_var(player) listo
      if (server_var(valor) == 0) do
      {
        es_xsetinfo texto 0
        es_format texto "  %1" server_var(playername)
        es popup addline listos server_var(texto)
        es_keycreate lineas server_var(linea)
        es_math linea + 1
      }
    }
  }  
}

block pup_add2
{
  es_xset playername 0
  es_xset playerteam 0
  es es_xkeygetvalue playername todos server_var(player) name
  es es_xkeygetvalue playerteam todos server_var(player) teamid
  es_xset juega 0
  if (server_var(playerteam) == 2) do
  {
    juega 1
  }
  if (server_var(playerteam) == 3) do
  {
    juega 1
  }
  if (server_var(juega) == 1) do
  {
    es_xset existe 0
    es_exists existe keyvalue rdy server_var(player) listo 
    if(server_var(existe) == 1) do
    {
      es_xset valor 0
      es es_xkeygetvalue valor rdy server_var(player) listo
      if (server_var(valor) == 1) do
      {
        es_xsetinfo texto 0
        es_format texto "  %1" server_var(playername)
        es popup addline listos server_var(texto)
        es_math players_ready + 1
        es_keycreate lineas server_var(linea)
        es_math linea + 1
      }
    }
  }  
}

block dot_r
{
  if (server_var(estado) == 4) do
  {
    es_setinfo speaker 0
    es_getcmduserid speaker
    es_keygroupdelete datos
    es_createplayerlist datos server_var(speaker)
    es_xset equipo 0
    es_xset jugador 0
    es_xset juega 0
    es_keygetvalue equipo datos server_var(speaker) teamid
    es_keygetvalue jugador datos server_var(speaker) name
    
    if (server_var(equipo) == 2) do
    {
      juega 1
    }
    if (server_var(equipo) == 3) do
    {
      juega 1
    }
    if (server_var(juega) == 1) do
    {
      es_xset existe 0
      es_exists existe keyvalue rdy server_var(speaker) listo 
      if(server_var(existe) == 0) do
      {
        es_keysetvalue rdy server_var(speaker) listo 1
        es_xdoblock match/pup_update
        es_msg #multi #green server_var(match_name) #lightgreen server_var(jugador) is now ready.
      }
      else do
      {
        es_xset valor 0
        es es_xkeygetvalue valor rdy server_var(speaker) listo
        if (server_var(valor) == 0) do
        {
          es_keysetvalue rdy server_var(speaker) listo 1
          es_xdoblock match/pup_update
          es_msg #multi #green server_var(match_name) #lightgreen server_var(jugador) is now ready.
        }
      }
    }
  }
}

block dot_ur
{
  if (server_var(estado) == 4) do
  {
    es_setinfo speaker 0
    es_getcmduserid speaker
    es_keygroupdelete datos
    es_createplayerlist datos server_var(speaker)
    es_xset equipo 0
    es_xset jugador 0
    es_xset juega 0
    es_keygetvalue equipo datos server_var(speaker) teamid
    es_keygetvalue jugador datos server_var(speaker) name
    
    if (server_var(equipo) == 2) do
    {
      juega 1
    }
    if (server_var(equipo) == 3) do
    {
      juega 1
    }
    if (server_var(juega) == 1) do
    {
      es_xset existe 0
      es_exists existe keyvalue rdy server_var(speaker) listo 
      if(server_var(existe) == 1) do
      {
        es_xset valor 0
        es es_xkeygetvalue valor rdy server_var(speaker) listo
        if (server_var(valor) == 1) do
        {
          es_keysetvalue rdy server_var(speaker) listo 0
          es_xdoblock match/pup_update
          es_msg #multi #green server_var(match_name) #lightgreen server_var(jugador) is no longer ready.
        }
      }
    }
  }
}

block warmup
{
  mp_buytime 0 
  mp_forcecamera 0
  mp_freezetime 0 
  mp_friendlyfire 0 
  mp_limitteams 0
  mp_maxrounds 0
  mp_startmoney 16000
  mp_restartgame 1
  es_msg #multi #green server_var(match_name) #lightgreen Warmup session started!
}

block war
{
  es_xset puntaje1 0
  es_xset puntaje2 0
  if (server_var(match_overtime) == 1) do
  {
    if (server_var(match_overtime_config) == 0) do
    {
      es_xdoblock match/ot_config_file
    }
    else do
    {
      es exec server_var(match_overtime_config)
    }
  }
  else do
  {
    if (server_var(match_config) == 0) do
    {
      es_xdoblock match/config_file
    }
    else do
    {
      es exec server_var(match_config)
    }
  }
  if (server_var(match_record) == 0) do
  {
    es_delayed 0.5 tv_enable 0
  }
  es_delayed 1 es_xdoblock match/record
  es_delayed 3 es_xdoblock match/lo3
}

block resume
{
  if (server_var(match_overtime) == 1) do
  {
    if (server_var(match_overtime_config) == 0) do
    {
      es_xdoblock match/ot_config_file
    }
    else do
    {
      es exec server_var(match_overtime_config)
    }
  }
  else do
  {
    if (server_var(match_config) == 0) do
    {
      es_xdoblock match/config_file
    }
    else do
    {
      es exec server_var(match_config)
    }
  }
  if (server_var(match_record) == 0) do
  {
    es_delayed 0.5 tv_enable 0
  }
  es_delayed 3 es_xdoblock match/lo3
}

block lo3
{
    ma_war 1
    es_msg #multi #green server_var(match_name) #lightgreen START RECORDING YOUR DEMOS NOW
    es_delayed 1 es_msg #multi #green server_var(match_name) #lightgreen MATCH WILL GO LIVE ON 3 RESTARTS
    es_delayed 4 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 1 ]"
    es_delayed 4 mp_restartgame 1
    es_delayed 6 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 2 ]"
    es_delayed 6 mp_restartgame 1
    es_delayed 10 es_msg #multi #green server_var(match_name) #lightgreen "[ Restart 3 ]"
    es_delayed 10 mp_restartgame 3
    es_delayed 16 es_msg #multi #green server_var(match_name) #lightgreen Match is now LIVE!
    es_delayed 16 es_msg #multi #green server_var(match_name) #lightgreen GOOD LUCK  -  HAVE FUN
    es_delayed 20 match_active 1
    if (server_var(match_overtime) == 1) do
    {
      es_delayed 25 es mp_startmoney server_var(match_overtime_startmoney)
    }
    else do
    {
      es_delayed 25 es mp_startmoney server_var(match_startmoney)
    }
}

block record
{
  es_xset randplayer 0
  getrandplayer randplayer #t
  es_xset randplayers 0
  getrandplayer randplayers #ct
  es_xsetinfo playername 0
  es_getplayername playername server_var(randplayer)
  es_xsetinfo playernames 0
  es_getplayername playernames server_var(randplayers)
  setinfo team1 0
  es_token team1 server_var(playername) 1
  es_string team1 replace "." ","
  es_string team1 replace ":" ""
  es_string team1 replace "\" ""
  es_string team1 replace "/" ""
  es_string team1 replace "*" ""
  es_string team1 replace "?" ""
  es_string team1 replace "<" ""
  es_string team1 replace ">" ""
  es_string team1 replace "|" ""
  setinfo team2 0
  es_token team2 server_var(playernames) 1
  es_string team2 replace "." ","
  es_string team2 replace ":" ""
  es_string team2 replace "\" ""
  es_string team2 replace "/" ""
  es_string team2 replace "*" ""
  es_string team2 replace "?" ""
  es_string team2 replace "<" ""
  es_string team2 replace ">" ""
  es_string team2 replace "|" ""
  
  es_xsetinfo tmp_time 0
  eventscripts_timeformat "%d-%m-%Y_%H,%M"
  es_gettimestring tmp_time
  es_setinfo mystring 0
  es_format mystring "%1_vs_%2_%3_%4" server_var(team1) server_var(team2) server_var(eventscripts_currentmap) server_var(tmp_time)
  
  es hostname server_var(match_name) Match in Progress: server_var(team1) vs server_var(team2)
  if(server_var(match_record) == 1) do
  {
    es tv_record server_var(mystring)
  }
}

block score
{
  if (server_var(match_active) == 1) do
  {
    if(server_var(puntaje1) > server_var(puntaje2)) do
    {
      es_set puntaje1_temp server_var(puntaje1)
      es_math puntaje1_temp + server_var(match_overtime_puntaje1)
      es_set puntaje2_temp server_var(puntaje2)
      es_math puntaje2_temp + server_var(match_overtime_puntaje2)
      es_msg #multi #green server_var(match_name) #lightgreen server_var(team1) leads server_var(puntaje1_temp) - server_var(puntaje2_temp)
    }
    if(server_var(puntaje1) < server_var(puntaje2)) do
    {
      es_set puntaje1_temp server_var(puntaje1)
      es_math puntaje1_temp + server_var(match_overtime_puntaje1)
      es_set puntaje2_temp server_var(puntaje2)
      es_math puntaje2_temp + server_var(match_overtime_puntaje2)
      es_msg #multi #green server_var(match_name) #lightgreen server_var(team2) leads server_var(puntaje2_temp) - server_var(puntaje1_temp)
    }
    if(server_var(puntaje1) == server_var(puntaje2)) do
    {
      es_set puntaje1_temp server_var(puntaje1)
      es_math puntaje1_temp + server_var(match_overtime_puntaje1)
      es_msg #multi #green server_var(match_name) #lightgreen Scores are tied at server_var(puntaje1_temp) - server_var(puntaje1_temp)
    }
  }
}

block forzar
{
  if (server_var(estado) == 4) do
  {
    es_msg #multi #green server_var(match_name) #lightgreen Match is being forced to resume!
    es_xdoblock match/pup_end
  }
}

block finish
{
  tv_stoprecord
  ma_war 0
  es hostname server_var(match_name) Match Finished
  es_xdoblock match/config
  es_delayed 1 exec server.cfg
  es_delayed 1.5 exec autoexec.cfg
  es_delayed 2 es_msg #multi #green server_var(match_name) #lightgreen Match finished, settings set back to normal.
  es_xset match_active 0
  es_xset match_overtime 0
  es_xset match_overtime_puntaje1 0
  es_xset match_overtime_puntaje2 0
  es_xset ronda 0
  es_xset estado 0
  es_xset ganador_cuchi 0
  es_xset ronda_cuchi 0
  es_delayed 4 es_xdoblock match/launch 
}

block cancel
{
  es_xset existe 0
  popup exists listos existe
  if (server_var(existe) == 1) do
  {
    foreach player tempuserid #all "es popup close listos server_var(tempuserid)"
  } 
  es_xdoblock match/finish
}

block cash
{
  es_xset playercash 0
  es_xset playerprimary 0
  es playerget cash playercash server_var(tempuserid)
  es playerget primary playerprimary server_var(tempuserid)
  if (server_var(playerprimary) == 0) do
  {
    es_xsetinfo texto 0
    es_format texto "say_team %1" server_var(playercash)
    es_sexec server_var(tempuserid) server_var(texto)
    
  }
  else do
  {
    es_string playerprimary replace "weapon_" ""
    es_xsetinfo texto 0
    es_format texto "say_team %1 + %2" server_var(playercash) server_var(playerprimary)
    es_sexec server_var(tempuserid) server_var(texto)
  }
}

block launch
{
  if(server_var(match_auto) == 1) do
  {
    if(server_var(estado) == 0) do
    {
      es_setinfo players_side server_var(match_players)
      es_math players_side / 2
      es_getplayercount teamsize 2
      if (server_var(teamsize) == server_var(players_side)) do
      {
        es_getplayercount teamsize 3
        if (server_var(teamsize) == server_var(players_side)) do
        {
          match_ready
        }
      }
    }
  }
}

block ubicacion
{
  es_xset have_d 0
  es playerget defuser have_d server_var(tempuserid)
  if (server_var(have_d) == 1) do
  {
    es_xset player_x 0
    es_xset player_y 0
    es_xset player_z 0
    es_getplayerlocation player_x player_y player_z server_var(tempuserid)
    if (server_var(player_x) > server_var(x_min)) do
    {
      if (server_var(player_x) < server_var(x_max)) do
      {
        if (server_var(player_y) > server_var(y_min)) do
        {
          if (server_var(player_y) < server_var(y_max)) do
          {
            es_xset vel_f 0
            es_xset vel_s 0
            es_xset vel_u 0
            es_getplayermovement vel_f vel_s vel_u server_var(tempuserid)
            if (server_var(vel_f) == 0) do
            {
              if (server_var(vel_s) == 0) do
              {
                es_xset looking 0
                es_prop_dynamic_create server_var(tempuserid) props_c17/tv_monitor01_screen.mdl
                es_getindexprop looking server_var(eventscripts_lastgive) CBaseEntity.m_vecOrigin
                es_remove server_var(eventscripts_lastgive)
                es_xset look_x 0
                es_xset look_y 0
                es_xset look_z 0
                es_token look_x server_var(looking) 1 ","
                es_token look_y server_var(looking) 2 ","
                es_token look_z server_var(looking) 3 ","
                if (server_var(look_x) < server_var(x_max_l)) do
                {
                  if (server_var(look_x) > server_var(x_min_l)) do
                  {
                    if (server_var(look_y) < server_var(y_max_l)) do
                    {
                      if (server_var(look_y) > server_var(y_min_l)) do
                      {
                        es_foreachkey kit in lista "es_xdoblock match/remove_defuse"
                      }
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}

block remove_defuse
{
  es_xsetinfo loc 0
  es_getindexprop loc server_var(kit) "CBaseAnimating.baseclass.m_vecOrigin"
  es_xset defuse_x 0
  es_xset defuse_y 0
  es_token defuse_x server_var(loc) 1 ","
  es_token defuse_y server_var(loc) 2 ","
  
  if (server_var(defuse_x) > server_var(x_min_d)) do
  {
    if (server_var(defuse_x) < server_var(x_max_d)) do
    {
      if (server_var(defuse_y) > server_var(y_min_d)) do
      {
        if (server_var(defuse_y) < server_var(y_max_d)) do
        {
          es_remove server_var(kit)
        }
      }
    }
  }
}

block config_file
{
  mp_autokick 0 
  mp_spawnprotectiontime 0 
  mp_autocrosshair 0 
  mp_autoteambalance 0 
  mp_buytime .25 
  mp_c4timer 35 
  mp_fadetoblack 0 
  mp_flashlight 1  
  mp_forcecamera 1
  mp_footsteps 1 
  mp_freezetime 15 
  mp_friendlyfire 1 
  mp_hostagepenalty 0 
  mp_limitteams 5
  mp_maxrounds 999
  mp_winlimit 0
  mp_playerid 0 
  mp_roundtime 1.75
  mp_timelimit 999
  mp_tkpunish 0 
  mp_startmoney 800 
  mp_allowspectators 1
  mp_dynamicpricing 0
  sv_lan 0
  sv_maxupdaterate 120
  sv_minupdaterate 20 
  sv_unlag 1 
  sv_maxunlag .5 
  sv_voiceenable 1
  sv_airaccelerate 10 
  sv_allowdownload 1 
  sv_allowupload 1 
  sv_alltalk 0
  sv_cheats 0 
  sv_friction 4
  sv_gravity 800 
  sv_maxrate 25000 
  sv_maxspeed 320 
  sv_minrate 0 
  sv_stepsize 18 
  sv_stopspeed 75 
  sv_timeout 65
  sv_voicecodec vaudio_speex
  sv_mincmdrate 30
  sv_maxcmdrate 100
  sv_minupdaterate 30
  sv_maxupdaterate 100
  sv_client_predict 1
  sv_client_interpolate 1
  sv_client_cmdrate_difference 30
  sv_pure 2
  decalfrequency 60 
  host_framerate 0 
  sv_pausable 1
  log on
  tv_enable 1
  tv_delay 120
  tv_delaymapchange 1
  tv_autorecord 0
  tv_transmitall 1
  tv_maxclients 128
  tv_allow_camera_man 0
  mp_logdetail 3
  sv_rcon_log 1
  es_delayed 0.5 es_msg #multi #green server_var(match_name) #lightgreen Configs Have Been Executed
}

block ot_config_file
{
  mp_autokick 0 
  mp_spawnprotectiontime 0 
  mp_autocrosshair 0 
  mp_autoteambalance 0 
  mp_buytime .25 
  mp_c4timer 35 
  mp_fadetoblack 0 
  mp_flashlight 1  
  mp_forcecamera 1
  mp_footsteps 1 
  mp_freezetime 15 
  mp_friendlyfire 1 
  mp_hostagepenalty 0 
  mp_limitteams 5
  mp_maxrounds 999
  mp_winlimit 0
  mp_playerid 0 
  mp_roundtime 1.75
  mp_timelimit 999
  mp_tkpunish 0 
  mp_startmoney 7500 
  mp_allowspectators 1
  mp_dynamicpricing 0
  sv_lan 0
  sv_maxupdaterate 120
  sv_minupdaterate 20 
  sv_unlag 1 
  sv_maxunlag .5 
  sv_voiceenable 1
  sv_airaccelerate 10 
  sv_allowdownload 1 
  sv_allowupload 1 
  sv_alltalk 0
  sv_cheats 0 
  sv_friction 4
  sv_gravity 800 
  sv_maxrate 25000 
  sv_maxspeed 320 
  sv_minrate 0 
  sv_stepsize 18 
  sv_stopspeed 75 
  sv_timeout 65
  sv_voicecodec vaudio_speex
  sv_mincmdrate 30
  sv_maxcmdrate 100
  sv_minupdaterate 30
  sv_maxupdaterate 100
  sv_client_predict 1
  sv_client_interpolate 1
  sv_client_cmdrate_difference 30
  sv_pure 2
  decalfrequency 60 
  host_framerate 0 
  sv_pausable 1
  log on
  tv_enable 1
  tv_delay 120
  tv_delaymapchange 1
  tv_autorecord 0
  tv_transmitall 1
  tv_maxclients 128
  tv_allow_camera_man 0
  mp_logdetail 3
  sv_rcon_log 1
  es_delayed 0.5 es_msg #multi #green server_var(match_name) #lightgreen Overtime Configs Have Been Executed
}