Thursday, October 11, 2007

Busy busy busy!

Well... I've been away for a while, Cornwall to be precise, land of legends... oh... and of course clotted cream and pasties... mmmmm.

While I've been gone, two playtesters have got back to me with some very encouraging feedback. I know that sounds a bit like I'm blowing my own trumpet, but I should point out that one of them did some extensive testing (setting out to break it in fact), and discovered a few problems that needed ironing out. I'd like to take this opportunity to offer my good friend PixelKnight my sincerest gratitude for finding time in his busy schedule to provide such valuable feedback to me, without which, an opportunity to further improve the work done so far would have been missed. Thanks PixelKnight! I should also of course thank my other tester, Nulthra Bloodeye, who provided further encouragement in his feedback.

Most of the flaws have been minor issues very easily corrected, but easily missed too, otherwise I would have spotted them myself much earlier. A fresh pair of eyes going over your work is a valuable asset not to be under rated.

One of the issues raised by PixelKnight was that for a story driven module, he was surprised that there was no reaction to his carrying of a weapon in the introductory area of the city of Kerral, particularly near the docks where the local militia have set up a blockade. It is something I did dwell over, but I was concerned in bogging myself down in too much detail, especially when aiming the module at an audience that didn't like to just run around and hit things. He does however have a valid point, so I've decided to compromise. Rather than have guards run up to you whenever you draw a weapon, I've placed a script on opening lines of conversation under the "Text Appears When" tab, so that people refuse to speak to you (or at the very least react differently) if you have a weapon equipped. I had a bit of a problem setting this up initially, as Lilac Souls Script Generator (which I rely on quite heavily at times) would only generate a script that catered to a specific weapon being equipped, and I had trouble finding the relevant code needed from the Lexicon site. Fortunately for me, I was able to call on the services of Lance Botelle, another Neverwinter Nights fan who I recently discovered lives only a twenty minute drive away from me! He was kind enough to provide the following solution:

#include "x2_inc_itemprop"

int StartingConditional()
{object oPlayer = GetPCSpeaker();
object WeaponRH = GetItemInSlot
(INVENTORY_SLOT_RIGHTHAND, oPlayer);
object WeaponLH = GetItemInSlot
(INVENTORY_SLOT_LEFTHAND, oPlayer);

if(IPGetIsMeleeWeapon(WeaponRH) == TRUE
GetWeaponRanged(WeaponRH) == TRUE
IPGetIsMeleeWeapon(WeaponLH) == TRUE
GetWeaponRanged(WeaponLH) == TRUE){return TRUE;}
return FALSE;
}

Basically, by placing the above script in the "Text Appears When" section of the first line of a conversation, you'll make the attached line of conversation only be spoken if a weapon is equipped, so it's perfect for a line such as "If you think I'm gonna talk to you while you've a weapon drawn, think again!"

Apart from ironing out the creases spotted by my testers, I've not done much else to the mod at the moment, partly because I wanted to perfect what had been done to date, and partly because of some artwork I've been working on. I've recently finished a horse portrait which I hope to host over at my DeviantArt page within the next day or two, and am about two thirds of the way through an ink drawing that I promised to Nereng (Hang on in there Nereng! It's coming, I promise!). Maybe I'll host that one here once it's done if Nereng has no objections.

That's it for the time being. I hope to have finished the ironing phase within the next week or two, then I can push on with getting past the main intro into the heart of the module, although I might have to consider finishing the haks first so that the magic changes are in place, but more about that later ;)

Bye all, and thanks for watching. :)

3 comments:

Anonymous said...

Hi Geoff,

I noticed you miss-copied the code, it should be this:

Cheers.

Lance.



#include "x2_inc_itemprop"

int StartingConditional()
{
object oPlayer = GetPCSpeaker();

object WeaponRH = GetItemInSlot(INVENTORY_SLOT_RIGHTHAND, oPlayer);
object WeaponLH = GetItemInSlot(INVENTORY_SLOT_LEFTHAND, oPlayer);

if(IPGetIsMeleeWeapon(WeaponRH) == TRUE || GetWeaponRanged(WeaponRH) == TRUE ||
IPGetIsMeleeWeapon(WeaponLH) == TRUE || GetWeaponRanged(WeaponLH) == TRUE){return TRUE;}

return FALSE;
}

Quillmaster said...

Thanks Lance. I have trouble editing this blog sometimes. It's a real pain not having my own free webspace anymore!

Main article should be corrected now.

Quillmaster said...

Hmmm... looks like the blog doesn't like those characters. :(