View Single Post
Re: Basic FritzBot Map Tools Info
Old
  (#7)
Maleficus
Member
 
Maleficus's Avatar
 
Status: Offline
Posts: 1,054
Join Date: May 2004
Location: Planet Earth
Default Re: Basic FritzBot Map Tools Info - 07-07-2005

Some basic caveats/warnings:

Don't have the nodes too close together. Its a waste of memory and time.

Done have them too far apart (the bots have a node timeout time of 3.5 seconds to reach each new node).

When pathing for doors/doorways, put a node on either side of the door (usually with a radius of 45 or so), and put a node directly in the middle of the door with a small radius, so the bots can see where the door leads.

Don't stick nodes right inside the area bots spawn if it can be helped, better to stick them a bit outside, and use several, so that they dont all rush one node after spawning.

Dont stick actions inside the spawn area if it can be helped.

Stick MG42 actions about a body width right behind the mg42 itself (look at how they are placed on beach for an example). EX: if you were standing right in front of the MG42, touching it, the action for it would go right behind you so that it was touching your back.

Use the console cmd "goal_num" to see at what goal number the bot's goal system is.

Use the cmds "g_action_info <actionNum>" and "g_node_info <nodeNum>" to see the stats about a particular action/node as the game state changes.

NOTE: the waypoint editor is totally seperate from the nodes that the bots load up and use. The editor is client side, and the bots are server side, so they will each have a different copy of the path file. If you make changes, the bots wont see it unless you do a "map_restart".

BE sure to save your path often - if you do a map_restart without saving your changes, you will lose them!

Use "node_drawHud 2" to see a hud just for actions. Both huds will display the info of the closest action/node to you.

When you use viewent to target a dynamite objective, make sure you use the entity number of the "trigger_objective_info" NOT the "func_explosive"!

Refer to the MP_BEACH path file for an example to do a lot of the thing you'll want to do.

DON'T take MP_BEACH as gospel tho - theres a lot of stupid, lazy things I did that I need to fix/change. When in doubt, check with me.

type "\node_" into the console and see all of the other node based hud/editor cmds that are available to you. You can change the drawdist, time, etc, etc.

32 is the max number of bots you can add.

64 is the max number of action tests you can have. I can add more if its a problem.

a radius of 45 or so works good for the bottom of ladders, while 15 seems to work good for the top of them.

Backup your path work often (stick a copy in another dir, or name it something else).

Fritz at this stage is still very rough - the path editor/script system is done and stable, but the Fritz your getting is in the middle of half a dozen different changes/new features that I haven't had time to work on, so expect the unexpected. They also suck at BEACH ATM because I never updated the nav file to reflect all the new path/script stuff I added yet.

If you add a bot with no valid actions in the map, he'll just stand around and laugh at you.

When your pathing or working on a script - check your console often. When the map loads, you will get some feedback if there was any problems.

Feedback is welcome, and I'll try to improve it as best I can if you need me to, but please don't expect me to create a wonderful GUI or awe inspiring menus - I can't code that shiznit to save my life!


node_drawRadius 1 will draw the node's radius instead of its connections. a value of 0 turns it off.

The visualization of connections start at the top of the node, and point downward to the node its connected to.

"node_vis" parameters:

1 = draw everything
2 = draw only actions
3 = draw only routes (NOT AVAILABLE YET!)
4 = draw only path nodes

These are useful as filters if you just wanna check one thing.


NOTE: node_drawDist is set low for a reason! The RTCW has a limit on how much you can draw at any one time. The default is 512. 1024 is about as high as you should go. Playing with the node_drawDist and node_drawtime cmds can seriously improve/harm your FPS.

There is NO way to delete nodes or actions ATM outright. However, if you set a nodes flag to -1, or an actions allied and axis objs to -1, they are deleted for all intends and purposes. NOTE: DON'T just set a node thats connected to other nodes to -1. You have to make sure any connnections to it are deleted first (using node_resetlinks). Better yet - what I did was just reused nodes I didn't need somewhere else using the node_move cmd. You are encouraged to use this technique as well, for now.

Remember - you can turn on/off as many actions as you feel like in the script. In my example BEACH script I only turned 1 on/off at a time, but you could easily go:

Code:
action 12 //a spawn flag the two teams fight for
{ 
  if_fda_owner_axis 12 <- lets say this is flag action
   activate_action 24 <- lets say this is a camp action
 
  if_fda_owner_axis 12 <- lets say this is flag action
   activate_action 31 <- lets say this is another camp
 
  if_fda_owner_axis 12 <- lets say this is flag action
     activate_action 13 <- lets say this is another camp
 
  if_fda_owner_axis 12 <- lets say this is flag action
     activate_action 5 <- lets say this is another camp
 
  if_fda_owner_axis 12 <- lets say this is flag action
     activate_action 61 <- lets say this is another camp
}
In this example, when the axis grab the spawn flag - 5 camp actions are activated as well. Then you could make it if the allies grabbed the flag, those 5 actions would be de activated.


NOTE: you can turn ANY action off/on with the script. Warning tho: don't touch actions that are in "the future", because when the script turns them off, they are turned off for good!
EX:
the goal tracker is set for group ID 1 actions and you activate, then deactivate a goal 3 action. When the goal tracker gets to 3, it won't use that action, because the script killed it. Theres no worry about bringing old actions back tho.


Capture Point WILL be supported this release! I won't turn my back on Fritz's roots. However - only CP only maps will be supported, I'm not going to bother with maps that play both CP and OBJ (I don't know of any that were ever popular - destruction, trenchtoast, and the custom CP maps were all I ever played on public servers).


NOTE: when you edit path files - make sure you have sv_pure set to 0! You won't be able to access them otherwise (you should probably have sv_pure to 0 anytime you run a mod anyway!).


Be SURE to read this whole guide thru and understand it. I'll edit it and add some things here and there, so always keep an eye on it. Best to print out a copy of this whole thread for reference: I wrote and designed all of this, and even I can't remember all of it.


-------------------------------------------------------------------
MORE TO COME AS I THINK OF IT!

Major thanks to Wave of the UberSoldat team for help with the clientside node drawing code! Thanks man!


Dum Spiro Spero



Last edited by Maleficus; 11-07-2005 at 06:00..