1. SPS Accounts:
    Do you find yourself coming back time after time? Do you appreciate the ongoing hard work to keep this community focused and successful in its mission? Please consider supporting us by upgrading to an SPS Account. Besides the warm and fuzzy feeling that comes from supporting a good cause, you'll also get a significant number of ever-expanding perks and benefits on the site and the forums. Click here to find out more.
    Dismiss Notice
Dismiss Notice
You are currently viewing Boards o' Magick as a guest, but you can register an account here. Registration is fast, easy and free. Once registered you will have access to search the forums, create and respond to threads, PM other members, upload screenshots and access many other features unavailable to guests.

BoM cultivates a friendly and welcoming atmosphere. We have been aiming for quality over quantity with our forums from their inception, and believe that this distinction is truly tangible and valued by our members. We'd love to have you join us today!

(If you have any problems with the registration process or your account login, please contact us. If you've forgotten your username or password, click here.)

NWN Forum Update

Discussion in 'Game/SP News & Comments' started by NewsPro, Jun 22, 2002.

  1. NewsPro Gems: 30/31
    Latest gem: King's Tears


    Joined:
    May 19, 2015
    Messages:
    3,599
    Likes Received:
    0
    (Originally posted 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 )
    {
    SetLocalInt( OBJECT_SELF, "m_bActivated", FALSE );
    PlayAnimation( ANIMATION_PLACEABLE_DEACTIVATE );
    // INSERT OTHER STUFF TO DO ON DEACTIVATION OF LEVER
    }
    else
    {
    SetLocalInt( OBJECT_SELF, "m_bActivated", TRUE );
    PlayAnimation( ANIMATION_PLACEABLE_ACTIVATE );
    // INSERT OTHER STUFF TO DO ON ACTIVATION OF LEVER
    }
    }
     
    Last edited by a moderator: Jan 4, 2018
Sorcerer's Place is a project run entirely by fans and for fans. Maintaining Sorcerer's Place and a stable environment for all our hosted sites requires a substantial amount of our time and funds on a regular basis, so please consider supporting us to keep the site up & running smoothly. Thank you!

Sorcerers.net is a participant in the Amazon Services LLC Associates Program, an affiliate advertising program designed to provide a means for sites to earn advertising fees by advertising and linking to products on amazon.com, amazon.ca and amazon.co.uk. Amazon and the Amazon logo are trademarks of Amazon.com, Inc. or its affiliates.