• 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 Satchel or any weapon spawning?

Reservoir Dog

Grizzled Veteran
Mar 7, 2007
312
0
I'm working on a map that I really don't want a combat engineer in. However I do want some on the team to have satchel charges. I don't want to give them to a particular role/class (not enough of one and too many of another.) Is there a way to spawn a satchel charge without coding it? If I have to code it how difficult is it?

I have search this forum for topics "weapon, satchel, spawning" and found nothing to help. The Unreal editor is completely different on weapon spawning so no help from the tutorials. I did try to place a panzerfaust spawning and change all of the properties to "satchel" but it didn't work. The reason I want this is to control the number of satchels and the time for it to respawn (if at all).

Weapon spawning could have all kinds of benefits. I could see maps where your rifle-team have to break into a munitions bunker and take some satchels (an objective) to go blow something up (another objective). You could use another static mesh like some dynamite for an objective like that. Or your tank team reaches a place where they can "steal" a sniper rifle (an objective) and shoot a destructive mesh (another objective) from far away that opens a gate or lowers a bridge or whatever. It seems like this could be utilized in many ways. Any ideas? Thanks.
 
There is no actual way to make a satchel pickup as weapon spawning, such as the Panzerfaust has, is hardcoded.

What you can do, however, is hack around it a little bit. It is inelegant as hell but it should work.

First off you need to place a panzerfaust pickup on your map. You can change the static mesh in the display so that it uses a satchel mesh but this will only work in practice mode. On a server it will still appear to be a PF. So you should bury the PF mesh in satchel meshes so that no one can see the PF.

As regards the weapon that is actually picked up - that is easily changed - it is one of the properties. I can't remember offhand which property but it should be fairly obvious when you look at the PF spawn properites list and see a dropdown where you can actually select what weapon spawns there.

The only thing which is not really 'get-round-able' is the player message which appears and says 'Pick-up Panzerfaust' - that is the hardcoded bit. The best I can suggest is that proximity of a player also triggers a message to that player saying, "It's a satchel really" or something lame like that.
 
Upvote 0
In Maikop-42 (I think it was called) there was a trigger which spawned the satchel, after an objective was capped.

The Ammo train had some crates inside it and when you capped the zone, a message appeared and voila, a satchel was where it wasn't before...yes you guessed right, inside the train on the crates.

This was done using a very spiffy trigger/script, written by a very helpfull and smart man, which name I'm not going to reveal *cough* Dingbat *cough*

This was done in the mod version of RO, so it might not be possible to recreate in RO:Ost. My advise, ask *cough* Dingbat *cough
 
Upvote 0
Satchel pick-up

Satchel pick-up

I did try to go into properties and change as much as I could. I changed the static mesh so it looked like a satchel. That is all that really worked from the properties. As you mentioned, I changed the pick up message and it didn't change it in the game. I changed the pick up weapon to the satchel but in the game it lets you pick it up but you get nothing. I played with the limit and ammo properties and nothing really changed. I figured it must be the coding. If there is a way to code it (without too much trouble), can someone help? Something interesting, in the properties of the roles, a satchel is a "given item" not a weapon or grenade. When I add it to the grenade option it shows in the role description screen but in the game you don't have it. If it is real difficult to add this I will just give to a role. Thanks.
 
Upvote 0
You need a scripted trigger which in turn is operated by a normal trigger. This normal trigger can be 1 use only or multiple uses. With Maikop this trigger was activated by a cap objective.

So, this is how it went:
- You cap the objective, and the AlliesEvent (and/or AxisEvent) activated the trigger

- The trigger (in Maikop) is a collision activated trigger. When u entered the train, it activated the Scripted Trigger

- The scripted Trigger (under AIscript) had 4 lines in it
A wait for event, a display message, an action (spawn actor) and another action (goto action 0)

Hope this helps.

p.s. Dingbat was the smartypants, he wrote the script...I just told him what I wanted :) )
 
Upvote 0
Thanks guys for feedback

Thanks guys for feedback

I check my current map list and saw that map....hmmm. I did actually see a satchel spawn tutorial on Map Orchestra but when I downloaded it, it was a UT2 (for the mod I guess). I can set up triggers but not sure how to spawn the actor. Thanks for checking into this guys.
 
Upvote 0
If I recall someone here was creating new code for this same sort of thing. And they were creating seperate code which could be added into your map. Not sure where this went to it may be under coding. I was looking for a PTRD pickup and it looked like it was going to work. maybe we need to search around here some more.

found it Original9 was doing this
http://www.redorchestragame.com/forum/showthread.php?p=254108#post254108
 
Upvote 0
Hi all,

I've "re-remembered" the work I did to spawn satchels. I've created a small test map that I'll try to upload here for your reference.

Basically, the map works like this:

1. There is a use trigger that starts a scripted sequence.
2. The scripted sequence waits for the first use trigger then enters a loop. In the loop, it spawns a 'SatchelCharge10lb10sPickup' then waits 15 seconds and does it again. This continues until it detects a trigger condition that ends the spawn loop.
3. Another use trigger sets the terminating trigger condition.

In the map, if you spawn as the germans, you'll see two lampposts nearby. Go to the left one and use it to start the sequence. The right one ends the sequence. I've also added a destroyable mesh and satchel objective so you can prove to yourself that the spawned satchels actually work.

There are a few idiosyncracies:

1. The satchel pickups come in twos.
2. The sequence spawns one last spawn even after you trigger then end trigger.

I threw this together pretty quickly. Some playing with the sequence will give you the behavior you want. You just have to play with the start and end trigger events.

Good luck.

Edit: The zipped map is too large to post here as an attachment. PM me if you need the map and we'll find some other way to make the transfer.
 
Upvote 0
Thanks

Thanks

Thanks Dingbat. It works great. With those example triggers you would be able to turn the spawn on and off from a switch, set the time for respawning the weapon, and set the limit of how many spawns. The flexibility of this could be applied to alot of ideas. Good work. You guys make the hardest things seem so simple. I am going to dive into scripting now. I was a little intimidated before but now I see how powerful and logical it is. I wish this example map could be posted for easier access for the community.

PS Is there a way to stop the satchel from spinning like an Unreal weapon spawn? Grant it, it's easier to spot in a level but doesn't totally have that realistic effect. It would be nice if it just sat there like the panzerfaust. I hope its something simple, that I just overlooked, and not difficult to do.

Reservoir Dog
 
Last edited:
Upvote 0
Yargh. You know what, it didn't even hit me when I was making the map that the satchel was spinning. Good question. There's two possibilities:

1. I'm not using the correct actor to spawn (unlikely, but possible)
2. It's some behavior in the actor that hasn't been overridden in the satchel code.

If it's #2, I think we're stuck until someone writes a true spawnable satchel actor. Sorry.
 
Upvote 0
Hmm, I just had another idea, but it would require some research.

You could:

1. When you want the satchels to spawn, enable a use trigger and move a satchel mesh to the spot where they are to spawn.
2. When the player uses the satchel mesh, have a scripted sequence find the player actor and put a satchel in their inventory automatically.

I have NO idea if that can even be done or not (the research part) but it would get around the spinning spawn thingy.

As you say, scripting can be pretty powerful. I wouldn't swear this can't be done. :)
 
Upvote 0
I wonder if anyone remembers UBahn...


There was a small closet sized room that had an open box inside which then had a satchel that was set to a timer for the respawn. Outside of the closet room was a clock on the wall that worked and showed when the next satchel would spawn... the satchel was necessary to blow up the last objective. I always thought this was a cool idea because the whole team would have to protect the guy with the one satchel all the way through the train tunnels to the last objective - either that or pick it up and continue on if he happened to die.

SUCH a cool map even though the sewer part was visually a bit ugly.. I miss it :(
 
Upvote 0
Satchel pickup

Satchel pickup

I have played around as much as I could, without coding, and I can't get the effect I want through scripting. How difficult would it be to create a new actor, copy and paste the panzerfaust pickup coding (the difficult stuff has already been done as far as all of the condictions), replace the panzerfaust given item to satchel (and the static mesh too), and save and store it in "myLevel" to be incorporated into map without any extra files for the server? This question probably belongs in the coding forum but I am noob to coding and don't want to be laughed at. If its possible, I will research it futher and do it. If someone tells me its impossible, it will save me alot of time jumping into this. Thanks for feedback.

RD
 
Upvote 0