View Full Version : I'm having trouble with spawning NPCs

Darth Vitruvio
06-10-2002, 03:10 AM
Dear members and good standards of this forum:

I am having trouble with the NPC spawning command in Jedi Outcast. My trouble consists of following the instructions given in the Game Codes section of http://www.jediknightii.net and not receiving any results in the game. Basically, I can't spawn as an NPC in a multiplayer game with cheat mode enabled. If anybody here would be kind enough to share some insights into this problem or, perhaps, a solution I would very much appreciate it. Thank you.

Yours truly,
Darth Vitruvio

Nobodi Kenobi
06-10-2002, 03:43 AM
Darth Vitruvio

Unfortunately, even with cheats enabled, you can't spwn NPCs in Multiplayer mode.


Probably because they (Lucasarts/Raven) didn't want clients and or servers being able to randomly spawn NPCs during duels and other "organized" games like CTF because it would give somebody -- depending on what side and what type (enemy or ally) NPC was spawned -- An advantage...

OR ithe NPC probably wouldn't know what to do in a MP game since it wouldn't know who is the enemy.


Imagine you are in a duel with another player.

Someone spawns Desann.... But he would just stand there because even though you may have a Kyle skin or "light side" skin (Jan, Luke, Jedi Trainer)... The NPC Desann doesn't know he has to "kill kyle" because all players in MP are essentially neutral and there is no script or bot AI to tell him who he has to kill.

Does that make sense?

However, if you want to spawn NPCs and practice with them on official and unofficial Duel, FFA, TeamFFA and CTF maps go to this thread as it talks about this very subject:


Hope that helps.


Darth Vitruvio
06-10-2002, 03:51 AM
Dear Nobodi Kenobi:

Thank you very much for clearing up this dillemma of mine. I now understand how this NPC spawning works.

Darth Vitruvio

Nobodi Kenobi
06-10-2002, 04:27 AM

I forgot to mention that you "can" - in quotes - kind of spawn them in MP, but technically, it is still just single player and NOT online when playing real human opponents.

Let me explain.

As you know, JO is split into SP and MP components.

However, both are still basically the same Qake III engine using differerent paramaters and focusing on different things (I'm not a Mod maker or programmer so if I get this wrong don't flame me) and when you play the SP portion, all that really is is a server with all the scripted sequences, NPCs, map changes and things like that.

This is what allows you to load up MP maps in SP and spawn NPCs on them like in that post that's linked above.

However, you can go into MP mode from SP mode by simply typing in "devmap x" in the console where x is of course the map name, I.E:

devmap duel_carbon

However, once you spawn on this map there will be nothing there to fight you unlike if you used the MP component and started your own server with bots (you know what I mean, right)?

Once you are on a map you can then hit the ESC key and the MP menu should pop up which allows you to add bots, configure force powers, saber color, etc -- All the elements of MP.

You can also use the NPC spawn command after enabling cheats as well. This is why it is technically still SP though.

Does that make sense?

I don't mean to confuse you or anybody else reading, but this is something I forgot to mention on this and my other thread and while it is just more "behind the scenes stuff" regarding how JO works as a game (source code), it is worth mentioning as another shortcut instead of launching the MP portion separately.

I think the ability to spawn NPCs along with the real online MP component is what is going to keep this a fun and exciting game more than any other game(s) out there at the moment :)

06-10-2002, 05:44 AM
Very clear post Kenobi...

I had never considered starting an SP game and then switching to the MP server this way. I've had a feeling that SP is just a heavily scripted version of the same elements the MP game uses, without all the net/lan server cfg, bot AI, and spawn/target stuff.

It gets me wondering about hybrid SP/MP modifications using this technique. Hmmmm...

Thanks for the thoughtful and inspiring post.

Nobodi Kenobi
06-10-2002, 01:50 PM

Someone else posted a thread on this board or the MOD forum about possibly creating a CO-Op (Cooperative Play) mode where you and a bunch of friends could log onto a server and be all Jedis or Sith and play certain levels of the game against NPCs and complete objectives like in the SP component.

I don't remember where the exact post(s) are, but the answer was given JO engine, that Co-Op mode could not be done at the moment.

Some of the reasons where like the actual map changes if you complete objectives over multiple levels. Other things included the AI scrpiting of NPCs and/or slots for what character is an NPC and what is a human player logging on (What if you wanted to be Tavion?).

Again, I am in no way a Modder so I don't know the technical details, but what other people said does sound logical given all the various complexities of MP play.

I think sooner or later someone talented WILL come out with a Co-Op mode now that the SDK (source code) is out, but I don't know how much the engine itself will have to be recoded for that mode so that a server can run it and you can play on it with friends.

06-10-2002, 02:20 PM
I see what your saying about the complexities of making a COOP mod. There are way too many variables to consider, though you're right about somebody really talented doing it eventually.

I've been asking around about using SP type scripting with the MP source code for another reason though, and it's a little difficult to explain since it's really just an idea.

What I'm interested in is creating SP mods that aren't run as a COOP on a server, but on the player's own server just like the SP game is run. I know that a SP map can be created and scripted with Radiant, but then the mod is limited to that specific map. And all we can do with SP mode at this time is modify the scripts and cfg files of the SP mission we have, since the SP source code isn't going to be released (probably).

So I have been brainstorming for a way to create SP type gameplay that runs on an MP server locally. Now your technique has me considering this in a different way.

What if SP gameplay and NPC scripts could be globally applied to any map loaded by the player. See what I'm getting at? MP mods let you use pretty much any bot supported map and any skin/model you download, if you create your own server - but the gameplay is fairly limited to the Bot AI and type of MP game you select. And most of the SP mods that get released have specific skins on specific maps that can't be changed by the player at all, or are cosmetic changes of the original SP story.

But what if there were SP mods that allowed one to use whatever skin/model they wanted, and could be applied to any map - even MP ones. A kind of meta-scripting that was independant of the map loaded, and allowed the use of NPCs and followed an open-ended script.

I'm really just brainstorming here, and have no idea if this possible. Though it just feels like it is. In looking through the MP code, the SP scripts, and cfg files, it seems like there's a hybrid of the SP and MP games in there - but not a COOP online mode. A new SP/MP hybrid mode run locally as a SP adventure.

If you think this is totally nuts, or have any ideas as to how this could work, I'd love to hear your opinions/insights.

Thanks for all the info so far.

Nobodi Kenobi
06-10-2002, 07:56 PM

I see what you want to do. And it sounds cool.

BTW... The Source Code has been released and can be downloaded from www.jediknightii.net.

What you are basically suggesting is something I was going to post on, but didn't because I thought I had already answered my own question (in my mind) given my limited knowledge of how the programming of JO really works and that is...

Basically, could JO ever be modded (recoded) to have a random mission/level generator like "Soldier of Fortune II" has that would include MP aspects?

I realize that what you are saying you want to do isn't exactly random generation (of levels and or objectives), but more of "free-flow, user customability" that could be applied to both SP and MP maps as a whole (globablly).

But I think what you want to do also begs the question of what I just proposed and that is to take what you want to do to "the next level" which would be basically random mission/level generation so to speak given the fact that if you can customize SP... Why not do the same to MP?

From my un-informed perspective of having no programming knowledge whatsoever, the only problem I can see with what you want to do about applying various things to the MP component is that MP is in fact "open ended" as you said and has no set storyline or parameters, thus how -- or I'll even ask why -- Would you want to "restrict" MP maps/levels to a NPC scripts and objectives?

Does what I am saying make sense?

If I am misunderstanding you, please tell me. Give me an example so that I might better understand what you want to do.

I get what you are saying in that I agree it would be cool to just be able to go into Sp and choose to be Luke or say Anakin if you downloaded an Ep II skin of Anakin and play the JO storyline with that skin and others (many mods are coming out for Ep II total conversions).

However, in MP customizing player appearance is a given... And again, it begs the question do you want MP to be more co-op or restricted than "open ended" (given the game type)?

I hope I make myself clear as I know I sound like I am repeating myself, but I think if you read what I am saying, I am not and am trying to distinguish not only some obstacles I can see, but the purpose of doing the things you want to do as well.

Again, I think you're idea is top notch.

I just think that you could take it even FURTHER and do something like Co-Op or even link multiple MP maps together with NPC scripting/AI to where it is like SP, and not just restricted to say a CTF or Duel game mode. That is the great advantage I see if this can be done: Objective based games and or game types.

I've always wondered about Co-Op games as very few games have done them (Serious Sam did it, right?) I know Counter-Strike: Condition Zero is going to have this option, but I am just wondering how this is going to work given a lot of different things.

For instance, if you log on in the middle of a game (map) will you get to play immediately or have to wait until the objectives are complete or everyone -- Human players -- is dead (this is besides CSs round based system)? Will the games be set over multiple maps and objectives? When will the game end?

In CS case I think it is a little more clear since I believe the even the SP, linear narrative will be basically like regular CS and that is each mission is set and limited to a specific map with self-contained objectives like hostage resuce and defending an area for a set period of time.

In any case, obviously, they (Gearbox) has done it and I'm just wondering if it can be applied to a more story-heavy shooter like JO.

Let me know your thoughts :)

06-11-2002, 09:40 PM
Nobodi Kenobi

BTW... The Source Code has been released and can be downloaded from www.jediknightii.net.

This the MP source code only. Raven has stated that the SP source code is tied into the SP exe file, and won't be released.

I dig your ideas, and you might be interested to know that the team at Wired Lamp Studios is currently working on a COOP mod, and the guys at the Kaiburr Saga are working on a serious mod that will add Team Duel to the MP game list, which is a type of COOP duel mod for MP.

About the random MP generator, I don't know. It sounds like a really good idea.

I realize that what you are saying you want to do isn't exactly random generation (of levels and or objectives), but more of "free-flow, user customability" that could be applied to both SP and MP maps as a whole (globablly).

Actually, what I'm speaking about is an SP mod only - not MP. There are so many MP mods available, but very few SP mods except for weapon and player skin replacements. Many people don't have a stable/fast enough online connection, and would rather be able to play mods locally. I've read many requests for this.

The problem with local mods in MP is that the Bot AI isn't as evolved as the NPC AI. So your original idea of starting an SP game and then loading an MP map, then spawning NPCs has really got me inspired.

What I'm proposing specifically would require a new UI menu interface for SP, that allowed a person to select Kyle replacements they have downloaded as a setup option; and allow for selection of starting Maps, and either pre-assigned or random rotation of downloaded maps, from the main menu.


You start an SP game. Then load a Mod from the Mod menu that runs an automatic config file which sets "devmapall" and loads in a new UI menu interface with extra setup selections. This config will scan for any Kyle replacements PK3s and Map PK3s that have been put in a specific dedicated folder in the base folder by the player. So now, any downloaded skin replacement or map can be loaded from the main menu.

Now, there are global scripts which immediately run that apply to any map that has been placed in that specialized folder, which setup the NPC stats for all spawnable NPCs, Kyle's force powers, weapons, etc.

Then there is a preset spwan setup, kind of like a "ladder" situation, where a certain number of player/enemy team NPCs are spawned, with only a few enabled and the rest set to "cinematic" until certain ones are killed and then spawned. There can also be mini-objectives assigned, like having to free a player NPC who is set to frozen state behind a wall of enemy NPCs; or certain actions scripted for enemy NPCs as they spawn into the map.

Next, specific if/else commands and Behavior Set scripts could be assiged to this initial script, that would cause other scripts to run depending on certain actions taken within the level. One of these scripts would automatically "devmap" a new random level that was assigned in the Main Menu setting and placed in the target folder by the player.

When this next level loads in, a new script with different NPC spawn events and mini objectives would be assigned to it. If there were around 7 global scripts loaded in a specific if/else order, with objectives that could be completed and change devmap levels before all NPC spawn events occurred in a script; if there were enough levels placed in the target folder, a wide amount of random playability could be achieved.

This is just in the idea stage, and I might work on it here soon. It's basically a customizable random "ladder" mod, that utilized small mini-objectives to make the battles a little more dramatic. It would require quite a bit of scripting and config editing, with the biggest obstacle being the UI Menu customization.

It's only one idea I have, and I'm not sure if I'll work on it yet or not. I'm bascially interested in SP mods that are more open ended. But without the SP code, anybody who attempts these will have to get really creative in their approach.

Right now, I'm working on a simple SP conversion that keeps the original SP adventure, yet replaces almost all of the player/enemy NPCs with more dangerous Jedi-like opponents and teammates. Plus, the dialogue for some of the cutscenes is being changed to create a more unique storyline using the same elements. After some of the new models are completed, I'm hoping to add them into the mix. And there will be a couple of variation for the player - lightside, darkside, and female. This what I'm working on right now, and if it goes well I'll probably tackle the idea I mentioned above.

It really just came up after trying out your SP to MP idea on a few levels with some NPCs. The battles with the NPCs were much cooler than with the MP bots; and being able to enable some of the SP cheat codes (like all five saber stances) and use some of the tweaked enemy NPC settings I've done was really fun. Much better than just playing an MP duel or ffa with the standard bots.

I know this kinda strayed from the original post, but your suggestion really inspired me. Thank you so much. I'd be open to any other ideas/suggestions you have.