Massassi Forums Logo

This is the static archive of the Massassi Forums. The forums are closed indefinitely. Thanks for all the memories!

You can also download Super Old Archived Message Boards from when Massassi first started.

"View" counts are as of the day the forums were archived, and will no longer increase.

ForumsJedi Outcast and Jedi Academy Editing Forum → more on bots..
more on bots..
2003-10-22, 7:40 AM #1
can you post up a tutorial on how to make botroutes in a ja mp level? not a link, copy/paste?

------------------
2003-10-22, 1:28 PM #2
You know, I'm just going to copy and paste a tutorial that came with the tools:

Quote:
<font face="Verdana, Arial" size="2">
Jedi Knight2 Bot Routes

This is not the most user-friendly system ever created by far, but I'll try to explain it in a semi-simple manner. Before you can use any waypoint-related bot commands you will need to enter into bot waypoint edit mode. To do this you'll need to set bot_wp_edit to 1 and restart the map. The bot_wp_edit cvar is cheat protected however, so you'll likely want to add something like this to your command line when starting the game:

+devmap mymapname +set bot_wp_edit 1

That should take you into edit mode. Once in edit mode a number of bot waypoint management commands and cvars are available. The first two cvars to note are bot_wp_distconnect and bot_wp_visconnect. If distconnect is non-0 (and it is by default), when a route file is saved there will be an automatic check for how close waypoints are to one another. If a waypoint is more than 400 ingame units from the last or next, a node branching system will be used to connect it (inserting points in between as necessary). The visconnect option works in a similar way, except it checks for visibility rather than distance. Both of these options are very convenient if a level is rather simple and allow you to route a level with very little work. However, if a level is more complex and involves numerous lifts and tricky waypoints placement, it's best to disable them because they may fail where unexpected. If either method fails to branch to a waypoint, it will set that waypoint as being a "one way point" (I'll explain what these are later in more detail), which means that the bot will reverse on the trail when it reaches that point and not go forward on it.

When routing a level, you essentially want to just make sure there are waypoints (whether placed manually or by the automated connection routines) everywhere you want bots to go. It's also best to make sure there's always a waypoint close to each spawn point, so a bot has a place to resume the trail on when it respawns. The bots aren't perfect, so if you have an area that's very complex and hard to get through, you may wish to have bots avoid it (unless you don't mind them failing at it now and then). If a bot does manage to get stuck on its trail, it will time out after 2 seconds of no visibility to the next trail point. If it somehow can see the point and cannot get to it, the timeout process will take longer, but will still happen eventually.

As far as how the bots actually follow the points you place, they will follow them in numerical order back and forth by default. When the route file is saved, all nearby points and linked to one another as well. So if, for example, waypoint 5 is close to waypoint 98 and the bot wants to get a powerup which is near waypoint 105, he will branch from waypoint 5 to waypoint 98 in order to get to his destination quicker.

With that in mind, here are the main commands used for waypoint placement:

bot_wp_add - Adds a waypoint at your current ingame location. By default it will add a waypoint after the last in numerical order. However, if you specify an argument with the command it will add the waypoint after a specified waypoint number. So, if you use "bot_wp_add 3", it will insert a waypoint between waypoint 3 and waypoint 4 as waypoint 4 (waypoint 4 will then be bumped up to waypoint 5 an so on).

bot_wp_rem - Removes a waypoint. By default this will remove the last waypoint place. If you specify an argument you can remove a specific waypoint by number. So bot_wp_rem 5 would remove waypoint number 5. (and if there is a waypoint number 6, it then becomes number 5, and so on)

bot_wp_addflagged - Similar to bot_wp_add, but this requires an argument for the special type of waypoint. Valid arguments are:

j - The bot will jump while trying to get to this waypoint.
d - The bot will crouch while trying to get to this waypoint.
c - A camping/sniping point, the bot will often stand here if it has camping properties.
x - Same as 'c', except the bot will crouch while camping.
f - Wait for a func brush underneath this point before moving onto it. This is useful for elevators, moving platforms, and other such items so that the bot will wait until the object is under the point before advancing.
x - This creates a one-way forward point. The bot will travel past this point, but when reversing on the trail, once he reaches it he will turn back and go forward again. This is a good last resort if you want the bot to jump off a tall ledge he can't get back up. However, use these points sparingly, as they make the bot much less efficient in getting places.
y - This creates a one-way backward point. Same principle as the above, except the bot will only pass this point when following a trail in reverse order (5, 4, 3, etc).
n - The bot will not perform visibility checks when moving to this point. Should also be used sparingly, as the bot can easily get stuck when moving to these if something prevents it from getting there.
m - Sort of reversed from 'f'. The bot will only move here if there is NOT a func brush underneath this point.

You can combine these flags however you wish. So if you wanted to add a point that the bot will jump to and only move to when a func brush is under it, you would use "bot_wp_addflagged jf" as the command. This parameter also accepts an additional argument for inserting within trails like bot_wp_add, so if you wanted to insert said point after point 5 in your existing trail, you would use "bot_wp_addflagged jf 5".

bot_wp_switchflags - Switches the flags of an existing waypoint. Uses same flags as bot_wp_addflagged. So if you wanted to turn point 5 into a jump point but let it keep all its other existing properties, you would use "bot_wp_switchflags j 5".

bot_wp_killoneways - This will remove all one-way (x and y) flags from all waypoints on the level. Can be handy sometimes when the distconnect and visconnect cvars flag waypoints as being one-way automatically.

bot_wp_tele - Teleport to a specific waypoint by index. By default it will teleport to the last placed waypoint, but an additional argument will allow you to specify any number (so use "bot_wp_tele 5" to teleport to waypoint number 5, for example).

bot_wp_save - Once you are done placing waypoints, this will write the route file out and do all the calculations necessary at save-time.

Those are all the commands you should need. If you want to edit an existing route file, just load the level up in waypoint edit mode (as described above) and all the waypoint data will be visible and modifiable.

You probably won't end up needing to use many commands other than bot_wp_add, bot_wp_rem, and bot_wp_save. I suggest binding keys to bot_wp_add and bot_wp_rem in order to save time. So then, good luck.
</font>


Plz read.

------------------
"The Tenloss Disruptor was outlawed throughout the galaxy because it's such a stupid gun"
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2003-10-22, 2:41 PM #3
Quote:
<font face="Verdana, Arial" size="2">Originally posted by hatchyack:
not a link, copy/paste?</font>


If you are that lazy, you shouldn't be mapping at all.


------------------
Bassoon, n. A brazen instrument into which a fool blows out his brains.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2003-10-22, 10:36 PM #4
He complains that he can't acces pages related to gaming from his school PC, and he probably is too hurried to wait till he's home. Yeah. Patience is something you're gonna need, hatchyack.

------------------
Endurance of Hatred
2003-10-23, 4:30 AM #5
okay, i load the level up in devmap (....) +set bot_wp_edit 1, but whenever i type in a command like bot_wp_add, it says that the command doesnt exist. it wont work.

------------------
2003-10-23, 4:45 AM #6
Oh my. Aint it hard to type a forwardslash? [http://forums.massassi.net/html/rolleyes.gif]

------------------
Endurance of Hatred
2003-10-23, 7:10 AM #7
i thought i had a / in front of it....

------------------
2003-10-23, 7:35 AM #8
That's called a BACKslash. I said a FORWARDslash. Like \.

------------------
Endurance of Hatred
2003-10-23, 8:08 AM #9
they both work the same in ja.

------------------
2003-10-23, 8:10 AM #10
No they don't. And for what you've done wrong: It must be set to \bot_wp_edit 1 BEFORE you start the map. You do it in the console while in the menu. THEN you devmap.

------------------
Endurance of Hatred
2003-10-23, 9:06 AM #11
ohh..... i was typing it in WITH devmap....

Oh yah... HOW DO I ADD THE CLOAKING DEVICE (the one you get with give all) AS A PICKUPABLE ITEM?


[This message has been edited by hatchyack (edited October 23, 2003).]
2003-10-23, 10:09 AM #12
ok, dangit, i keep typing \bot_wp_edit 1 at the menu and wenever i type it it always says
Unknown command "bot_wp_edit"

ARGHH!

------------------
2003-10-24, 4:18 AM #13
aha! I figured it out! I had to add these things to the command line before i started ja! and the / DOES work the same as the\!

NOW if only someone could help me figure out how to add that CLOAKING DEVICE.....

------------------
2003-10-24, 4:56 AM #14
And if someone could stop ranting...

If there are no replies, take it as a "no".

------------------
Endurance of Hatred
2003-10-24, 5:41 AM #15
Wow, people. Lighten up. If you don't have the patience to offer help to somebody [in a civil manner], you don't belong on this forum.

------------------
Have a good one,
Freelancer
"it is time to get a credit card to complete my financial independance" — Tibby, Aug. 2009
2003-10-24, 5:50 AM #16
Freelancer, I do this because he doesn't actually let us help.

(There are more reasons, but I'm not going to mention them here. E-mail me if you're that interested.)

------------------
Endurance of Hatred
2003-10-24, 6:35 AM #17
geez...whatd i ever do to you, gothic?

------------------
2003-10-24, 6:38 AM #18
More like what you didn't do. Listening to criticism in a showcase, clicking links to tutorials..

------------------
Endurance of Hatred
2003-10-24, 7:58 AM #19
i listen to critisism. constructive critisism...

------------------
2003-10-24, 8:01 AM #20
I'm no going to go further into this, as I don't want to get banned over something as you.

------------------
Endurance of Hatred
2003-10-24, 8:59 AM #21
fine.

------------------
2003-10-24, 9:14 AM #22
There is a cloaking device in JA?

I guess I need to go more into the game..

------------------
"The Tenloss Disruptor was outlawed throughout the galaxy because it's such a stupid gun"
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2003-10-24, 9:16 AM #23
you bet there is! start up a mp game by typing devmap whatever, and then type give all. you will then notice that there is a cloaking device in the inventory. its shibby!

------------------
2003-10-24, 9:20 AM #24
But can you pick it up as regular item in the levels (like a bacta tank)?

I'll look into this cloaking device thing. It may be an item made by Raven but wasn't "completed" or "used".

------------------
"The Tenloss Disruptor was outlawed throughout the galaxy because it's such a stupid gun"
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2003-10-24, 5:46 PM #25
shibby! this is the kind of help o need!

------------------
2003-10-24, 11:59 PM #26
All I know about this cloaking device thing is, that it's used only in siege. Scouts usually have cloaking device or jetpack. Neither of them is pickable, they are in your inventory when you start. And I think cloaking device will work only in siege.

------------------
There 10 kinds of people in the world: Those who understand binary arithmetics, and those who don't.
2003-10-25, 12:02 AM #27
I checked, Heke7 is right. No pick-up possibility without coding it.

------------------
Endurance of Hatred
2003-10-25, 7:18 AM #28
i got the jetpack to work in my level as a pickup. its a ctf too, not siege. could someone get to work on coding it as a pickup, or whatever you do to make it work?

------------------
2003-10-25, 7:31 AM #29
Well, the coding isn't just taht simple. It's not just a simple ICARUS script. You must know how to use C++ And it's not easy...

------------------
There 10 kinds of people in the world: Those who understand binary arithmetics, and those who don't.
2003-10-25, 3:30 PM #30
*cough* C *cough*

------------------
"The Tenloss Disruptor was outlawed throughout the galaxy because it's such a stupid gun"
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%
2003-10-25, 11:18 PM #31
Well, atleast I knew it was related to C...

------------------
There 10 kinds of people in the world: Those who understand binary arithmetics, and those who don't.
2003-10-25, 11:20 PM #32
JO is C, Echoman. JA is C++, for as far as I know.

------------------
Endurance of Hatred
2003-10-26, 2:37 AM #33
i know a little c++ coding....

------------------
2003-10-26, 2:38 AM #34
Well, you'll have to wait for the SDK to be out first. As well, your map will need to be plasyed as a mod.

------------------
Endurance of Hatred
2003-10-26, 5:21 AM #35
No, it's probably still C, unless they converted it like they did for EF, which is possible, but I doubt it.

------------------
Bassoon, n. A brazen instrument into which a fool blows out his brains.
Bassoon, n. A brazen instrument into which a fool blows out his brains.
2003-10-26, 6:30 AM #36
By the way, is the SDK ever be out??

------------------
"The Tenloss Disruptor was outlawed throughout the galaxy because it's such a stupid gun"
SnailIracing:n(500tpostshpereline)pants
-----------------------------@%

↑ Up to the top!