Hello everybody. I recently got back into modding attempts, and I'm stuck at an roadblock here. I'm attempting to spawn a Jedi character, Zaen, on Dantooine near one of the large trees on the Matale grounds. He should replace T3, however, I can't even get him to appear! :P
The trigger for his spawn script is set when Master Dorak explains that the "ruins have been known to them, but assumed they were burial mounds, etc." However, after I am allowed to leave the sanctuary and I head to where he should spawn, he never appears.
It would really help if someone who has a save game in that area (Dantooine, before fighting Juhanni) could run through my mod and tell me what I'm doing wrong... or at the very least, examine the scripts/dlg files I'm using to make sure its done correctly. Here's the Mediafire link...
http://www.mediafire.com/?bj1lb5ddxlt)
Thanks guys.
You need to put the trigger on the module that he will appear.
E.g.: For spawning the npc on the Matale Grounds, youll need to set the trigger on "Matale Grounds", not the academy.
=]
Hmm... so to make it simpler, I could make it so that when the PC talks to Nemo or that guy who wants the Mandalorians killed, he spawns in front of the ruins?
--edit--
I changed the spawn script so it is fire when you talk to Nemo and he says the stuff about nature and the Force (when you first meet him). However, I still can't get Zaen to appear outside of the ruins... could someone look over the files and make sure I did everything right? I feel as though I'm missing something.
*Updated download link* -
http://www.mediafire.com/?2jybvfht9ce)
Do you have the right x,y,z coordinates?
Yeah, that's not the problem.
The major thing I see is the tag.
You still have the tag set to T3M4 instead of p_zaen.
And not only that, in your script, you reference the resref "p_zaenbenax" which is your filename, and not the actual resref, p_zaen.
Use the same name for everything to help keep yourself straight.
So to recap:
Set the tag and template resref fields to the same thing, and then use that in your spawn_zaen script instead of p_zaenbenax.
HTH.
_EW_
Well, I changed the tag and the template resref to p_zaen, and all references of it (the spawn script for example) have also been changed to match it. However, he still won't appear! And yes, I have the coordinates right (whereami says he should spawn at 319.89, 85.24, and 1.87), so I don't know what the problem could be... would starting a new game help, because its autosaved right before I talk to Nemo...
You need a save game that has never loaded the module script that you edited.
It will only run the onEnter script one time.
_EW_
Well, I started a new game, and he still won't appear. However, Nemo's modified script works fine, so there must be something wrong w/ my spawn script. Otherwise, I'm at my wit's end how to make him show up :S
It might be a problem with the dialog, too. I'll give it a look-see.
Post your updated script, if you would.
_EW_
I think the problem might be the fact that you have a script run in the middle of the dialog. I remember when I used to mod K1 I always made the script fire on a blank node, but I can't remember if that was to make it easy for me or because it was necessary.
Sure. Here's the new updated link...
http://www.mediafire.com/?wxm0xikchid)
Ok, I'm looking at it now. Do you have an easy save that I could have to test with?
_EW_
And are you sure that you want the character to spawn off of Nemo's dialog? Is there any specific reason for it?
Hmm, a saved game? Yeah, here's a link to it (its right after your first dream sequence on Dantooine, before the Jedi training)...
http://www.mediafire.com/?32ecvtjmt69)
And as for Nemo's dialog, no there's no specific reason. I just put it there b/c its the first person you can have a conversation w/ outside the Jedi chambers.
Hmm, a saved game? Yeah, here's a link to it (its right after your first dream sequence on Dantooine, before the Jedi training)...
http://www.mediafire.com/?32ecvtjmt69)
And as for Nemo's dialog, no there's no specific reason. I just put it there b/c its the first person you can have a conversation w/ outside the Jedi chambers.
Well, to be honest, he's probably not a very good choice, because if the PC has gotten the quest to go into the ruins, Nemo disappears and he is replaced by a corpse.
I'm looking at your script right now. It's not very simplified, so I took out a bit of the excess. Some things I've noticed - one of the most major is that you have the character walk up to you and start talking - but this script fires in the middle of the dialog with Nemo. And not only that, you have him start talking with a dialog file that doesn't exist. So I'm trying to clean it up.
_EW_
Thank you for cleaning that up. I didn't realize that I had him walk up in the middle of Nemo's speech, and about his death, perhaps it would be better if it were attached to Jon or that random Jedi who walks around the courtyard?
Got sidetracked. R/L sucks sometimes.
Would you like me to add it to the module itself, so that way it spawns him when you first come to the area?
Or would you rather I talked you through it?
_EW_
Woah!
I just saw something!
You need two *.utc files - one that just stands there and you talk to them before they are recruited, and then one for when they're actually in your party. I only see the second one here.
_EW_
You can add it to the module when he first enters I suppose. Unless you think its better talking me through it.
-- edit --
Of course... that would explain a bit... I suppose for the time being, I could just copy/paste the first utc and make a copy of it...
You can add it to the module when he first enters I suppose. Unless you think its better talking me through it.
Ok, this should work. Create a new *.utc with another tag... such as jm_zaen.
then use this:
void main()
{
if (!GetIsObjectValid(GetObjectByTag("jm_zaen"))) {
CreateObject(OBJECT_TYPE_CREATURE, "jm_zaen", Location(Vector(319.89, 85.24, 1.87), 0.0));
}
ExecuteScript("old_14a_area", OBJECT_SELF);
}
And extract the k_pdan_14a_area.ncs file from the RIMs section under danm14aa and Scripts, Compiled.
Then go ahead and rename that file to "old_14a_area.ncs" and compile the script I just posted as "k_pdan_14a_area.ncs".
Make sure you change the dialog to zaen_invite when you're creating your new *.utc file.
Then throw the files into override and test it.
_EW_
Be back after the season finale of House.
Alright, what other files do I have to change? I added the new files, changed all of jm_zaen's tags to jm_zaen, but he still doesn't appear.
Are you sure your coordinates are correct?
I've eliminated all of the bugs I see - but it's possible that one of the script functions I used could have been the wrong syntax.
I might need someone like stoffe or TK to come check it out.
Compile this code and put it in as the k_pdan script.
void main()
{
vector vPosition=Vector(319.89, 85.24, 1.87);
location lWhereToSpawn=Location(vPosition,0.0);
CreateObject( OBJECT_TYPE_CREATURE,"jm_zaen",lWhereToSpawn);
ExecuteScript("old_14a_area", OBJECT_SELF);
}
_EW_
Well, I adjusted the script, but he still doesn't show up. Quite a stubborn thing, or maybe I'm just missing a variable or haven't changed something? I'll go through the scripts again to check for errors.
-- Edit --
I think it might have something to do with either the .utc file or the spawn.nss script. Most of the other files look like they work fine.
I just can't figure out what the problem is.
I've fixed a bunch of things, and yet there is still some unknown problem that I can't find.
_EW_
Yay! Zaen now appears where he is supposed to appear. I just forgot to copy a part of the script you gave me correctly :lol: Thanks for the help! However, there are 2 more minor problems...
1. There are around 40 copies of him all standing around in a circle, how can I make it so there is only 1 of him?
2. When I click the recruitment option in the dialog, he says he'll join me, but he doesn't actually join my party.
Thanks!
Could you post the script you're using to add him to your party?
I suspect that you might be having the same problem as I was having. I was trying to replace Juhani with my character, and after trying dozens of things, I finally found a solution. Try remaking the .utc file using the person you want to replace as a template. i.e. if you want to replace Mission, open up Mission's .utc file and rename it, set the skills/feats/etc. how you want.
void main()
{
RemoveAvailableNPC(7);
AddAvailableNPCByTemplate(7, "p_zaen");
DelayCommand(1.5,ShowPartySelectionGUI());
}
That's the script that I use to have him join my party. It supposed to replaces Zaen w/ T3.
Hehe. That's the exact same one I've been using :P. Does the Party Selection GUI appear? If so, the script is firing but there might be something wrong with the .uti file...
Actually, it doesn't even fire. So there must be something wrong with the .uti file then?
Not necessarily. I'm gonna open your mod and take a look around, see if I can figure anything out.
Is the tag of p_zaen.utc set to T3M4? If not, that might be the problem.
EDIT: Just looked at your most updated link; And, the tag wasn't set correctly. Change it to T3M4 & that should do the trick.
Yes, that could be it, but whenever I had my tag wrong, I still got the party member. The game just crashed afterwards xD
If re-doing the .utc file doesn't work, I'm at a loss. Maybe Ferc or someone else who actually knows what they're talking about can help?
Thanks, I'll try setting the tag to T3 and see if that works.
-- Edit --
Thanks guys, it works. However, a problem remains. There are still a bunch of Zaens when I arrive, and none of them disappear after talking to him to get him to join my party. How would I go about doing this?