Jump to content

use of Find Familiar by a character in MP mode


Lemernis

Recommended Posts

Another noob question about this:

 

I can copy and rename the Summon Ghast spell, then make a script that calls for it. (And then the player simply assigns that custom script to Parda in-game.) And I can make the .BS script file (PARDAFAM.BS we'll call it) available for folks to stick in the game's "scripts" folder. But the new spell that based on Summon Ghast that conjures a fairy dragon instead, SPINSFD let's call it, it doesn't look like that can just be placed in a "spells" folder in the BGEE directory, as I don't find such a folder there... Or is there a file folder location that it could simply be extracted to?

 

Reason I'm asking is I have made the Parda.chr, and Parda.bio. available for people to download and just stick in the "characters" folder, and can now do the same for the PARDAFAM.BS file by having folks place it in the "scripts" folder. But they do need that custom spell for all of this to work. So... can the new SPINSFD be extracted as a zip file to the spells folder? The broader question is: what is the simplest way for a player to get that new spell into their game (short of making a mini-mod)?

Link to comment

Ah! So not just SPINSFD, but also Parda.chr., Parda.bio,, and PARDAFAM.BS can all be placed in the override folder? That would rock. I'll have to have someone confirm for me that it works once I get it all together. I mean, even if the files are placed in specific locations (Parda.chr. and Parda.bio in "characters"; PARDAFAM.BS in "scripts"; and SPINSFD in "override") that isn't making anything too complicated for someone to avoid using the character. But everything in one folder (override) is certainly easiest of all. Thanks!

Link to comment

Ah! So not just ...

Actually if you do it just locally and in a Enhanced Edition game, I would place everything in the game folders "movies" folder, cause the files there overwrite everything else. Including the games own patches, unless they rearrange that with a patch... :D

Link to comment

Thanks Jarno, that's excellent!

 

Okay, I need to do some tweaking to the spell yet since the SPINSFD spell is still named "Summon Ghast" and it makes the ghast's gurgling growl sounds. When I click on "Spell name" I get a StringRef box in which to edit the name. So that seems simple enough. But in which box do I change the summoned creature's sounds to none (well, assuming that a fairy dragon has no attack noise... or does it?). And I guess I might as well also change the spell icon to Find Familiar. Where do I find the code for that icon?

Again thanking you for your patience and assistance. :-)

Link to comment

So for all 18 of my Candlekeep characters for an MP game I could make a zip file of the portraits, .chr files, .bio files, and these files for Parda (custom spell and script), and they can all be extracted to the 'Movies" folder? Or do the portraits still have to go in the portraits folder?

 

If I go to the trouble of creating custom soundsets for the Candlekeep characters I've made using DLTCEP (I still have a trove of old ones for the original games that I could revise for BGEE), if those custom soundsets are also places in the movies folder would that work as well?

Link to comment

Or do the portraits still have to go in the portraits folder?

No.

But in which box do I change the summoned creature's sounds to none

Well, as well as I know it, you should edit the .cre file and make the sound be "no such index", they start from 0x00a4 byte(as in set the StringRef to be -1).

Link to comment

Hmm. I created SPINSFD by exporting SPIN115, which allowed me to Save As a newly named version of the spell that appeared in the Override folder. I Saved As SPINSFD. Then opening SPINSFD in the Override folder I changed the spell name from "Summon Ghast" to "Summon Fairy Dragon" and changed the spell icon to the one for Find Familiar. The change to the spell name required modification of the StringRef 25903, and I "updated value" as such (as well as for the change to the spell icon).

 

But I now see that the spell name for SPIN115 in NI's Spells directory is changed to "Summon Fairy Dragon" as well. I'm not sure why that would be. And when I tested the PARDAFAM.BS script again in-game it did not work. I was expecting that when I assigned the PARDAFAM custom script to Parda in-game I would see the message "Parda has gained the special ability Summon Fairy Dragon" (as it had done for Summon Ghast before making these edits), but that did not happen; and the innate abilities icon doesn't open anything.

Link to comment

The change to the spell name required modification of the StringRef 25903, and I "updated value" as such (as well as for the change to the spell icon). But I now see that the spell name for SPIN115 in NI's Spells directory is changed to "Summon Fairy Dragon" as well. I'm not sure why that would be. (?)

Because you didn't change the string reference, but the text in the string. The two sentences are related, so I quoted them purposely as the same narrative.

Usually if you want to add strings to the game, you do it with a renamed Weidu.exe and a .tp2 function when you copy the spell, like so:

BACKUP ~mymod/backup~
AUTHOR ~Lemernis~

//README ~<filepath>.txt~
VERSION ~beta 1~

BEGIN ~Summon Fairy Dragon spell~  
COPY_EXISTING ~spin115.spl~ ~override/spinsfd.spl~
SAY NAME1 ~Summon Fairy Dragon~
SAY NAME2 ~Summon Fairy Dragon~
The reason why you need to rename the weidu.exe as setup-mymod.exe, is that it takes orders from the setup-mymod.tp2 file.

Welcome to the weidu moding.

Link to comment

Jarno, thanks! So perhaps making this a mini-mod might actually be fairly simple?

 

I mean, if I'm going to be using weidu.exe, I might as well then also have it place the other files for this collection of characters (the portraits, .chr and ,bio files, and I think eventually custom soundsets) where they belong. Is that easily done?

 

I found this tutorial for adding custom soundsets; and once I learn how to create them and decide on the ones I think best match the characters in the collection, I would want to have weidu place in them in the Override or Movies folder as well.

 

I think it's probably easiest to keep this simple just as the necessary files for a MP game party of six. If you can provide any further direction I will certainly appreciate it, but I realize you must have projects of your own to work on and FWIW will understand if you can't.

 

***

 

None of what follows is for any time soon but just thinking out-loud:

 

This does have me thinking though that one day as a future project I might try to get some practice with mod-making by taking the next step with this, and add the characters I created as joinable NPCs. They are:

 

Bendalis
Carbos
Dreppin
Erik
Fuller
Hull
Jessup (I'd have to commit to one of the two versions)
Jondalar
Karan
Parda
Phlydia
Piato
Reevor
Shank
Shistal
Theodon

 

The mod would:

  • Remove those characters from the game and replace them with my versions as joinable NPCs.
  • Do away with the fetch-it quests and the assassination attempts before departing Candlekeep.
  • IIRC the only characters from among the collection scripted to interact with the party are Theodon, Jessup, Bendalis, and Piato (in Chapter 6 of course). (Karan and Parda wouldn't spawn in the Prologue because the assassination attempts by Shank and Carbos are removed.) I would place those characters somewhere on the Candlekeep grounds in the Prologue; and in their locations within the library per the game if they are not selected as party members at the start. Those four scribes would be scripted to respawn as joinable NPCs inside Candlekeep if they are not among the party members.
  • The scripts that Bendalis and Piato have to speak with the party I would assign to other monks on the same floor.
  • Remove the characters' dopplegangers in the eight side-rooms of the catacombs around the great hall where all the skeleton archers are. (I suppose I could replace them with the Chanter, the four Voices (of the cardinal directions), the two priests of Oghma, and the Gatewarden. But, really, those doppelganger encounters don't really add that much to the game imho. If only Winthrop, Gorion, Elminster, and Tethtoril appear down there as per the game that would be fine, I'd say... I would probably then relocate Winthrop to some place before Elminster, Gorion, and Tethtoril are encountered.)

And I'm not sure what script would be used to depart Candlekeep with joinable NPCs. Maybe an adaptation of the MP game script with one player when you're using a party of custom PCs?

 

Interestingly, as much affection as I have for these characters in the original game, doing all this would actually improve the game for me overall. The fetch-it quests I tend to do just out of habit; but certainly if a full party is recruited upon leaving Candlekeep there's truly no need at all for those quests. The dialogue with Theodon and Jessup is amusing the very first time, but thereafter is a fast click-through thing. The doppleganger encounters in the catacombs are at that point in the game beginning to feel rather chore-like. And after encountering Phlydia you're clued in that any familiar face down there is likely to be a doppelganger (although Arkanis and Deder are an exception), so you're really just map-clearing by killing them.

Link to comment

So perhaps making this a mini-mod might actually be fairly simple?

Well...

 

Is that easily done?

Well, this is fairly simple, you just copy the existing resources, and patch the .cre files to contain the added resource references.

 

I found ...

that tutorial is so bad, you don't want to loose yourself there at all, you should open a NPC mod's .tp2 file that contains the same stuff and do as they have done. Particularly capable tutorial examples are a few of the Kulyok(Olga Silaeva)'s one day NPC's, you can find many here: a part of the Branwen day one NPC's .tp2 example:

// This is my creature file, my .cre file. How to create it? Create a character in the game, export him, open him via Shadowkeeper and convert him to .cre. Or copy an existing .cre file. Near Infinity and DLTCEP help you edit your .cre.

COPY ~Branwen/Characters/O#Bran.cre~ ~override/O#Bran.cre~ // copy our .cre file to the game. Below I edit(patch) O#Bran.cre, adding a soundset, a bio, a dialogue file and other nice things.

SAY NAME1 ~Branwen~

SAY NAME2 ~Branwen~

SAY INITIAL_MEETING ~By the ice breath of Auril! 'Tis good to see new faces and taste freedom again.~ [o#bran01] // This text in square brackets means that BRANW01.wav is assigned here.

SAY MORALE ~Tempus, forgive my cowardice.~ [o#bran02]

SAY HAPPY ~I am proud to stand among such strong warriors.~ [o#bran04]

SAY UNHAPPY_ANNOYED ~Our actions are not those of warrior born.~ [o#bran05]

SAY UNHAPPY_SERIOUS ~What sort of craven cowards are we?~ [o#bran06]

SAY UNHAPPY_BREAKING ~I can no longer honorably work with such as you.~ [o#bran07]

SAY LEADER ~I have always dreamt of leading such a worthy band.~ [o#bran08]

SAY TIRED ~I'm tired.~ [o#bran09]

SAY BORED ~Damn the icicles of Auril. I'm BORED.~ [o#bran10]

SAY BATTLE_CRY1 ~Tempus! Give us victory!~ [o#bran03]

SAY BATTLE_CRY2 ~Tempus! Give us victory!~ [o#bran03]

SAY BATTLE_CRY3 ~Tempus! Give us victory!~ [o#bran03]

SAY BATTLE_CRY4 ~Tempus! Give us victory!~ [o#bran03]

SAY BATTLE_CRY5 ~Tempus! Give us victory!~ [o#bran03] // Branwen BG1 has very few sound files, so I have to use the same line over and over. You can use five different ones, however.

SAY DAMAGE ~~ [o#bran38] // There's no text when Branwen cries out in pain.

SAY DYING ~~ [o#bran39]

SAY HURT ~'Tis but a flesh wound.~ [o#bran11]

SAY AREA_FOREST ~I am always at ease in the forest. It reminds me of home.~ // If there's no sound file for the line, then it's going to be silent.

SAY AREA_CITY ~By Tempus, I love the big city!~

SAY AREA_DUNGEON ~Danger is about. Be wary, friends.~

SAY AREA_DAY ~Ah, I love traveling in fair weather.~

SAY AREA_NIGHT ~I can't see a thing. Are we craven thieves that we do not sleep?~

SAY SELECT_COMMON1 ~By Tempus' shield.~ [o#bran17]

SAY SELECT_COMMON2 ~What is your command?~ [o#bran18]

SAY SELECT_COMMON3 ~Hello?~ [o#bran19]

SAY SELECT_COMMON4 ~By Tempus' shield.~ [o#bran17]

SAY SELECT_COMMON5 ~What is your command?~ [o#bran18]

SAY SELECT_COMMON6 ~Hello?~ [o#bran19]

SAY SELECT_ACTION1 ~'Tis a fine day to die.~ [o#bran20]

SAY SELECT_ACTION2 ~If Tempus wills it.~ [o#bran21]

SAY SELECT_ACTION3 ~By Valkur's mighty blade.~ [o#bran22]

SAY SELECT_ACTION4 ~'Tis better to die on your feet, than live on your knees.~ [o#bran23]

SAY SELECT_ACTION5 ~May Auril bestow the frost kiss upon our enemies.~ [o#bran24]

SAY SELECT_ACTION6 ~By Valkur's strapping buttocks.~ [o#bran25]

SAY SELECT_ACTION7 ~A god's favor is fickle, at best.~ [o#bran26]

SAY SELECT_RARE1 ~To die in battle is the most glorious death of all.~ [o#bran40]

SAY SELECT_RARE2 ~Tempus would guide your wayward soul, if you let him.~ [o#bran30]

SAY CRITICAL_HIT ~Tempus!~

SAY CRITICAL_MISS ~Argh!~

SAY TARGET_IMMUNE ~Another weapon! Now!~

SAY INVENTORY_FULL ~I can carry no more. I had to drop it.~

SAY SPELL_DISRUPTED ~My spell!~

SAY BIO ~When asked about her past, BRANWEN reveals that she left her home of Seawolf in the Norheim isles at an early age. She was apparently reviled by her own people for wanting to become a priest, a station reserved exclusively for the men of the village. She harbors no resentment, realizing that her faith must face such tests or be worthless. She traveled the coast, offering her services to local militias, and eventually came into the employ of an adventuring troup in the Nashkel area. Branwen had no idea that the group was participating in banditry, however, and on their first raid she balked at attacking a caravan of unarmed merchants. She rebelled, and a mage named Tranzig turned her to stone in the ensuing fight. Despite the unfavorable outcome, Branwen feels that Tempus views her actions approvingly. To attack those that are unarmed is the basest of villainy.~

WRITE_ASCII 0x248 ~O#BranS~ #8 // override script where you put all the commands for lovetalks and such.

WRITE_ASCII 0x2cc ~O#Bran~ #8 // dialogue file where we'll put Branwen's greeting dialogue.

WRITE_ASCII 0x280 ~O#Bran~ #32 // death variable - when we want to refer to Branwen in the game, we'll call her O#Bran. For example, InParty("O#Bran") means that Branwen is in party.

WRITE_ASCII 0X34 ~BRANWES~ #8 // small portrait

WRITE_ASCII 0x3c ~BRANWEM~ #8 // medium portrait

 

// Are your sounds not running? Check that all filenames are used correctly. It might also be worth it to download and use DLTCEP to convert your .wav files in .wavc(converted wav, same extension) format for the game's use.

// Most mods now use .ogg audio files, if the mod is fully voiced. For instructions, look at Xan's Xan/Command files. But if you only have thirty or forty files, .wavc format should suffice. Branwen's files are in .wavc format.

 

COMPILE ~Branwen/Dialogue/O#BBran.d~ // All Branwen's banters with other party members will go here.

~Branwen/Dialogue/O#Bran.d~ // Branwen's greeting dialogue will go here.

~Branwen/Dialogue/O#BranJ.d~ // The rest of Branwen's dialogue: her commentary, interjections, talks with the player, lovetalks and everything else.

~Branwen/Dialogue/O#BranP.d~ // Branwen's leaving party dialogue will go here.

 

~Branwen/Scripts/O#BranS.baf~ // Branwen's script.

~Branwen/Scripts/O#BranD.baf~ // Branwen's dream script for events at rest. If you want your NPC to talk to you at rest, add scripting here.

~Branwen/Scripts/O#BranF.baf~ // Branwen's "fixing" script. Remember how various modders advised you to "select your NPC and press K"? Well, that's how they do it.

...

The reason to recommend these is that the featured comments(the text after each of the "//" markers) tell a lots of stuff in them, as the mods are actually build around being a tutorial and not an 'actual' mods. :D

 

This does have me thinking though that one day as a future project I might try to get some practice with mod-making by taking the next step with this, and add the characters I created as joinable NPCs. They are:

 

Bendalis

...

Part of good moding is considering the impact the one's changes make to the game, particularly if you can you SHOULD avoid compatibility disruptions, such as the one you are speaking here.

The proper way to do here, is to allow the NPCs to join the adventurer if such is desired via an additional dialog options. And not take anything away from the initial games. You might actually make the guest to be resolved to present the dialog option...

Link to comment

Thanks. Hmm. I have to wonder how many mods would actually be affected by those changes... Honestly, at least for myself I really do think I would prefer to play the mod as outlined. An if it is incompatible with some mods that's not the end of the world. I would just have to make clear which ones so that players can avoid experiencing the headache of incompatibility. In the balance I would rather offer the gameplay experience that I think is better.

 

I mean, compatibility issues aside, just from the gameplay aspect which version of the mod do you think you would be more enjoyable? I know it's subjective, but just curious.

Link to comment

I mean, compatibility issues aside, just from the gameplay aspect which version of the mod do you think you would be more enjoyable? I know it's subjective, but just curious.

The one that build with skill, as in; proper INTERJECT_COPY_TRANS'es to the already existing dialogs, that doesn't cut out original content and make it <MOD CONTENT inserted here !!!!> *flashing neo lights*...

It takes a little bit more skill, and effort.

 

I don't see how there would be any gameplay difference.

You must not have noticed the: Remove those characters from the game and replace them with my versions as (only) joinable NPCs (without their original content).

Link to comment

Archived

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

×
×
  • Create New...