Jump to content

Creating Waypoints in existing maps?


Go to solution Solved by Wundai,

Recommended Posts

Hello JkHub,

 

I'm venturing into creating Waypoints to make my NPC Battles more lifelike.

Now I have started learning the basics of both entmodding and GTKRadiant but unfortunately I'm a bit stuck.

 

From what I understand you cannot take an existing BSP file and convert it into a MAP file without losing lighting and UVW. So that removes using GTKRadiant from the list of possibilities on creating the waypoints there.

 

I have searched the forums and saw some posts that it was possible to use entity modding where you could theoretically extract the entities from a BSP file, and put them in again with waypoints. But I could not find solid info or a tutorial about this(the creation of waypoints using only entmodding in a text file I mean).

 

Lastly I saw the option of converting BSP to MAP anyway even with the loss of lighting and UVW > create waypoints in GTKRadiant > Saving as BSP file > Extracting the entities with entmodding > And then putting those entities in the original BSP file again using entmodding. I guess this would help create the waypoints without losing anything but I didn't see any success stories that it worked.

 

Could anyone please give information on what the best way is to create waypoints on already existing maps? (No worries, this is for personal use only, so I know such changes cannot be shared as they would be considered a changed version of the map which the original author made).

 

Thanks in advance!

Link to comment

Yes, you can overwrite the entities of a BSP file without changing anything else about it using the right tools. The process is usually referred to as "entity modding" and there should be guides somewhere, maybe somebody else has a link.

Link to comment
On 8/27/2021 at 9:07 AM, mrwonko said:

Yes, you can overwrite the entities of a BSP file without changing anything else about it using the right tools. The process is usually referred to as "entity modding" and there should be guides somewhere, maybe somebody else has a link.

Thanks for confirming mrwonko, unfortunately the guides I found on entity modding didn't deepdive into 'Waypoints'.

 

In the meantime I tried some steps myself:

 

Changed a bsp to a map file >Loading the file into GTKRadiant, adding waypoints to it and extracted it as BSP again(tested and indeed all lighting and UVW was lost, actually so much was lost my playermodel immediatly started falling into infinity 😛 > Opened the BSP with Notepadd++  and copy/pasted all Entities into the original BSP file in Notepadd++ but when loading that map I get an error on G_ParseSpawnVars - MAX_Spawnvars. Error not findable on the internet. 😞 

Link to comment

Update: Found it 🙂

In my last description I failed to use the Compile.Bat to get the entities into the .BSP File, I did it manually in Notepad++ and that didn't work.

 

New waypoints now working on existing maps. Hurray!

Now onwards to the thing that scares me on each forumpost I read about. The seemingly enless process of waypoint editing. Since I didn't learn the little trick the KotF mod came up with in their announcement 2 years ago, wonder what challenge that will be. 😉

Link to comment

Yes, hand-editing BSP files is not advised, because it basically contains a "table of contents" where the "page numbers" (byte offsets) need to be adjusted when you change how long a "chapter" (like the entity definition) is. If you use q3map2 to update the entities inside a bsp, it takes care of this for you.

Link to comment

Hi @mrwonko and anyone else,

 

Hope you can answer one followup question. I've got waypoint networking figured out, but could you please enlighten me how to make 'manually spawned' npc's follow the waypoint network(so without a script)?

I know it can be done after seeing an example from @Wettergren (Vet) in the Malgus map. It was filled with only waypoints and some Royal_Guard NPC placers. But not a single Point_Combat nor a Navgoal. And when I spawn my own NPC's on that map manually, they will automatically start following the Waypoint network. Both friendly and enemy NPC's. Looked awesome 🙂

Link to comment
  • Solution
13 hours ago, Wundai said:

Hi @mrwonko and anyone else,

 

Hope you can answer one followup question. I've got waypoint networking figured out, but could you please enlighten me how to make 'manually spawned' npc's follow the waypoint network(so without a script)?

I know it can be done after seeing an example from @Wettergren (Vet) in the Malgus map. It was filled with only waypoints and some Royal_Guard NPC placers. But not a single Point_Combat nor a Navgoal. And when I spawn my own NPC's on that map manually, they will automatically start following the Waypoint network. Both friendly and enemy NPC's. Looked awesome 🙂

Please disregard this one. It all works! 😄 

Got the waypoints to work completely, without navgoals, without point_combats. It seems I just didnt create enough of them and they were too far above the ground.

And what really helped is to name them all 'Waypoint' instead of giving them a naming order like Waypoint1,2,3. This really reduced the workload, because then I could just select 10 waypoints who were all connected to eachother with the name 'Waypoint' and clone them allowing me to quickly fill up my map 🙂

I can now close this thread a happy man. Thanks for the input 😉

Link to comment

Use the "nav show all" command in SP to see if waypoints are working correctly. If they are blue instead of yellow, they are flying waypoints, and won't be used except by e.g. probes.

I would recommend against connecting every waypoint to every other, as far as I know the game will verify these connections when it loads the map, increasing loading times.

Link to comment
On 9/6/2021 at 9:16 AM, mrwonko said:

Use the "nav show all" command in SP to see if waypoints are working correctly. If they are blue instead of yellow, they are flying waypoints, and won't be used except by e.g. probes.

I would recommend against connecting every waypoint to every other, as far as I know the game will verify these connections when it loads the map, increasing loading times.

Thanks @mrwonko

 

When I started waypointing I did not connect them either, but this resulted in them not being used by NPCS.

I also used the above example map vet_malgus and saw them connected there, and I did experience myself that connecting them does make it work.

 

Buutt.. indeed I am running into some other troubles connecting all waypoints to all waypoints. The loading times I would take for granted. But somehow my latest waypoint changes to a very large map are not connecting anymore. The nodes are all there, but the connections are gone. I checked with Nav Show All and they appear Yellow but no connections are forming (to be sure I  put them a bit higher or a bit lower, so I am sure they are level with the ground and also sure they are close enough to eachother). But it's like I reached a limit.

Now i know there are limits to the entities. But the game doesnt count waypoints as entities, which is something I learned from a post  @eezstreet made.

So waypoints get created correctly in GtkRadiant > they show up ingame. But are not connected anymore. And this happens to all latest changes, while I can confirm I have connected them in Gtkradiant itself.

I must add: I'm not able to compile the map into a BSP. It loads like forever and then the in-progress screen just closes. So what I did is open the .map file with NotePad++ and extract the entities from there to make an .ent file > Merge them with the old map and then the waypoints would show up. 

This method working worked fine to connect the first huge bunch of waypoints, but not anymore now. So maybe I did hit a limit 😞  . Still any thoughts on this would be much appreciated. I'm so close now... I'm already creating massive army battles between the Old Republic and the Sith Empire with Jedi, Soldiers and mechs walking around me shooting and sabering at eachother. It's awesome to see them move through the waypoints, making the battle very dynamic 😄 

 

Link to comment
2 hours ago, Wundai said:

When I started waypointing I did not connect them either, but this resulted in them not being used by NPCS.

Sorry, I did not mean to imply you should not connect them at all. The game only auto-connects up to a certain distance, manual connections are a good idea. You should just not connect everything with everything.

I think there's an upper limit to the total number of waypoints, I vaguely remember the number 1000, but don't quote me on that. Maybe there's also a limit on the number of connections? I don't have time to check the source code right now, maybe somebody else knows for sure.

Link to comment
23 minutes ago, mrwonko said:

Sorry, I did not mean to imply you should not connect them at all. The game only auto-connects up to a certain distance, manual connections are a good idea. You should just not connect everything with everything.

I think there's an upper limit to the total number of waypoints, I vaguely remember the number 1000, but don't quote me on that. Maybe there's also a limit on the number of connections? I don't have time to check the source code right now, maybe somebody else knows for sure.

Just to check with you @mrwonkobut do you know of any way to connect the waypoints manually without doing it one by one? I see in example maps sequences like waypoint1 targetname with waypoint2 target an so on, but doing that 1 waypoint at a time i consider a fulltime job 😛

Link to comment

No, all I know is the ctrl+k shortcut for automatically assigning target/targetname to a pair of entities, but at least in GtkRadiant this is not smart enough to handle complex waypoint connections, esp. target2/3/4. Maybe one of the other editors has an easier way to do it?

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...