Author Topic: A bit of help / direction please..  (Read 5358 times)

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
A bit of help / direction please..
« on: December 19, 2007, 06:05:51 AM »
Okay After spending the better part of the day yesterday (it's 6am cst right now heh) going through sites upon sites about Moding games with the Infinity Engine.. I've decided to do some Modding myself.
My programming experience is rusty, and not a lot of it at that.. However I've done Itemization for MMORPGs (mostly Conceptual work), it is something I really enjoy doing.
But anyway on to the point of this post.

My ideas are to Modify BG1+ToSC in a few ways.
Primarily I want to create a true "Bard" Class.  To do this means I want to do the following:
A) Create "Songs" that the Bard can use in place of "Spells"
B) The New "Songs" will not be restricted as the Wizard Spells are (Can use them while wearing any armor)
C) The New "Songs" will be variations of Single Target Effects, Single Target Damage, Area Effects, Area Damage, Group Effects.
D) Creation of new "instruments" as Items that can be Worn (Thinking Quiver Slots, as the items will be worn just for effects)

I have already created Rough Item & Spell Concepts.. about 14 Items and 17 Spells.
But now my Problems...
I have not been able to find anything that explains how I can extract (if it's even possible) the different Items to see what they Look like so I can determine which to use as the Icons/appearances/effects/etc..
Also I honestly do not know how to get what I made into BG1+ToSC where it's recognized and working.

I have the following Programs Installed and used most of them to make the Items / Spells:
IEEP, NI, WeiDU, WinBIFF

Any help at all is greatly appreciated!
-Slayn IE Modding Noob

Offline Kulyok

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 6253
  • Gender: Female
  • The perfect moment is now.
Re: A bit of help / direction please..
« Reply #1 on: December 19, 2007, 06:18:12 AM »
Hey, welcome to PPG.

You will be able to start with NI. Since you say you've been able to extract items already, it seems you have some knowledge. I myself use this program for extracting items and spells: usually, it helps to start with an item you know something about(for example, use a search function to find the Gauntlets of Ogre Strength) and read its properties(in the end of item description), one by one. Export button will save your item under another name(so you don't change the original files). Then try to copy and paste properties from another item, say, from the Gauntlets of Weapon Expertise. This is the simplest bit. Also, download IESDP at http://iesdp.gibberlings3.net - this small database has all descriptions for every effect and every property.

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #2 on: December 19, 2007, 07:54:39 AM »
My ideas are to Modify BG1+ToSC in a few ways.
Primarily I want to create a true "Bard" Class.  To do this means I want to do the following:
A) Create "Songs" that the Bard can use in place of "Spells"
B) The New "Songs" will not be restricted as the Wizard Spells are (Can use them while wearing any armor)
C) The New "Songs" will be variations of Single Target Effects, Single Target Damage, Area Effects, Area Damage, Group Effects.
D) Creation of new "instruments" as Items that can be Worn (Thinking Quiver Slots, as the items will be worn just for effects)

In order to cast the new spells while wearing armor, you will need to implement them as innate abilities (SPINxxx.SPL). It cannot be done with wizard spells (SPWIxxx.SPL) since armour prevents their use and while it might be possible with priest spells (SPPRxxx.SPL), innate abilities are easier to use. Adding these abilities to the character will be done via scripts, which might look like this:

Code: [Select]
IF
Class(Myself,BARD)
CheckStatGT(Myself,3,LEVEL)
Global("Player1Song1","GLOBAL",0)
InParty(Myself)
THEN
RESPONSE #100
SetGlobal("Player1Song1","GLOBAL",1)
ApplySpell(Myself,BARD_SONG_1)
END

This example requires the PC to be 4th level or above. Adding it to DPLAYER3.BCS will make sure that the character is given whatever spell BARD_SONG_1 covers in SPELL.IDS. This piece of code can easily be adjusted to Garrick and The Evil Bard by replacing 'Player1' in the global with their names and adding the code to their scripts.

Quote
I have already created Rough Item & Spell Concepts.. about 14 Items and 17 Spells.
But now my Problems...
I have not been able to find anything that explains how I can extract (if it's even possible) the different Items to see what they Look like so I can determine which to use as the Icons/appearances/effects/etc..
Also I honestly do not know how to get what I made into BG1+ToSC where it's recognized and working.

To take a look at what you have made ingame, use the CLUA Console: http://iesdp.gibberlings3.net/clua/bg1.htm . With it you can import items and creatures, and add spells to your character.

Quote
IEEP, NI, WeiDU, WinBIFF

IEEP is outdated. For making new files, I use NI and DLTCEP. http://forums.gibberlings3.net/index.php?showforum=137

-Echon

Offline SixOfSpades

  • Planewalker
  • *****
  • Posts: 821
  • Gender: Male
    • Volothamp's Comeuppance
Re: A bit of help / direction please..
« Reply #3 on: December 19, 2007, 10:36:32 AM »
You have hit upon pretty much the exact same idea I've been developing for my 2nd mod. PM me your Email address and we can collaborate & become all-powerful & stuff.

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #4 on: December 21, 2007, 12:58:39 AM »
Okay I've been using NI to do the Items & Spells.. I have a question though.  There are certain parts of the Items & Spells that requires a String.  When I go to add one it is straight editing Dialog.tlk.. I've already backed up the original Dialog.tlk and the modded one (I have a few BG1 mods and fixpacks installed already).  But I'm still not so sure I'm ready to be editing that file just yet.
Is there another way to make what I'm wanting to make without editing Dialog.tlk?

Also Six, I tried to PM you but it kept resetting for some reason /shrug.


Edit:
I'm adding some innate abilities I'm working on for a Bard.
They aren't done, but would just like it if someone who knows more of what they're doing with these programs can tell me if I'm even remotely in the right direction lol
As I said I've mostly been the concept person, with simple coding here and there.  So this is still somewhat new territory to me, please bare with me :D

http://www.megaupload.com/?d=MA2PUMZI
Suppose to be a single-target Fear/Panic effect.
SPIN300.SPL

http://www.megaupload.com/?d=IUORUD0D
Suppose to be a Party Buff to Increase Damage per Attack and Attacks per Round for a short duration.
SPIN302.SPL

http://www.megaupload.com/?d=VQZS4KVI
Suppose to be an Area Debuff to All Saving Throws and AC.
SPIN304.SPL

http://www.megaupload.com/?d=YI2TAKZF
Suppose to be a Party Buff to Increase All Saving Throws (enhanced version of Bard's Song that adds Luck).
SPIN301.SPL

http://www.megaupload.com/?d=RS4R173E
Suppose to be an Area Damage Spell, centered around the Bard.  What I would like for it to do is up front Damage and after an amount of time "tick" for an additional amount of Damage.
SPIN303.SPL

Was also wondering how I could go about setting it up so more than 1 of these "Bard Songs" cannot be active at the same time.
For example other ones I've yet to make is a short duration group AC buff, a short duration group Berserk + Str, to name a few.
And while alone they are fairly powerful, if they were stacked it could make the Party too strong.
« Last Edit: December 21, 2007, 04:14:51 AM by Slayn »

Offline SixOfSpades

  • Planewalker
  • *****
  • Posts: 821
  • Gender: Male
    • Volothamp's Comeuppance
Re: A bit of help / direction please..
« Reply #5 on: December 21, 2007, 11:07:38 PM »
Also Six, I tried to PM you but it kept resetting for some reason /shrug.
The PM itself is less important than your acknowledgement that you'd like to get together. Check your Email.

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #6 on: December 26, 2007, 03:54:36 AM »
Okay I have the spells made, have them set to Innate in all the right places.. Have them adding to SPELL.IDS correctly.. and I tried the cold given earlier in the thread to set them to the PC with scripts.  It doesn't work :s  ApplySpell is (i believe) making the spell cast on the PC.  Tried it with different ones and either I take damage (as per the spell) or get hit with whatever buff / debuff is attached.
I've looked all over for other commands to put in place of that which would grant the Spell to the Player instead of Cast it on him..

Only ones I could find was ADD_KNOWN_SPELL and GA_ ... And not too sure the first will work, and not even sure the GA_ is compatible with BG1.
Any clue as to what i should do?

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #7 on: December 28, 2007, 06:09:08 AM »
I was going too fast and forgot a rather important part of it. You need to make secondary spells with #147 Learn Spell (http://iesdp.gibberlings3.net/opcodes/bg1tots.htm) that refer to your new bard songs. These spells are the ones that should be applied with the script. For some strange reason there is a small chance that the character does not learn the spell so just use ApplySpell() ten times. I have never seen that fail.

-Echon
« Last Edit: December 28, 2007, 06:10:51 AM by Echon »

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #8 on: December 28, 2007, 06:55:05 AM »
So in effect I make dummy spells with the effect of Learn Spell and have the spell i want learned in there.. and link to the dummy spells with ApplySpell?
That suprisingly makes sense to me lol

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #9 on: December 28, 2007, 07:29:10 AM »
Exactly. :)

-Echon

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #10 on: December 28, 2007, 08:01:45 AM »
Hit yet another road block   :(

The code is in DPlayers3.BCS, i can tell it works it does ApplySpell(Myself,LEARN_SONGA) I have it set to 0 higher up in the code so that this spell is learned at the very beginning.  I test it in game and it gives me the spell.. my Special Abilities button becomes click-able.  but there is no spell there.. there's nothing there.
I've checked the dummy spell, the actual spell both and I can't see a single thing wrong with either of them.  Unless it's one of the "Unknowns" that is messing me up :s

here is what my Dummy spell and Actual spells look like in NI.

Dummy Spell:
Signature   SPL
Version   V1 
Spell name   LearnSpellA
Identified name   No such index
Casting sound   None
Flags   ( No flag set )
Spell type   Innate (4)
Wizard school   Schoolless - 0
Priest type   All priests - 0
Spell school   Schoolless (0)
Unknown   00 00 h
Spell school (selection)   Unknown (0)
Spell category   None (0)
Unknown   00 00 00 00 00 00 00 00 00 00 00 00 h
Spell level   1
Unknown   01 00 h
Spell icon   SPPR309B.BAM
Unknown   00 00 h
Unknown   00 00 80 1e 2c 00 04 00 h
Unknown   00 00 00 00 h
Unknown   7f 96 98 00 h
Unknown   00 00 80 1e 2c 00 04 00 h
Unknown   00 00 00 00 h
Ability offset   72 h
# abilities   1
Effects offset   9a h
Unknown   00 00 h
# global effects   0

Type   Melee (1)
Unknown   00 h
Ability icon location   Innate slots (4)
Icon   SPWI106B.BAM
Target type   Caster (5)
Range   0
Minimum level   1
Casting speed   2
To hit   0
Dicesize   6
# dice   0
Enchanted   0
Damage type   Piercing (1)
# effects   1
Effect index   0
# charges   1
Unknown   01 00 h
Projectile type   180

Type   Learn spell (147)
Targettype   TargetSelf (1)
Power   0
Unknown   00 00 00 00 h
Spell type   Innate (2)
Duration   Instant/Limited (0)
Dispel/Resistance   No dispel/Bypass resistance (0)
Time   0
Probability 1   100
Probability 2   0
Resource   SPIN125.SPL (Flying Peeble)
# dice / Max level   0
Dice size / Min level   0
Savetype   ( No save )
Save bonus   0
Unknown   00 00 00 00 h


and my actual spell:

Signature   SPL
Version   V1 
Spell name   Flying Peeble
Identified name   Flying Peeble
Casting sound   CAS_P05.WAV
Flags   ( No flag set )
Spell type   Innate (4)
Wizard school   Schoolless - 0
Priest type   Cleric/Paladin - 32768
Spell school   Enchantment (11)
Unknown   00 00 h
Spell school (selection)   Unknown (0)
Spell category   MagicAttack (4)
Unknown   00 00 00 00 00 00 00 00 00 00 00 00 h
Spell level   1
Unknown   01 00 h
Spell icon   SPPR106C.BAM
Unknown   00 00 h
Unknown   00 00 80 1e 46 00 04 00 h
Unknown   00 00 00 00 h
Unknown   7f 96 98 00 h
Unknown   00 00 80 1e 46 00 04 00 h
Unknown   00 00 00 00 h
Ability offset   72 h
# abilities   1
Effects offset   9a h
Unknown   00 00 h
# global effects   0


Type   Melee (1)
Unknown   00 h
Ability icon location   Innate slots (4)
Icon   SPPR106B.BAM
Target type   Living actor (1)
Range   50
Minimum level   1
Casting speed   4
To hit   0
Dicesize   6
# dice   0
Enchanted   0
Damage type   Piercing (1)
# effects   2
Effect index   0
# charges   1
Unknown   01 00 h
Projectile type   17


sorry if that was too much useless spam :s just cannot figure out why the game recognizes as the Bard is learning an innate spell but not giving the innate spell.
I've tried resting several times to see if that could be it, but nothing :s
« Last Edit: December 28, 2007, 08:03:43 AM by Slayn »

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #11 on: December 28, 2007, 08:25:48 AM »
Posting all that is fine. I contains what I believe is the error. Your dummy spell's effect uses Instant/Limited (0) as the timing mode and it has a duration of 0, which means the character gains the ability for 0 seconds. Change it to Instant/Permanent (9) and try again.

-Echon

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #12 on: December 28, 2007, 11:47:06 AM »
i tried duration Instant/Permanent and set Time to 9 and tried duration Instant/Permanent after bonuses (9) both.. neither worked.
wondering if it's a lost cause :s  was looking for some modded BG1 characters to maybe see how the spells were set up but most i seem to find are BG2 kit packs.

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #13 on: December 28, 2007, 12:25:07 PM »
I know this method works because I use it with The Fields of the Dead. It has been some time since I have done any modding, though, so I there is a lot I cannot remember. Try using Give Innate Ability (171) instead of Learn Spell (147). If that does not work either, you can email me the SPLs and the code, and I will take a look at it.

-Echon

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #14 on: December 28, 2007, 08:39:41 PM »
Give Innate Ability did the job!  I dunno how I never saw that in the list for effects :s or the Learn Spell either one.
It worked perfect, gave the spell I wanted it to give.
My only last last question now is it gave the ability with a charge of 10, is it possible to change that for each one? on the dummy spell under #charges it's at 1.  I did however still have what looks to be a dice roll modifier attached to it which I just removed so will see if that changes the number of charges given.

Edit: Nevermind, just took a look at the code in DPlayer3.BCS again and noticed i had 10 copies of ApplySpell and sure enough when I removed 1 it changed the number of charges from 10 to 9.  So seems however many times I have applyspell listed is how many chages it is giving. :D
« Last Edit: December 28, 2007, 08:44:58 PM by Slayn »

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #15 on: December 29, 2007, 02:53:18 AM »
Since you are using Give Innate Ability instead of Learn Spell, one ApplySpell() should be enough.

-Echon

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #16 on: December 29, 2007, 06:42:44 AM »
Everything seems to work perfectly as planned now.  spells are gained at their appropriate levels.  What i have done is a base number of uses are given when the spell is gained.  At certain levels specific spells gain more charges.  Simplest way i've done it is kept the dummy spell at 1 charge and just have multiple Give Innate Ability where i want them. Seems to work pretty nice, though looks a little bit sloppy in script lol.  Now the next goal is to read-up on WeiDu so I can get everything I put straight into my BG1 into a .d or .tp2 file (forget now even which is used or needed lol) so that it's all sharable.  Still a long way to go before I'll be completely satisfied with it all, think the spells are a little on the strong side at the moment and not managed to get much of the items I made into the game yet either (can't think of where i want them to appear or what). 
But I'd like to say thanks for all the help! And thanks Echon for the fast responses today lol
I'll get better at this eventually ;)

Offline SixOfSpades

  • Planewalker
  • *****
  • Posts: 821
  • Gender: Male
    • Volothamp's Comeuppance
Re: A bit of help / direction please..
« Reply #17 on: December 29, 2007, 11:42:31 AM »
For some strange reason there is a small chance that the character does not learn the spell so just use ApplySpell() ten times. I have never seen that fail.
That sounds like the game is automatically running ApplySpell through the filter of the character's % chance to successfully scribe a Wizard spell. Instead of ApplySpell() 10 times, what happens if you set the user's INT to 25 momentarily, and just ApplySpell() once?

Offline Echon

  • Global Moderator
  • Planewalker
  • *****
  • Posts: 1944
  • Gender: Male
    • The Fields of the Dead
Re: A bit of help / direction please..
« Reply #18 on: December 29, 2007, 06:11:15 PM »
If that is the case, it might work for wizard spells. However, the ones in question were priest spells. It would be odd if they also had to pass a check.

-Echon

Offline SixOfSpades

  • Planewalker
  • *****
  • Posts: 821
  • Gender: Male
    • Volothamp's Comeuppance
Re: A bit of help / direction please..
« Reply #19 on: December 29, 2007, 11:17:09 PM »
Yeah, well, half of the hardcoded stuff in this game falls under the category of "it would be odd."  ::)

Offline Slayn

  • Planewalker
  • *****
  • Posts: 9
Re: A bit of help / direction please..
« Reply #20 on: December 30, 2007, 09:16:21 AM »
Okay.. I've been reading up on WeiDu and have downloaded several mods, been looking at examples other Modders have used.  So I have a fairly reasonable idea of how I should go about this.. but I just like to be sure of things, and best way to do that is ask people that know for sure ;) so here I am again.

I want my mini-mod to be fully compatible with every other mod out there.  I've already noticed that some of the mods I have downloaded either edit / replace the same files mine does (DPLAYER3.BCS / SPELL.IDS) or use the same file name as mine (SPIN127.SPL etc..)  While it's possible for me to change the file names around and manually add the lines to the replaced files.. I'd like WeiDu to do it for me.  So here is what I learned, let me know if it's correct..

An Example of Adding a Spell:
Code: [Select]
ADD_SPELL SPIN303.SPL INNATE 3 ROUSING_CHORUS
SAY NAME1 ~Rousing Chorus~
        SAY DESCRIPTION ~description...~

Then I would use EXTEND to edit DPLAYER3.BCS right?
Code: [Select]
EXTEND_BOTTOM ~DPLAYER3.BCS~  ~DPLAYER3.BAF~If I understand it right.. that would take the information from DPLAYER3.BAF and Add it to the bottom of the game's DPLAYER3.BCS.
Or am I completely off in left field on that one?

If I am right on that, then how would I make the .BAF file? Just make a text file with the code I want added and save it as .BAF?
Also if everything I've said is correct, do I need the COMPILE command at the end of the .tp2 file still?

Thanks again for the help, and sorry if I sound like a complete nub :D


EDIT:: By way of Trial and Error with the use of a dummy folder copy of my BG1 files, I have figured out how to make the .tp2 file, how to create the .baf file and how to append everything needed with use of the EXTEND_BOTTOM command :D
So.. this case is closed for the time being.
Now I just need to figure out all the little tricks in editing the spells themselves so i can tweak them a bit.
Currently they are simply Innate versions of spells already in the game with new names.. found spells that did very close to exact things I wanted my new spells to do and did some slight editing.  Still a bit clueless on all the little variables these spells use though so that's my next goal. :)
« Last Edit: December 30, 2007, 11:57:53 AM by Slayn »

 

With Quick-Reply you can write a post when viewing a topic without loading a new page. You can still use bulletin board code and smileys as you would in a normal post.

Warning: this topic has not been posted in for at least 120 days.
Unless you're sure you want to reply, please consider starting a new topic.

Name: Email:
Verification:
Type the letters shown in the picture
Listen to the letters / Request another image
Type the letters shown in the picture:
What color is grass?:
What is the seventh word in this sentence?:
What is five minus two (use the full word)?: