PDA

View Full Version : Help: LSP-DSP / Influence gain loss


Bezurn
09-26-2005, 12:42 AM
Hello everyone, first time poster.

I stumbled across KoToR tool as well as a number of other very fine tools created by the community and have been pouring over them for the last 24 hours. My initial drive was to find all the items in the game, and KT did a very good job once I figured out where everything was stored.

My second curiousity was to be able to know what actions and conversations throughout the game earned and lost force alignment and influence. I do have some previous experiance with module building and scripting in the NWN toolset a few years back, so most things are familiar after I sit and brushout the cobwebs.

Yet I seem to be at a roadblock here as I haven't been able to figure out how lightside and darkside points stored in the files.

I am working out of module 101Per(_s).rim and 101PER_dlg.erf

In the dialog file I see that at the tail end of the conversation with Kreia two scripts are run.

"make sure you're all right.." OR "Stay out of my way..." calls a_kreia_med.ncs - which simply moves Kreia back to meditation mode if sion hasn't arrived yet. And then the next line, "I leave you to the explorations of this place..." calls a_global_set in both instances (light and dark response). This file is located in the Bif / scripts / uncompiled section. There must be another layer that I haven't found that records your options and gives you the proper alignment shift.

That is as far as I have been able to chase the bouncing ball. a_global_set is fairly simple

void main()
{
string tString = GetScriptStringParameter();
int tInt = GetScriptParameter( 1 );

SetGlobalNumber(tString, tInt);
}

When I do a search on GetScriptStringParameter() in nwscript.nss I get
// DJS-OEI 6/21/2004
// 831
// This function will return the one CExoString parameter
// allowed for the currently running script.
string GetScriptStringParameter();


so this just appears to be a function prototype. So my question becomes where do I find the currently running script that is playing during this conversation so I know what values it is passing to these functions.

I would like to go through the game and figure out how certain options affect your light side and darkside rating, as well as influence gains and declines baised on action. I'm pretty sure that there are varying degrees of incriments / decrements of light / darkside points, but I am curious about the influence gain / losses as well.

Of course all of this wouldn't be neccassary if the engine would simply tell you the amount of shift in these values as they occured in the log, but I have not seen any indication. Hence me trying to pry into the inner workings of the code to gain that insight.

If anyone knows more on this subject then I'd really appreciate your help in any way.

Thanks for all that this community is doing and I hope to try out some of these mods after I have exhausted the original title some more!

REDJOHNNYMIKE
09-26-2005, 12:59 AM
I don't know a thing about scripting yet, but I think Kotor tool's dialog editor tells you what scripts are fired during each dialog line,
hope that helps:)

And WELCOME TO THE FORUM:D
don't think everyone around here's as dumb as me though;)

Achilles
09-26-2005, 01:08 AM
Bezurn,

Welcome to the forums. As for how influence is stored, I really can't say. As for increments, it appears that the devs orginially intended to have small, medium, and large influence shifts, however had to back out at the last minute and set everything to 8 (the original "large").

Some areas/conversations are still a little buggy. For instance, the Refugee Quad on Nar Shaddaa has its own influence scripts which appear to have some variation but are mostly set to 2. Additionally, the dialog for Lootra has influence shifts of 1.

I am nearly finished with a complete influence walkthough and general guide. The guide shows every influence opportunity in the game, whom it affects, any alignment shift that are associated with the dialog, etc, etc. The walkthrough gives a pretty detailed blow-by-blow account of how to get to 100 or 0 with various NPCs based on your alignment. Truth be told, the work is all done, but I took a break at about the 98% mark and haven't picked it back up since.

I've been working with some of the moderators to see about getting it posted on Star Wars Knights when it's finished, but I'll be happy to share what I have if you need it right away. Just shoot me a PM if you're interested.

I hope that helps to address at least a few of your questions (and saves you some leg work :)).

Bezurn
09-26-2005, 01:46 AM
Thanks for the welcomes :)

Sure I'd be glad to take at look at what you've gathered. I did find the light / darkside value in the save game editor, so if push comes to shove I could play through a few times and see how this number changes after every LSP / DSP.

I'm still curious though if anyone could help someone new to KoToR modding as to where these original values are stored. Just something unsettling now that I'd like to solve for the puzzle more than anything now :)

Thanks again for the replies.
Bezurn

Bezurn
09-26-2005, 06:32 AM
Aha! After a bit more floundering around with KTool and the Script Decompiler I decided to check out some other tools. Turns out that KTool doesn't offer as much detail about the conversations as it could, and the answers were there all along. Thanks to the DLGEditor I was able to see the parameters I had been missing and the associated script calls that weren't in KTool. Thanks to Tk102, Fred, and everyone else involved in bringing these tools to the public.

Now I can pour over the dialog files and evaluate the possible paths any of my other characters can take. But for now I think I'll beat it without 'cheating' :D

Thanks to those that offered help and support.

(did you get my last PM Achellies?)

Achilles
09-26-2005, 10:49 AM
Careful, there are multiple scripts that you need to look out for. The devs didn't make it that easy. :D

..and yes, I just got it.

Darth333
09-26-2005, 11:46 AM
BTW, you might check tk102's findrefs utility (http://www.lucasforums.com/showthread.php?s=&threadid=137588): it's most useful when you want to search the game files, including scripting functions, globals, file names, text references, etc.

And welcome to the forums :)