What is the problem?If you are creating a symmetrical map and you already have one side pathed you may want to just duplicate the path network of that side and use it the duplication for the other side of the map. I know I wanted to, but I ran into a problem. When duplicating a Navigation Point the clone has the same Name (Properties -> Object -> Name) so if you forced or proscribed paths based on that name it would count for the clone as well. In my case I had lots of PathNodes or JumpSpots that were forced to other JumpSpots and when I duplicated my network for use in the other side of the map UnrealEd thought I wanted to have the bots jump from one side of the map to the other because of that.
The simplest option would have been to, instead of duplicating the existing net, build a new one from scratch, for the other side of the map that matches the first one. I'm lazy so I thought of something different.
What needs to be done?The only thing I really needed was a method of duplicating my already layed out paths with original Object -> Names and have those new Names match my ForcedPaths and ProscribedPaths.
How can it be done?I
selected all the PathNodes and JumpSpots of the already finished side and copied them to the clipboard (rightclick on one -> Edit -> Copy) and instead of pasting them somewhere in the map I opened WordPad (any other text editor should do too) and pasted it there. This produced quite a long text-file.
In WordPad (and most other text editors) there is the option to replace certain phrases with others so I replaced the following:
Name=PathNode became Name=PathNode
BName=JumpSpot became Name=JumpSpot
BInstead of two JumpSpot4s I had one JumpSpot4 and one JumpSpot
B4 then.
Those where the only typed of actors that gave me problems, but you can do the same with PlayerStarts and the like.
Now that I got unique names I needed to match my ForcedPaths and Proscribed paths to them so I also replaced the following:
ForcedPath(#)="PathNode became ForcedPath(#)="PathNode
BForcedPath(#)="JumpSpot became ForcedPath(#)="JumpSpot
BProscribedPath(#)="PathNode became ProscribedPath(#)="PathNode
B# being the numbers from 0 to 4. I had to do those manually as WordPad didn't accept wildcard characters.
Note: DO NOT simply replace PathNode with PathNode
B as the phrase "PathNode" also exists in class descriptions and whatnot and you don't want to mess anything up.
I then copied the whole text and pasted it into UnrealEd (Edit -> Paste -> Here), turned it around and moved it to where it belonged: In my formerly unpathed side of the map.