All pastes #462970 Raw Edit

Someone

public text v1 · immutable
#462970 ·published 2007-04-28 17:38 UTC
rendered paste body
block config
{
  //Limit how many mines per team.
  es_set lm_teamlimit 10
  
  //Limit how many mines per player.
  es_set lm_playerlimit 3
  
  // Use Beacons or models to show mine loctions. 0 = Model 1 = Beacons
  es_set lm_effect 0
  
  // IF beacons, what color should they be? RGB + Alpha (default: Blue)
  es_set lm_beacon_R 0
  es_set lm_beacon_G 0
  es_set lm_beacon_B 255
  es_set lm_beacon_A 255

  // IF model, which?
  es_set lm_model 
  
  // Color for planting beacon. (Allows teammates to know when another is planting) RGB + Alpha (default: Green)
  es_set lm_pbeacon_R 0
  es_set lm_pbeacon_G 255
  es_set lm_pbeacon_B 0
  es_set lm_pbeacon_A 255

  // imagnitude (Amount of damage/impact) of mines (default 100 - Around 70-80 damage) (Change only the number here)
  es_set lm_imagnitude "imagnitude 100"
}

block load
{
  es_xdoblock landmine/config
  es_xset lm_chkr 0
  es_xmsg #green [Landmine] Landmine script has been loaded.
  es_xregclientcmd +mine landmine/plant "Landmine - Plant landmines"
  es_xregclientcmd -mine landmine/abort "Landmine - Abort mines"
  keygroupremove landmine
  es_keygroupcreate landmine

  es_xexists lm_chkr command __mine_explode
  ifx false(lm_chkr) do
  {
    es_xregcmd __mine_explode landmine/explode "Landmine - Kaboom!"
    es_xregcmd __mine_progress landmine/progress "Landmine -HudHint Progresion"
  }
  //progress vars & messages
  keygroupremove landmine_progress
  es_xkeygroupcreate landmine_progress
  es_xset lm_dismsg 0
  es_xset landmine_name 0
  es_xset landmine_userid 0
  es_xset lm_cnt 0
  es_xset lm_id 0
  es_xset lm_mineid 0
  es_xset lm_team 0

  keygroupremove landmine_msgs
  es_keygroupload landmine_msgs |landmine

  //Mine planting vars
  es_xset lm_x 0
  es_xset lm_y 0
  es_xset lm_z 0
  es_xset lm_loc 0
  es_xset lm_temp 0
  es_xset lm_badboy 0
  es_xset lm_command 0
  es_xset lm_team 0
  
  //Beacon Vars
  es_xset landmine 0
  es_xset landmine_loc 0
  es_xset landmine_team 0
  es_xset lm_x1 0
  es_xset lm_y1 0
  es_xset lm_z1 0

  es_xdoblock landmine/effect
}

event round_start
{
  es_xset lm_id 0
  es_xdoblock landmine/effect
  keygroupremove landmine
  es_keygroupcreate landmine
}

block plant
{
  es_set lm_isdead 0
  es_xset landmine_userid 0
  es_getcmduserid landmine_userid
  es playerget isdead lm_isdead server_var(landmine_userid)
  ifx false(lm_isdead)
  {
    es_sexec server_var(landmine_userid) -duck
    es_delayed 0.5 es_xsetplayerprop server_var(landmine_userid) "CBasePlayer.m_fFlags" 32.0
    es_keycreate landmine_progress server_var(landmine_userid)
    es_keysetvalue landmine_progress server_var(landmine_userid) progress 0
    es __mine_progress server_var(landmine_userid)
  }
  else do
  {
     es_tell server_var(landmine_userid) #green [Landmine] You can not place mines while dead.
  }
}

block progress
{
  es_getargv landmine_userid 1
  es_exists lm_chkr key landmine_progress server_var(landmine_userid)
  ifx true(lm_chkr) do
  {
    es_keygetvalue lm_cnt landmine_progress server_var(landmine_userid) progress
    es_keygetvalue lm_dismsg landmine_msgs server_var(lm_cnt) lmmsg
    es_getplayername landmine_name server_var(landmine_userid)
    es usermsg hudhint server_var(landmine_userid) server_var(lm_dismsg)
    es_xmath lm_cnt + 1
    es_keysetvalue landmine_progress server_var(landmine_userid) progress server_var(lm_cnt)
    
    es_getplayerlocation lm_x lm_y lm_z server_var(landmine_userid)
    es_getplayerteam lm_team server_var(landmine_userid)
    if (server_var(lm_team) equalto 2) do
    {
      es_xset lm_team "#t"
    }
    else do
    {
      es_xset lm_team "#ct"
    }
   
    es est_effect 10 server_var(lm_team) 0 "sprites/lgtning.vmt" server_var(lm_x) server_var(lm_y) server_var(lm_z) 0 125 1 1 1 1 server_var(lm_pbeacon_R) server_var(lm_pbeacon_G)server_var(lm_pbeacon_B) server_var(lm_pbeacon_A) 0

    if (server_var(lm_cnt) >= 8) do
    {
      es_xdoblock landmine/mine
    }
    else do
    {
        es_delayed 0.3 __mine_progress server_var(landmine_userid)
    }
  }
}

block abort
{
  es_xset landmine_userid 0
  es_getcmduserid landmine_userid
  es_setplayerprop server_var(landmine_userid) "CBasePlayer.m_fFlags" 66177
  es_keydelete landmine_progress server_var(landmine_userid)
 
}

block player_death
{
  es_xset lm_freeze 0
  es_setplayerprop event_var(userid) "CBasePlayer.m_fFlags" 66177
  es_keydelete landmine_progress event_var(userid)
  
}

block mine
{
      es_math lm_id + 1
      if (server_var(lm_id) equalto 1) do
      {
        es_give server_var(landmine_userid) point_servercommand
        es est_setentname server_var(eventscripts_lastgive) command_giver
      }
      es_set lm_wire_id 0
      es_set lm_mine_id 0
      es_format lm_wire_id "w_%1" server_var(lm_id)
      es_format lm_mine_id "m_%1" server_var(lm_id)
      es_createvectorstring lm_loc server_var(lm_x) server_var(lm_y) server_var(lm_z)
      es_give server_var(landmine_userid) env_beam
      es est_setentname server_var(eventscripts_lastgive) server_var(lm_wire_id)
      es_setindexprop server_var(eventscripts_lastgive) "CBeam.m_fWidth" "200"
      es_setindexprop server_var(eventscripts_lastgive) "CBeam.m_fEndWidth" "200"
      es_setindexprop server_var(eventscripts_lastgive) "CBeam.m_vecOrigin" server_var(lm_loc)
      es_xsetinfo lm_temp 0
      es_splitvectorstring lm_x lm_y lm_z server_var(lm_loc)
      es_xmath lm_x + 50
      es_createvectorstring lm_temp server_var(lm_x) server_var(lm_y) server_var(lm_z)
      es_setindexprop server_var(eventscripts_lastgive) "CBeam.m_vecEndPos" server_var(lm_temp)
      es_fire server_var(landmine_userid) server_var(lm_wire_id) addoutput "TouchType 1"
      es_format lm_command "OnTouchedByEntity command_giver,command,es __mine_explode %1 %2" server_var(landmine_userid) server_var(lm_mine_id)
      es_fire server_var(landmine_userid) server_var(lm_wire_id) addoutput server_var(lm_command)
      es_fire server_var(landmine_userid) server_var(lm_wire_id) addoutput "OnTouchedByEntity !self,kill"
      es_tell server_var(landmine_userid) "#green [Landmine] Mine planted - You have 5 seconds to move away."
      es_sexec server_var(landmine_userid) say_team I planted a landmine here, stay clear!
      es_delayed 5 es_fire server_var(landmine_userid) server_var(lm_wire_id) TurnOn
      es_give server_var(landmine_userid) env_explosion
      es est_setentname server_var(eventscripts_lastgive) server_var(lm_mine_id)
      es_xset lm_owner 0
      es_getplayerhandle lm_owner server_var(landmine_userid)
      es_setindexprop server_var(eventscripts_lastgive) CBaseEntity.m_hOwnerEntity server_var(lm_owner)
      es_fire server_var(landmine_userid) env_explosion addoutput server_var(lm_imagnitude)
      es_getplayerteam landmine_team server_var(landmine_userid)
      if (server_var(landmine_team) equalto 2) do
      {
        es_xset landmine_team "#t"
      }
      else do
      {
        es_xset landmine_team "#ct"
      }
      es_keycreate landmine server_var(lm_mine_id)
      es_keysetvalue landmine server_var(lm_mine_id) owner server_var(landmine_userid)
      es_keysetvalue landmine server_var(lm_mine_id) location server_var(lm_loc)
      es_keysetvalue landmine server_var(lm_mine_id) team server_var(landmine_team)
}

block explode
{
   es_getargv lm_badboy 1
   es_getargv lm_mineid 2
   es es_xfire server_var(lm_badboy) server_var(lm_mineid) explode
   es_keydelete landmine server_var(lm_mineid)
   es_xset soundrand 0
   es_xrand soundrand 1 3
   if (server_var(soundrand) equalto 1) then es_xset explosionsound weapons\explode3.wav
   if (server_var(soundrand) equalto 2) then es_xset explosionsound weapons\explode4.wav
   if (server_var(soundrand) equalto 3) then es_xset explosionsound weapons\explode5.wav
   es_emitsound entity server_var(lm_mineid) server_var(explosionsound) 1.0 0.5
}

block effect
{
  es_xforeachkey landmine in landmine "es_xdoblock landmine/dobeacon"
  es_xdelayed 2 es_xdoblock landmine/effect
}

block dobeacon
{
  es_keygetvalue landmine_loc landmine server_var(landmine) location
  es_keygetvalue landmine_team landmine server_var(landmine) team
  es_splitvectorstring lm_x1 lm_y1 lm_z1 server_var(landmine_loc)
  es est_effect 10 server_var(landmine_team) 0 "sprites/lgtning.vmt" server_var(lm_x1) server_var(lm_y1) server_var(lm_z1) 0 125 1 1 1 1 server_var(lm_beacon_R) server_var(lm_beacon_G)server_var(lm_beacon_B) server_var(lm_beacon_A) 0
}