Break on too much weight
Post Reply
Quote
Re: Break on too much weight
Posted by Vash on Sat Jan 22nd at 2:21am 2005


In my map, I want an area of the floor to be breakable, but it will only break after a certain amount of pressure is applied to it. The player mass is around 60.00 to 80.00, so two players would equal a mass of [ 120.00 ] or [ 160.00 ]. I would like to make the floor after two players weight is applied. Or, a heavy physics object is applied.
[addsig]




Quote
Re: Break on too much weight
Posted by Nickelplate on Sat Jan 22nd at 2:37am 2005


there's no way to set a weight limit per se, but maybe you could make a trigger so that would break it instead. Like after 2 ppl have passed through a trigger multiple the floor breaks. [addsig]



Quote
Re: Break on too much weight
Posted by Crono on Sat Jan 22nd at 2:44am 2005


... or you could actually make structural integrity. the constraint entities have torque values.

So if it were a bridge or something as such, you'd put up suspension cables with constraints and you put breakable on them with a torque value with some series of outputs to the other objects in the system. This would make it so the object hanging (could be frozen and triggered by the break) fall. etc etc.

This, however, is just an idea. I'm not sure about the precise specifics. [addsig]




Quote
Re: Break on too much weight
Posted by ReNo on Sat Jan 22nd at 3:25am 2005


Crono is right - this scenario is definately possible with source's physics. Check out all the physics_* entities in the SDK documentation ( http://www.valve-erc.com/srcsdk/Levels/physics.html ) and their example maps, and you can probably figure out a way to get it working how you want. Lots of experimentation will probably be needed, so you should test the contraption in a seperate map as opposed to "in place" if your map is already taking any substantial time to compile.
[addsig]




Quote
Re: Break on too much weight
Posted by aonomus on Sat Jan 22nd at 5:00am 2005


The problem is that if you've ever walked on a physbox, you get really jerky shaking movement, and jumping can exert more force than just standing on something. Physics are odd...




Quote
Re: Break on too much weight
Posted by DrGlass on Sat Jan 22nd at 9:49am 2005


? quote:
The problem is that if you've ever walked on a physbox, you get really jerky shaking movement, and jumping can exert more force than just standing on something. Physics are odd...


That is why you would check the disable motion flag. Then once enough weight is on the bridge and the cables snap they will trigger enable motion.

Though, with the phys box disabled I dont know if it could be manipulated my player weight... I'm sure there is a work around to this. I will look into it.




Quote
Re: Break on too much weight
Posted by aonomus on Sun Jan 23rd at 1:13am 2005


Disabled physboxes are not affected by anything, and effectively turn the weight on the constraints to zero.

Something you could do is make a trigger_teleport 1 unit thick above the floor with a disabled func_physbox. OnStartTouch adds to a math_counter, OnEndTouch subtracts, when you hit the limit, the counter will enable motion on a physbox.




Quote
Re: Break on too much weight
Posted by Guessmyname on Sun Jan 23rd at 11:22am 2005


Have you had a look at the env_player_surface_trigger?
[addsig]




Quote
Re: Break on too much weight
Posted by DrGlass on Sun Jan 23rd at 1:01pm 2005


? quote:
Have you had a look at the env_player_surface_trigger?


That makes an output when a player travles from one texture to another. Like if the player walks from carpet to wood it can set off an alarm.

The math counter idea is a good one. Then to make it break when physics objects are tossed or placed on it you could make a physbox that is covred by a playerclip. Add some constraints, that should do it.
[addsig]




Quote
Re: Break on too much weight
Posted by Guessmyname on Tue Jan 25th at 6:09pm 2005


I got it: the Game_zone_player brush entity. It counts how many players are in its area. I it has, say two for example, you can make it break the glass!
[addsig]





Post Reply