Jump to content

Home

Reign Of The Sith Mod Is Out


Recommended Posts

  • Replies 371
  • Created
  • Last Reply

Ok this is it, someone will need to give me an example of this script. I need to know how to make him say something different the next time i talk to him. His tag is hansolo. Please Please Please hlep me.

 

BTW: Based on whats going on right now and the fact that matt is leaving too. I dont know if i am going to be able to do this anymore.

Link to comment
Share on other sites

I remeber something that had to do with this that tk102 posted, here it is!:

 

As a bonus we will add how to make your NPC say something unique, he won't say it again!

 

To make the NPC say something once and only once, you would first write a script that goes something like:

int StartingConditional() {
  if (GetLocalBoolean(OBJECT_SELF,0) == FALSE) { return TRUE; }

  return FALSE;
}

Then in the appropriate EntriesList struct, you would reference your script in the Active field. That way, the script is fired in order to check whether or not the NPC says the Entry referenced in the Index field.

 

Then, in the Entry List where your one-time text is mentioned, you would set a reference to another script in the Script field. This script would go something like:

void main() {
  SetLocalBoolean(OBJECT_SELF,0,TRUE);
}

In this way, the local flag is set once the dialog is spoken, so it won't be spoken again. Of course, you have to design your dialog tree so there's no other points of re-entry also.

 

The flag is stored in the NPC (courtesy of the OBJECT_SELF pre-defined variable).

Link to comment
Share on other sites

Check out these scripts:

 

k_act_talktrue.nss

(Sets the NPC talk to state to true)

 

k_con_talkedto.nss

(Returns true if the PC has not talked to this NPC before)

 

You could attach them to your dialog to achive part of what you want.

Check out kas24_jolee_02.dlg. Test drive to see how the dialog unfolds and where scripts are fired. You'll also notice scripts firing that check global variables.

Link to comment
Share on other sites

Originally posted by Gsccc

Ok this is it, someone will need to give me an example of this script. I need to know how to make him say something different the next time i talk to him. His tag is hansolo. Please Please Please hlep me.

 

BTW: Based on whats going on right now and the fact that matt is leaving too. I dont know if i am going to be able to do this anymore.

You can count on me for support, the only time I won't come here is if school(when it comes)gets in the way. I'm already making my own planet.

Link to comment
Share on other sites

Ok, my NwNEditor has finally gone to hell and it is trying to take me with it. Everytime I import a dialogue that i make with DLG edit into a MOD, and try to look at it in the mod it says"Unknown Format File" It never did this before, i even got another one. So is there another thing that edits Erf's and the files inside them?

Link to comment
Share on other sites

Stormtrooper789 im sorry but its not working, i can tell it must be something i am doing. Can you give me a step-by-step guide to this please?!? I would really appreciate that. Im not ready to give up yet. Even though the floor is pretty much dropping out.

 

BTW: Here is what im trying to do, this is for test only so dont make fun of it. He is supposed to say "Stue Stue cook the stew" first then say "sota water rubarb" the next time I talk to him. So in the starting list entry i did Sota water rubarb above Stue stue cook the stew. And in the active section of Sota water rubarb i did the script starting conditional. and in the entries section for Stue stue cook the stew i did the script setlocalboolean. I really need help.

 

 

Off Topic, TIVO taped Law and order instead of my charmed!!!! I missed the one where Pheobie gets married to Cole and the source interfiers!!!!! WAAAAAAAAAAA!!!!!!!!!!! My day has officially gone to hell and stayed at the Hilton near saten's castle!!!!!!

I HATE TODAY!!!!!!!!!!!!!!

Link to comment
Share on other sites

was that the one where cole has to trick her into doing an evil dark wedding and he has to drink her blood in a tomb? thats like one of the only episodes ive ever seen of that show...its a cool show tho...u better keep workin on this cus' ive watched u come way too far to fall out now! i want htis mod! i need something new to the story b4 KotOR II in the winter...

Link to comment
Share on other sites

Originally posted by Gsccc

BTW: Here is what im trying to do, this is for test only so dont make fun of it. He is supposed to say "Stue Stue cook the stew" first then say "sota water rubarb" the next time I talk to him. So in the starting list entry i did Sota water rubarb above Stue stue cook the stew. And in the active section of Sota water rubarb i did the script starting conditional. and in the entries section for Stue stue cook the stew i did the script setlocalboolean. I really need help.

 

The Starting List has 2 nodes each structure;

Index(DWord) (That point to the entry list)

ResRefActive (Conditional script to show if it should appear or not)

 

The script to set the local boolean should not be in the Starting list, it should be in the Entry list section "Stue Stue cook the stew" node's ResRefScript field there. This will set the boolean as it plays, then the next time you talk it should say "sota water rubarb".

 

If that doesn't work try changing your local boolean number you are setting (IE from a 3 to a 4), and see if it works then.

 

I think! :D

Link to comment
Share on other sites

OOOOOO! you know what im talking about!?!? Im not sure how the wedding goes down but im pretty sure you are right, Was cole the source?!?!, Anyways,

you dont have to worry yet glamador, unless these guys cant help me. BTW You said you wanted to do a voiceover, send me your voice saying anything as long as it is a sentance and i will see who you should be.

Link to comment
Share on other sites

Originally posted by RedHawke

The Starting List has 2 nodes each structure;

Index(DWord) (That point to the entry list)

ResRefActive (Conditional script to show if it should appear or not)

 

The script to set the local boolean should not be in the Starting list, it should be in the Entry list section "Stue Stue cook the stew" node's ResRefScript field there. This will set the boolean as it plays, then the next time you talk it should say "sota water rubarb".

 

If that doesn't work try changing your local boolean number you are setting (IE from a 3 to a 4), and see if it works then.

 

I think! :D

Yes but i dont have set localboolean in the starting list, i have the starting conditional boolean in the starting list, setlocalboolean is in the entry already.

Link to comment
Share on other sites

Originally posted by Gsccc

Yes but i dont have set localboolean in the starting list, i have the starting conditional boolean in the starting list, setlocalboolean is in the entry already.

 

Did you try what I said before you replied? :confused:

 

Use a different local boolean number and see if that works! :D

 

EDIT: (After the fourum went on the fritz and wouldn't load for me)

This has happened several times to me in various places, and simply changing the LocalBoolean number I was using did the trick.

 

I hope this helps! :D

Link to comment
Share on other sites

Still not working, maybe it has to do with the OBJECT_SELF thing?

 

Of course, you have to design your dialog tree so there's no other points of re-entry also.

Perhaps this has something to do with the problem, explain how i design it so there is no points of re-entry, what are the re-entry points?

Link to comment
Share on other sites

It probably has to do with the object of the boolean, try this for the set local boolean script;

 

void main() 
{
int nBoolSlot=1; //any number 0-7
SetLocalBoolean(GetFirstPC(),nBoolSlot,TRUE);
}

 

And for your conditional.

 

int StartingConditional() {
return (!GetLocalBoolean(GetFirstPC(),1)); 
}

 

Remember to match the number here (),1)); with the one you set in the first script.

 

And see if those work for you.

Link to comment
Share on other sites

Try changing the number you used in both scripts, like if you used a 1 then try 2, and see if that helps.

 

And if that fails then go back to using a 1 in the scripts I just gave you and use this script in the staring list field that points to the first "stew stew cook the stew" line.

 

int StartingConditional() {
int i = GetLocalBoolean(GetFirstPC(),1);
if (i == 1){
	return FALSE;
}
return TRUE;
}

 

This should cut that first stew line off at its knees, and give it no choice but go to the second line! :D

Link to comment
Share on other sites

Originally posted by Gsccc

oops, I had swaped them by accident, i put the conditional where the set was supposed to be and vice versa. I tested it correct and now it is back to the Sota water rubarb only.

 

But does the first Stew line fire properly, the first time only? Does it work like you want?

 

Originally posted by Gsccc

is there supposed to be a ! before the GetLocalBoolean?

 

I believe so, that line is used in TK102's Zaalbar finds Items script and I have used it also, so yes the ! is supposed to be there, though I have only a vague idea why! :D

Link to comment
Share on other sites

Well redhawk, thanks for your efforts, im just not getting this. Something is wrong i dont know why, well, I'll wait till the morning. Seriously, if this cant be figured out then, I just dont know guys.

 

Perhaps its the fact that my dlg is a one liner?

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.


×
×
  • Create New...