rendered paste bodyblock 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
}