PW helper - persistent world helper scripts. I have included a set of scripts and methodologies to help PW designers get full use of the NESS spawning system and make their worlds more persistent. Including: automatic placed creature/object to NESS waypoint conversion; True PW traps (scripts & methodologies for putting real disarmable, one-shot traps in a PW); smashable & trapped doors for PWs; area error checking (& auto 'plotting' of non-spawning objects); anti-cheat code (for login/logout cheat); and area reset scripts (clean & reset a set of areas x minutes after last PC leaves). I have included a sample module that test all the features. NOTE: This requires NESS 8.1 !!
.ncs is compiled script and all the pw_inc files are just include files, so that warning is expected. Make sure you rebuild after importing. (.nss is source script, which is what you need) The log file looks fine for the OnModuleLoad. The NESS waypoints are getting created. Your area's OnEnter (pw_area_enter) should start up the psuddo HB script, which should call spawn() and spawn the creatures. If you still can't figure it out, you can email me your mod (eolson@cisco.com or upload it to epolson.is-a-geek.com/EEG/atm) I can take a closer look.
Posted by TheClaus at 2005-02-1021:58:00
Hey I am wanting to try out your wonderful package and having issues. The first issue is when I import your ERF I get the following. The Following resources were required but not in the package. pwtrap_include.ncs pwtrap_inc_parts.ncs pw_inc_setplayer.ncs pw_inc_mastslave.ncs pw_inc_init_vars.ncs pw_inc_getarea.ncs pw_inc_events.ncs pw_inc_area_vars.ncs pw_inc_anticheat.ncs pw__readme.ncs It will import though so I continue on and when I make the changes I try to get creatures to spawn and get nothing on the map. Here is what the log shows. [Thu Feb 10 21:37:52]---- Server Options ---- Max Players: 6 Char Levels: (1-40) Player Password: NO DM Login Enabled: YES Server Admin Login Enabled: YES Post Game To Internet: YES Game Type: Action Difficulty: 2 PVP Setting: NONE Vault: LOCAL Only One Party: YES Enforce Legal Characters: NO Item Level Restrictions: NO Player pausing: ENABLED Auto Save: Enabled Saving Characters in Saved Game ---- End Server Options ---- [Thu Feb 10 21:37:52] Player [] () Joined as Server Admin 1 [Thu Feb 10 21:37:52] Player () Joined as Player 1 [Thu Feb 10 21:37:52] Loading Module: Odus PWH Info - pw_mod_trans area: Toxullia Forest PWH Info - Initilizing 1 Areas onModuleLoad: PWH Info - Toxullia Forest: Init@ 0.2660s * 'Kobold' {NW_KOBOLD001} (Creature) => NESS: nw_kobold001 SP3_DS1_SF * 'Fire Beetle' {NW_BTLFIRE} (Creature) (seen by transition) => NESS: nw_btlfire SP1_DS1_SF * 'Dire Spider' {NW_SPIDDIRE} (Creature) => NESS: nw_spiddire SP3_DS1_SF * 'Area Information' [info sign] * waypt: Transition Destination TAG=PW_TRANS_DEST * 'Archway, Stone Grey' [Plot] * 'Archway, Underblock Grey' [Plot] * 'Archway, Underblock Grey' [Plot] * 'Archway, Underblock Grey' [Plot] * 'Fire Beetle' {NW_BTLFIRE} (Creature) (seen by transition) => NESS: nw_btlfire SP1_DS1_SF * 'Dire Spider' {NW_SPIDDIRE} (Creature) => NESS: nw_spiddire SP3_DS1_SF * 'Fire Beetle' {NW_BTLFIRE} (Creature) (seen by transition) => NESS: nw_btlfire SP1_DS1_SF * 'Dire Spider' {NW_SPIDDIRE} (Creature) => NESS: nw_spiddire SP3_DS1_SF * 'Fire Beetle' {NW_BTLFIRE} (Creature) => NESS: nw_btlfire SP3_DS1_SF ! Kobold {emptied} {stripped} => destroyed ! Fire Beetle {emptied} {stripped} => destroyed ! Dire Spider {emptied} {stripped} => destroyed ! Area Information => destroyed ! Fire Beetle {emptied} {stripped} => destroyed ! Dire Spider {emptied} {stripped} => destroyed ! Fire Beetle {emptied} {stripped} => destroyed ! Dire Spider {emptied} {stripped} => destroyed ! Fire Beetle {emptied} {stripped} => destroyed PWH Info - LoadPlayerInfo for Merrick du Pelades{Player Merrick du Pelades} I thought that it was the ModuleOnLoad but I put your pw_mod_def in it so I don't know what is up. I do know that your demo module works though. What am I doing wrong?
Posted by EPOlson at 2005-02-0820:04:00
This release greatly reduces the time spent figuring out transitions, so it should help fix any problems caused by OnModuleLoad running too many instructions. It places a waypoint at the transition destination so we can fine tune our NESS spawns to delay if they are not seen by any transitions. I also added more healing door support (scripts and reset) // +++ Version 1.9 // 01/21/05 EPOlson - pulled mod_trans_check out of pw_mod_trans (added a transition destination waypoint // so I can process it later during area init) // 01/27/05 EPOlson - changed pw_area_init: added dest. waypoint check for SP1/SP2/SP3. // 01/27/05 EPOlson - reset x0_i0_treasure "do once" vars on plot placed containers // 01/30/05 EPOlson - add pw_door scripts (changed pw_doorbash, added pw_door_open, pw_door_damaged) // pw_doorbash: STR check to unlock plot doors // pw_door_damaged: record damage heal door, unlock if total damage > (MaxHP-1000) // pw_door_open: auto close/lock door (nearness check, NPC closes door, etc) // 01/30/05 EPOlson - pw_area_init: set doors to plot ONLY if HP 1000 // 01/30/05 EPOlson - pw_area_reset: heal all doors ( reset pseudo "DAMAGE" counter) // 01/30/05 EPOlson - clean up log messages a little // 02/08/05 EPOlson - Added MODULE_EVENT_INIT user event call to pw_moduleload // 02/08/05 EPOlson - Added module user defined event script template // 02/08/05 EPOlson - add PW_DISABLE_SPAWN area variable (disable spawn in pw_area_pseud_hb) for DM events
Posted by EPOlson at 2005-01-3106:17:00
(sorry, messages getting chopped off, trying again) It is a bit of a hack, but you go into the area's properties -> advanced -> variables, and set an int called INITIALIZED to 1 (TRUE). This will stop an area from getting initialized because it thinks that it already has.
Posted by EPOlson at 2005-01-3106:12:00
It is a little bit of a hack, but if you don't want an area initialized, you can: SetLocalInt(oArea,
Posted by Buzzard at 2005-01-2814:49:00
Hi!, your package is very good and it's totally useful for my PW. However, I have a question, is there any way to tell the PWhelper to exclude an area so it doesn't initializates with the system?. Thanks!
Posted by EPOlson at 2005-01-1719:26:00
I am almost positive that you are running out of instructions during the onModuleLoad event. (I ran into that problem) As a temporary measure (and as a check) comment out the call to "pw_mod_trans" on line 58 for pw_moduleload. That will cut out most of the calculations. You already have all the area markers around anyway. I'll work on a transition search that does its work outside of the onModuleLoad event.
Posted by Gomi(san) at 2005-01-1715:23:00
Hi, Gomsian here.. I re-arranged things so I could get a better grasp of what was running, and added a few more debug strings to what gets dumped into the log. I've put the PW module load script as the last one called at startup, and all my other scripts now report succesful completions. Yours however starts, runs the loops through the areas.. and never seems to exit! I put a debug statement immediately after the loop through the areas, and it is never logged. My next trick will be to put a small counter in your loop and have it increment every time it loops and record that. I have a suspicion that my daily server crashes are being caused by a rogue script or memory leak, and it's possible this is it. I'll let you know how it goes anyway, but in the meantime, any other suggestions would be appreciated.