The Black Scourge of Candle Cove -- Tchos' development diary
#201
Posté 13 juillet 2012 - 06:17
What poses in particular do you want?
#202
Posté 13 juillet 2012 - 06:45
For the statue, one of the poses I like is in the "flirt" animation, at animation time 3.2853.
#203
Posté 13 juillet 2012 - 11:05
I tried modifying the statue code to include a "while GetIsObjectValid" command to cycle through all of the NPCs with the tag "statue" to apply the freezing effect to all of them, but doing that broke the code, apparently, because none of them froze, where before a single copy of them froze (presumably the first one the "GetObjectByTag" command selected. This is the code in its entirety. Though I think I'm just wasting time here with this whole statue thing, and I should just use a static statue and finish the bloody temple and move on. Or, if there were a copy of this model available with the two statues separated, that would work well. As provided, the two statues are in a single mesh. At any rate, not important. I can see how things like this temple can become a black hole that grinds progress to a halt.
object oNPC;
void MakeStatue ()
{
effect eFreeze = SupernaturalEffect (EffectVisualEffect (VFX_DUR_FREEZE_ANIMATION ));
ApplyEffectToObject (DURATION_TYPE_PERMANENT, eFreeze, oNPC);
SetBumpState (oNPC, BUMPSTATE_UNBUMPABLE);
SetIsDestroyable( FALSE, FALSE, FALSE );
ApplyEffectToObject( DURATION_TYPE_PERMANENT, EffectDeath(), oNPC ); // Make sure the NPC isn't set to "plot", or this won't do anything.
}
void main ()
{
int iCopy = 0;
while( GetIsObjectValid(oNPC) )
{
oNPC = GetObjectByTag("statue", iCopy);
string sDebugMe = ObjectToString(oNPC);
SendMessageToPC(GetFirstPC(), sDebugMe);
ClearAllActions(TRUE);
PlayCustomAnimation (oNPC, "dance02", 1, 1.0f);
DelayCommand (12.0, MakeStatue());
iCopy++;
}
}In other news, I imported a handful of animated poses from Kemo to apply to the NPCs in this temple, and wrote a little generic script to allow me to apply a looping idle to any NPC with the name of the animation file as a variable. I tested one pose out on an artist's model NPC, and it works fine.
I decided that the NPC statue would still be in the temple, but it's not the one on the central pedestal. It'll be in the section of the temple where the Sunites instruct their faithful in the creation of beautiful works of art, as is part of their creed, which in this case is painting and sculpture. The code above doesn't work, but the one without the "while" bit works for a single statue, which is what I'm using.
I imported a small subset of the Item Placeables pack. I see it contains the beer stein as a placeable, incidentally. It includes all these items in multiple orientations. The beer stein I checked was the one that's lying on its side. Useful for a messy bar, no doubt. I expect the upright one will rest flat on the countertop, unlike the SFX version.
The placeables.2da file conflicts with BCK 1, though. It occupies numbers 5000 to almost 6000. I renumbered them to use the 8000s. I of course had to fix all of the blueprints that I wanted to use, restoring their missing appearances, which were probably broken by the renumbering.
I finished the design and decoration of the temple earlier. I've almost finished populating it with clergy and faithful. All that's left now is to put in the temple services and the questgiver. It'll be finished tomorrow, by hook or by crook. I think I'll make this the only temple in town, actually. A second one is unnecessary, and I've taken too long on this one.
Modifié par Tchos, 13 juillet 2012 - 11:08 .
#204
Posté 13 juillet 2012 - 11:58
void MakeStatue(object oNPC)
{
effect eFreeze = SupernaturalEffect(EffectVisualEffect(VFX_DUR_FREEZE_ANIMATION));
ApplyEffectToObject(DURATION_TYPE_PERMANENT, eFreeze, oNPC);
SetBumpState(oNPC, BUMPSTATE_UNBUMPABLE);
AssignCommand(oNPC, SetIsDestroyable(FALSE, FALSE, FALSE));
SetPlotFlag(oNPC, FALSE);
ApplyEffectToObject(DURATION_TYPE_PERMANENT, EffectDeath(), oNPC);
}
void PlayTheAnimation(object oNPC)
{
PlayCustomAnimation(oNPC, "dance02", 1, 1.f)
}
void main ()
{
int iCopy = 0;
object oNPC = GetObjectByTag("statue", iCopy);
while (GetIsObjectValid(oNPC))
{
string sDebugMe = ObjectToString(oNPC);
SendMessageToPC(GetFirstPC(), sDebugMe);
AssignCommand(oNPC, ClearAllActions(TRUE));
AssignCommand(oNPC, PlayTheAnimation(oNPC));
DelayCommand(12.f, MakeStatue(oNPC));
iCopy ++;
oNPC = GetObjectByTag("statue", iCopy);
}
}-> back to headbanging Domains ...
#205
Posté 14 juillet 2012 - 04:33
Going way back to the beginning with your quest with multiple parts. I would handle that with a single int, similar to how the default random treasure script works -gp_treasure_op_de
1 - start quest
2 - part 1
4 - part 2
8 - part 3
each time a part of the quest is done the int is added to the total.
int of 3 part 1 is completed
int of 11 part 1 and 3 are completed
int of 7 part 1 and 2 are done
int of 13 part 2 and 3 are done.
Then finally int 15 quest is completed
-You found the placeable items HAK with your stiens plus it has a tone of other things that are great to throw into a game to add to the visiual appearance. What is a fantasy game without a few dozen swords and axes kicking around.
-Statues and animation
For these I like to have an include script that will go through an area and apply everything at once to the various NPCs. I either have it triggered with the on client enter or an on enter or an on enter with a trigger. It loops through all the NPCs and apply the effects.
It uses three local ints on the player. Int nStatue, String sAnimation, String sEffect. If it has the statue set to true it plays the animation then freezes applying all the appropriate functions (plot, bump, convo, and clears the scripts) and applies the effect. By using a local string you can have stone or metal statues withoput modifying the script (With Kaedrin's new pack this will make for all sorts of interesting things). If nStatue if false or empty it just applies the animation looping to the NPC.
Hope this helps and plan on trying to keep up from here.
#206
Posté 14 juillet 2012 - 08:26
@Shaughn78: Yes, it helps, actually. Since I use an On Client Enter script for the initial spawning of all important NPCs, I could apply the statue effect to fire there in future situations. Things like this open up ways of approaching situations that may not have occurred to me otherwise. The bitwise operations also make sense, and I may be able to use it next time one of those situations comes up. So far, I've brute-forced the situation for time reasons, but I do want to use the more elegant approaches when possible.
I had imported the Item Placeables because I needed a hammer and chisel to decorate the sculptor's nook, and finding the stein there (and the other non-weapon items) was a pleasant surprise.
Now, if only there were more food placeables for my banquet table (I found some food, but raw vegetables only). And luxury items, like a hookah.
#207
Posté 15 juillet 2012 - 07:43
#208
Posté 15 juillet 2012 - 10:35
VFX Statues http://www.neverwint...ds.com/mods/188
#209
Posté 16 juillet 2012 - 01:49
DannJ: Thank you, I've downloaded those. I'll probably use them when I need some human-sized statues (currently I'm using larger than life ones).
As before, P&P day skipped.
I finished the temple by adding the questgiver and temple services provider. I also made a new placeable using Sune's symbol as it appears in the Faiths & Pantheons book. I use it inside and outside the temple. The quest includes a lot of special dialogue depending on the player's deity, stats, and skills, and it's one of two side quests that take place outside the town, so that still needs work.

I'm trying not to show much of the temple, because I want it to be new when you enter. I'm pleased with the way it turned out.
#210
Posté 16 juillet 2012 - 01:08
Edit: nevermind, guess I should have looked at both pictures. It is obviously the lighting.
Modifié par Shaughn78, 16 juillet 2012 - 01:09 .
#211
Posté 16 juillet 2012 - 10:54
Today I worked on the heartwarder's quest, and a lot of that time was spent on the rewards. One thing that still gives me trouble is determining the proper amount of XP and treasure to give for non-combat quests. Going by what the Dungeon Master's Guide says, a 10th-level party should receive 5800 gp and 3000 XP per encounter of their own level. This is for a party of four. Since in NWN2 the XP is shared by the whole party, I'm thinking I should divide the XP by 4 (making it 750 XP), but since you're still equipping a whole party with gear, I probably shouldn't also divide the gold amount.
This is assuming that it's appropriate to count a non-combat side quest as an "encounter". I'm thinking it is, because the DMG is pretty flexible (or "vague") about awarding "story XP", saying it requires a lot of ad hoc ruling by the DM. And I divide up the amount of XP and treasure into several "parts" of the side quest, as well, so it's not a windfall all at once.
Additionally, one of the purposes of these side quests is to give the player a source of income for some expenditures that will be necessary during the module, and I'm balancing it by the DMG's "expected wealth by level" table. Overall, the party should end my module with more gold and better gear than they had when they began it, but not so much that it unbalances future modules that they may play with those characters imported.
If I balance the encounters so that they should have enough XP to gain one or two levels, then I should try to make it possible for them to have acquired the expected wealth for the ending level according to the table.
I reveal how much treasure and XP a player can expect to receive in the quest text. I do this because I, as an adventurer, would not likely go out on a mission without knowing what it will pay. In these listings, I only list what will be directly awarded by the questgiver. The rest, which would complete the XP/treasure amount by encounter level, is obtained via combat/drops while the player is out on the quest.
Since I've been making a lot of special items, I made myself a generic item with common properties that I can copy as a template for my items. I had wanted to use Sin's Item Lab plugin, but for unknown reasons, it isn't working for me. Whether I create a new item from scratch or edit an existing item, it doesn't save most of the properties. This is unfortunate, since I really liked the interface, which is cleaner for the purpose than the usual object properties window.
One concern I have, though it's a small one, is that since I'm using a lot of custom icons in my module (both from Bonus Blueprints and my own imports), and since this requires a custom nwn2_icons.2da file, that means that any items that players may take with them when they import their characters from this module into other modules will end up with missing icons. Is there no avoiding that, beyond using nothing but standard icons? I think custom icons to create a richer experience within the module is worth missing icons outside of the module. But then, can this be fixed after the fact by the end user? Can a custom item saved in an exported character be edited to change its icon to a standard one? There are some such items that I'd like to fix from modules I've played.
Another placeable that seems to be missing is a single page of paper, to use as a note, or letter. An envelope would be nice to have, too. All I've found are scrolls and books, and in some of the book piles there are loose pages of paper amongst them, which would be very nice to have separate.
While looking to see if I could find such a thing, I found that the Trinity placeables pack includes a collection of tableware, including that beer stein, and those goblets that otherwise only exist in a group.
I also found that Amraphael has a placeables pack which uses the 8000-8999 range in the 2da, which is where I had moved the Item Placeables collection. That won't be a problem for this module, but I thought I should mention it here. Also, he has a nice placeable window in that pack, though it doesn't appear to be illuminated like mine.
If necessary, I can just make a placeable piece of paper/parchment if I can find an existing placeable that's a flat plane on the ground of a small enough size that it wouldn't need to be shrunk down too much every time one is placed.
This quest I'm working on involves interacting with some placeables, so I wrote a generic script to attach to any placeable that will check some variables on the placeable, and do things depending on what you specify in the variables, like create an item on the PC, destroy the placeable, update your journal, and/or run additional custom scripts. That'll make it useful for various situations.
Also wrote a quest-specific script, but it's time to stop, and I haven't had time to test it yet.
#212
Posté 16 juillet 2012 - 11:10
the only way the .2da thing is going to work overall is if people respect, and use
Reserved 2da ranges
#213
Posté 17 juillet 2012 - 02:19
Hopefully it isn't too late, but I do also urge you to add any NEW placeables or content that you create to the Reserved Ranges part of the NWN2 Wiki. Doing so will help you as well as future authors.
#214
Posté 17 juillet 2012 - 03:22
You might also want to give extra XP to reward players for not killing everything they can, for choosing the role-play option over hack-n-slash. You can take XP away, too, ya know. Nothing more evil than a monster that can de-level your PC.
#215
Posté 17 juillet 2012 - 08:44
As for my own new placeables, I've asked before about the hows, whys, and whens of reserving ranges, but never got an answer about them. For an individual module's new resources, it seems that I don't need to reserve a range, correct? It's just for resources that are specifically released in packs to be used by others, right? I can always do that after I release this module.
Lugaid: What you're describing is what I am doing in large part. I'm just striving to do it by consistent rules, and not be arbitrary, which is why I find the DMG useful. What I want to avoid is a situation like the final act of Planescape: Torment, where massive amounts of XP were just showered on the player for trivial things that took no effort and no skills, which I speculated was done because they couldn't finish the late-game content that would have provided the means to earn that experience legitimately, and the player needed to be a certain level by the end.
If you didn't see in an earlier post, I've mentioned before that the first time I consulted the DMG for this module was for the purpose of providing non-combat means of acquiring XP by using character skills, because non-combat classes and builds should get at least as much XP for using their skill and finesse as a barbarian gets for whacking things with a stick. The DMG was very helpful in regard to granting XP for "mission goals", "roleplaying awards", "story awards", and "non-combat encounters" such as traps and puzzles. Most of what I find in the book applies directly to this game.
For instance, in one quest in my module, a lawful good character may receive some XP for choosing not to help a particular NPC and instead turn him in to the authorities, but this will be at the expense of a reward for that quest. This is a roleplaying award, and it only applies to Lawful Good characters, because the award is for them playing their alignment.
This module cannot be inflated by grinding, because there are no respawning monsters to grind in my module, and I haven't put in any reproducible events. Thus, unless there's some other means of grinding that I'm not aware of, or some kind of error that allows it, there will only be the possibility of an XP scarcity caused by players skipping side quests, and I consider that to be the way it should be. Players who want the game to be easier should look for all the quests they can do (and my indicators make it easier for them to find them), and players who want it to be harder (and shorter), and don't care about story or flavour, should skip the optional side quests and just blow through the main quest. Players can also cheat, by importing a character higher than what I'm balancing it for, or by exploiting some errors, but I'm not concerned about that. If they intentionally break their game, that's their decision.
Modifié par Tchos, 17 juillet 2012 - 08:49 .
#216
Guest_Iveforgotmypassword_*
Posté 17 juillet 2012 - 01:51
Guest_Iveforgotmypassword_*
Lugaid of the Red Stripes wrote...
You might also want to give extra XP to reward players for not killing everything they can.
Outrageous !!!!
Seriously though I've done this a few times but it does result in not getting xp per kill and you finish up with less so I've thrown in a couple of magic items to ease the pain. I had thought of instead awarding a point to diplomacy ( my mod's just for monks ) then making a real hard diplomatic situation that would only be possible if you had been a goody goody and then finally throw in a big chunk of xp. To see who can really behave when there are no apparent rewards.
Chances are though you'd just get some whinger on the vault complaining and baddies normally deserve a good slap anyway !
#217
Posté 17 juillet 2012 - 05:19
Tchos wrote...
Mokah: I have looked at the Master Placeable.2DA, and I thought I mentioned why I'm not using it in a previous post. Do you know of the problem with the repeated line 2534 added in SoZ? The RWS resources used one particular solution for that problem (skipping one number), but the Master Placeable 2DA uses a different method (renumbering everything after the error), and looks like it deals with this by adding 1776 UTPs so as not to cause errors for SoZ blueprint entries 2535-2837, which the RWS approach doesn't require. Additionally, the Master Placeable 2DA has converted all the tabs to spaces, unnecessarily inflating the file size about 4x. I inquired about the pros and cons of the two numbering approaches, but I didn't get any response about that. So, I'll refer to the list on the wiki and edit my 2da myself, using the RWS method for now.
As for my own new placeables, I've asked before about the hows, whys, and whens of reserving ranges, but never got an answer about them. For an individual module's new resources, it seems that I don't need to reserve a range, correct? It's just for resources that are specifically released in packs to be used by others, right? I can always do that after I release this module.
Yes, the SoZ error has been a bane in the backside of the community for years. As you saw there are several ways to fix it. It's up to you to choose what works best for you. The 2DA size has never really been an issue and actually can be a problem in various tools for editing 2DAs. Notepad of course doesn't have those issues, but others do. TLK2 Edit comes to mind. The blueprints are actually a solution to a very common request by builders...many times no blueprints mean nothing gets built.
As far as your new content is concerned, yes you are correct that content produced for individual mods doesn't have to reserve lines, and it comes into play only when you release the content separately for the community to use. The only issue I forsee is the human equation.
Take the Dark Waters module series, for example. The module uses extensive new custom content that a lot of people do not know exists mainly because a separate CC pack was never released. Most people don't have the skill/patience to weed through a modules hak pack and pull out the resources they want. So, my advice to all authors is just to reserve lines now, stick to them and if life happens you can know that people won't have to "fix" content later. It's up to you of course, but as many people are using your posts as a sort of builder reality series (no pressure, BTW) it could be good to address these issues in your posts.
Also, one side note that CC authors might not fully understand: CC inspires new builders and CC authors. Most of my prefabs are built specifically because of some sort of CC that inspired it. So, as a builder, and not a CC author, thank you for making CC. It keeps many of us no-talent hacks going.
#218
Posté 17 juillet 2012 - 06:31
With Dark Waters, there's content in there that I would have liked to use (such as underwater placeables in addition to the RWS ones, and the lighthouse), but since it was not released as a modder's resource, and there was no information on reuse permission in his documentation, so I chose to err on the side of propriety and not use it.
I'll have this in my documentation with the module, but I'll state it here too, that any resource I create in the course of this module is available for others to use in their own modules. Since I'm creating these things because they're things I want in the game, I would of course be glad to see them in more modules, should anyone find them useful or appealing.
And I do understand that many beginning, would-be builders would probably have a hard time extracting resources from a module, since I also found it very confusing a few months ago (many download entries on the Vault are quite chaotic and confusing to a newcomer). I have most resources in separate folders in my campaign folder, which would make it easier to sift through them, but I'll make an effort to release what I've made after I release this module. There aren't that many things to release, you understand, but every little bit helps. Very few new placeables, and most of the rest is retexturing, tint mapping, and scripting systems. I just want to see how many items I actually make before I choose a range in the reserved 2das. I can surely squeeze mine into one of the unused spaces between the entries on the wiki.
I sort of like the idea of this being a reality show, though it feels like the audience is small. It's better than thinking that perhaps people don't want to see someone constantly talking about their work. I for one would like to see others do things like this.
#219
Posté 17 juillet 2012 - 11:02
Iveforgotmypassword wrote...
Lugaid of the Red Stripes wrote...
You might also want to give extra XP to reward players for not killing everything they can.
... Chances are though you'd just get some whinger on the vault complaining and baddies normally deserve a good slap anyway !
The whole concept of 'good guys' and 'bad guys' is cliched anyway. I'd much rather explore the intricacies of shades of grey than make a hard decision between 'right' and 'wrong'. Although I suppose restricting options to simple dichotomies makes it much easier on the author of a module.
#220
Posté 17 juillet 2012 - 11:20
As for today:
For several things in this module, I need a progress bar like that which shows when you're picking a lock. Marshall's Legends Info plugin includes such a progress bar, but it's one of the plugins that requires an SQL database, since it's made for PWs. So, as with one of the other plugins, I set about to read the code and attempt to understand it well enough to make it work without the database.
In fact, reading these scripts and struggling to understand how they were doing what they do was a great help to me in getting started with NWN2 scripting, when coupled with watching Marshall's tutorial videos, which I had done when I was looking into this stuff earlier this year, with his info box script. I'm no programmer, and have never had any classes on the subject, so I'm at a considerable disadvantage. Trial and error is how I generally work.
I was exposed to the idea of generic scripts acting on local variables with his scripts, and that's what I've fully embraced in my own scripts.
So basically, the Info plugin itself won't work for this purpose, because it somehow uses the database to update the local variables using values specified in the interface, but the scripts themselves mostly work fine if you add the variables to the objects manually, though there are some database calls in the scripts themselves. So the task is just to see what's going on that I actually need, and make a simpler script to accomplish it based on that.
So, I stripped it down and modified it to retain all its functionality, but only require one script, with all its parameters remaining in variables. Also made a loadable variable set to put those variables onto a placeable. As it turns out, the generic placeable script I had written yesterday had some of the same functionality in it, because this progress bar script was made to do more than just display the bar, so it's a matter of picking which to run.
I did notice that when I had it executing a chain of several scripts, the DelayCommand the progress bar script uses to close the GUI when it's done doesn't fire for some reason, so I had to move it elsewhere in the script and remove its delay. Regardless, it works, and I have three separate places where I can apply this immediately.
The other script I mentioned at the end of yesterday's post also works, BTW.
I went and added the progress bar to the hearthstone, and also added a nice special effect and casting animation to it. All that's missing is a sound effect. I was looking for a way to play a looping sound during the cast and then stop it when the time was up, but that doesn't seem simple enough to add.
Currently I'm reworking an exterior prefab to fit the quest around some ruins. I think it's about ready to add the quest elements to it now.
#221
Guest_Iveforgotmypassword_*
Posté 18 juillet 2012 - 12:46
Guest_Iveforgotmypassword_*
DannJ.. Personally I think that grey choices are far less satisfying and frustrating and I wouldn't wish to inflict them on anybody so I'll stck to my "simple dichotomies". But I do like to write stories with a moral my personal favourite being F**k with the PC, his/her companions or relatives, anybody they've ever met,known or might like to know and you die and whatever you have to do to achieve that is completely acceptable.
#222
Posté 18 juillet 2012 - 01:46
I can't estimate its play length yet. I need to play through the whole thing myself first, and I haven't done that yet. In fact, I still have to implement in the final "chapter". I should make that my next task, as soon as I finish this other quest area.
#223
Guest_Iveforgotmypassword_*
Posté 18 juillet 2012 - 06:45
Guest_Iveforgotmypassword_*
#224
Posté 18 juillet 2012 - 07:19
DannJ wrote...
The whole concept of 'good guys' and 'bad guys' is cliched anyway. I'd much rather explore the intricacies of shades of grey than make a hard decision between 'right' and 'wrong'. Although I suppose restricting options to simple dichotomies makes it much easier on the author of a module.
I am firmly in that camp too, what is good and what is bad is always subjective. Often if you inderstand the motivation of the npc they do not seem quite so bad after all. I love to play with those sorts of complexities in my modules.
Mind you I do feel that there needs to be a basis of good and bad in a mod to allow the player the set his/her moral compass by and that should be fixed or you risk losing the player.
PJ
#225
Posté 18 juillet 2012 - 11:16
I set up the journal with a custom token to inform the player how many items have been collected and how many remain, which also appears floating over the player's head when each item is collected. I was surprised to see there was no ga_ conversation script available to allow me to set the token initially to 0 (as a string, it would show up as an empty "" instead of the necessary 0), so I wrote one, since now I understand the "putting things between the parentheses of the void" thing. Better than having to write a separate script to fire any time I want to set a token from a conversation.
I really wish there were a garland for wearing on the head available in custom content. There were several made for Oblivion, but I've looked pretty thoroughly for NWN2 resources, and found none. It would be useful not only as decoration for some of my NPCs, but to use for one of the items that the Sune priestess sells.
Although I didn't have any trouble with the walkmesh for the forest, I needed to add a ramp to the docks so you can walk down on them, and that, of course, would never allow it to be done easily. It's incredibly aggravating, and doesn't make any sense that it's so unwieldy! I just have a small set of stairs that goes up to a small platform, and then another set of stairs that goes back down on the other side. Since the stair objects themselves didn't work after several attempts, I turned them into environmentals and put walkmesh ramp helpers in their place, but those fared only slightly better. It's connected fine for the stairs down, but the stairs up are plagued by a bloody gash across it, preventing walking. Only once was I able to get even a tiny gap in that gash, but it was so difficult to walk through I had to keep trying. Every so often I notice things that might be causing it, and try changing those. Once here, like in another area, that caused the entire tile to become unwalkable. It's still not working, and I have to stop. The only positive thing about the task is that during all the times I was adjusting and re-baking, I had a text file open where I was writing dialogue and item descriptions.
BCK II also conflicts with Crystal Violet's signposts in the 2DA. More renumbering.
Unfortunately, this is a short day, due to an early P&P session. I didn't even get to place the quest items in the forest.





Retour en haut





