Commoner Package is a script package that should help you to populate an area with ambience NPCs. NPCs can be spawned with randomized clothing, equipment and torches (night only or all day). You can set the spawn options to spawn less (or more) NPCs when the weather changes or the sun goes down. The NPCs can have a one liner dialog selected from a customizable list. The goal of creation was to build an easy-to-use script package using only little amount of CPU power. I hope it is of any use to you. Updated to version 1.2 (see included changes.txt)
Good work, with only minimal time and effort I had my first batch of NPCs wandering around. By putting thier waypoints behind unlocked doors (with closing scripts on them) folks open doors and walk around town. For anyone looking for a Commoner handler, this package is very versatile and flexable.
Posted by Nizeil at on08/25/05
Ya saved my day. _________________________ It's not important what you achieve in your life. What is important is that what you leave behind when you die.
Posted by evilgenx at 2004-09-2018:43:00
Very nice set of scripts. Works excellent, easy to setup/install. Add's a cool dimension to cities, towns and other npc populated area's. Nicely done!
Posted by evilgenx at 2004-09-2018:43:00
Very nice set of scripts. Works excellent, easy to setup/install. Add's a cool dimension to cities, towns and other npc populated area's. Nicely done!
Posted by Anonymous at 2004-06-0900:24:00
Ondaderthad, where is that script placed?
Posted by Ondaderthad at 2004-05-0917:59:00
One of my players sent me a fix for the error. Here is the commoner_resume script: //:://///////////////////////////////////////////// //:: commoner_resume //::////////////////////////////////////////////// /* Sends commoner to random waypoint after speaking its one liner. */ //::////////////////////////////////////////////// //:: Created By: EntropyDecay //:: Created On: May 2003 //::////////////////////////////////////////////// // declarations void MoveAwayAndDisappear(object oPerson, int nWalkType); // implementation void main() { object oArea = GetArea(OBJECT_SELF); int nWalkType = GetLocalInt(oArea, "nWalkType"); object oUmbrella=GetItemPossessedBy(OBJECT_SELF, "umbrella"); object oTorch=GetItemPossessedBy(OBJECT_SELF, "NW_IT_TORCH001"); AssignCommand(OBJECT_SELF, DelayCommand(0.1,ClearAllActions())); if (GetIsObjectValid(oUmbrella)) { if (GetLocalInt(oArea, "nWeather")==WEATHER_RAIN) { AssignCommand(OBJECT_SELF, DelayCommand(0.1,ActionUnequipItem(oTorch))); AssignCommand(OBJECT_SELF, DelayCommand(0.1,ActionEquipItem(oUmbrella, INVENTORY_SLOT_RIGHTHAND))); if (GetIsNight()) {nWalkType=GetLocalInt(oArea, "nCommonerNightRun");} else {nWalkType=GetLocalInt(oArea, "nCommonerDayRun");} } else { AssignCommand(OBJECT_SELF, DelayCommand(0.1, ActionUnequipItem(oUmbrella))); if (GetIsNight()) {AssignCommand(OBJECT_SELF, DelayCommand(0.1, ActionEquipItem(oTorch, INVENTORY_SLOT_LEFTHAND)));} } } DelayCommand(1.0, MoveAwayAndDisappear(OBJECT_SELF, nWalkType)); } // Function: MoveAwayAndDisappear // Parameters: object oPerson this should be a person object, ie something that can move. // int nWalkType this says whether to run or walk // Returns: void // Description: here we move the Person object to the nearest waypoint. How they move depends on the walktype parameter. // when the person gets there they disappear. // // suggestions for improvement are to store the destination location object as a variable on creation. // this will prevent the person from going back to the original location or changing direction if that point is the closest and // seemingly give them a sense of purpose. ie. you interrupted me while going THERE so now we have finished chatting I want to // continue going THERE // void MoveAwayAndDisappear(object oPerson, int nWalkType) { AssignCommand(oPerson, ActionForceMoveToObject( GetNearestObjectByTag("NW_COMMONER_WALKTO", oPerson, 1), nWalkType, 1.0, 30.0)); AssignCommand(oPerson, ActionDoCommand(DestroyObject(oPerson, 0.1))); } Builder/Admin of the Area32 server. ip# 195.22.95.36 _________________________ The Best PW system is getting even better. PLATEMAIL Tech Preview
Posted by EntropyDecay at 2004-02-2500:48:00
Hi everybody, I'm aware of the problem which suddenly appeared after one of the latest patches. I took a short look at it, but couldn't find the reason why this is happening. Since I don't have much time for anything NWN related in the moment, I won't be doing an extensive bug hunt. If any body manages to find the reason for the bug or even fix it, feel free to mail me with the details and I will update the Commoner Package. Don't know how long it'll else take me to find the time for NWN scripting again. So, no ETA for the next version, yet. Entropy
Posted by Old_Scores_Transfered at on02/20/04
This is a compilation of the old system into a single score. There were 20 that made this score of 9.50 then rounded to 10.
Posted by Aragon at 2004-02-1006:41:00
Same problem here. Once you stop to talk with a commoner he just stands there.
Posted by ArchPaladin. at 2004-02-0607:49:00
Hey, Im not sure if this is a common problem or not, but I cant seem to get the npcs to resume their course after theyve said their one liner. They just stand there (forever it seems) I have the same problem in the demo mod, I looked over the commoner_resume script but not being a very adept scriptor couldnt figure it out... Anyone experiance the same problem and found a solution? Regards, Archpaladin