I don't think hex-edits to the bsp is serverside. I read about it on tmt, lamron tried to remove the sun, but his clients couldn't see any change.
Sdall, I'm glad it works, but you could even improve the rebound method. Let's say someone is shooting wildly on the streets and hits one of those windows, he'll lose health when he didn't do anything wrong. You could add a check that only the person standing at the 'abusive'-side of the window only get's shocked.
The easiest way would be to just check the z value. Enter "whereami 1" in the console and go to the building on the floor of the black window. Write down the last recorded Z value. Then check for:
Code: Select all
if (local.player.origin[2] > (local.z - 1) )
local.z being the value you wrote down. Of course, each trigger must have its own local.z value.
A more accurate method would be to record the highest and lowest coords of the room (always in an upper and lower corner). Then check each sequentially to see if the player is located within the room.
I use it a lot, here's an example:
Code: Select all
local.go = 0
if(local.player.origin[0] <= level.treasury_max[0] && level.treasury_min[0] <= local.player.origin[0])
local.go++
if(local.player.origin[1] <= level.treasury_max[1] && level.treasury_min[1] <= local.player.origin[1])
local.go++
if(local.player.origin[2] <= level.treasury_max[2] && level.treasury_min[2] <= local.player.origin[2])
local.go++
if (local.go == 3)
{
// do stuff here
}
Code: Select all
level.treasury_min = ( -1670 -1551 -77 )
level.treasury_max = ( -1330 -1067 90 )
As for the spawn protection; it is tangled in my spawn detection and that's also tangled in many other things. The script itself is not that "wow":
Code: Select all
main:
if(self == NULL)
end
self nodamage
local.team = self.dmteam
local.wait = level.AIR["spawn_protect_sec"]
self iprint "---Protection on!"
while(local.wait >= 0.000)
{
if (self.dmteam != local.team || self.status != "alive")
{
break
}
local.wait -= 0.1
wait 0.1
}
if (self)
{
self iprint "---Protection off!"
self takedamage
}
end