So, I started off rather simple - learn how to mod by replacing T3M4 with another droid that is basically HK-47, but melee focused.
I have the scripting down to put the droid in my party, and a dialogue tree to add him.
And then I start to mess around, and notice that I can't equip melee weapons.
From reading here, it seems like this is an inherent property of droids, something that cannot be changed. Which lead me to my new plan, which I kinda prefer, but goes a lot farther beyond what I know:
I have my droid. Base, he has a high strength. So his damage is, say, 1+7 str, for 8 damage. He can't use melee feats either, so I need something to make him interesting.
(I'm updating as I go, so I keep editing bits of the thread. ;) )
Natural items seem to be my best bet. I've created a custom hide item, and figured out how to apply that, so that's working. He has the abilities I want it seems. Also, I've tested them, and it seems like the combat droid uses slam attacks, so I've created a number of hidden natural slam items that have different bonuses.
I want to have a dialogue that gives the option to focus him. I'd like to have an HK-47 type progression, where, as he levels up, new options come available.
My plan for this is to create scripts for his dialogue. Conversing with him would go something like this:
Droid: "What purpose would Sir like to give This One?"
Choices:
"Organic Reclamation" (Increased melee damage)
"Organic Purification" (doing additional fire damage)
"Organic Preservation" (doing addtional cold damage)
"Organic Decomposition" (doing poison)
Then, I think, I can write scripts that, based on the choice selected, put different hidden items in his slots?
Then, to make it more complicated, I'd like to level check it, such that if he's level 6+, he gets "Advanced Organic Reclamation" or the like, which adds more damage.
If that isn't doable, then simply increase the options as he levels.
I'd also like to use that to allow the PC to buy upgrades to his armor - sort of how HK upgrades, but do it via a dialogue and spending credits, rather than skills.
I know this is fairly complex, but are all of my ideas technically feasible?
Current issues:
I set him to the Mark_One_Red model. Everything is great, unless he gets knocked out. Then half the model clips off until I change zones. Any thoughts? Looking at it, I think it's because the Mark_One_Red model explodes when it goes to 0 hp. Then there's nothing left on the top once he stands up. Can I edit that?
He doesn't have a portrait. I set it to be T3M4, just for testing, but it's blank, and on the character selection screen, there's just a blank box. Dunno why.
Then, I think, I can write scripts that, based on the choice selected, put different hidden items in his slots?
That's easy, go to the "frequently used script functions" thread in the scripting tutorials page. it shows you how to add the item into your inventory and how to equip it to somebody
Looking at it, I think it's because the Mark_One_Red model explodes when it goes to 0 hp. Then there's nothing left on the top once he stands up. Can I edit that?
how about changing the bodybag from the .utc editor?
Referring to your levels adding new options, you could look at scripts.bif and find a conditional source script... as far as I know it's possible.
Those are the only answers I can come up with, anyway. Good luck.
The bodybag change didn't do it - I tried that, but that's not relevant, I think, because it's after the death animation.
I suspect it'll be creating a new model or editing the appearances.2da file. But that's a later problem. ;)
I'll look at those scripts - I'm stealing the HK-47 ones too.
New questions:
1. Does anyone know the name of the variable for the weapon? I tried CWEAPON1, which is in NWN, but the compiler crashes on that.
2. Any idea why my dialog won't launch? It exists, I've saved it, and referenced it, but when I click on the PC, I get nothing.
did you put the name of the dialogue in the conversation slot in the NPC's .utc file?
did you put the name of the dialogue in the conversation slot in the NPC's .utc file?
Yup.
Then I created a new dialog file that was simply one line, and referenced that, and it still failed.
Is there more to it than simply creating the dialog file and putting it as "dialog" in the Kotor Tool?
I haven't made any changes to appearance.2da, or to dialog.tlk - should I? Or did I do something else wrong, somewhere?
huh.... to be honest, I haven't delved into this stuff much. Might wanna seek out some of the well-known modders, like tk102, stoffe and all them...
Edit: Oops, sorry RH. didn't mean to be rude
FYI but volunteering others for something is rude, and considered spam around here, no more ok? -RH
So, I suspect that the no dialog issue was a function of me reloading the game 100x in an hour. When I came back to it today, my droid would initiate dialogue. But I can't see his responses, now. I see my options, and the conversation progresses, but he doesn't say anything.
Thoughts on that one? ;)
I am able to get him to swap his hides by telling him to do so, and launching a script, so that's promising.
You can make him equipt mele weapons by changing his race in the utc file.(not tested)
You can make him equipt mele weapons by changing his race in the utc file.(not tested)
But then he'd lose access to the droid items, wouldn't he? I want the best of both worlds. ;)
Although, at this point, I'm pretty happy with the creature weapons, assuming I can figure out how to change them. Gives him a unique bit, that he has customizable weaponry.
New questions:
1. Does anyone know the name of the variable for the weapon? I tried CWEAPON1, which is in NWN, but the compiler crashes on that.
The creature weapon slots can be referenced with the constants INVENTORY_SLOT_CWEAPON_L (left hand), INVENTORY_SLOT_CWEAPON_R (right hand) and INVENTORY_SLOT_CWEAPON_B (bite). All the global constants usable by scripts are listed in the nwscript.nss file if you need to look them up. :)
The creature weapon slots can be referenced with the constants INVENTORY_SLOT_CWEAPON_L (left hand), INVENTORY_SLOT_CWEAPON_R (right hand) and INVENTORY_SLOT_CWEAPON_B (bite). All the global constants usable by scripts are listed in the nwscript.nss file if you need to look them up. :)
Spectacular. I've been modding for all of three days at this point, so I don't know all the resources yet, aside from what I've hit flailing around in the stickies.
I'll check that out tonight.
For those of you keeping track:
I now have it to the point that the droid successfully has a dialog. I'm working on conditional pieces. From what I can tell, Kotor doesn't really have the ability for me to set new boolean variables, like "InstalledFooModule"
Is that right?
If not, what's a good way to do it? My current thought is that each piece you buy creates a quest item in your inv, and then I have a script that checks for that piece to run, but that's not very elegant.
I'd like to do it with feats, but it appears that you can't add feats in Kotor, only TSL?
Okay - very nearly done now.
I have two remaining issues/wants for v1.
1. I still can't get a portrait. I don't know what's up with that. I set it in the UTC, save it, then open the UTC again, and it's ****
Do I need to mod appearance.2da?
2. I can't figure out how to check if the PC has enough credits. I have a dialog option to purchase an item for 6k credits, but even if I have less than 6k credits, I can buy it. I can't see any references in nwnscript to credits in inv. Is there something out there?
For your first problem, you need to edit portraits.2da file.
2. I can't figure out how to check if the PC has enough credits. I have a dialog option to purchase an item for 6k credits, but even if I have less than 6k credits, I can buy it. I can't see any references in nwnscript to credits in inv. Is there something out there?
If it's in a dialog you can use a conditional check script on the dialog node that looks something like:
int StartingConditional() {
return (GetGold(GetFirstPC()) >= 6000);
}
I forget the NWN base of the game.
A more clever person might have noticed that the script to take money used gold, and gone from there. Thanks!
This should be ready to release (beta at least) in the next couple days.
Thanks to everyone that's helped me out!