This is the script that runs when the PC enters the first area of my not even remotely complete module:
/* Script generated by
Lilac Soul's NWN Script Generator, v. 2.3
For download info, please visit:
http://nwvault.ign.com/View.php?view=Other.Detail&id=4683&id=625 */
//Put this script OnEnter
void main()
{
object oPC = GetEnteringObject();
if (!GetIsPC(oPC)) return;
int DoOnce = GetLocalInt(oPC, GetTag(OBJECT_SELF));
if (DoOnce==TRUE) return;
SetLocalInt(oPC, GetTag(OBJECT_SELF), TRUE);
CreateItemOnObject("mychestkey", oPC);
AddJournalQuestEntry("Soggy_Bottom", 1, oPC, FALSE, FALSE, FALSE);
}
The script gives the PC the item "mychestkey" and adds the journal entry "Soggy_Bottom". Just modify it as you see fit.
Incidentally, if you're not using Lilac Soul's Script Generator, do yourself a favour and download it ASAP. I can't recommend it highly enough, especially for those of us who couldn't code their way out of a wet paper bag.