PDA

View Full Version : Script Questions for Simple Mod


kdsphantom
10-16-2005, 03:19 PM
Hiya,
I'm trying to make a simple mod, where you meet a guy, lets call him Joe. Joe asks for help and it gives you a bad guy to kill. Then after you the kill bad guy Joe needs help with another thing.

I have a few questions about a few things, thank you in advance for help :)

I dont think I quite understand how to make the conversation with Joe, so he only tells you about the 1st bad guy, until you kill that bad guy and go back to Joe. I'm thinking it would be along the lines of a talk/fight/talk dialog.

In this thread im still have problesm with that atm Sun 16th noon
http://www.lucasforums.com/showthread.php?t=153822

But back to Joe if i used this script in his root dlg conversaton file
the conditional

int StartingConditional()
{int nResumeTalk = GetLocalBoolean(OBJECT_SELF,0);
return nResumeTalk; }

Then have 2 splits of dialog one for before you kill Joe's bad guy and one after. This is the script before, just to summon bad guy and in case I can use AddJournalQuestEntry commands for the after dialog part.

void main()
{AddJournalQuestEntry("testzombie1",1);
CreateObject( OBJECT_TYPE_CREATURE, "n_forcezomb01", Location(Vector(40.727780,-4.758573,0.00), 0.0));
AdjustAlignment( GetFirstPC(),ALIGNMENT_LIGHT_SIDE,5);}

Spawns bad guy, and gives a quest. This bad guy, "n_forcezomb01" is the one im trying to use the talk/fight/talk scripts with, where I havent been able to get his faction to change in the other thread.
But back to Joe after you kill "n_forcezomb01" in his GFF on death script I have this script to run called "deadguy"

void main()
{GivePlotXP("testzombie1",20);
RemoveJournalQuestEntry("testzombie1");}


So it finish's that quest now in Joe's Dialog what/where do I have it open up the After bad guy is dead to move on part? In the conversation editor is that the part that says "Script that determines if node is available", can that be the condition for opening up that dialog IF a script has run? So if "deadguy" fired then Joe will tell me more?

Or can it be a condition of that quest I created? I realize that I created the quest from a script and not editing the global so the quest appeared in the quest window with a blank description and title. Or is it best to just leave quests alone, and deal with it in dialog/scripts?
sorry for long post just trying to give as much information as possible.
thank you
kdsphantom

Darth333
10-16-2005, 05:57 PM
Is this for Kotor or tsl?

"Script that determines if node is available" ->yes, this is what you have to use. You have to plant a conditional script there but if it's for kotor 2, use tk102's dlg editor as many fileds are missing from the kotor tool dlg editor.

You can edit the ondeath script to add a line like this, using a variable to track your plot:

SetGlobalNumber("MY_PLOT", 1);

note: if you use a global variable, you will have to edit globalcat.2da or reuse an existing global variable that is no longer use in the game such as 001ebo_3cfd_repaired for Kotor 2 (it's used at the beginning of the game only so once you've passed the introduction, you are free to use it again)

then, in the Script that determines if node is available you use something like this:
int StartingConditional()
{
return (GetGlobalNumber ("MY_PLOT") == 1);
}


In Kotor 2, you can use a_global_set.nss to set the global and c_global_set.nss to check the global to cut down the scripting part: http://img.photobucket.com/albums/v144/Darth333/paramcopy.jpg

Make sure this conversation node is on top of the other ones as the game will start reading from top to bottom and will stop at the first node that meets the conditions.

example:
Entry 1 - no condition: "hello!"
Entry 2 - condition- the guy is dead: "finally, we got rid of him"

In the above example, the dialogue would "stall" at entry 1 as it meets the conditions (there are none), no matter what.

However if you place it like this:
Entry 1 - condition- the guy is dead: "finally, we got rid of him"
Entry 2 - no condition: "hello!"

The game will start checking if the condition for entry 1 is met and if yes the npc will say that line, otherwise it will go to entry no. 2. If this is just confusing you, please say so and I will try to explain otherwise :D

kdsphantom
10-16-2005, 06:39 PM
Hello and thank you :)
1st this is for TSL kotor2

Ya, atm im trying to avoid 2da files like the plague, just trying to make playable module's that are forward and backward compatible, this still my first using a helloween type atmosphere as a learning experience. But did i understand that, could use TSL scripts to get title and description? or the only way to get that is to edit the 2da global ?

Im reading and trying to grasp it all ) and I think, stressing the think part that i have it, I'm going to go try and add this all into the script parts and see if it fires.

And from the talk/fight/talk script im trying to get to work on this thread
http://www.lucasforums.com/showthread.php?t=153822
(heh btw if you have a moment to check out, I use edit, to keep adding information there on my probnlem with that but i dont mean to bogart your time)
But i think i made the conversation right just like you said in 2nd example.

I thought i had downloaded and installed ALL the tools from the great http://www.starwarsknights.com/tools.php
(ya i know shameless plug but it is great) but i guess i had missed that i dunno why =/ and that might help my talk/fight/talk problem to boot.

SO ok im installing and using TK's program and seeing if I can use the quest conditional to move to next part of dialog. Question can you have 3 or even more?
Like in your example::
Entry 1 - condition- the guy is dead: "finally, we got rid of him"
Entry 2 - no condition: "hello!"

Becomes::
Entry 1- more conditions- "I even have another problem"
Entry 2 - condition- the guy is dead: "finally, we got rid of him"
Entry 3 - no condition: "hello!"

thank you angel
kdsphantom

EDIT:: 2nd EDIT
Ya, I dont think I understand a_global_set.nss or c_global_set.nss
by the file type i see scripts that need be compiled? and in your photo you place them in the there boxes. Do I need to find and compile those 2 scripts? and place them anywhere or are they good to go? like the game knows to use them where ever they may be?

Now using tk102's dlg editor. Heh not sure how I missed it but lord knows I have done dumber things. But it works great, having alot of fun with it, but still not able to fix this. But i do think i am learning, thou im sorry its at such a slow pace =/ but thank you for your patience.
kdsphantom

brwarner
10-16-2005, 10:18 PM
My dlgeditor by tk102 doesn't have all that conditional stuff. I checked and I have the newest version v1.08.

Edit: Nm there was a newer version, didn't see it

kdsphantom
10-17-2005, 08:10 PM
hello
Tues 18th 5pm, thanks to stoffe and darth333 all the other threads i read literally 100's this whole place ) and bunches and editing the global 2da file as darth333 script angel said worked, thou atm i cant seem to make it more then 2 dialog options, but thats okies for now )
thank you again !

still stuck on this conditional, (really for both my current posts) I cant seem to move to the 2nd tier of a Dialog, Now thou i have built my dialogs reversed that is conditionals on top
example:: Root Dialog,
1st entry-(conditional)(with script)-now that you have killed that guy can you clean my house?
2nd Entry-(no conditions)hiya, help me kill that guy.

Im trying now to rip a destructive heh path into the global2da file to see if i can follow those instructions :) but from above conditional script is

int StartingConditional()
{return (GetGlobalNumber ("testzombie1") >= 2);}
this wont work i think, its not a real equation, or well i couldnt get it to work


My other question is there a naming convention i missed? Like in my other post i cant change the faction of a guy from neutral to hostile with this script :

void main()
{object oNPC=GetObjectByTag("n_devaronian01");
ChangeToStandardFaction(oNPC, 1);
AdjustAlignment( GetFirstPC(),ALIGNMENT_LIGHT_SIDE,5);}

The Alignment Adjust is in there only to see if the script fires, which it does, in both cases, but in neither case can i get a conditional or the conditional to fire itself.
But in the naming conventions, did i miss one? In the dialog the DLG file, it can refer to several scripts, actually it seems to me alot, should they be named something particular? And at this point im really grasping at straws, I realize i have missed something that im making an error, it just looks like everything is working fine.

I am about to post in a different part about packiong the module or like the module file, atm working with this module tyring to put it together i just been putting files into my override folder, and the mod file itself into the mod folder. The game seems to work fine, im able to warp into those places, kill the guys i have set up, and talk to, have these conversations the dlg files i have built.
Am i perhaps not even using KT tools right in that sense that i have to pack my files better and not have them in the override? i dunno heh
but thank you
kdsphantom