Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

Aurora Toolset, A Dance with Codex

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
Would anyone be interested in starting a modding team for NwN: Enhanced Edition? I offer this rather comprehensive guide that I am yet to read. Further on, the Neverwinter Vault offers the following guides which are bound to be far more extensive.



I am available to do anything the Aurora Toolset allows, write dialogues, plot, setting, organise notes from all of the members of the team for easier viewing.

If CDPR could do it with the original Witcher, I bet that the Codex can do better. If you don't have time, remember that I do, explain your ideas and how to implement and I can do that for you as well.
 
Last edited:

Hag

Arbiter
Patron
Joined
Nov 25, 2020
Messages
2,466
Location
Breizh
Codex Year of the Donut Codex+ Now Streaming! Enjoy the Revolution! Another revolution around the sun that is.
Just had a neat idea for a campaign :

A large button appears in the middle of an unassuming country town. Hips high and the diameter of a large fountain, when pressed strongly it depresses a bit and a loud fart noise can be heard out of nowhere. It quickly becomes an attraction, to the despair of local residents having to live with the constant crowd and fart sounds. Soon it is discovered that pressed harder it lowers inches more and the noise gets louder, deeper, more disgusting, a rumble shakes the earth and a faint smell pollutes the air. Now the matter is getting serious attention. What destruction would happen if the button was completely lowered ? King's agents are sent to shut off the rumors before it reaches the ears of monsters strong enough to press the fart button for good. Wizards try to unleash its secrets. The army is deployed around to try and stop the constant flux of curious people, pranksters and enemy spies, but with little success.

The players task is to investigate the button. Where does it come from ? Is it a curse from an unseen threat ? A God having fun ? A Wizard failed experiment ? Doing so they will have to deal with a mayor at his wits end, annoyed creatures from the depths having the sound spreading in their underground tunnels, an ambitious warlock wanting to seize power, and the most dangerous enemy : themselves, as they are under the constant temptation of pressing the fart button.
 

Jvegi

Arcane
Glory to Ukraine
Joined
Nov 16, 2012
Messages
5,512
You guys do realize Kotc 2 also has a modding toolset, right?

Why would you choose an already saturated and clearly inferior environment to waste your time with?
 

Just Locus

Educated
Joined
Mar 11, 2022
Messages
596
Location
Termina
Gahbreeil
You're working on Mortal (Game Design Doc at least)
and recently released "Wizard's Crown", an RPG Maker game
And now you're looking for a whole team to work on a NWN1 module with.

Relax.
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
SEfQt7s.jpeg


I'm still reading the guides, scripting is not too intuitive but it makes sense. Above is my first draft of the prologue as a dialogue with the NPC rather than texts floating above the mentioned NPC.

  1. Is there a better way to write dialogues?
  2. What do you think of the draft? Is the setting engaging? Is it too much information for the very beginning of the module?
  3. It's my own work, never did anything with the note and as I was looking for inspiration, I've found the doc where it was written. I guess I could say that the prologue is inspired by the prophecies from BG and Morrowind? It is NOT finished yet.
 

Dark Souls II

Educated
Shitposter
Joined
Jul 13, 2024
Messages
631
SEfQt7s.jpeg


I'm still reading the guides, scripting is not too intuitive but it makes sense. Above is my first draft of the prologue as a dialogue with the NPC rather than texts floating above the mentioned NPC.

  1. Is there a better way to write dialogues?
  2. What do you think of the draft? Is the setting engaging? Is it too much information for the very beginning of the module?
  3. It's my own work, never did anything with the note and as I was looking for inspiration, I've found the doc where it was written. I guess I could say that the prologue is inspired by the prophecies from BG and Morrowind? It is NOT finished yet.
Have you tried eating 5-7 grams of psilocybe cubensis mushrooms before writing, from my experience it helps
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
Have you tried eating 5-7 grams of psilocybe cubensis mushrooms before writing, from my experience it helps
I used to binge smoke street cannabis to the point that someone sold me a gramme of wormwood. I survived a blunt, a fingernail's length off of a cigarette is the amount of 'bacco and, well, 0.2 of a gramme of wormwood? That's the amount of cannabis that I usually used.

I'm sober nowadays.

Update: I managed to script the prologue. It's not easy but understandable once you get what is what. Scripts won't work right away but they sure as hell will once you understand why they don't. There is no chance of impossibility.

  1. Dialogue.
  2. Animation of worship before the ending.
  3. Fade out to black and teleport to next area at the end.
Come on, 'dex, I know you've got it in you to take this seriously.
 
Joined
Aug 8, 2024
Messages
49
Location
Hispania Tarraconensis
SEfQt7s.jpeg


I'm still reading the guides, scripting is not too intuitive but it makes sense. Above is my first draft of the prologue as a dialogue with the NPC rather than texts floating above the mentioned NPC.

  1. Is there a better way to write dialogues?
  2. What do you think of the draft? Is the setting engaging? Is it too much information for the very beginning of the module?
  3. It's my own work, never did anything with the note and as I was looking for inspiration, I've found the doc where it was written. I guess I could say that the prologue is inspired by the prophecies from BG and Morrowind? It is NOT finished yet.
Have you tried eating 5-7 grams of psilocybe cubensis mushrooms before writing, from my experience it helps
I prefer the Dalí method which is placing a tin plate on the floor and trying to fall asleep next to it while holding a spoon. If you fall asleep, the spoon will fall on the plate and wake you. In such a way you can draw inspiration from the most vivid dreams, no drugs required.
 

Beastro

Arcane
Joined
May 11, 2015
Messages
9,799
Location
where east is west
Just had a neat idea for a campaign :

A large button appears in the middle of an unassuming country town. Hips high and the diameter of a large fountain, when pressed strongly it depresses a bit and a loud fart noise can be heard out of nowhere. It quickly becomes an attraction, to the despair of local residents having to live with the constant crowd and fart sounds. Soon it is discovered that pressed harder it lowers inches more and the noise gets louder, deeper, more disgusting, a rumble shakes the earth and a faint smell pollutes the air. Now the matter is getting serious attention. What destruction would happen if the button was completely lowered ? King's agents are sent to shut off the rumors before it reaches the ears of monsters strong enough to press the fart button for good. Wizards try to unleash its secrets. The army is deployed around to try and stop the constant flux of curious people, pranksters and enemy spies, but with little success.

The players task is to investigate the button. Where does it come from ? Is it a curse from an unseen threat ? A God having fun ? A Wizard failed experiment ? Doing so they will have to deal with a mayor at his wits end, annoyed creatures from the depths having the sound spreading in their underground tunnels, an ambitious warlock wanting to seize power, and the most dangerous enemy : themselves, as they are under the constant temptation of pressing the fart button.
Can't just write something like that and not make it.

Get to work!
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
Hello, again!

If there IS anyone here with experience in using the Aurora Toolset, can you, please, tell me how to, in a dialogue started by the PC with the same PC, remove the Unknown Speaker portrait and name and replace it with the PC's?
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
#include "x2_inc_switches"
void main()
{
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", 0);

string sTag;
object oNPC;
// User defined OnSpawn event requested?
int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS");

// Execute default OnSpawn script.
ExecuteScript("nw_c2_default9", OBJECT_SELF);
}

int nCount=GetLocalInt(OBJECT_SELF, "DEATH_COUNT");
void main()
{
object oPC = GetLastKiller();
nCount = nCount+1;
{
if (nCount == 3)
{
AddJournalQuestEntry("ctf_inn", 2, oPC, FALSE, FALSE, FALSE);
}
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", nCount);
}
}

How to make this work?
 

Just Locus

Educated
Joined
Mar 11, 2022
Messages
596
Location
Termina
If there IS anyone here with experience in using the Aurora Toolset, can you, please, tell me how to, in a dialogue started by the PC with the same PC, remove the Unknown Speaker portrait and name and replace it with the PC's?
#include "x2_inc_switches"
void main()
{
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", 0);

string sTag;
object oNPC;
// User defined OnSpawn event requested?
int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS");

// Execute default OnSpawn script.
ExecuteScript("nw_c2_default9", OBJECT_SELF);
}

int nCount=GetLocalInt(OBJECT_SELF, "DEATH_COUNT");
void main()
{
object oPC = GetLastKiller();
nCount = nCount+1;
{
if (nCount == 3)
{
AddJournalQuestEntry("ctf_inn", 2, oPC, FALSE, FALSE, FALSE);
}
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", nCount);
}
}

How to make this work?

Gargaune

 

damager

Liturgist
Joined
Jan 19, 2016
Messages
1,802
wtf are you even on you can chose portraits for every npc when you create them
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
#include "x2_inc_switches"
void main()
{
object oRat=GetObjectByTag("ctf_rat", 0);
SetLocalInt(oRat, "DEATH_COUNT", 0);

string sTag;
object oNPC;

// User defined OnSpawn event requested?
int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS");

// Execute default OnSpawn script.
ExecuteScript("nw_c2_default9", OBJECT_SELF);
}
void main()
{
object oRat=GetObjectByTag("ctf_rat", 0);
int nCount=GetLocalInt(oRat, "DEATH_COUNT");
object oPC = GetLastKiller();
nCount = nCount+1;
{
if (nCount == 3)
{
AddJournalQuestEntry("ctf_rats", 2, oPC, FALSE, FALSE, FALSE);
}
SetLocalInt(oRat, "DEATH_COUNT", nCount);
}
}
 

Gargaune

Arcane
Joined
Mar 12, 2020
Messages
3,717
If there IS anyone here with experience in using the Aurora Toolset, can you, please, tell me how to, in a dialogue started by the PC with the same PC, remove the Unknown Speaker portrait and name and replace it with the PC's?
#include "x2_inc_switches"
void main()
{
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", 0);

string sTag;
object oNPC;
// User defined OnSpawn event requested?
int nSpecEvent = GetLocalInt(OBJECT_SELF,"X2_USERDEFINED_ONSPAWN_EVENTS");

// Execute default OnSpawn script.
ExecuteScript("nw_c2_default9", OBJECT_SELF);
}

int nCount=GetLocalInt(OBJECT_SELF, "DEATH_COUNT");
void main()
{
object oPC = GetLastKiller();
nCount = nCount+1;
{
if (nCount == 3)
{
AddJournalQuestEntry("ctf_inn", 2, oPC, FALSE, FALSE, FALSE);
}
SetLocalInt(OBJECT_SELF, "DEATH_COUNT", nCount);
}
}

How to make this work?

Gargaune

1) Didn't even know you could have the PC converse with themselves, not sure it's proper scripting. Just spawn an Invisible Object placeable to converse with and use GetPortraitId()/SetPortraidId().

2) That's not gonna work, each rat is only gonna count its own death on itself (OBJECT_SELF). Assuming singleplayer, if you wanna have a dozen rats in random locations and you only need the player to kill three of them, load this script into your rats' OnDeath and see the comments:
Code:
void main()
{
    //get last killer
    object oKiller = GetLastKiller();

    //always validate it's a PC or a current party member of the PC doing whatever's being done (allied or non-allied NPCs can kill crap too)
    if (GetIsPC(oKiller) || GetIsPC(GetFactionLeader(oKiller))
    {
        //instantiate/increment death counter (on a common object like the PC or the module, not on each rat you've just killed)
        object oRatCounterOjbect = GetModule();
        int iKilledRats = GetLocalInt(oRatCounterObject, "iKilledRats");
        if (iKilledRats == -1)
            iKilledRats = 1;
        else iKilledRats++;
        
        //set/update the int on the tracking object
        SetLocalInt(oRatCounterObject, "iKilledRats", iKilledRats);

        //check against the threshold
        if (iKilledRats == 3)
            AddJournalQuestEntry("ctf_inn", 2, oPC);
    }
}

But if all you wanna do is have the player kill three particular rats in a particular basement you don't gotta count shit, just place an encounter that spawns three rats and write a script that advances the journal entry in its OnExhausted field.



P.S. Just Locus, just FYI, I think putting the tag in heading markers stopped it working.
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
Thank you, Gargaune!

The fixed script, from my ScriptMaster 9000 post, stopped working after I continued working on the project so I scrapped it and am doing everything that the Toolset itself allows me to do. So I have a full set of custom weapons, armour and am working my way through that. If you could help me out with generic advice, it'd be awesome! Also, I am serious when I state that I am merely a writer and do not know much about scripting in the Aurora engine, let alone coding.

Hey, the encounter is a brilliant idea, I am a bit bogged down doing three people's jobs on my own. Ah, the fixed script that worked for some time based on nCount was based on Celowin's tutorial guide and me piecing together stuff based on Lilac Soul's Script Gen if that helps understand what I was doing.
 

Gargaune

Arcane
Joined
Mar 12, 2020
Messages
3,717
If you could help me out with generic advice, it'd be awesome!
Same as always - do the official BioWare tutorial first. After that, and only after that, you can start building your module and when you wanna do a "thing" you don't know how, open up an official or fan-made module that did a similar thing, track it down and see how it was done. And bookmark the following:
- NWN Lexicon, the (un)official NWScript API reference, which explains absolutely everything about script functions, including examples;
- the Neverwinter Vault's own NWN Wiki, which has some additional guidance, pipelines and structural info useful to module builders;
- the Fandom NWN Wiki, for checking mechanics for gameplay design purposes.

You don't need prior coding experience to build NWN modules or pick up NWScript, but if you don't have any, set your expectations accordingly, you're not gonna build your magnum opus the first time around. Start with simple designs that need limited scripting, use the integrated Scrip Wizard and examine what it produces for you. Aim to create a small module, accept that it won't be more functionally sophisticated than the OC, and learn the ropes to improve on your next project.
 

Gahbreeil

Scholar
Joined
Feb 9, 2021
Messages
1,086
Location
Asarlaíocht
I believe I did that a couple of years back, before I knew what a script is. Or tried to do. Regardless, my googling gave me similar results to your post. The guide I need is creative and out of the box script examples. Kind'a like what you did with the encounter.

Those guides are really long and the Script Generator works like a charm in boosting my confidence. I guess I will have to actually read all the .pdfs that I've gathered. Well, thank you.
 

damager

Liturgist
Joined
Jan 19, 2016
Messages
1,802
Listen to the man above or will never create anything with this
 

Shuruga

Educated
Joined
Jul 4, 2022
Messages
101
The NWN Lexicon Gargaune linked above was my go-to resource when I was teaching myself the toolset, for what it is worth.

You should be able to assign the PC to start a conversation with the PC (see here):

AssignCommand(oPC,ActionStartConversation(oPC,"conv_name",FALSE,FALSE))

Good luck!

 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom