Ive been running base builder lately. Since people can build from their own creativity, they can easily build a structure that takes them under the map. I find this very annoying since the people under the map are able to kill players who are not under the map. Its very frustrating because if one person goes under the map, they all soon follow. My question is: Is there a mod that will kill the player under the map, anywhere under the map? I have Admin Pro and a few other map fixes and they only kill the player in some areas under the map. Like something that expands all throughout the map and will kill them. Even without base builder some poeple still find ways to go under the map.
elgans adminpro has an under them map fix in it. Or you can script a killbrush like this, this is for the hunt map:
//add this into the hunts map script you might have to exec it from a seperate script
local.killbrush = spawn trigger_hurt
local.killbrush damage 10000
local.killbrush.origin = ( 3737.35 7.57 -511.88 )
local.killbrush setsize ( -9999 -9999 -10 ) ( 9999 9999 8 )
Sorry to bring up an old post [cough* 5 days] It may be that admin pro and basebuilder conflict because admin pro's under the map fix is not working for me.:| I tried adding the killbrush but it did nothing. I'm assuming i didn't do it properly. This is my script for remagen. I changed the coordinates from the hunts to remagen's (1902 -27 -210) Did i added in the wrong place? I'm not much of a scripter :p
// remagen
// architecture: stagger
// scripting: powzer
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "mohdm3"
setcvar "g_gametype" "2"
setcvar "fraglimit" "0"
setcvar "timelimit" "25"
exec alienx/basebuild.scr::main 800 140
// call additional stuff for playing this map round based is needed
if(level.roundbased)
thread roundbasedthread
level waittill prespawn
// note all these must have a value!
// +----------------- light on or off ( 1 = on, 0 = off )
// | +--------------- red (1 is the max, so for a little red, use 0.5)
// | | +------------- green (same for red)
// | | | +----------- blue (same for red)
// | | | | ++-------- rotation speed (keep it sensiable lol)
// | | | | || ++----- the scale of the pickup object, 1 is default
// | | | | || || +--- lift creator ( 1 = on, 0 = off )
//---| script |-| origin |-| model name | | | | || || | |
//pickup point - axis
exec alienx/basebuild.scr::basebuild ( 2884.13 -3292.38 8.13 ) "static/indycrate.tik" 1 1 1 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 2865.79 -3455.69 8.12 ) "statweapons/mg42_gun.tik" 1 1 0 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 2871.10 -3589.42 8.12 ) "static/sandbag_link_main.tik" 1 0 0 1 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 3258.11 -4005.93 8.13 ) "static/indycrate.tik" 1 0 1 1 80 .5 1 0 1
exec alienx/basebuild.scr::basebuild ( 3500.00 -3481.00 8.13 ) "static/planningtable.tik" 1 1 1 1 80 .2 0 0 1
//pickup point - allied
exec alienx/basebuild.scr::basebuild ( 1442.56 -1387.25 -60.96 ) "static/indycrate.tik" 1 1 1 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 1450.68 -1120.66 -63.88 ) "statweapons/mg42_gun.tik" 1 1 0 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 1576.91 -1127.69 -63.88 ) "static/sandbag_link_main.tik" 1 0 0 1 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 880.62 -1387.73 -55.45 ) "static/indycrate.tik" 1 0 1 1 80 .5 1 0 1
exec alienx/basebuild.scr::basebuild ( 900.00 -1030.00 -62.00 ) "static/planningtable.tik" 1 1 1 1 80 .2 0 0 1
//*** precache dm stuff
exec global/dmprecache.scr
exec alienx/hud.scr::main
level.script = maps/dm/mohdm3.scr
exec global/ambient.scr mohdm3
thread blockaxis
thread blockallied
thread SpawnMarkers
thread hudsetup
thread global/door_locked.scr::lock
level waittill spawn
end
//-----------------------------------------------------------------------------
roundbasedthread:
// can specify different scoreboard messages for round based games here.
level waittill prespawn
level waittill spawn
// set the parameters for this round based match
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
level waittill roundstart
end
blockaxis: // allies
local.trig = spawn trigger_multiple "targetname" "spotA1"
local.trig.origin = ( 1057 -2564 -65 )
local.trig setsize ( 0 0 0 ) ( 690 2400 400 )
$spotA1 waittill trigger
local.player = parm.other
if (getcvar (g_kblock) =="1") {
if (local.player.dmteam == axis)
{local.player hurt(1000)}}
$spotA1 remove
thread blockaxis
end
blockallied: // Axis
local.trig = spawn trigger_multiple "targetname" "spotB1"
local.trig.origin = ( 2801 -3260 0 )
local.trig setsize ( 0 0 0 ) ( 455 2205 400 )
$spotB1 waittill trigger
local.player = parm.other
if (getcvar (g_kblock) =="1") {
if (local.player.dmteam == allies)
{local.player hurt(1000)}}
$spotB1 remove
thread blockallied
end
SpawnMarkers:
local.SpawnMarker1 = spawn func_beam "targetname" "Marker1" // allied1
local.SpawnMarker1.origin = ( 1432 -2598 10 )
local.SpawnMarker1 endpoint ( 1432 -2598 90.2 )
local.SpawnMarker1 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker1 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker1 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker1 alpha 0.4
local.SpawnMarker1 numsegments 1
local.SpawnMarker1 activate
local.SpawnMarker2 = spawn func_beam "targetname" "Marker2" // allied2
local.SpawnMarker2.origin = ( 1834 -281 -50 )
local.SpawnMarker2 endpoint ( 1834 -281 40.2 )
local.SpawnMarker2 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker2 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker2 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker2 alpha 0.4
local.SpawnMarker2 numsegments 1
local.SpawnMarker2 activate
local.SpawnMarker3 = spawn func_beam "targetname" "Marker3" // allied3
local.SpawnMarker3.origin = ( 1778 -1029 -50 )
local.SpawnMarker3 endpoint ( 1778 -1029 40.2 )
local.SpawnMarker3 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker3 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker3 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker3 alpha 0.4
local.SpawnMarker3 numsegments 1
local.SpawnMarker3 activate
local.SpawnMarker4 = spawn func_beam "targetname" "Marker4" // axis1
local.SpawnMarker4.origin = ( 2835 -969 -50 )
local.SpawnMarker4 endpoint ( 2835 -969 40.2 )
local.SpawnMarker4 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker4 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker4 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker4 alpha 0.4
local.SpawnMarker4 numsegments 1
local.SpawnMarker4 activate
local.SpawnMarker5 = spawn func_beam "targetname" "Marker5" // axis 2
local.SpawnMarker5.origin = ( 2698 -2346 10 )
local.SpawnMarker5 endpoint ( 2698 -2346 100.2 )
local.SpawnMarker5 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker5 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker5 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker5 alpha 0.4
local.SpawnMarker5 numsegments 1
local.SpawnMarker5 activate
local.SpawnMarker6 = spawn func_beam "targetname" "Marker6" // axis 3
local.SpawnMarker6.origin = ( 2698 -3048 10 )
local.SpawnMarker6 endpoint ( 2698 -3048 100.2 )
local.SpawnMarker6 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker6 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker6 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker6 alpha 0.4
local.SpawnMarker6 numsegments 1
local.SpawnMarker6 activate
wait 2
$Marker1 remove
$Marker2 remove
$Marker3 remove
$Marker4 remove
$Marker5 remove
$Marker6 remove
thread SpawnMarkers
end
hudsetup:
wait 1.0
waitframe
thread sethudup
goto hudsetup
end
sethudup:
if ($player != NULL)
{
huddraw_font 211 "facfont-20"
huddraw_alpha 211 1
huddraw_align 211 left bottom
huddraw_rect 211 100 -60 180 16
}
if (getcvar (g_kblock) =="0")
{
huddraw_color 211 0 1 0
huddraw_string 211 ("FIGHT!!!!")
local.player iprint ("FIGHT!!!!")
}
if (getcvar (g_kblock) =="0")
{
huddraw_color 211 1 0 0
huddraw_string 211 ("WARNING: Spawn Protection is ON!")
local.player iprint ("Spawn Protect is ON!!")
}
waitframe
end
//add this into the hunts map script you might have to exec it from a seperate script
local.killbrush = spawn trigger_hurt
local.killbrush damage 10000
local.killbrush.origin = ( 1902 -27 -210 )
local.killbrush setsize ( -9999 -9999 -10 ) ( 9999 9999 8 )
end
You also said it may have to be excuted from a separate script but i dont know where to start.
Here try this script. I added these lines to it. This line goes in level waittill prespawn thread undermap
then this at end of script
undermap: //added this line
local.killbrush = spawn trigger_hurt
local.killbrush damage 10000
local.killbrush.origin = ( 1902 -27 -210 )
local.killbrush setsize ( -9999 -9999 -10 ) ( 9999 9999 8 )
end
// remagen
// architecture: stagger
// scripting: powzer
main:
// set scoreboard messages
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "mohdm3"
setcvar "g_gametype" "2"
setcvar "fraglimit" "0"
setcvar "timelimit" "25"
exec alienx/basebuild.scr::main 800 140
// call additional stuff for playing this map round based is needed
if(level.roundbased)
thread roundbasedthread
level waittill prespawn
// note all these must have a value!
// +----------------- light on or off ( 1 = on, 0 = off )
// | +--------------- red (1 is the max, so for a little red, use 0.5)
// | | +------------- green (same for red)
// | | | +----------- blue (same for red)
// | | | | ++-------- rotation speed (keep it sensiable lol)
// | | | | || ++----- the scale of the pickup object, 1 is default
// | | | | || || +--- lift creator ( 1 = on, 0 = off )
//---| script |-| origin |-| model name | | | | || || | |
//pickup point - axis
exec alienx/basebuild.scr::basebuild ( 2884.13 -3292.38 8.13 ) "static/indycrate.tik" 1 1 1 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 2865.79 -3455.69 8.12 ) "statweapons/mg42_gun.tik" 1 1 0 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 2871.10 -3589.42 8.12 ) "static/sandbag_link_main.tik" 1 0 0 1 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 3258.11 -4005.93 8.13 ) "static/indycrate.tik" 1 0 1 1 80 .5 1 0 1
exec alienx/basebuild.scr::basebuild ( 3500.00 -3481.00 8.13 ) "static/planningtable.tik" 1 1 1 1 80 .2 0 0 1
//pickup point - allied
exec alienx/basebuild.scr::basebuild ( 1442.56 -1387.25 -60.96 ) "static/indycrate.tik" 1 1 1 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 1450.68 -1120.66 -63.88 ) "statweapons/mg42_gun.tik" 1 1 0 0 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 1576.91 -1127.69 -63.88 ) "static/sandbag_link_main.tik" 1 0 0 1 80 .5 0 0 1
exec alienx/basebuild.scr::basebuild ( 880.62 -1387.73 -55.45 ) "static/indycrate.tik" 1 0 1 1 80 .5 1 0 1
exec alienx/basebuild.scr::basebuild ( 900.00 -1030.00 -62.00 ) "static/planningtable.tik" 1 1 1 1 80 .2 0 0 1
//*** precache dm stuff
exec global/dmprecache.scr
exec alienx/hud.scr::main
level.script = maps/dm/mohdm3.scr
exec global/ambient.scr mohdm3
thread blockaxis
thread blockallied
thread SpawnMarkers
thread hudsetup
thread global/door_locked.scr::lock
thread undermap //added this line
level waittill spawn
end
//-----------------------------------------------------------------------------
roundbasedthread:
// can specify different scoreboard messages for round based games here.
level waittill prespawn
level waittill spawn
// set the parameters for this round based match
level.dmrespawning = 0 // 1 or 0
level.dmroundlimit = 5 // round time limit in minutes
level.clockside = kills // set to axis, allies, kills, or draw
level waittill roundstart
end
blockaxis: // allies
local.trig = spawn trigger_multiple "targetname" "spotA1"
local.trig.origin = ( 1057 -2564 -65 )
local.trig setsize ( 0 0 0 ) ( 690 2400 400 )
$spotA1 waittill trigger
local.player = parm.other
if (getcvar (g_kblock) =="1") {
if (local.player.dmteam == axis)
{local.player hurt(1000)}}
$spotA1 remove
thread blockaxis
end
blockallied: // Axis
local.trig = spawn trigger_multiple "targetname" "spotB1"
local.trig.origin = ( 2801 -3260 0 )
local.trig setsize ( 0 0 0 ) ( 455 2205 400 )
$spotB1 waittill trigger
local.player = parm.other
if (getcvar (g_kblock) =="1") {
if (local.player.dmteam == allies)
{local.player hurt(1000)}}
$spotB1 remove
thread blockallied
end
SpawnMarkers:
local.SpawnMarker1 = spawn func_beam "targetname" "Marker1" // allied1
local.SpawnMarker1.origin = ( 1432 -2598 10 )
local.SpawnMarker1 endpoint ( 1432 -2598 90.2 )
local.SpawnMarker1 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker1 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker1 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker1 alpha 0.4
local.SpawnMarker1 numsegments 1
local.SpawnMarker1 activate
local.SpawnMarker2 = spawn func_beam "targetname" "Marker2" // allied2
local.SpawnMarker2.origin = ( 1834 -281 -50 )
local.SpawnMarker2 endpoint ( 1834 -281 40.2 )
local.SpawnMarker2 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker2 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker2 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker2 alpha 0.4
local.SpawnMarker2 numsegments 1
local.SpawnMarker2 activate
local.SpawnMarker3 = spawn func_beam "targetname" "Marker3" // allied3
local.SpawnMarker3.origin = ( 1778 -1029 -50 )
local.SpawnMarker3 endpoint ( 1778 -1029 40.2 )
local.SpawnMarker3 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker3 color ( 0.0 0.0 1.0 )
}
else
{
local.SpawnMarker3 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker3 alpha 0.4
local.SpawnMarker3 numsegments 1
local.SpawnMarker3 activate
local.SpawnMarker4 = spawn func_beam "targetname" "Marker4" // axis1
local.SpawnMarker4.origin = ( 2835 -969 -50 )
local.SpawnMarker4 endpoint ( 2835 -969 40.2 )
local.SpawnMarker4 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker4 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker4 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker4 alpha 0.4
local.SpawnMarker4 numsegments 1
local.SpawnMarker4 activate
local.SpawnMarker5 = spawn func_beam "targetname" "Marker5" // axis 2
local.SpawnMarker5.origin = ( 2698 -2346 10 )
local.SpawnMarker5 endpoint ( 2698 -2346 100.2 )
local.SpawnMarker5 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker5 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker5 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker5 alpha 0.4
local.SpawnMarker5 numsegments 1
local.SpawnMarker5 activate
local.SpawnMarker6 = spawn func_beam "targetname" "Marker6" // axis 3
local.SpawnMarker6.origin = ( 2698 -3048 10 )
local.SpawnMarker6 endpoint ( 2698 -3048 100.2 )
local.SpawnMarker6 scale 5.0
if (getcvar (g_kblock) =="1") {
local.SpawnMarker6 color ( 1.0 0.0 0.0 )
}
else
{
local.SpawnMarker6 color ( 0.0 0.0 0.0 )
}
local.SpawnMarker6 alpha 0.4
local.SpawnMarker6 numsegments 1
local.SpawnMarker6 activate
wait 2
$Marker1 remove
$Marker2 remove
$Marker3 remove
$Marker4 remove
$Marker5 remove
$Marker6 remove
thread SpawnMarkers
end
hudsetup:
wait 1.0
waitframe
thread sethudup
goto hudsetup
end
sethudup:
if ($player != NULL)
{
huddraw_font 211 "facfont-20"
huddraw_alpha 211 1
huddraw_align 211 left bottom
huddraw_rect 211 100 -60 180 16
}
if (getcvar (g_kblock) =="0")
{
huddraw_color 211 0 1 0
huddraw_string 211 ("FIGHT!!!!")
local.player iprint ("FIGHT!!!!")
}
if (getcvar (g_kblock) =="0")
{
huddraw_color 211 1 0 0
huddraw_string 211 ("WARNING: Spawn Protection is ON!")
local.player iprint ("Spawn Protect is ON!!")
}
waitframe
end
//add this into the hunts map script you might have to exec it from a seperate script
undermap: //added this line
local.killbrush = spawn trigger_hurt
local.killbrush damage 10000
local.killbrush.origin = ( 1902 -27 -210 )
local.killbrush setsize ( -9999 -9999 -10 ) ( 9999 9999 8 )
end
I've added the new script in and it will not work. I went under the map without it killing me. Any other suggestions?
ok your in luck because I wanted to check the ceiling hight of mohdm3. Im posting a link at the TmT forums because that’s where I posted the script. dunno if this site supports attachments. The example is here all you have top do is check it out. I got the coords by going under the map and going to the center of the map. cheers hope it helps, anyway it works i tested it.
You might have to log into TmT?
P.S I like how elgans works it doesnt kill you
http://67.19.29.66/~tmt/forum/attachment.php?attachmentid=8693&d=1135986477
Thanks click! I put the pk3 in the main. Unfortunately it doesnt work :con I dont know whats wrong.
Careful doing that on a map that has slopes - the triggers can come into game areas.
You are trying to stop players going under the map on remagen?
EDIT ...
Oh yeh - BaseBuilder Nightmares lol
Well basically im trying to stop players from going under the map in various maps. But my main focus is remagen right now. Its so frustrating having players go under the map and people coming to you complaining about it and you can't do anything. I can't monitor a server 24/7 lol :p Elgans admin pro had a nice under the map fix, but apparently it doesnt work with basebuilder. Yes i do think basebuilder is a nightmare
i wouldnt worry about it to much as you cant kill from under the map in remegan as far as im aware..but if you give the tools to build like base builder people are gonna want to explore places they have never been
I can add kill triggers for you, is it under the map or outside the map? If its outside of the map thats a lot of triggers but under may only need 2 or 3
I think its inside. Idk really. You can make out the skybox parts if you look at the sky though. I think viper1 is right here. As long as the player cant kill the others while under the map. But i dont know if this is true only in Remagen :|
ill post a few for diffo maps ( thread to Map_Guard after level waittill spawn ) ... This gives it a MineField effect if they go under the map
// Mohdm2
// I used 2 trigs in this 1 - just thread to Map_Guard - it runs both
Map_Guard:
thread G2
spawn trigger_multipleall "targetname" "Terminator"
$Terminator.origin = ( -1858.71 -182.81 -95 )
$Terminator setsize ( -2500 -1600 -100 ) ( 3000 3000 0 )
$Terminator setthread Killem
$Terminator waittill trigger
end
Killem:
local.player = parm.other
self nottriggerable
local.player thread spawn_fx models/animate/fx_mortar_dirt.tik
wait 1
local.player playsound mine_trigger
local.player kill
self triggerable
end
G2:
spawn trigger_multipleall "targetname" "Terminator2"
$Terminator2.origin = ( -1553.80 -3483.47 -91.83 )
$Terminator2 setsize ( -3000 -1000 -150 ) ( 3000 300 0 )
$Terminator2 setthread Killem
$Terminator2 waittill trigger
end
spawn_fx local.fx:
local.temp = spawn script_model model local.fx scale local.scale
local.temp.origin = self.origin
wait 1
local.temp anim start
wait 3
local.temp remove
// Mohdm3
Map_Guard:
spawn trigger_multipleall "targetname" "T2"
$T2.origin = ( 1417.36 -662.53 -141.63 )
$T2 setsize ( -6500 -6500 -300 ) ( 6500 6500 5 )
$T2 setthread Killem
$T2 waittill trigger
end
Killem:
local.player = parm.other
$T2 nottriggerable
local.player thread spawn_fx models/animate/fx_mortar_dirt.tik
wait 1
local.player playsound mine_trigger
local.player kill
$T2 triggerable
end
spawn_fx local.fx:
local.temp = spawn script_model model local.fx scale local.scale
local.temp.origin = self.origin
wait 1
local.temp anim start
wait 3
local.temp remove
end
Thanks cobra! thanks to all. Ill try it :D:D:D:D:D:D:D:D:D:D:D:D:D:D
Take note of which map each is used in
acdc :
Thanks click! I put the pk3 in the main. Unfortunately it doesnt work :con I dont know whats wrong.
I does work but you have to incorperate it into your own script. Open the pk3 and view what I did to make it work. I tested it and it works. But since you just put it in your main or mainta folder the basebuilder script is loading instead of the one I have given you.
Yah his was probs over-riding yours Click