Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Neverwinter Nights: Enhanced Edition has been released! Visit nwn.beamdog.com to make an order. NWN:EE FAQ is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE, PST:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

modding newbie questions

amikaamika Member Posts: 34
edited June 2016 in General Modding
i am brand new to modding as of like a week ago, and truth be told i've never even coded anything more difficult than baby html and css for babies before.

To start easy, I just began adding to existing NPCs. In particular, Dorn felt a little strange in SoA after he got all this great character development in SoD, so I wanted to update the interactions with him, also because I am such an orc hound. Now you own my shame and secrets.

Is it generally a faux pas to modify existing NPCs? I want to... not to be a total jerk about adding onto someone else's writing. Is it a compliment? Because I got so attached to the NPC? I know nothing.

Anyway,

1. I put a vampire quest in Dorn's romance track because I could check my work against existing code - but I can rely mostly on append and extend because it's almost all new content. It works, but some of the code feels a little unnecessarily destructive. I replaced the dialogue block that includes the cutscene where Bodhi would normally fail to capture Dorn and had it reference my new cutscene, for example, so I was wondering if there was a less destructive way to replace that one line?

from bodhiamb.dlg
IF ~~ THEN BEGIN 26 // from: SAY #95199 /* ~You will submit to me, Dorn—one way or another.~ */ IF ~~ THEN DO ~ClearAllActions() StartCutSceneMode() StartCutSceneEx("OHDBODH1",FALSE) // < I only need to change this one. ~ EXIT END
Similar case for his final lovetalk which references a variable that doesn't exist instead of his patron variables, or (maybe this is a little different) if I want to make an existing dialogue reply set or increment a variable.

2. I'd like to modify a few existing bcs files, inserting variables, etc. I'm not sure how to do this because there's no state numbers or anything to reference. I am under the impression it has something to do with... patching in the .tp2 file? But all of the forum post/tutorial explanations I could find seem to be a little too sophisticated for me at the moment.

Say I want, depending on a timer, a different overhead string/journal entry when Adalon dies. I'm not sure how to insert a variable/timer into the "if" part here:
IF Die() !AreaCheck("AR2402") THEN RESPONSE #100 SetInterrupt(FALSE) SetGlobal("DrowCityHostile","GLOBAL",1) EraseJournalEntry(15797) AddJournalEntry(62079,QUEST_DONE) ActionOverride(Player1,ApplySpell(Myself,UNDER_NORM)) ActionOverride(Player2,ApplySpell(Myself,UNDER_NORM)) ActionOverride(Player3,ApplySpell(Myself,UNDER_NORM)) ActionOverride(Player4,ApplySpell(Myself,UNDER_NORM)) ActionOverride(Player5,ApplySpell(Myself,UNDER_NORM)) ActionOverride(Player6,ApplySpell(Myself,UNDER_NORM)) DisplayStringHead(Myself,62029) // ~With your attack on the dragon, the drow illusion fades away.~ SetGlobal("PlayerLooksLikeDrow","GLOBAL",0) SetInterrupt(TRUE) END
3. I understand why referencing string numbers should be avoided, because everyone is going to end up with different string numbers depending on how many mods they install, etc. Is it okay to reference strings from the vanilla install since they'd be the same for everyone?

Thank you!

Post edited by amika on

Comments

Sign In or Register to comment.