Add the Enforcer

Why this tutorial you may ask ? Simply because that weapon is not available in the standard weapon list. I did this tutorial since the Enforcer is IMHO a must & should be include in every map as well as all the other weapons.

1) Start the Editor, open your map & the generic browser (which should open by default).

2) Now add a weapon in your map. To do so, go in the generic browser, click on the tab Actor Classes & select NavigationPoint \ PickupFactory \ UTPickupFactory \ UTWeaponPickupFactory & close the generic browser.

3) Go in your map & by doing a right click, in the contextual menu, select Add UTWeaponPickupFactory at the future location of this new your weapon base.

4) Once the weapon base as being placed, make sure it is selected, in the Editor menus click on View \ Actor Properties or double-click on it, or simply press F4. Now, we want to choose a weapon, so expand the UTWeaponPickupFactory category (which may be already opened) You can now pick a weapon in the list to the right of WeaponPickupClass and choosing one of the weapon. I choose the ‘UTWeap_Stinger’ for my example.

5) When your done, close the Properties, in the Editor menus go in Tools \ Add Pickup Light & after do a full rebuild by clicking the Build All icon. The new weapon base will have AI item number at this point.

6) By going in game, as you can see the Stinger is now available. Now, make sure that the Stinger is selected, in the Editor menus click on Edit \ Copy or simply hit CTRL+C on your keyboard.

7) Open Notepad (located in Start menu\Programs\Accessories). In the Notepad menus, click on Edit \ Paste or simply hit CTRL+V on your keyboard.

8) Do a search, search for Stinger. You should find a line with that information :


WeaponPickupClass=Class’UTGame.UTWeap_Stinger’

8a) Replace the word Stinger by Enforcer. When it’s done, select all the text, hit CTRL+A & after CTRL+C and close Notepad.

9) Return to Unreal Editor, the Stinger should be already selected, if not, select it, without clicking anywhere else, delete it & hit CTRL+V to paste the Notepad information exactly at the same spot.

10) Click the Build All icon again. Now, you have the Enforcer in your map, yippie !!!

If you edit the weapon Properties & check UTWeaponPickupFactory \ WeaponPickupClass, the field is set at ‘None’ since the Enforcer is not taking into account in the weapon base list. It’s important to leave the field like that.

Additionally, since patch 2.0, the weapon pickup sound (the sound it does when you pickup the weapon) & also the weapon on screen text (the weapon name which is display when the weapon is taken) are working now

Now, you have no excuse to not include this cool weapon in your map !

Additional information

Take note that while this method also works with the Impact Hammer, you need to do additional steps if you intent to make a level for the BombingRun mod. This info is taken from my old thread on Epic forums.

The bot behavior ?

If you set the class name to UTGameContent.UTWeap_ImpactHammer, bots seem to forget to catch the ball until they visited each of the ‘custom’ PickupFactory… This behavior doesn’t appear with ‘normal’ PickupFactory.

The bot explanation ?

The thing is bots are desperately seeking a weapon. Impact hammer + assault rifles are not considered proper weapons, having an AIRating of less then 0.5, and bots will always seek another weapon if that’s all they have. With BR it’s even a worse problem because the author as put AI improvements for bots weapon seeking. The bot weapon seeking AI in regular UT3 is a bit flawed. You can easily setup a CTF match, for example, and just stand in a certain spot in a corridor, and watch the bots always come to you with impact hammers and never pickup weapons.

This is really annoying for BR, bots running around with impact hammers. So the author added some extra AI to the BR mod so that bots are real pros at getting weapons, and they even have extra AI for Ammo too where they will choose ammo over a weapon if ammo is close by. For a custom map, this makes it an even bigger problem. With BR, getting a good weapon is a VERY high priority, more than in other game types.

The solution ?

The only special action is select ‘Give Inventory’ (with weapon choice set up), copy it (Ctrl+C), paste it in notepad,

Modify this line:
InventoryList(0)=Class’UTGame.UTWeap_ImpactHammer’
Replaced Stinger with ImpactHammer.

Ctrl+A, Ctrl+C
Clic in Kismet editor, Ctrl+V

Don’t forget to set PLayerSpawned’s MaxTriggerCount variable to 0 (infinite).
DefaultInventory should be disabled in the World Properties.

This only works if you have no WeaponPickupFactory in the map. If not, the way to fix this is to make the hammer a good weapon in the bots eyes. If you can, adjust the AIRating property of the hammer to something high, such as 1.0, and the bots will be happy and go out and do something else. I don’t know how to make that happen, sorry.

You can also check out this very useful Unreal wiki page

Hope it help & if this as help you enhance your map, I’ll be happy you let me know 😉

6 comments

  1. yo my stevie; thx for that very efficient and clear tuto
    a nice alternative to replace the reaper in “my old remakes”
    keep up the good work and again ,congratz for that nice place 😉

    Like

  2. Many thanks for your concise tutorial, I really appreciate it. Its a part of my current level and I’m sure I’ll use it in future levels 😉

    Like

  3. My pleasure 😀 I’m happy I could help you add something more in your actual / futures projects in a easy way. Also, THX for letting me know 😉

    Like

  4. From step # 4

    Select a weapon of your choice in the list. I choose the Stinger on the fly. After you have to search for the selected weapon at step # 7 😉

    Like

Leave a comment