June 2002

Neverwinter Nights Reviews
Posted Sunday, June 30, 2002 - 15:29 CET by Mollusken

There's no end to the reviews these days. First we go to Gamersclick, who think the game is good enough for a score of 94%.

Being more than Baldur’s Gate II in 3D, and even more than tabletop D&D adapted for the PC, Neverwinter Nights is, bottom line, one of the best games available on the PC today. The sixty-American-dollar price tag is off-putting, and getting the game to run could very likely be an ordeal. Nevertheless, the light at the end of the tunnel remains bright. For every hour spent trying to resolve compatibility issues, there are several hours of solving quests, and for every dollar you spend, you’ll find several hours of enthralling gameplay. It may not be the perfect adaptation of D&D on a PC, but it’s as close as is possible at this point in time, and between the single player game, multiplayer games, the 100-hour campaign, creating your own modules, and playing user-made content, there is sure to be something here for everyone. Suffice it to say, Neverwinter Nights is probably the best $60 purchase you will make for a long time.

And over at ActionTrip the score is 93 out of 100.

The tale of Neverwinter Nights really got under my skin in the past few weeks. From what I saw on my adventures through the labyrinths, dungeons, forests, caves, villages, and cities, I can safely say it was one hell of an enthralling RPG voyage. I'm sure that most gamers are aware of Bioware's reputation when it comes to making thorough role-playing games. Even though the game's only just been released, the community of Neverwinter Nights is already thriving like crazy. What makes Neverwinter Nights stand out from other RPGs, is its unique Aurora Toolset, which gives players the opportunity to create their own scenarios and worlds to venture in. The rest of you can just sit back and enjoy a single-player experience that includes four huge chapters along with a couple of sub-chapters. In any case, we finally have a true fully 3D 3rd Edition D&D title on our hands. In short, playing a D&D game with 3rd edition rules expands the RPG genre and it allows you to create your ideal fantasy character.

The last review for now is at Gamer's Hell, where the score is 9 out of a possible 10.

I can do nothing but rave about this game. Deep and sophisticated singleplayer, rich and truly social multiplayer, there is nothing that stands out as needing improvement. I almost feel the $60 USD pricetag is worth it. Do I have any issues with this game at all? Only one. As good as this game is, as much as I am having fun with it, its still a Baldur's Gate clone. Adding a good multiplayer aspect and updating the graphics does not change that. I think this issue is going to come up more and more as we see the next wave of games. We are in a stagnant period. The next wave of games are steps in an evolutionary process, but are far from revolutionary.

Post Comments (0)


Pool of Radiance: RoMD for $9.99!
Posted Sunday, June 30, 2002 - 14:15 CET by Sorcerer

Obviously Amazon.com needs to get rid of all the extra stock in a hurry now that Neverwinter Nights has been released, so they've dropped the price on Pool of Radiance: Ruins of Myth Drannor to $9.99!

For this little money, you might as well buy it even if you stayed away thus far. (And don't have NWN yet for some reason.) Click on the image below for more info.

Post Comments (1)


Neverwinter Nights Reviews
Posted Saturday, June 29, 2002 - 22:09 CET by Mollusken

BarrysWorld has reviewed Neverwinter Nights, and their score is 10 out of 10.

This combination of features and options is simply staggering. The single-player game alone is worth the asking price but the addition of the other modules allow for a complete customisation of your gaming experience. I have no doubt that Neverwinter Nights will soon boast the biggest and healthiest community in gaming, and that it`s a title many of us will still be playing in years to come. Yes, there are teething problems at the moment, especially with the single-player quest, but Bioware are obviously committed to resolving these, and importantly, none of the bugs I experienced were enough to dampen my enthusiasm for my continuing quest and for the title as a whole.

There's also a review at PC Gameworld today.

All in all Neverwinter Nights should satisfy anyone hankering for some RPG action. Whether you’re looking for a single player game, a multi-player game, or the ability to create your own games, Neverwinter has you covered. Expect our full review in the next week or so.

Post Comments (2)


Icewind Dale II Screenshots
Posted Saturday, June 29, 2002 - 22:06 CET by Mollusken

A few new screenshots from Icewind Dale II has been spotted at GamePro and 3DAvenue.

Post Comments (1)


Neverwinter Nights Wallpaper
Posted Saturday, June 29, 2002 - 22:04 CET by Mollusken

Designer Brad Custer has sent out words that he has created a rather cool Neverwinter Nights wallpaper. In his collection of earlier creations there's also Baldur's Gate 2 and Icewind Dale wallpapers.
The whole collection is featured at Inside Mac Games.

Post Comments (1)


Last Week's Poll's Results
Posted Saturday, June 29, 2002 - 13:55 CET by Sorcerer

What we asked:

Q: In the single player campaign Neverwinter Nights, you will be able to have a maximum of 1 henchman (i.e. person) in your party at any time. (Yes, you and one more character is maximum.) Consequently, will you be looking for a henchman of the opposite sex, with whom you might be able to have a romance?
(897 votes total)

Maybe, but my hiring him/her will depend on what their stats/class are like (440) 49%
Yes, definitely (367) 41%
No, not at all (90) 10%

Almost half of the poll participants (49%) will definitely not fall in love with a certain henchman (henchperson?) based solely on their outwardly appearance, but will first determine what their stats and class are like, and only then decide upon having a romance with them or not. (If one is possible, that is.)

On the other hand, 41% of those who voted are obviously not that concerned with the stats, class (and race?) of the henchmen (hirelings would definitely be a better word to use), and will be looking for romances while being a lot less picky than the above 49%.

Finally, 10% of the people who voted are not interested in romances at all.

  • Current Poll
  • Previous Polls

    Post Comments (1)


    Another NWN Review at GameSpot UK
    Posted Friday, June 28, 2002 - 19:44 CET by Mollusken

    No big surprises here either. GameSpot UK gives Neverwinter Nights a score of 9 out of a possible 10.

    Overall, Neverwinter Nights is a compelling game. It's highly polished, but more importantly, very enjoyable. If I have any quibbles, they are rather minor. At around 60 hours, it is much smaller than the Baldur's Gate games, and although some may welcome this, I personally enjoy games that keep me busy for a long time and always feel disappointed to have finished them (which probably explains why I played Baldur's Gate II through seven times!) I also miss the party-system and the interaction you had with your NPC comrades. Sure, henchman will converse with you, but not to the extent that your party members did in Baldur's Gate II. Still, that's not much to complain about, all things considered. Neverwinter Nights is a great game, and one that will hold your attention from start to finish. We hope that BioWare has more of this in store for us in the future.

    Read everything here.

    Post Comments (0)


    NWN Dungeon Master Review
    Posted Friday, June 28, 2002 - 19:42 CET by Mollusken

    Neverwinter Connections has dedicated a review to the Neverwinter Nights dungeon master client, and point out the strengths and weaknesses of it.

    We had 3 Dungeon Masters and 5 players. The game was a total success (other than the repeated crashes) and everyone involved enjoyed it immensely. While running the game I was absolutely amazed at how large of a step was just taken towards that holy grail of a pen & paper game. The players were role-playing! They stayed in character! They walked instead of running everywhere! They questioned the citizens of the town, which were of course live Dungeon Masters… It was just awesome.

    Not only was it extremely easy to possess NPC’s and to move about, it was also extremely fast. We were able to stay ahead of the party most of the time and luckily the party stayed together.

    I could go on and on about the ease of Dungeon Mastering a Neverwinter Nights game, however, I think you realize it will just be more gushing over such an amazing product.


    Read the whole review here.

    Post Comments (0)


    One Million Neverwinters Shipped
    Posted Friday, June 28, 2002 - 19:21 CET by Mollusken

    It's been said in a press release from Infogrames that they shipped a total of one million Neverwinter Nights games worldwide. It's also a part of the story that they've allready sold 125000 copies. The whole press release can be found here.

    Post Comments (0)


    Neverwinter Nights Forum Update
    Posted Friday, June 28, 2002 - 18:27 CET by Z-Layrex

    David Gaider, Designer

    Templates: I think that's one of the scripts used for the generic script templates. There are a number of templates which we used which form an easy base for a number of basic quests... there's a fetch quest, rescue quest, assassination quest, etc. These have template dialogues, template NPCs and use a set of scripts which you will see all over the script database (nw_c2_assvict1 for the assassination victim, nw_d2_j_assa01 for one of the assassination plotgiver's dialog scripts, nw_d2_j_fetch01 for one of the fetch plotiver's dialog scripts, etc.) These scripts are set up to work in a very specific manner, with the user only needing to plug values in a few places and adjust the template dialogue to suit them. They won't work well otherwise... that escort script, for example, is setting a variable which is looked for by the rescued prisoner's template dialogue file. Not much use to you unless you have that. The description on the script should probably mention that it's not a general 'follow the PC' script and just for a specific plot where an NPC follows the PC, but it's not incorrect. (Incidentally, I imagine these template plots are being prepped-up with sufficient documentation and will be released for you all to use at some point. I don't know that for sure, but it'd be a waste of all the work we did on 'em otherwise.)

    Follow Scripts: I don't know how to do follow scripts, I'm afraid. We used to have an ActionFollow command, but it was probably taken out because it didn't work very well. All I could suggest is that you use the OnHeartbeat event to have the NPC check if GetDistanceToObject (the PC) is greater than a certain amount... if so, then ActionMoveToObject.Might also want to add in there, that if that distance becomes too large, then ActionJumpToObject (like the henchmen do sometimes). Otherwise, I'd suggest opening up the henchmen scripts and see how they follow.

    Generic AI: I wouldn't suggest altering the generic AI include unless you really, really have to. It shouldn't be necessary, anyway. If you go into your NPC's OnSpawn script, copy it and save it under a different name. Then uncomment the line 'SetSpawnInCondition (NW_FLAG_ON_DIALOGUE_EVENT);' and recompile the script. This sets up your NPC to fire a UserDefinedEvent # 1004 whenever someone 'shouts' near him. Now if I wanted that NPC to respond to the shout 'Come Here' when stated by the NPC's PC master (the identity of which is stored in an object variable on the NPC), I have to do the following:

    1) First, you need to tell your NPC which verbal commands to listen to. This would be added to the OnSpawn script using the SetListenPattern command.

    2) Then, in the OnUserDefined script, you want to GetListenPatternNumber() and see if it matches up with the integer set in the OnSpawn.

    So, for 'Come Here', I'd need to make sure that the proper SetSpawnInCondition line was uncommented for the OnDialogue event and the following line added:

    SetListenPattern (OBJECT_SELF, "Come Here", 100);

    Then I could add this as my OnUserDefined script:

    void main()
    {
    int nEvent = GetUserDefinedEventNumber();
    if (nEvent == 1004) // OnDialogue Event
    {
    int nMatch = GetListenPatternNumber();
    object oMaster = GetLocalInt(OBJECT_SELF, "Master");
    object oShouter = GetLastSpeaker();
    if(nMatch != -1 && GetIsObjectValid(oShouter) && GetIsPC(oShouter) && (oShouter == oMaster))
    {
    if (nMatch == 100) // Come Here: NPC moves to PC
    {
    ClearAllActions();
    ActionMoveToObject(oShouter, TRUE, 2.0);
    }
    }
    }
    }


    Sharing Variables: First you have to use a SetLocal command to actually set the variable on an object... then you can use a GetLocal command from any script to retrieve it. Let's say you wanted to set the "Alive" string variable to be equal to the PC's name (not sure why you're using GetAttackTarget, but I'll go with that). Let's say you want it to be set module-wide. You would set it by doing this:

    SetLocalString (GetModule(), "Alive", GetName(OBJECT_SELF));

    Then from any other script, you could retrieve that string from the module:

    GetLocalString (GetModule(), "Alive");

    Generally, however, when getting a variable, you want to use it in the context of a definition:

    string sName = GetLocalString (GetModule(), "Alive");

    That way in the new script the variable sName would be equal to the name of the PC in the original script.


    Scripting: If I wanted a wolf to flee when it reached a certain damage point:

    1) Copy it's OnSpawn script and re-save it under a new name. Uncomment the 'OnDamaged' flag (the 'SetSpawnInCondition (NW_FLAG_DAMAGED_EVENT);' line).

    2) In the OnUserDefined section, put a script that does something like the following:

    (nwscript)
    void main()
    {
    int nEvent = GetUserDefinedEventNumber();
    if (nEvent == 1006) // OnDamaged event
    {
    int nCurHP = GetCurrentHitPoints();
    int nMaxHP = GetMaxHitPoints();
    if ((nMaxHP/2) < nCurHP) // if at less that 50% HP
    {
    // clear actions and flee to exit waypoint
    ClearAllActions();
    ActionMoveToObject (GetWaypointByTag("oExit"), TRUE);
    // don't accept any more input from AI scripts
    SetCommandable (FALSE);
    }
    }
    }


    Custom Tokens:

    Quote: i.e. You have a SetCustomToken( int nToken, string sText ), but no GetCustomToken(int nToken). Can I, instead call GetLocalInt(GetModule(), "CUSTOM" + nToken), or is there some other cunning incantation?

    No, there is no GetCustomToken. Custom tokens are only for use in dialogue. Once set, they are global, but it's up to you to track what custom tokens you have.


    Dragons: It should be easier to use the special abilities in possession with the 1.19 patch (and the regular AI should have your creatures using them normally, as well). Would have been nice to have the DM faction/PvP bug fixed for 1.19, as well, but we're still working on it. That one's a very high priority to get fixed asap.

    Post Comments (0)


    Neverwinter Nights on Parhelia
    Posted Friday, June 28, 2002 - 12:39 CET by Mollusken

    FiringSquad has tested the three-headed graphics card Parhelia from Matrox, and Neverwinter Nights was one of the games they tried out on three 22" monitors. There's a couple of photos from the testing here.

    Somebody buy me that piece of hardware and a couple of new monitors!

    Post Comments (1)


    Neverwinter Nights Patch 1.19 Released
    Posted Friday, June 28, 2002 - 12:24 CET by Mollusken

    The Neverwinter Nights english patch v1.19 has been released, and it fixes the following bugs.

  • Creatures will now use their spell-like abilities again (bug created with the 1.18 patch)
  • Bards will no longer become illegal characters
  • Sort Community Names alphabetically in chat
  • Neverwinter Nights now works with DirectX debug DLLs
  • Added a Tech Support chat area

    The patch (sized 500 kb) can be installed with the "Update" feature in the game or it can be downloaded manually here.

    Post Comments (0)


    Neverwinter Nights Linux Server Released
    Posted Friday, June 28, 2002 - 12:19 CET by Mollusken

    BioWare has released the Neverwinter Nights dedicated server application for Linux. It's only a 1,4 mb download, but it requires a lot files from the Windows installation of the game. Go here for the download.

    Post Comments (0)


    Icewind Dale 2 Forum Update
    Posted Friday, June 28, 2002 - 2:35 CET by TBR

    Feargus Urquhart, President

    No release date update: I know you all miss me when I don't post for a while and that my hopefully in ten days has been up for a couple of weeks.

    Anyway, I don't have an update on our date yet. I know that EBGames.com posted a date and I can't tell you (yet) whether that is going to be the actual ship date or not.

    Sorry, I know that I'm not posting any new news, but I thought I should say something because of the info up on the web.

    Post Comments (4)


    Neverwinter Nights Reviews
    Posted Thursday, June 27, 2002 - 19:06 CET by Mollusken

    Another top score for Neverwinter Nights The Electric Playgound, with 9.5 out of a possible 10.

    Curse all of you for making me write this review and dragging me away from valuable Neverwinter Nights time. In fact, what are you doing here reading this? Why aren't you playing the game now?

    Ok, somewhere in my NWN obsessed mind I vaguely remember a thing called "rent," which I pay by writing about games, so here I go: Neverwinter Nights is a fantastic game, a great accomplishment, and by far the best PC game I've played this year. Actually, it may be the best PC game of a good many years. I can picture other gamesmakers checking out the game, and then just surrendering. Yes, I know there's a small element of backlash surrounding this title, as there always is with any big name/big hype release. But honestly I don't know what they're on about. I am floored by this game.

    The 3D Guru doesn't give the game a score, and in their opinion the game isn't perfect (yet).

    All in all, if Bioware would fix 3 very annoying and game breaking bugs, this game would be the cream of the crop for RPG's for years to come. Until these bugs are fixed however, they are a thorn in the side of many who want to experience this game hassle free. If anything, the single player game will whisk you away to another world for the time being, as long as you can handle having to go through a dungeon 2-3 times because the map said you were already there when you weren't. I just couldn't let another review go by without letting the public know, that the grass isn't as green as some people might lead you to believe. This game is getting tremendous fan boy attention, even from most reviewers who maybe just want to ignore the problems this game has because they either do not want to admit there are major faults in the game, or simply have not played it nearly enough to give that review in the first place.

    Post Comments (1)


    Neverwinter Wednesday
    Posted Thursday, June 27, 2002 - 18:54 CET by Mollusken

    Yes, I know's it's Thursday now, but here's the wednesday goodies from BioWare anyway. At the official Neverwinter Nights community site you'll now find a module contruction tutorial (downloadable in pdf format), a guide to chapter one of the official campaign and a brand new wallpaper made from the toolset.

    Post Comments (0)


    Icewind Dale 2 Forum Update
    Posted Wednesday, June 26, 2002 - 19:17 CET by Z-Layrex

    J.E Sawyer, Lead Designer

    Release date, the status of the game and no new avatars: Direct questions about the release date to Vivendi or EBWorld. Find out where they got them and WHY they were set that way. I've been pretty explicit about where our development stands. We have less than one hundred active bugs. That doesn't mean that there are less than one hundred bugs in the game, but there are less than one hundred KNOWN bugs in the game.

    As for making new avatars: NO. NO. NO. Whether Vivendi wants to ship the game in two days or ten weeks or fifteen years, there are exactly zero artists working on IWD2. They are ALL working on Jefferson or (if they are Aaron Brown) on Lionheart. In order to show you Jefferson, we need art assets. That's what they are creating. A lot of them. Animations, characters, environments -- anything YOU CAN SEE, they are making. Don't believe me?

    Aaron Meyers -- Terrain modeling and texturing
    Aaron Brown -- Lionheart modeling and texturing
    John Dickenson -- Character texturing
    Dennis Presnell -- Terrain modeling and texturing
    Vance Kovacs -- Environment concepts, character concepts, website concepts
    Vera Milosavich -- Character and environment modeling
    Glenn Price -- Character texturing
    Trent Campbell -- Character animation
    Abdul Brown -- Character and environment modeling
    Carlos Cheek -- Environment modeling
    Dany Martinez -- Environment modeling and texturing
    Christopher Marleau -- Character animation
    Chris Appelhans -- Character texturing
    Brian Menze -- Object texture-mapping

    ... and Justin Sweet is doing contract work for another company. That's it. Every full-time artist in Black Isle is working on Jefferson with the sole exception of Aaron Brown.

    Look, I know you guys really want new avatars for IWD2, but we don't have unlimited resources. When people get taken away from working on Project 1 to work on Project 2, Project 1 falls behind. And it SUCKS. Sorry.


    Damien Foletto, Junior Designer


    Playing solo update: Skummy is on hiatus right now. To be honest, I was losing interest in him because of the reasons I stated earlier in this thread. For now, I'm playing and evil party consisting of 3 half-orc fighter barbarians, a tiefling fighter/thief, a Dreadmaster of Bane, and a drow wizard. I'll probably go back to Skummy later this week, but I needed a breather from him for a bit.

    Chad Nicholas, Sciptor


    Axes: There aren't any Orc Double-Axes or Dwarven Urgrosh in IwD2. All axes (2h, 1h, thrown) use the MW: Axe skill.


    Neverwinter Nights Forum Update
    Posted Wednesday, June 26, 2002 - 19:05 CET by Z-Layrex

    Jay Watamaniuk, Community Manager

    Dragons: Yes, Dragons have breath weapons. I believe there are even screenshots out and about that show this. A breath weapon for a dragon is one of it's combat abilities and it may not be used during a specific combat. The fire breath weapon is the most impressive attack in the game in my opinion.

    Bob McCabe, Designer


    Henchman: The henchman were originally designed to need to be instructed on everything that they do, but that was switched to use a system of silents shouts (oxymoron!). This way, henchman are more intuitive and do not need to be so heavily managed. If you come up to a door and click on it, and get a "locked" message, the door is shouting to your henchman to attempt to unlock it. Tomi the Rogue then responds to the door outloud (so you can hear it), saying "Will do!" or somesuch. He should then fire a script that tells him to walk to that door and unlock it. If you are in combat, there is a random chance to his success. If you are not in combat, then Tomi will "Take 20" and automatically be successful. Of course, Tomi will tell you whether or not he can unlock the door by his initial assessment "No can do" or "Will do!" or whatever it is that he says.

    This is also the way that traps on the floor work. They will silently shout to your henchman, if he notices them, to tell the PC to "hold up" so that he can disarm it. Just like locks, he'll know whether or not he can do it beforehand, and doing it outside of combat will guarantee that, so long as it is within his skill range, it will be successful.Sometimes, the henchman will receive multiple commands, and this can affect things. When he does receive multiple commands, he will do whatever was the last thing he was told to do. For example, you walk to a door and click on it, and the door says locked. Tomi thinks to open the door, but as he moves to open the door, he realizes that he is too far away from you. So now he is moving to you, to make sure the distance is acceptable. Meanwhile, you click on the door once again and he moves to unlock it, but then he makes a spot check for an enemy and moves to attack. You should be getting feedback in most of these situations (i.e. Tomi makes a battle cry, or says will do, or so forth.), so you won't wonder what's going on. Hope this has helped!


    Jonathan Epp, Quality Assurance


    Local Variables: Local variables are set on specific objects. So 'val_1' on object 1 does not equal 'val_1' on object 2.If you need to use 'global' variables, set a local variable on the module object (use GetModule() to get the module object). For example: SetLocalInt(GetModule(), "val_1", 42);

    Though in your example of players talking to an NPC, you might just want to store the variables on the NPC. But it depends on what you're trying to do...


    Lights:

    Quote: Is there any way to change the light color of placeables such as torch brackets and other light sources?

    Not directly, that I know of. There is a sort of workaround though. First, turn off the placeable's normal illumination with SetPlaceableIllumination(oPlaceable, FALSE). Then, apply one of the Light visual effects to the placeable:
    ApplyEffectToObject(DURATION_TYPE_*, EffectVisualEffect(VFX_DUR_LIGHT_*), oPlaceable, 20.0)

    The duration can be permanent or temporary (DURATION_TYPE_PERMANENT, DURATION_TYPE_TEMPORARY), and there are a whole bunch of light constants you can use (just click the Constant button in the Script Editor to see the list). The number is the duration, but is only used if it is temporary.This might not work if the placeable object has the Static flag set (on the Basic tab of the Placeable Object Properties). I can't remember for sure, but you might want to make sure the Static flag is not set to be on the safe side.

    More:

    Quote: Is there a way to determine the tile vector within a script?

    Well, let's say I want to figure out what tile an NPC is on:

    vector vPosition = GetPosition(oTheNPC);

    A vector has three values - x, y and z. The z is unimportant to us, so let's ignore it. All the values are in meters. A tile is 10x10 meters. So if you divide the x and y values of a vector by 10, you have the tile grid position, which is what is needed for the tile color functions.

    vector vTile;
    vTile.x = vPosition.x / 10;
    vTile.y = vPosition.y / 10;

    The vector vTile now has the tile grid position, so it can be used in SetTileMainLightColor and SetTileSourceLightColor (after converting to a Location this is). I believe the rest has been covered above...


    News Commenting
    Posted Wednesday, June 26, 2002 - 13:29 CET by Sorcerer

    Well, the final version of the news commenting layout is all done now. To minimize the complications (and probably give myself a lot of headache later), I set it so that registration to post is not required.

    Feel free to test it by clicking on the Comments link below!

    Post Comments (5)


    More Neverwinter Nights Reviews
    Posted Wednesday, June 26, 2002 - 12:29 CET by Mollusken

    The first of today's reviews is found at Gamers.com.

    My disappointment didn't last long. In fact, it ended as soon as I began the character creation process. Being familiar with the D&D source material, I know how long and arduous character creation can be. And in the Baldur's Gate games I would typically spend hours trying to lock in on the perfect combination. As usual, gender isn't too tough, and neither is race if you know all the modifiers each race gives. If not, it doesn't take long to read them, and it is well worth it, because the gameplay effects are immediate. Two quick examples: Humans will have more skill points and an extra feat, while elves will have extra weapon proficiencies, nightvision, and more.

    You'll find the second review over at MyGamer.

    The graphics are well thought out and much attention was paid to detail. I was especially impressed when I zoomed in and found that there was no loss in graphic quality (Something many companies take for granted). Performing a spell was truly magical with the superb lighting effects and some of the most impressive explosions I’ve seen to date. The creatures come in many shapes and sizes and Its obvious they spent a lot of time perfecting them, as hard as I tried I could not find a single flaw in any of them. If graphics are an important part of a game NeverWinter won’t disappoint you.

    And finally there's one at GamingReport, which is written by former Wizards employee Ryan Dacey.

    Had NWN allowed FP perspective, I suspect that it would be a true revolution in game presentation. As it is, I cannot get past the feeling that I'm not roleplaying; I'm just directing a robot who moves from point to point and kills things.

    Imagine how much better EverQuest would be, for example, if you could switch to NWN's 3/4 perspective view when running around the towns or from point to point through the wilderness, but when it cam time to fight something or inspect something closely you could zoom into the "you are there" mode.

    I've seen both worlds. I want the best of both in one game. The technology involved is already done; someone just needs to put the pieces together.

    Close. Very, very close. But not quite there yet.

    Post Comments (0)


    Neverwinter Nights - Maxim Ad
    Posted Wednesday, June 26, 2002 - 11:15 CET by Sorcerer

    Our faithful reader Bel has sent us a scan of the Neverwinter Nights ad from the latest edition of the men's magazine Maxim. It's a very cool picture, though I'm sure some of the ladies will be frowning. ;)
    Click on the picture below for a larger version of the ad.

    Maxim NWN ad

    Post Comments (9)


    Another NWN Review at IGN PC
    Posted Tuesday, June 25, 2002 - 19:01 CET by Mollusken

    With the opening line "The only thing Bioware forgot in this package was the fries.", Neverwinter Nights receives another top score from IGN PC.

    And on the Eighth Day, He Built Neverwinter.

    Okay, okay...with that header I'm not trying to imply Bioware = God, so please don't send me any emails telling me I'm going to burn in Hell. But I will say that God would have been able to get to that day of rest a hell of a lot faster if he would have had access to the Aurora Toolset. It would have been: "On day one He created man, woman, creatures, grass, trees, light, firmaments in the midst of the waters, and all that jazz. And on days two through seven, He vegged out in front of the computer with a case of Mountain Dew and a pizza."


    Read everything here.


    GameSpot Reviews Neverwinter Nights
    Posted Tuesday, June 25, 2002 - 18:48 CET by Mollusken

    GameSpot gives the game a score of nothing less than 9.2 out of a possible 10. Here's a few words from them.

    You might think that a game like Neverwinter Nights probably isn't very healthy for the gaming industry. After all, this is the sort of game you could easily play for months or even longer. Simply put, once you get into Neverwinter Nights, you'll likely have no need or desire to play another role-playing game for a long time--or any other game for that matter. And while that's unfortunate for any game trying to compete, it's certainly a good thing as far as most gamers should be concerned. They'll find that Neverwinter Nights is indeed the end-all, be-all Dungeons & Dragons RPG that it's been touted to be for the last several years.

    Read everything over at GameSpot.


    Neverwinter Nights Review at TVG
    Posted Tuesday, June 25, 2002 - 18:45 CET by Mollusken

    Total Video Games have written a few words about Neverwinter Nights and they give it a score of 9 out of a possible 10.

    Personally I enjoyed the Dungeon & Dragons legacy, the board game was superb if however incredibly complex and confusing which brings me onto my next topic. You would expect a game like Neverwinter Nights to contain so much information and vast amounts of ‘things’ going on that it would confuse and somewhat distress new and less advanced gamers. I must admit I have been playing games like these for years and I too get frustrated if I can’t understand what’s going on, thankfully Neverwinter Nights’ seams to have hit the nail on the head. As you play, the game itself develops at your own speed and at the level of your knowledge. Instructions are clearly displayed and simple to understand, admittedly there is still a lot going on but eventually you’ll get the hang of it. Using quick keys you can use different weapons, cast spells, heal yourself and to some extent get you and your team members out of trouble. If you die you have two options, load a saved game, which is fine if you have saved recently. Secondly you can re-spawn, this takes you back to the temple however you will lose crucial character skill points – again it’s another decision you will need to make.

    Read everything here.


    Neverwinter Nights Forum Update
    Posted Tuesday, June 25, 2002 - 16:30 CET by Z-Layrex

    Niel Flynn, Programmer

    Scripting Problems: Yep, I was wrong. I just whipped out the old statistics text book and you guys caught me. The easiest way to fix that is to do the 1/n, 1/(n-1), ... method. Basically make the top node a 1 in 6 chance. The second node a 1 in 5, the third a one in 4, and so on. If it ever gets to the last node, that one is automatically selected so a script is not necessary. Remember that if you have 4 nodes, the first one will be 1 in 4, if you have 15 nodes, the first will be 1 in 15, then lower by 1 each node down. Also remember that the order will be important so keep that coordinated with the scripts.

    Conversations: To link, you have to do NPC to PC or PC to NPC. Add a PC to the end of your last NPC and link that.

    Root
    --NPC: Hi
    ----PC: Hello
    ------NPC: I will say Hi again.
    --------PC:
    ----------NPC (link) : Hi

    To get [CONTINUE] or [END DIALOGUE] just leave the text blank. When you create a node it has a default text. That has to be removed so there is no text at all. The [???] is added automatically.


    Owen Borstad, Tools Programmer


    Servers: The button gets greyed out if it can't connect to gamespy. This means that your server could be behind a fire wall, or that the ports are blocked some how. For more information about which ports to unblock, look at this.

    Trent Oster, Producer


    Spontaneously Casting: You can drag the cure spell from your spell book into the quickbar. If you have no cure spells memorized it will have a small "s" visible which means you are spontaneously casting the spell when you use the quickslot.

    Jay Watamaniuk, Community Manager


    Fog:

    Quote: Edit-> Area Properties-> Visual tab-> Customize Environment

    There you can adjust Sun/Moon Fog Amount and Color as well as the Sun/Moon Ambient & Diffuse colors.

    The fog and lighting effects are some of the key ways to completely change the feel of an area. Sound was implemented quite late in the development of the Toolset and so I am just getting used to have full control over sound and it has the same powerful effect as lighting.


    Icewind Dale 2 Forum Update
    Posted Tuesday, June 25, 2002 - 16:08 CET by Z-Layrex

    J.E Sawyer, Lead Designer

    Staves and daggers: Staves and daggers can still be pretty useful. Staves are the only two-handed bludgeoning weapon. There are a few monsters in the game that are resistant to slashing and piercing. When you encounter them, you will be glad to have a staff. Daggers, used with Weapon Finesse, can allow a low-strength, high-dex character to hit very often, even if it isn't for a lot of damage. This is very useful for rogues who sneak attack often.

    Cleric "Domains": THIS IS THE FINAL LIST OF CLERIC DOMAINS AND THEIR ASSOCIATED ABILITIES. LAST EDITED ON 6.24.02.

    When a character takes a level of cleric, they will be required to pick a deity from the following list: Ilmater, Lathander, Selune, Helm, Oghma, Tempus, Bane, Mask, Talos. This their deity for all cleric levels.

    Selecting a deity is restricted by alignment. It also gives you two (2) special powers and access to domain spells. Domain spells are a special set of spells. For every cleric spell level the character can cast, he or she may cast one domain spell per day, from a list of two per spell level. These alignment restrictions, powers, and domain spells are listed below. Domain spells have been assigned arbitrary levels for the purposes of fitting into the "domain" and feel of the deity.

    Ilmater (LG, NG, LN)
    Pain Touch 1/day (Touch weapon that causes a -2 penalty to Str and Dex for 10 rounds)
    Ilmater's Endurance 1/day (increase Con by 6 for a number of rounds equal to level)
    1st: Minor Elemental Barrier, Protection From Evil
    2nd: Unfailing Endurance, Aid
    3rd: Magic Circle Against Evil, Cure Serious Wounds
    4th: Holy Smite, Emotion: Hope
    5th: Feeblemind, Holy Power
    6th: Stoneskin, Harm
    7th: Holy Word, Impervious Sanctity of Mind
    8th: Symbol of Pain, Holy Aura
    9th: Horrid Wilting, Summon Monster IX

    Lathander (LG, NG, CG, N)
    Improved Turning Feat (free)
    Lathander's Renewal 1/day (cures 2x cleric level in hit points)
    1st: Sunscorch, Faerie Fire
    2nd: Lesser Restoration, Bull's Strength
    3rd: Agannazar's Scorcher, Negative Energy Protection
    4th: Shield of Lathander, Holy Smite
    5th: Flame Strike, Raise Dead
    6th: Heal, Fire Storm
    7th: Greater Restoration, Sunbeam
    8th: Aura of Vitality, Resurrection
    9th: Meteor Swarm, Mass Heal

    Selûne (NG, CG, CN)
    Selune's Freedom 1/day (Freedom of Movement that lasts 1 round/level)
    Moon Shield 1/day (grants a +3 bonus to spell resistance that lasts 1 round/level) 1st: Faerie Fire, Sanctuary
    2nd: Moon Motes, Alicorn Lance
    3rd: Moonblade, Protection From Fire
    4th: Emotion: Rage, Ghost Armor
    5th: Wall of Moonlight, Undead Ward
    6th: Antimagic Shell, Divine Shell
    7th: Planar Binding: Air Elemental, Planar Binding: Water Elemental
    8th: Planar Binding: Fire Elemental, Planar Binding: Earth Elemental
    9th: Prismatic Spray, Elemental Legion

    Helm (LG, LN, N, LE)
    Helm's Shield 1/day (grants a +2 bonus to saves for a number of rounds equal to level)
    Helm's Watch 1/day (grants a +2 miscellaneous bonus to AC for a number of rounds equal to level)
    1st: Protection From Evil, Armor of Faith
    2nd: Spell Shield, Hold Person
    3rd: Exaltation, Glyph of Warding
    4th: Death Ward, Defensive Harmony
    5th: Greater Command, Dismissal
    6th: Circle of Blades, Globe of Invulnerability
    7th: Spiritual Wrath, Impervious Sanctity of Mind
    8th: Iron Body, Seven Eyes
    9th: Aegis, Banishment

    Oghma (NG, LN, N, CN, NE)
    Oghma's Knowledge (+1 to all Lore skills)
    Identify 1/Day
    1st: Identify, Eagle's Splendor
    2nd: Charm Person, See Invisible
    3rd: Find Traps, Dispel Magic
    4th: Malison, Shout
    5th: Power Word: Silence, Greater Command
    6th: Power Word: Stun, Symbol of Fear
    7th: Great Shout, Symbol of Hopelessness
    8th: Power Word: Kill, Symbol of Death
    9th: Executioner's Eyes, Wail of the Banshee

    Tempus (CG, N, CN, CE)
    Automatically gains Martial Weapon: Axe and Weapon Focus: Axe feats.
    Tempus' Strength 1/day (increase Strength by 6 for number of rounds equal to level)
    1st: Magic Stone, Bless
    2nd: Draw Upon Holy Might, Chant
    3rd: Prayer, Animate Dead
    4th: Blood Rage, Recitation
    5th: Champion's Strength, Chaotic Commands
    6th: Circle of Blades, Spiritual Wrath
    7th: Power Word: Blind, Summon Monster VII
    8th: Power Word: Stun, Summon Monster VIII
    9th: Power Word: Kill, Summon Monster IX

    Bane (LN, LE, NE)
    Tyrant's Dictum (all saves vs. their will spells are at +1 DC)
    +1 to all Bluff, Diplomacy, and Intimidate
    1st: Command, Bane
    2nd: Silence, Horror
    3rd: Dire Charm, Rigid Thinking
    4th: Cloak of Fear, Emotion: Despair
    5th: Greater Command, Domination
    6th: Power Word: Silence, Feeblemind
    7th: Suffocate, Gate
    8th: Flaying, Power Word: Blind
    9th: Mass Dominate, Summon Monster IX

    Mask (N, LE, NE, CE)
    Free Blind-Fight feat
    +1 bonus to Hide, Move Silently, and Pick Pockets
    1st: Minor Mirror Image, Sleep
    2nd: Blindness, Blur
    3rd: Mirror Image, Invisibility Sphere
    4th: Emotion: Despair, Improved Invisibility
    5th: Shadow Monsters, Unholy Blight
    6th: Greater Shadow Conjuration, Phantom Blade
    7th: Shades, Soul Eater
    8th: Mass Invisibility, Blasphemy
    9th: Black Blade of Disaster, Executioner's Eyes

    Talos (CN, NE, CE)
    5 Electrical Resistance
    Destructive Blow 1/Day (gain a +2 bonus to hit and damage for a number of rounds equal to level).
    1st: Shocking Grasp, Doom
    2nd: Death Armor, Gedlee's Electric Loop
    3rd: Storm Shell, Lightning Bolt
    4th: Protection From Electricity, Static Charge
    5th: Slay Living, Ball Lightning
    6th: Whirlwind, Chain Lightning
    7th: Tremor, Destruction
    8th: Fire Storm, Acid Storm
    9th: Wail of the Banshee, Horrid Wilting


    Dreadmasters of Bane: Dreadmasters of Bane can be awfully powerful if their abilities are focused in a particular direction. All domain spells (for all clerics) are at +1 DC to resist. Combined with the Dreadmaster's innate +1 DC for all Will spells, that's a free +2 bonus. If they use their precious feats for Spell Focus: Enchantment and GSF: Enchantment, that's a base +6 DC to any domain spell they cast from the Enchantment school that happens to (usually) have a Will save. If a Dreadmaster with an 18 Wisdom cast Domination as a domain spell, the save DC to resist would be 25.

    Chris Avellone, Designer


    Shopkeepers having speech files: No, they don't do that in IWD2. Unless they're voice-acted, it's just text when you actually dialogue with them.


    Late Poll & Some Other Stuff
    Posted Tuesday, June 25, 2002 - 3:52 CET by Sorcerer

    Due to my involountary absence (I've sprained my ankle and waited for 7 hours at the ER), the new poll is more than 6 hours late. We need to make up for the lost time, so go vote now!.

    I'd also like to take this opportunity to ask you for donations or any other help you're able to provide. I've recently bought a new, faster server (the one we're on now) just to be able to serve you lot faster and to keep you from nagging over slow load times. ;)
    So if you'd like to donate a buck to help me pay it all off (not to mention the monthly hosting costs... ugh...), please use the PayPal donate button on the left side of all pages on SP. Thanks!


    Neverwinter Nights First Impressions at UGZ
    Posted Monday, June 24, 2002 - 18:35 CET by Mollusken

    Universal Gamerz has written an article with their first impressions from Neverwinter Nights.

    There it laid on the shelf staring at me, mocking me even, as I approached it with a grin. I laid both hands upon it and jetted for the counter only to be asked how I wished it to be billed. I inquired about the cost and quickly gave the payment, only to be handed a small plastic holding the box I had just purchased. I gently caressed it with my fingers. As I walked back to work, I started ripping and tearing the box apart, it had shined on the shelf, but after I got my hands on it, it lost its luster. I examined the contents. The contents seemed to have an energy about it, sparking with electricity and alive with endless possibility. The time ticked by at a daunting rate that day and the ride home was no quicker.

    You can read everything here.


    Neverwinter Nights Forum Update
    Posted Sunday, June 23, 2002 - 21:40 CET by Z-Layrex

    Niel Flynn, Programmer

    One Use Conversations: Fric, The previous advice was correct, except the top node should check for iTalkedTo == 1, and the second should set that to 1

    Root
    -- 1. I already gave you it, shove off already!
    -- 2. Hi How are you?
    ---- ... blah blah

    In 1. use the script wizard to create a test to see if the variable is 1.

    In the subtree of 2. Set that variable at the point the item is given.

    There are a few other threads on this subject to use as a resource too.


    Toolset Tutorial: We have a big 35 page (in Word) tutorial that has been completed and is awaiting final approval. It should be online very soon. I am not sure of the final mode of distribution (pdf, doc, html).

    NPCs Attacking Eachother: The easiest way is to set their factions to 0 relative to each other.

    Toll Bridges: Use the faction system. Make a new faction that the two Orcs belong to. Make their faction neutral towards the PC. In the converation, the node where the PC refuses to pay should have a script attached in the Actions Taken tab that sets the faction to 0 towards the PC. This can be done with the script wizard.

    More:
    Select Properties, and the Creature Properties dialog will open up.
    - In the lower right you will see an area called "conversation". Select the Edit button in that area
    - This will open the conversation editor with a new conversation. When you leave this editor, it will assign the conversation automatically to the creature.

    There are a few threads on creating conversations, but if you need more help please post again.


    Factions: Factions are explained in the tutorial (not yet released, but soon). Basically, they are a numerical representation of how two groups of one or more objects each, feel towards each other. If you make two factions (FAC_1 and FAC_2) and set them to like each other (faction value bigger than 10) they will not attack each other. Then use the script (warning I am doing this from memory)

    object oCreature = GetNearestCreature(???) <- Use the tag of the other creature
    AdjustReputation(oCreature, OBJECT_SELF, -100);
    DetermineCombatRound ......

    Then the two creatures will attack each other. Sorry that is so vague, I can get more specific if necessary.


    Merchants: Peeps Darius, there is no "merchant area" per se. You use a script to open the store for the player, and the 'merchant' exists in the player's screen. No one else sees it or has any indication it exists. Usually 'merchants' are attached to a NPC's conversation so the NPC appears to be the shopkeeper, but all he really does is cause a 'merchant' to open on the player's screen. So the flag on an arrow is just a marker to notify the module designer that a store exists. It has no in-game effect.

    Build Module: The Build Module does a few things. It checks for unused things (which just clutter up the module but have no bad effect) and it checks for resources that are supposed to be there but aren't. Mainly it will recompile all your scripts and creature challenge ratings. The biggest problem we found was that we would try a script in the game and see it didn't work. We would open the module in the toolset, change the script and try it in the game again but nothing changed. We forgot to recompile the script so it was still using the old one. this just makes sure everything is up to date.

    Interior Tiles: Not all the interior groups combine well. The Home Lower 1 is one of them. You could setup a transition between a door there and another in the Inn area. Transisitons can be in two different areas or in the same area. There is no way to blend the two together.

    Copying Areas: I'm flattered and maybe even a little curious but...There is no way to make a group of item into a custom item, although it is a good idea for a patch or expansion. You can select them and press Ctrl-C. Then Ctrl-V to paste a group of things. There is no way to rotate a group around the center either. There again is a good add-on for later.

    Patrols: There might be a bug with the 'Create Set' functionality, I just tested it and I got the same problem. The issue is that, if the tag is TAG_X, the waypoints need tags of WP_TAG_X_01, WP_TAG_X_02 ... It doesn't seem to be adding the WP_ at the start of the tag. You might have to manually do that until the next patch.

    NPCs Fighting Players: Use the script wizard on the Actions Taken tab to modify the faction by -100. This will make the NPC hate the PC and will then attack him/her.

    David Gaider, Designer

    Conversations & Time: 1) Whenever conversation is called, a ClearAllActions() is done first... this is why your NPC is halting his action queue and not performing WalkWayPoints any longer. What you need to do is go into his dialogue file in the conversation editor.
    In the bottom right of the editor, go to the last tab labeled 'Current File'. You will see a title called 'End Conversation Script' and places to put two scripts. These are scripts that will run whenever that dialogue file is aborted or simply ends. What you need to do is put a script in both of these slots that tells the NPC to do something once the dialogue is finished. For WalkWayPoints() all you need to do is call that command again... there is already a generic script called NW_D2_WALKWAYS that does this, so just stick that script in there.

    2) As for changing the time in the module, you have two options. Either go to Module Properties in the Advanced tab and change the Starting Hour of the module or use the SetTime scripting command. Remember that time can only be set forward... trying to set it backward will result in no change.

    More:

    Quote: 1)One more question... How do I go about reseting the delays at each waypoint upon arrival. I know the delay is 1 second by default but im wanting him to move in a more lifelike way. Perhaps have a delay of like 20 seconds at each point.

    To do this, you'd have to change the basical WalkWayPoint() calls in the OnSpawn script and in the dialogue file. If you want him to wait exactly 20 seconds at each waypoint, the command would be:

    WalkWayPoints(FALSE, 20.0);

    Of course, the 20.0 could be any float number... even random. If you wanted him to wait 1 to 20 seconds, it would be:

    WalkWayPoints(FALSE, IntToFloat(d20()));

    Quote: 2) Secondly, i was wondering if there was a way to make them perform an action once arriveing at a waypoint. If so how does one go about doing that, if i knew how i could have them do something interesting like reach up to the sky in mimic of looking for apples in his orchard

    Not if you're using the standard WalkWayPoints() action, no. You'd have to come up with a new script to have him move to waypoints and perform actions before continuing on.

    Quote: 3) and third and final question. his NIGHT_ position is valid, but i cant make him sleep once getting there. Whats the action for that?

    There is no real action for sleeping. As was mentioned above, you can make someone sleep by using EffectSleep to actually put them out... but, even then, there's no good way to put them into a bed first. They must sleep on the ground (tho a placeable bedmat works well for this). When I was doing my project for a daily peasant routine, what I ended up doing was having the NPC approach the bed and spawning in a placeable body on the bed (with the visual EffectSleep zzzzz's coming out of him)... and then re-spawning the NPC in the morning. This is not simple scripting, however. If you really want to put someone to sleep, you can use this scriptlet:

    effect eVis = EffectVisualEffect(VFX_IMP_SLEEP);
    effect eSleep = EffectSleep();
    effect eLink = EffectLinkEffects(eSleep, eVis);
    ApplyEffectToObject( DURATION_TYPE_PERMANENT, eLink, OBJECT_SELF);

    Just remember to use RemoveEffect when you want the NPC to wake up.


    SP ELC: You can also shut off the ELC control in the single player campaign, if you wish, in the .ini file.

    DM Rolling: The DM can roll dice using the DM Console. Press the tilde key (that's the ` key beside the 1) to pull up the console. Then type the die number followed by how many times you want it rolled.

    d10 1 = 1d10
    d4 5 = 5d4

    and so on.

    More:

    Quote: Thanks for the response. What about the players though. That was what i was actually referring to...attack rolls, feats etc. Some people seem to have uncanny luck... and so will their PC's!

    Nope. There's no in-game function for the player to roll his own dice. He'll have to ask the DM to do it.


    Waypoints: Ok, to answer a couple of questions I've seen in this thread:

    1) Whenever an NPC is interrupted when they are walking their waypoints (whether via combat or conversation), the command needs to be re-issued once that task is done. In the case of combat, this command is automatically issued in the generic AI. In the case of conversation, you need to expressly add the script. It was mentioned above: in the conversation editor, on the bottom right, the last tab has a spot where you can assign a script for when the conversation either ends or is aborted. All you need is a script that does this:

    void main()
    {
    WalkWayPoints();
    }

    That's it. This will cause your NPC to re-start their walk.

    2) The command is normally first issued to an NPC in their OnSpawn script. Check it out... it's called near the bottom. The default is for the NPC to pause at each waypoint for 1 second. To change this, you'd need to do the following:

    - copy the OnSpawn script
    - assign a new script to the OnSpawn area, paste the old script in
    - change the first command so it does what you want it to. If you want a 5 second pause, you need to write the command as WalkWayPoints(FALSE, 5.0);... if you want him to wait, say, 1 to 10 seconds: WalkWayPoints(FALSE, IntToFloat(d10()));

    3) Yes, the numbering DOES have to be 01, 02, 03, etc... and not 1, 2, 3. I suspect it may not matter, however, unless you have 10 or more waypoints.

    4) When your NPC reaches their last waypoint, they will try to go back to the very first one. MAKE SURE that the NPC can trace a decent path back to the first waypoint, or you will have difficulties. I find it easiest to make the pattern ultimately circular... so that the last waypoint ends up close to the first one.

    5) If you are having NPC's going to waypoints in another area and then coming back to continue their path, a few things to keep in mind:
    - make sure that the area transition both into and out of the new area are set up normally. It's best not to try and trick the pathfinding AI any more than need be.
    - I find it's a little easier to place a waypoint outside the door/area transition... both before they enter the new area and for when they exit (so, for example, place waypoint 4 outside the door, waypoint 5 inside the new area and waypoint 6 back outside the door).

    6) If you interrupt an NPC in the middle of his routine, does he go onto the next normal waypoint when he resumes his WalkWayPoints? No... from what I found, a new call of the command will send him back to waypoint #1. This is simply the way the default waypoint stuff works. The only way to alter it would be to make a new WalkWayPoints routine (which is not impossible... I would suggest writing a new #include script, tho, rather than altering the generic AI files. Your call, however.)


    Wandering NPCs:

    Quote: You can also uncomment the nw_flag_immobile_ambient_animation flag in the onspawn event script. just take out the // the line will change from green to black. save as a new name(or all of your npc's will do this). they npc will random walk, and do animations.

    Uncommenting the 'immobile_ambient_animation' flag is good for making a creature/NPC perform animations like scratching its head or turning to a nearby-placed friendly NPC (who also has the flag uncommented) and make like they're talking. The other flag ('mobile_ambient_animation'? Sorry, I don't have the game in front of me) makes the creature wander using the ActionRandomWalk and occasionally stop to perform animations or, if another creature is nearby, talk to them briefly. I would suggest uncommenting the second flag if you want a creature to wander around, rather than solely using the ActionRandomWalk command.

    More:

    Quote: I did that I uncommented the

    Set Spawn In Condition (NW_FLAG_AMBIENT_ANIMATIONS);

    thing and they walk, but I get the problem where they talk indeffinately, how can I work around that? or do I have to do the aforementioned bit of scripting?

    You mean if they meet up with someone else, they talk forever and don't continue wandering? Hmmm... I seem to recall when I looked at the AI script that there was a chance they would walk some more afterwards. Maybe it just isn't very high.


    Scripting: If you want the NPC to just display a string over their head, then use the ActionSpeakString command. For ActionStartConversaton, you are referencing the name of a dialogue file... and that has to be in quotes.

    More:
    Easiest way to make something run only once is to add a variation of the following onto it:

    void main()
    {
    if (GetLocalInt(OBJECT_SELF, "run_once") == 0)
    {
    SetLocalInt(OBJECT_SELF, "run_once", 1);
    }
    }


    OnDisturbed: Identity Crisis is correct... what you want to use is the OnDisturbed event of the object (the shelf, for example). That event is fired whenever the inventory of a creature of object is mucked with.

    Event: OnDisturbed
    used in: Placeable, Creature

    what triggered it? Use int GetInventoryDisturbType(). This results in one of these constants: INVENTORY_DISTURB_TYPE_ADDED, INVENTORY_DISTURB_TYPE_REMOVED, INVENTORY_DISTURB_TYPE_STOLEN. Also used here: object GetLastDisturbed() returns the creature who is altering the inventory, object GetInventoryDisturbItem() returns the item that is being added/removed/stolen.


    Closing Doors: Actually, it'd probably be easier to use the DelayCommand actions... just so it couldn't be interrupted.

    void main()
    {
    DelayCommand(30.0, ActionCloseDoor(OBJECT_SELF));
    }

    Just a thought. This is what I use in my module so the NPC's don't leave the doors open behind themselves all the time.

    More:
    I suspect if you put the waypoint he's going to immediately after the door, you could stick an ActionCloseDoor in his routine to make him close the door behind himself. Me, I put a DelayCommand(10.0, ActionCloseDoor(OBJECT_SELF)); in the OnOpen event of doors that get used a lot by NPCs... that way they shut themselves.


    Giving Rewards: Err... actually, this is incorrect. I'm not sure what you're scripting (I'd have to see the script), but we give rewards in the Action section of conversation all the time in the official campaign.

    Heartbeat Scripts: Actually, all the lampposts in the official campaign have that script in their heartbeat event. The only problem with heartbeat scripts is when you get a lot of them that run constantly... you end up getting too much overhead. An object is going to have a heartbeat event whether you do anything with it or not. Having a heartbeat script that only does anything at one of two points in a day is not going to be a resource hog. Be careful with heartbeats... but no need to be too paranoid, either.

    Day/Night Waypoints:

    Quote: No, you are correct in thinking there is a day/night waypoint ability.. I'll repost where I saw it..

    There is, indeed, day and night waypoints built into the generic AI. If you have a guard tagged GUARD and want to have waypoints he walks at night and different ones during the day, you would label the day waypoints WP_GUARD_0# and the night ones WN_GUARD_0#. You must, however, also uncomment the line 'SetSpawnInCondition (NW_FLAG_DAY_NIGHT_POSTING);' in the guard's OnSpawn script in order to have him recognize the day/night differential.


    Facings: Keep in mind, Randolf, that WalkWayPoints() is a continuous command. If you issue actions into his queue after you tell him to walk his waypoints, he will not perform the command any longer. In your last script, there, you are telling him to WalkWayPoints(), but then immediately interrupting that command by telling him to face south. Incidentally, the numeric SetFacing would work... you simply don't need the 'f' with the number in the parentheses.

    Lights: I haven't played around a lot with the placeable lights much, but something you might want to take note of:

    Whenever a light is turned on or off, you have to use the scripting command RecomputeStaticLighting() in order for the illumination to actually be changed in the world. Simply changing the placeable to 'deactivated' only affects the animation itself... the light it gives off is seperate from its animation. In order to shut the illumination off, you not only have to deactivate the placeable's glow animation but put the following in its script:

    SetPlaceableIllumination(OBJECT_SELF, FALSE);
    RecomputeStaticLighting();


    Penguin: I suppose you just looked at the list of pre-made creatures. The penguin is not in the creature list, but it's there as a model. Take any creature and select the 'appearance' button and you can change its model to a penguin. There you go.

    Doors: I guess this script should work... it will close the door at night (if open) and lock the door (if closed and the door is lockable). There's no way to tell if any PC's are 'inside', however, but then I don't know how you want to use the script. At any rate, putting the script in the OnHeartbeat event of the door will do the trick.

    void main()
    {
    if (GetIsNight() && GetIsOpen(OBJECT_SELF))
    {
    ActionCloseDoor(OBJECT_SELF);
    }
    if (GetIsNight() && !GetIsOpen(OBJECT_SELF) && !GetLocked(OBJECT_SELF) && GetLockLockable(OBJECT_SELF))
    {
    SetLocked(OBJECT_SELF, TRUE);
    {
    }


    Floating Text: Well... lay down a trigger that you want the PC to cross. Then put a script in the OnEnter event of the trigger:

    void main()
    {
    object oPC = GetEnteringObject();
    int nDisplay = GetLocalInt(OBJECT_SELF, "do_once");
    if (!nDisplay)
    {
    AssignCommand( oPC, ActionSpeakString( "I am displaying floaty text.", TALKVOLUME_TALK));
    SetLocalInt(OBJECT_SELF, "do_once", 1);
    }
    }

    Note that this will display the string only over the head of the first PC to enter the trigger.


    Monsters Shouting Things:

    Quote: I didnt add onto it, I just put the script in that box, where should I put it and how should i trigger it so it works.

    Well, I'm not sure whether you could get it to work with the OnCombatRoundEnd event or not. I can, however, tell you how we did enemies who shout things during combat:

    1) Go into the OnSpawn script and uncomment the line 'SetSpawnInCondition (NW_FLAG_HEARTBEAT_EVENT);', make sure you save the new script as a seperate one so you don't affect all NPC's.

    2) Create a script in the OnUserDefined event that looks something like this:

    #include "nw_i0_generic"
    void main()
    {
    int nUser = GetUserDefinedEventNumber();
    if(nUser == 1001) //HEARTBEAT
    {
    if(GetIsFighting(OBJECT_SELF))
    {
    if(d100() > 75)
    {
    SpeakOneLinerConversation ("trash_talk");
    }
    }
    }
    }

    This script means that each round there is a 25% chance of the NPC speaking a one-liner from the 'trash_talk' dialogue file. In that dialogue file, we just have a whole list of one liners... each with a script that gives a line a certain % chance of returning TRUE (with the last in the list having no script, so always being TRUE, if it gets that far). Alternatively, you could certainly replace the SpeakOneLinerConversation command with your random SpeakString method... I don't think there'd be any harm in that. If I'm not mistaken, the problem with what you're doing now is that NW_SPECIAL_COMBAT_CONVERSATION initiates off the OnPerception script... if you have the flag uncommented, the way to use it is to have a dialogue file with the very first line's script checking to see if the flag is uncommented. That, however, only fires once... and not repeatedly throughout combat. It's something that might be used to get a hostile NPC to say 'I will kill you now!' before rushing to attack the PC (as an example).


    User Defined Events:

    Quote: Try putting the ActionRandomWalk function in the OnHeartbeat script. The Onheartbeat calls every 6 seconds. This worked for me but I'm having a hard time figuring out where in the script I can place the function so that it soesn't preempt the other Onheartbeat stuff.

    You don't really want to stick scripting into the generic OnHeartbeat scripts or the other events. That's what the UserDefinedEvent is for. In your OnSpawn script, uncomment the flag for the event you want... for heartbeat, uncomment 'SetSpawnInCondition (NW_FLAG_HEARTBEAT_EVENT);' Then create a script in your OnUserDefined event for the creature. Start with this:

    void main()
    {
    int nEvent = GetUserDefinedEventNumber();
    if (nEvent == 1001) // 1001 is the OnHeartbeat UDE number
    {
    (do whatever...)
    }
    }


    Floating Text: You can't have exactly the same effect, no, because those floating texts are hard-coded. You could use the AssignCommand function on a PC to tell him to ActionSpeakString, however... and therefore display a floating string in a similar manner. This will, however, look the same as regular speech.

    Actions: Well, if you're telling him to use the ActionSit command in his OnHeartbeat script, I suppose you could simply add an If statement to see if he was talking to someone. For example:

    void main()
    {
    if (!IsInConversation(OBJECT_SELF))
    {
    (perform sitting in chair operation)
    }
    }

    More:

    Quote: Well I go it to work, thank you. But it does lead me to another question if I may be so bold. Is there an interger to set so that an NPC will remain sitting even when talked to? I have a oneliner conversation basically stating that so and so does not want to be disturbed and it seems akward for that person to stand if they don't want to be disturbed

    I THINK so. You'll have to try it out, however, to see if it works properly. If you look in the OnConversation default script, you will see a command ClearAllActions(). This is what is causing them to stand up... they are clearing their performance of the sitting animation. If you copy the script and save it as a new one and take out that command, they MAY initiate dialogue while they are sitting down. They may also not do anything at all because they're 'busy' sitting... you'll have to try it out.


    Derek French, Assistant Producer


    Top Issues:
    Greetings:

    Here the top issues that BioWare and Infogrames are working on together. We have been working on these issues ever since they were brought to our attention. Here is the list of the top issues.

    1. SecureROM.

    2. Bad STRREF issue when connecting to GameSpy.

    3. CD Key unauthorized only on certain servers.

    4. Invalid Character in singleplayer.

    More:
    Its also critically important for you to contact Infogrames about all issues that you are having. BioWare is NOT the primary tech support contact for Neverwinter Nights. Infogrames is. If you are only reporting problems here and are not contacting Infogrames, then you are doing yourself a disservice. We are in daily contact with Infogrames and unless we are getting hard numbers on the different issues, we won't know where to focus our efforts. Please remember to contact Infogrames.


    Brenon Holmes, Programmer


    Casting A Spell On An Object: What faction is the placeable in and what are your PvP options? These both have an impact on whether or not the placeable does damage. The placeable has to be in the hostile faction group (or other faction group that is hostile to the PC).

    Triggers: Triggers can't cast spells or run actions of any sort. Use an invisible placeable object instead.

    More:
    Have the trigger signal a user defined event to the placeable object when it is entered to cast the spell.


    One Liners: Okay... SpeakOneLinerConversation is actually used for conversation. Not chat bubbles... though you can get a similar effect with them. You don't pass in the text that you want the person to say... instead you pass in the resref of the conversation file... that conversation file should have only one node with your appropriate text in it. The only function you can use as you have used it in your example is SpeakString. You pass in the string that you want that creature to say for speak string and that creature will say it.


    Icewind Dale 2 Forum Update
    Posted Sunday, June 23, 2002 - 20:58 CET by Z-Layrex

    Darren Monohan, Producer

    Soundsets details: Yep, it uses that format: 22 kHz, 16-bit, mono WAV files.

    Damien Folleto, Junior Designer


    Playing the game solo update: Skummy is more than halfway through the game now, and it's EXTREMELY hard. Since his level is 16, he far exceeds the normal party level for the areas, and is subjected to the craziness that is insane level (which is what happens if your average party level is significantly higher than what the "normal" setting the area was designed for). Since Skummy no longer gets XP for killing critters, I have him avoid fights as much as possible. If a fight is unavoidable, then I am slammed by a bunch of high level monsters. When that happens, 9 out of 10 times I must turn the game's difficulty down to easy, or the dreaded Very Easy. So you'll know, Easy setting makes the baddies do 25% less damage per hit and have a -2 penalty to their to-hit. Very Easy sets their damage @ 50%, with a -4 penalty to-hit. It's a big help for the solo monk that has a 30 AC. However, since the critters usually cannot hit Skummy at the Very Easy setting, and there are a lot of critters, sometimes I am relegated to sitting at my desk and watching Skummmy swing away for 20 minutes just to get an opening wide enough between the multitudes of monsters so he can escape. IWD2 was designed from the beginning to be a party based CRPG, and it is very evident from playing the game solo. I much prefer playing the game with a full, or near full party.

    Now, I'm not saying that soloing is not doable in IWD2 - hell, I've gotten more than halfway through the game that way. However, I will say that the game is far more interesting with an actual party, even if there are only 3 characters in your party. The different character classes and races really can complement each other, and the game.


    Soundsets from Bg1, BG2 and PS:T included: No. Sorry.

    Difficulty of encounters depending on party size: Depends on your average party level. If your average party level exceeds the "norm" for the area, some areas will increase the amount of baddies, while others replace the "normal" baddies with more bad-ass, er, um, baddies.

    Chad Nicholas, Sciptor


    Soundsets: All the sound sets from IwD1 + HoW are in IwD2.


    Desslock's Ramblings
    Posted Sunday, June 23, 2002 - 10:37 CET by Sorcerer

    After a couple of months, Desslock returns with a rather lengthy article mostly praising Morrowind, but there's a little something about Neverwinter Nights here too:

    But right now two juggernauts are on their way to retail shelves: Neverwinter Nights and WarCraft 3. I've played a bunch of Neverwinter Nights' single player game (using a pre-release build) and it doesn't disappoint - those of you who were pidgeon-holing NWN as a game that would only be interesting in multiplayer will be pleasantly surprised. The single player game is excellent, based upon my limited experience to date, and in spite of the fact that there's probably been more written on Neverwinter Nights than almost any previous pre-release game, I was genuinely surprised at how comprehensive an adaptation of 3rd Edition D&D the game provides. Do I have any complaints? Only the same problem I had with the Infinity engine games - the non-interactive environments are a little sterile (and much less interesting than Morrowind's detailed settings) - but 2D games like the Baldur's Gate games could "fill" the empty space with background art more effectively. The emptiness of the environments is far more apparent in a 3D game. I also haven't played the multiplayer version of the game yet, but I've heard from several other game writers/editors that it's very well polished, suggesting it won't disappoint. The multiplayer/Dungeon Master elements make Neverwinter Nights, released right on the heels of Morrowind, an even more ambitious game, and potentially one with even more longevity. Although there's other RPGs in the works that I'm looking forward to - particularly Gothic 2 and DX2, I'd be quite satisfied with only playing Neverwinter Nights and Morrowind for the remainder of the year.

    That's about it as far as NWN is concerned, however. If you want to read the rest, follow this link.


    Icewind Dale II Designer Diary #10
    Posted Sunday, June 23, 2002 - 10:31 CET by Sorcerer

    The last (?) designer diary, this time written by John Deiley, has been posted at RPG Vault. It contains 5 new screenshots and a bit of text:

    First off, I'm happy to say that the game is finished! Yes, you heard me right - it's done! What I mean by finished is that you can play the game from beginning to end and solve it. There is still some work to be done in the form of balance and polish, but we are working on that.

    Read it all here.


    Neverwinter Nights Forum Update
    Posted Saturday, June 22, 2002 - 21:40 CET by Z-Layrex

    All news in this post is from yesterday. (Friday 21st June)

    Niel Flynn, Producer


    DMs Joining Servers: Yes. You only need the DM password that is set on the server, and you will be able to DM any module that server happens to be running.

    Conversations: If I understand the question correctly, all you have to do is assign the conversation file in the creature properties window. The conversation will start when the player clicks on the NPC.

    Heh, I am not sure (I tend to play, not DM) but I seriously doubt it. Maybe, if you possess another NPC, but I have never tested that.


    Starting Conversations: Assign the conversation (consisting of one line) to the object. Then make this the object's OnUsed script:

    void main()
    {
    ActionStartConversation(OBJECT_SELF);
    }

    Make sure the 'Useable' flag is set in the Placeable Properties Editor.

    You have to create a link back to the start. 'Copy' the starting link, then right click on the player response and select 'Paste As Link'. It will show up in grey.

    Root
    ->NPC: Hello
    ---->PC: Howdy
    ---->PC: Hi
    -------->NPC: Hello (grey) <- the link

    Do a search for discussion on links. They can be confusing until you undersatnd the concept. A tutorial should be online soon that includes a section on links in conversations.


    Unlocking Modules: Someone already cracked this.

    Saving Your Player: To save your player outside the game, use the 'Save Character' button just to the right of the 'Save' button. This will allow you to use the char in another module by using the 'use premade character' when starting the game.

    Resting: I am not a designer but here are two easy solutions.

    1. Create safe zones where resting is allowed (Inns, bars, camps ...). Other zones can be flagged as 'no rest' so the option will not be there.

    2. Use the OnPlayerRest event in the module to spawn in creatures. You can script a roll of a dice and leave it to chance whether they can rest peacefully or not. You could also check the time of the last rest and only allow it every X hours.


    Conversation Branching: The nodes are evaluated top to bottom, so:
    1. Hello (Set variable)
    2. Hi again (if variable == 1)

    will produce 1. Every time because the game checks if 1 is valid before 2.

    Try:
    1. Hi again (if variable == 1)
    2. Hello (Set variable)

    The game will now test the variable on 1(which will not be set the first time) and fail, so move to 2, show it and set the variable. Next time through, it will use 1.

    NOTE: To switch them, just grab the lower one and drag it over the higher one (grab 2 and drag over 1) and the order will switch.
    Use the Script Wizard to "Set a Local Variable" and "Check a Local Variable" to control whether a particular node appears. Given the following conversation:

    Root
    -->NPC: I'm sorry, I've already given you your reward.
    ---->PC: Darn it!

    -->NPC: Hey, you're just in time for your reward.
    ---->PC: Yeah!

    1. Use the Script Wizard to attach a "Text Appears When..." script to the first NPC node ("I'm sorry..."). It should check that a local variable "nRewardGiven" is equal to 1.

    2. Use the Script Wizard to attach an "Action Taken" script to the last PC node ("Yeah!"). The script should set a local variable "nRewardGiven" to 1. Obviously, you still have to add the reward - in fact, you could probably do it in the same "Action Taken" script that sets the local variable! Simply check multiple check boxes. It's important to remember that the _first_ thing you want the NPC to say must appear _last_ in the list.


    Rotating Tiles: Left click drops it down, right click will rotate it. You can NOT rotate a tile once it has been dropped down.

    Trent Oster, Producer


    Linux Client: The server is pretty much ready to go. The Client is a little worse off. I haven't got any official date for when the Client will be available, but we are pushing as hard as we can to get it done.

    Examine Creatures: The system works off the CR of the creature (so do the encounters though. What you can do is change the CR of the creature in the toolset to whatever you wish and it will modify the examine text accordingly.

    Off-Hand Weapons: You drag both weapons to the same quickslot. The first weapon will go in your right hand and the second in your left.

    Localization: It all comes down to bandwidth. We don't have the people internally or even externally to complete all the language versions at the same time. The only way this could happen is if we finish the English version and hold it while we create the translated versions. Additionally there is the logistical issue of getting the duplicated copies around the world. Rest assured, we are working as hard as we can to get the rest of the world versions out as soon as possible. In summary, there is only about 100 work hours in a week.

    CR Display: We will not remove this from the game as we feel it enhances the game for people who are new to D&D. We will look into making it an option in a future patch.

    David Gaider, Designer


    Restoration: If you don't have a potion or spell that offers restoration, the priest at the temple of Tyr (where you go when you Recall) can heal you... and at the same time restore any stat loss you may have incurred.

    Is there any way to make humanoid NPCs sit down? (And maybe have a drink?): You can have them sit in a chair, if you like, using the ActionSit command (there is a script that involves having an NPC finding a vacant chair and sitting in it... can't remember the name, but I believe it's posted at NWVault). There are a number of NPC's who sit down in the official campaign... looking at their scripts should help. If you want them to sit on the floor or 'drink', you can simply tell them to play the proper animation (ActionPlayAnimation is the command, if I remember correctly). There is no animation, currently, for someone to BOTH sit and drink however.

    I want a key that disappears after 1 week game time only to reappear on the key merchant. Any idea how such a feat would be done? I want the merchant to sell but 1 key with this property.: This is a bit more complex. A key can be created readily enough using the CreateItemOnObject command... but destroying it would be a bit trickier. Maybe someone more experienced in scripting could help you with that.

    Characters: If you are trying to use a character that's been edited, Calvanar, you need to make sure that the game/server you're bringing him into doesn't have the ELC filter activated. If you're playing a multiplayer game, the ELC filter is just a toggle... shut it off and it won't give you problems regarding character legality. If you're playing single player, I think the ELC has to be shut off in the ini file... not sure how, though.

    Respawning: There are 3 scripts that will automatically get applied to any module you create (and are in the official campaign, for that matter). When you create a module, open up the module properties and look at the scripting events. You will find three events that are of importance to you: OnDeath, OnDying and OnPlayerRespawn (if I remember correctly... don't have the game in front of me at the moment). The scripts that are applied automatically will be in those slots. Change or replace them and you can control what happens to your character.

    Resting: This is easily controllable in your modules, should you wish to do so. As mentioned above, you can flat-out make certain areas impossible to rest in. By placing a script in the module's OnPlayerRest event, you can also control when they can rest. It is a very simple script to make it so that a given player can only rest once per 8 hours (or whatever) or only when the player uses the invisible magic Resting Wand on them... or however you wish to arrange it. The way resting works now (in the official campaign) is simply the default.

    Henchman: No, this is correct. Possession can screw up a henchman's AI (same with familiars, animal companions, etc), so they are exempt from possession. Henchmen can be possessed before they join the player's party, but that's it, currently, until we can find a sure-fire way of possessing not interfering with this.

    Merchants: When you create a store object and give it inventory and so forth, you have to actually place it somewhere in your module (so there is an instance of that store and not just a blueprint of it). It is invisible, however, and not accessible. The way to access it is through a script... either an object that you click on or, more simply, via dialogue. You could simply script a merchant NPC to say "Let me show you my goods, dear customer"... and then, in the 'Actions Taken' section, make a script that starts the store. All you really need is to use the StartStore scripting command, referring to the specific store object's tag and any mark-up or mark-down percentage you wish to use (on top of the store's default). So you can script a store to give better or worse prices to someone, using whatever scripting criteria you wish. Does this make sense? Do you need an example? If you're able to open up any of the chapters (even the prelude) of the official campaign, there are examples of stores in each one.

    Patrols & Conversations: 1) Does he have the standard scripts for his AI? Specifically, does he have the normal script in his OnConversation event that would tell him to start conversation with you when you click on him?

    2) Did you create a dialogue file and assign it to him? If so, did you put any starting condition scripts on the dialogue nodes?

    3) For him to resume his patrol after dialogue is done, you need to execute the WalkWayPoints() command. In the last tab on the bottom right of the conversation editor screen, you can place a script which will run when the dialogue is either ended or interrupted... you'll want to insert a script that simply calls WalkWayPoints() there.


    Triggers: Two things that might work better:

    1) Place a trigger on the inside of the door that tells your NPC to initiate dialogue with whoever has entered the trigger.

    2) Use your NPC's OnSpawn script to create a UserDefinedEvent based on his OnPerception (if he perceives an PC, in this case).


    Conversation Tokens: Hmmm... if I remember right, you can right-click in the text box where you are typing the dialogue and it will give you the option to 'Insert Token' and then give you a list of all the tokens in the game, no?

    Bars: We ran into the same thing when we were making taverns later on in development and discovered there was really nothing in the way of a 'bar' to place in a tavern. Sigh. Thankfully all you need is a decent placeable object. Until one is made, I know we used the table placeables in the official campaign... placed together in an 'L' configuration. Not pretty, but it works.

    Scripting: Well, one thing I notice is that you don't always need to declare 'int' or 'void' before scripting commands. The only time you need to do this, generally, is when you are declaring a variable.

    int nVariable = 5;

    For the above you do need to declare the 'int' because you have to say that 'nVariable' is equal to an integer. When you are telling NWScript to execute a command, however, you don't need to do this. You have already declared void main(), so declaring 'void' in front of all your commands is not necessary. As well, two other things:

    1) When using constants, make sure they are capitalized just like they are in the toolset (ie. TALKVOLUME_SHOUT).

    2) You will notice a lot of commands that have parentheses after them, like GetXP() or GetPCSpeaker()... even if nothing goes inside those brackets, you do still need to put them in your script.


    Altering Character Stats: The DM functions are the only way to permanently alter a character's stats so they remain that way once they leave the module. It can't be done similarly in scripting (yet, I suppose).

    Bob McCabe, Designer


    Script Error:

    Quote: Keep trying that and it wont compile. Quotes included? What it originally read:

    object oDoor; oDoor = GetObjectByTag(Barn1door,1);

    When referring to an object's tag, you need to include quotes around it in order for it to compile... otherwise it thinks 'Barn1door' is an undeclared variable.


    Include Files: Hmm. When I was doing my include scripts for the Fred project, I just saved them without compiling them (or adding a StartingConditional or void main() onto it). They can only be compiled when you are compiling a script where the #include is actually called (which is weird and really kludgy, but I got used to it). Would be a lot more intuitive if 'include' scripts were recognized as a third type of script and could be compiled independently.

    Default Scripts: That is a big question. I would suggest looking at the module-level events listed here... specifically at the events OnDeath, OnDying and OnPlayerRespawn. Opening up the default scripts located in those spots should also help you out as to how they're arranged.

    Scripts: Once you've gotten your script saved in the module, just open up the properties of your box. Then go to the tab labeled 'Events'... you should have all the events listed there, and all you need to do to attach a script is just press the '...' button beside it to open up the menu of scripts. Select your script and press OK and it's attached.

    Rapid Shot: Yes, you can hotkey the Rapid Shot (best way to use it, in my opinion). Just right-click on an empty hotkey and you will get your radial menu to assign a function. Rapid Shot is only available when you are in combat. Once you start firing your bow, select rapid shot and at the beginning of the next round you will see *Rapid Shot Activated!* over your head. It will remain active until you de-select it or until the combat is over.

    Henchman: The henchmen all have a certain number of potions in their inventory which they will replenish when they level up (which is when you do). But, yes, you still cannot give them new potions for them to keep in inventory. If you check out the henchmen in the toolset, you'll find that the way we had to do it (so they can level up at all) is to have a seperate version of them for each level. When they level up, the old one disappears and the new one appears. While it is possible to script them taking and equipping items, these items would disappear when they levelled (and that wouldn't be good). When and if we someday get the ability to level up an NPC the same way a PC does (albeit automatically, to boot), then having more access to the henchmen would be a cinch.

    Spontaneus Casting: Just open up your spell book by clicking on the icon or hitting the "B" key. The left panel has your complete list of spells. Drag the icon down to your quick bar, instead of to the right where you would if you were choosing it to memorize. Presto!

    Spontaneus Casting Healing Spells: To reiterate, drag the spell icon (Cure Light Wounds, for example) into your quick bar. Then fill all of your memorized slots for level one with Bless or Doom or something that isn't Cure Light Wounds. Rest. You're all set at this point. You can cast your memorized Bless or Doom over and over, or you can now cast Cure Light Wounds - which you never memorized - as many times as you have level one slots. Make sense? I hope that helps.

    Familiars: Yes, it is intentional. You can click "okay" or whatever to keep things as-is, or you can "dismiss" your familiar and take on a new one. If your familiar dies, you take 1d6 points of damage, I believe, and then you have to resummon your familiar - you may have to rest to do this, depending.

    Henchman: If you "right-click" :: "more actions" :: "examine" your henchman, you will see their character sheet. You should then see that Sharwyn has 9 ranks total in "Open Lock", but none in "Disable Trap". This means that no, she cannot disable the trap.
    What should happen with a henchman who can disable traps - I believe Tomi might be the only one who can do this - is they should charge forward toward the trap while telling you to hold up, and then immediately proceed to disabling it.


    Why The Modules Were Locked: The decision was made so as to keep people from spoiling themselves, or having to resist spoiling themselves. Once you beat a module (i.e. the prelude), it is unlocked. I don't believe I am allowed to say anything about how to do this, but there are multiple work-arounds. I am sure they will all be posted shortly

    Henchman: Behind the scenes, in imagination land , the henchman are taking their share of the loot (what - you didn't notice them picking up a share of the loot?). Everytime you stop in a store, they're picking up items. When they level up and can use those items, they are. Isn't that clever of them? Okay, seriously - the henchman's gear does improve as they level up. You just have no control over it. Stop trying to intrude upon their lives! They're real people, too! And they just want to be left alone! ... Man!

    More:

    Quote: Thanks Bio (although I wish I could be more proactive with the healing potions)

    Just drag the healing potions onto their portrait.


    Derek Collins, Quality Assurance


    Area Transitions: What you're looking for is an area transition trigger. It will serve the same purpose as a door, but will activate when a character steps onto it. So just paint an area transition trigger at the edge of one of your forests, and then connect it to an area transition trigger at the edge of your other forest.

    Greyed Out Conversation Paths: What you are looking at is a 'linked node' in that conversation. It's a usefull method for making a long complex converstion that branches off and comes back. I.E. you want an NPC to arrive at the exact same line of dialog from a few different PC choices, so you can just make that NPC line once for one PC choice, then make a link for the others.

    Identifying Items:

    Quote: So yeah, if you arent a mage of some sort, how the hell do identify items? I got mad loot that i got no idea what is.

    While you are shopping in a store, examine that item in your inventory, then press the Identify button.


    Chris Priestly, Quality Assurance


    Henchman: Hi there, Evil Chris Priestly here. Simple answer.... no. As you/they progress in levels they will get better armor/spells/weapons, but you cannot give them weapons, etc. to use. So sorry, but it is one less thing you have to worry about. Oh yeah. The potions. Thanks for being awake Urza.

    Quickbar: Sure, Evil Chis Priestly here. I can help. Instead of trying to drap it, go to the quickbar. Select the box you wish to use and right click your mouse. This will open the radial menu. From there you can "dial" to any action that you want. Most of the PCs abilities are located at 9 o'clock. Left click on the assign special abilities and then click on the appropriate icon. This should place it in the quickbar. If you go to the wrong radial menu right click and you will move back one step.

    Off-Hand Weapons: Once you have your primary weapon, say a longsword, in your hand drag it to the quickbar. Then take your secondary weapons, say a shortsword and drag it to the SAME spot on the quickbar as your longsword. Then when you trigger that quickslot it will place the seconday weapon into your off hand. Give it a try, hopefully this will work for you.

    Pat Chan, Programmer


    Ramps In The Forest: No sorry, there are no ramps in the forest tileset.

    Merchants: The merchant object (little flag thingy) is where all the objects for the store are contained. The players do not actually interact directly with the merchant object. So, one method of allowing the players to access the merchant is through a dialog with an NPC. The conversation would go something like this:

    NPC - Can I show you my wares?
    PC - Sure.

    Select the PC node, and add a script to the "Actions Taken" event. Use the script wizard and select "Perform an Action" and hit next. Then, select "Start a Merchant" and enter the tag of the merchant object and hit next. Give a name to your script and hit finish.


    Brenon Holmes, Programmer


    Sending Messages To Players:
    void main()
    {
    object oPlayer;
    oPlayer = GetEnteringObject();
    SendMessageToPC(oPlayer,"Hey, how's it going?");
    }

    More:
    You could put it in a number of places... the area on-enter script, the module on-enter script, on a trigger, Area of Effect Object... etc. GetEnteringObject() and GetExitingObject() are used for a lot of enter/exit events...


    Scripting: Ooo... heartbeats bad... You want to avoid using hearbeats whenever possible... as they tend to have huge overhead once you start checking fifteen billion different things at once... instead, try this:

    So you know when the door is unlocked and used... why don't you fire a user defined event at the door, like so:

    NWScript:
    void main()
    {
    int EVENT_CLOSELOCK_DOOR = 0;
    event evDoorLock;
    object oDoor;
    oDoor = GetNearestObject( OBJECT_TYPE_DOOR );
    evDoorLock = EventUserDefined( EVENT_CLOSELOCK_DOOR );
    DelayCommand( 10.0f, SignalEvent(oDoor, evDoorLock) );
    }

    That will get the guard to fire an event at the door to close and relock itself in 10 seconds... then in the user defined event script on the door, you'd have something like this:

    NWScript:
    void main()
    {
    int nEventId;
    nEventId = GetUserDefinedEventNumber();
    if ( nEventId == EVENT_CLOSELOCK_DOOR )
    {
    ActionCloseDoor( OBJECT_SELF );
    ActionLockObject( OBJECT_SELF );
    }
    }

    The other great benefit to this is that an object can usually toggle it's own state... ie: a door can lock/unlock itself without a key. Hopefully this helps...


    Include Files: Uh... you shouldn't have to have a void main() in your include files... if you try to compile the include files directly you'll get the compiler bitching at you... however if you compile the files that have the include file included, all should be peachy... and yes, the compiler will whine at your include files every time you rebuild the module, but that's only because it's trying to compile it directly.

    More:
    Well, if you're getting errors compiling the *source* code when you include the *include* code, there's probably an error in the include code. Maybe something like this:

    NWScript:
    int DoFunkyStuff( int nSomething )
    {
    if ( nSomething == 2 )
    {
    return 5;
    }
    }

    That would generate the error you mentioned (or at least the error I'm thinking of...) Surgeon_general... All paths have to return a value, but then again maybe it's something else and I'm talking out of my @ss. I was having some major issues with the include files until I merged most of my separate include files into one gigantic one... didn't feel very good about it, but it seemed to fix up most of the issues I was having... what errors are you getting Ratbert?


    Scripting: In the ondeath event for the specified creature, you can do the following:

    NWScript:
    void main()
    {
    SetLocalInt( GetModule(), "m_bSpecialGuyDied", TRUE );
    // or conversely if you want the flag set on the
    // person that killed them you can do the following:
    object oKiller;
    if ( GetMaster(oKiller) != OBJECT_INVALID )
    {
    oKiller = GetMaster(oKiller);
    }

    if ( GetIsPC(oKiller) == TRUE )
    {
    SetLocalInt( oKiller, "m_bSpecialGuyDied", TRUE );
    }
    }

    The GetMaster() stuff is just in case a henchman or familiar kills the special creature. You may also want to flesh it out so that the local only gets set if the player had a specific flag on them detailing that they actually had a specific quest to kill this guy...


    Jonathon Epp, Quality Assurance


    Locking Doors: Instead of ActionLockObject, try using SetLocked(oDoor, TRUE);

    I think ActionUnlockObject and ActionLockObject use the creature's Open Lock skill. Though alternatively, you could also just give your guard a bunch of points in Open Lock.


    Icewind Dale 2 Forum Update
    Posted Saturday, June 22, 2002 - 19:28 CET by Z-Layrex

    J.E Sawyer, Lead Designer

    Bards and martial weapons: Bards do not gain a choice of martial weapons in IWD2; they simply get MW: Large Swords.

    Highest possible attributes: The limit is either 30 or 40. I can't remember which one.

    State of the build: Icewind Dale II has been hovering around 100-150 bugs for the past week or so. At this point in time, I feel eXtreeeeeemely confident in saying that the game is currently less buggy than Icewind Dale I was on release. However, Icewind Dale was somewhere north of Fallout 2 in bugginess -- it wasn't sparkling clean. The bugs we are currently addressing are all relatively minor. However, all things considered, we will probably keep pounding away at them for several more revs. This may make some people happy, some people angry, but it is probably in the best interests of the developer, publisher, distributor, and consumers. The weavings of game development are often confusing and frustrating for everyone involved -- sorry for the vague-y nature of the update, but it's the best I can give.

    Now, for some definite good news. Because Icewind Dale II's designers have minimal involvement with the bug-fixing process at this stage, the designer caravan will be moving on to new projects soon. The sooner this happens, the sooner you can get a peek on what we're working on.

    Hoo-ray.


    Old naked women in Icewind Dale II: No naked women in IWD2, old or otherwise.

    I take pleasure in jolting our players with occasional weird things like that. If you can't take the heat*, stay out of the kitchen**.

    * heat = sight of an old naked woman with no eyes.
    ** kitchen = Gloomfrost caves.


    Game being ready to go gold: Not yet. We found some odd bugs today that were going undetected because they only appear in very rare circumstances. E.g.:

    A fighter advances to 5th level. He has a bow equipped. He has the Rapid Shot feat activated. He gains enough XP to advance to 6th level. Somehow, the Rapid Shot BAB/total attack bonus calculations make the feat selection screen think he has the +8 BAB required for Improved Critical. Weird little things like that.


    Sleep: Sleep is a good spell at low levels. It's not a good spell at high levels. In HoF mode, creatures' HD actually get bumped up to prevent them from being easily slain by certain spells.

    Drow daylight penalties and blindness: It's kind of tricky; the penalties applied to drow and duergar for being in bright light aren't concealment penalties (like blindness). Drow and duergar are uncomfortable in bright light. Not only does it skew their vision, but it often makes them feel physically ill. Blindness, on the other hand, gives a 50% chance to miss on any given attack, according to 3E roolz. Now, drow and duergar can get penalties for being in bright light AND be blinded, with cumulative effects. Blind-fighting helps negate the effects of the blindness, not the light sensitivity.

    Scott Everts, Technical Designer


    More information about the new interface screenshot: I should point out there is one more mundane change that probably no one noticed. The portrait character effects icons are about a quarter smaller. Since we made the portraits smaller, they had to be resized so your portrait wouldn't be completely covered with effects icons later in the game.

    For the fun of it I tried to see how many effects I could put on a character at once and topped out at 12. That still left about a quarter of the portrait visible. Though I'd be surprised if anyone ever had more than two rows.

    At least we got those health bars in. It was one of those things that we needed to do but kept getting shifted down the list for more important bugs. So I think its a good sign we're getting close.

    (hit point bar) White- full health
    Green- 3/4 health to under full health
    Yellow- 1/2 heath to under 3/4 health
    Orange- 1/4 heath to under 1/2 health
    Red- under 1/4 health

    Hope that makes sense.

    Actually this is very close to what Torment had. The only real difference is it changes color as the bar drops. Our first version was identical to Torment's health bar. But then we tried it with the bar changing colors as it dropped and everyone liked it much better. In battle the color change is easier to read then just the bar dropping by itself.

    The effects icons are a quarter smaller, not a quarter size. And the original sized version can still be seen on the Record screen. So if something is alittle too small to make out, just check your record screen. All effects are listed there with both icon and description.


    Avatars yawning a lot: Your avatars won't keep yawning forever anymore. They now rotate through the fidgets like they are suppose to.


    NWN Forum Update
    Posted Saturday, June 22, 2002 - 17:45 CET by Z-Layrex

    David Gaider, Designer

    Rapid Shot: Yes, you can hotkey the Rapid Shot (best way to use it, in my opinion). Just right-click on an empty hotkey and you will get your radial menu to assign a function. Rapid Shot is only available when you are in combat. Once you start firing your bow, select rapid shot and at the beginning of the next round you will see *Rapid Shot Activated!* over your head. It will remain active until you de-select it or until the combat is over.

    Henchmen: The henchmen all have a certain number of potions in their inventory which they will replenish when they level up (which is when you do). But, yes, you still cannot give them new potions for them to keep in inventory. If you check out the henchmen in the toolset, you'll find that the way we had to do it (so they can level up at all) is to have a seperate version of them for each level. When they level up, the old one disappears and the new one appears. While it is possible to script them taking and equipping items, these items would disappear when they levelled (and that wouldn't be good). When and if we someday get the ability to level up an NPC the same way a PC does (albeit automatically, to boot), then having more access to the henchmen would be a cinch.

    Neil Flynn, Programmer


    Random Conversations: Create 6 one line nodes off the root. Then in the Script Wizard from the Text Appears When... use the Random check box and select a 1 in 6 chance. Use the same script for all nodes.

    Bob McCabe, Designer


    Henchmen Inventorys: You cannot manipulate your henchman's inventory. What? Did I say something dirty? Anyway, they cannot be bartered with. If they are hurting, you can heal them through any normal means, or by dragging potions onto them / their portrait. Sometimes, they will get hurt and you might notice that they are drinking potions. They get these from Aribeth, or whomever the healer is in that module. So it's a good practice to, now and then, talk to Aribeth, or whomever the healer might be, because that will give your henchman a chance to stock up on some healing potions.

    David Chan, Sound Producer


    Resizing the map: As far as I know the map cannot be moved, but it can be resized with the buttons at the top.

    Noel Borstad, Programmer


    Scripting: If you want to store any values between executions of the script you need to store them as "local variables" on an object (you probably want to store it on the PC).

    SetLocalInt(oPC, "gold", nGold);

    then later

    int nGold = GetLocalInt(oPC, "gold");


    Derrick Collins, Quality Assurance


    Reading Signs: If you plan to use the one liner conversation method, don't forget to use the following script in the OnUsed event of that signpost.

    void main()
    {
    SpeakOneLinerConversation();
    }

    Robert Babiak Added:
    Couple of ways, first make a description for the sign so when they examine it they see it. Second, make a one line conversation for the sign that has you text in it and set it usable. witht he name. For instance I did a stable sign where the name was Wayward stables, and the one linght conversation is 1 gp per day of lodging, 3gp per day with feed. This way when a player hovers there mouse over it they see WayWard stables. if the use it they see the details. and because it is a one line conversation it comes up in the little white text over the sign.


    Derrick Collins, Quality Assurance


    Scripting: Umm... why are you using GetPCSpeaker() in the OnDeath event? That function is only supposed to be used in dialogue... as it will return the PC that the creature is *currently* speaking with... I would think that your set and gets are setting and returning garbage values because the object you're setting the values on is invalid. Try using the person who killed the rats... like so:

    void main()
    {
    object oPlayer;
    int nRatsKilled = 0;
    // Get who killed me
    oPlayer = GetLastKiller();
    // If it was a player...
    if ( GetIsPC(oPlayer) == TRUE )
    {
    // Get the number of rats they've killed
    nRatsKilled = GetLocalInt( oPlayer, "m_nNumRatsKilled" );
    // Increment the number of rats they've killed
    ++nRatsKilled;
    // Store the data
    SetLocalInt( oPlayer, "m_nNumRatsKilled", nRatsKilled );
    }
    }


    Custom Events: The nearest thing you can do is a custom on use event for an item. You can assign a custom use to an item, which triggers a module event... then in the module event you can do anything you like. Could you expand on what you mean by item effects? As far as adding new spells, it's possible... but involves hacking game resources and I'm not totally certain what would happen... theoretically all you'd have to do is add the appropriate correct data to the spells.2da... and all other associated 2da files that are related... the spell system is pretty much almost entirely data driven... so it is possible to add/change it, however we're talking advanced advanced stuff... so I'm not really going to go into it in any detail other than what I've already mentioned here..

    Levers: I should probably note, that you actually have to set up the lever to play the activate and de-activate animations... like so:

    void main()
    {
    if ( GetLocalInt( OBJECT_SELF, "m_bActivated" ) == TRUE )
    {