• Please make sure you are familiar with the forum rules. You can find them here: https://forums.tripwireinteractive.com/index.php?threads/forum-rules.2334636/

Level Design KFDoorMover not weldable

Murphy

Grizzled Veteran
Nov 22, 2005
7,059
743
36
liandri.darkbb.com
Hi,
I have treasure chests in my map, which contain items players can access once they unweld them. My problem is that players can jump onto the chests to be completely safe from non-ranged ZED attacks...
So I removed the collision from the chests and added a lower, invisible mover that's just high enough to cover the items so players have to open the chests (which also makes the invisible mover sink into the ground) before they can get to them.

Now that NonZeroExtentTraces aren't blocked by the chests anymore (i.e. players can walk through them) the welder doesn't work on them anymore though!

What can I do to make it work?:(
 
Might not be a direct answer but would it be possible to "swap" you movers around? Have a invisible mover with collision in the shape of the closed chest, then when the invisible mover opens, it will trigger the visible non-collision chest to open and will then move under the map or something. Then players can weld/unweld the invisible mover but they won't notice that they are not welding the actual chest.
 
Upvote 0
That would work, but the problem is that if there is a collision-mover of any kind that is as big as the chests, even closed, players can hop onto it and be completely safe from ZEDs. Which is why I need the very low mover and if I make that weldable (by swapping them around, as you said) players have to crouch down and look at the bottom of the chest to be able to weld, which feels weird to say the least.

I want the regular ol' chest to be weldable, except it's not blocking players. Can't be impossible to do.:(
 
Upvote 0
perhaps, make the box itself into an object that after the lid is unwelded is triggered to be destroyed from the world along with the lid. not right away of course... maybe a timed trigger say 5-10 seconds after unwelding so you can still see the lid opening and the player will be in "hecks YEA!!" and they'll still be full of satisfaction
 
Upvote 0
the way i see it is that you can't unweld the lid because collision is off. well you won't need to have it off if the box and lid disappear after unwelding.

solves 2 problems
1. you'll have collision thus you can unweld
2. you won't run into the issue of players exploiting the box after it's opened.

however another alternative would be changing the lid to just a normal mover and adding an invisible collision object in the shape of the box be the "door" that you can link your kfUsetrigger to and when it gets unwelded the invisible collision box will go under the ground and the lid will be triggered to open aswell.

this:
1.you'll be able to unweld the box
2.you will still see the opened box for the rest of the game.
3.players won't be able to exploit the box.

however the only issue i can think of for this is that the players can press use in the general trigger radius and the invisible collision box will come back up... but then again sense it's in the shape of the box and not hollow i suppose it won't be much of an issue.

another alternate way to solve the issues is to keep the box collision on and have a blocker inside the box and the item you want to give the player after the box is unwelded have a larger collision radius so they can still get the item and to prevent them from getting the item before the box is unwelded because of the larger collision radius, you leave the item unspawned until triggered by the lid opening.. or something like that.


same as the other alternative:
1.you'll be able to unweld the box
2.you will still see the opened box for the rest of the game.
3.players won't be able to exploit the box.
 
Last edited:
Upvote 0
lol Flaidell needs to read more b4 posting

Murphy, I have been experimenting with using hard attach with KFUseTrigger
----
Could try to hard attach your trigger (The weld point) to the mover. :D
----
OR why dont you just put a giant blocker going over the chest (simple Colission) Then have that move down when the chest is open.
----
OR Return Collision to the chest. Use an invisible mover (Cull distance 0.1) Have the blocking position set to Key 1 then the unblock (like under the map position) Key 0
Start the mover on key 1 So when you trigger it, you dont have to worry about moving colission. The mover will "snap" to Key 0, and not move THUSS not lag.
For the Chest when its open, maybe have a block that's alawys there at the top of the lid (where people can stand) that way they cant jump on it
----
I think the last idea might be your best bet Q(^.^)O
 
Last edited:
Upvote 0
however the only issue i can think of for this is that the players can press use in the general trigger radius and the invisible collision box will come back up... but then again sense it's in the shape of the box and not hollow i suppose it won't be much of an issue.
There ways to get around this. on my map i have keypads that trigger doors, but you cant spam them. How is this done?

Script 1:

WaitForEvent : W1DoorA
Trigger : blah blah
Play sound : Blah Blah
TriggerEvent: W1DoorResetEvent
WaitForEvent: ResetDoorW1 (This makes it so you cant spam the trigger)
WaitForTimer: 2
Goto Action: 0

Script 2

WaitForEvent: W1DoorResetEvent
WaitForTimer : 4
TriggerEvent: ResetDoorW1
GotoAction: 0
(This creates a 4 second pause between events/trigger uses)


There you go. This is how you stop players from spamming Door events.

And if you dont want a pause between uses, dont worry about script 2. AND on Script 1 Make the 2nd waitforevent

WaitForEvent: fdhgshfdgsdhgfshgsfdkj (It will be waiting for ever)

-----

If you want something like a use trigger for an objective that cant be spammed or can only be used at a certain time you can also have it like this:

WaitForEvent: Ob1Ready
WaitForEvent:
TriggerOb1
TriggerEvent: TheStupidObjective

Then have somewhere in a script trigger Ob1Ready, when you want the Objective trigger to be active
 
Last edited:
Upvote 0
Could try to hard attach your trigger (The weld point) to the mover. :D
The trigger is irrelevant, as it seems, because I need the KFDoorMover (i.e. the lid of the chest) to have a collision because that's what I'm welding.:(

OR why dont you just put a giant blocker going over the chest (simple Colission) Then have that move down when the chest is open.
The lid of the open chest is open for exploits then. I need it to have collision for the chest to be operable and when it's open and the big exploit-blocker is moved away the lid of the chest stays for exploiters to exploit.
Also, if I want the chest to be re-closeable this also wouldn't work as I would have to make the big exploit-blocker move back up too and then people would get pushed into the sky if they stay in its way when this happens.

For the Chest when its open, maybe have a block that's alawys there at the top of the lid (where people can stand) that way they cant jump on it
----
I think the last idea might be your best bet Q(^.^)O
This is kinda what I did now. My brother came up with it.
I put a xKicker over the chest that moves players away so no one can jump onto the chest. Once it's open and the lid moves back players can walk into the chest below the xKicker (the bottom part doesn't have collision) so they can get to the items without having to jump (which would get them in xKicker-territory).
It feels pretty natural now. It's exactly like, say, the car in Borderlands, that bumps you off when you try to jump on it. Or any other comparable object in any other game.

I'm doing a last rebuild now and when I'm done checking if everything remained intact I'll upload the new version so you can check this out ingame yourself.
 
Upvote 0