Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!

Categories

Neverwinter Nights: Enhanced Edition has been released! Visit nwn.beamdog.com to make an order. NWN:EE FAQ is available.
Soundtracks for BG:EE, SoD, BG2:EE, IWD:EE, PST:EE are now available in the Beamdog store.
Attention, new and old users! Please read the new rules of conduct for the forums, and we hope you enjoy your stay!

Help - Track Placeable Use Then Start Event *Solved*

dargno07dargno07 Member Posts: 10
edited April 9 in Builders - Scripting
Hey, so what i have are 12 pillars scattered across different areas throughout my module, when used the pillars give random XP/GP rewards...

What i'd like to do is have an event activate (once per server reset) for a player once all 12 pillars have been found, maybe a door is unlocked somewhere or w/e.

How would i go about tracking each pillar activation, then start the event based on if last pillar has been found???

I set integers on players, and the event is once per player every server reset, so no need to have it persistent... but i'm having trouble with how to start the event, and how to get when last pillar has been used.

any help would be great.

Here is what i have for each pillar, the ints are different for each one.
void main()
{
    object oPC = GetLastUsedBy();
    //object oUID = GetItemPossessedBy(oPC, "Menu");
 
    if (GetLocalInt(oPC, "Anti_Spam"))
    {
    return;
    }
    if (GetLocalInt(oPC, "NDREWARD1"))
    {
    DelayCommand(0.5f, FloatingTextStringOnCreature("You were already given a Reward.", oPC, FALSE));
    SetLocalInt(oPC, "Anti_Spam", 1);
    DelayCommand(5.0f, SetLocalInt(oPC, "Anti_Spam", 0));
    return;
    }
    DelayCommand(1.5f, FloatingTextStringOnCreature("You have been given a Reward!!!", oPC, FALSE));
    SetLocalInt(oPC, "NDREWARD1", 1);
    //SetLocalInt(oUID, "NDREWARD1", 1);
    switch ( d12() )
    {
        case 1: GiveXPToCreature(oPC, 100); GiveGoldToCreature(oPC, 1000); break;
        case 2: GiveXPToCreature(oPC, 200); GiveGoldToCreature(oPC, 2000); break;
        case 3: GiveXPToCreature(oPC, 300); GiveGoldToCreature(oPC, 3000); break;
        case 4: GiveXPToCreature(oPC, 400); GiveGoldToCreature(oPC, 4000); break;
        case 5: GiveXPToCreature(oPC, 500); GiveGoldToCreature(oPC, 5000); break;
        case 6: GiveXPToCreature(oPC, 600); GiveGoldToCreature(oPC, 6000); break;
        case 7: GiveXPToCreature(oPC, 700); GiveGoldToCreature(oPC, 7000); break;
        case 8: GiveXPToCreature(oPC, 800); GiveGoldToCreature(oPC, 8000); break;
        case 9: GiveXPToCreature(oPC, 900); GiveGoldToCreature(oPC, 9000); break;
        case 10: GiveXPToCreature(oPC, 1000); GiveGoldToCreature(oPC, 10000); break;
        case 11: GiveXPToCreature(oPC, 1100); GiveGoldToCreature(oPC, 11000); break;
        case 12: GiveXPToCreature(oPC, 1200); GiveGoldToCreature(oPC, 12000);
    }
}

Post edited by dargno07 on

Comments

Sign In or Register to comment.