Fuinelen on 10/6/2002 at 09:23
I wrote a relatively complex script which let Dorisa Darvel, the bookshop owner in Balmora, behave more realistically (see below for details). I tried to make it easy to adapt it for other Merchants, so : go ahead and script ;)
you can find it at (
http://www.sitemaschine.de/merchant_schedule.zip)
bye,
Sammy
Here comes the readme :
REALISTIC MERCHANT SCHEDULE V1.0
--------------------------------
Bethesda's MORROWIND mod writen by Sammy Fischer (sammyf@gmx.net)
WHAT IT DOES :
Shopkeepers now have opening and closing times (opens at 8, closes at 18).
If the player is inside the shop when the shopkeeper wants to close, the shopkeeper hushs the player out.
if the player doesn't comply, the shopkeeper get more and more angry (and his disposition toward the
player falls) until he finally attacks (beware that the player will get a criminal record)
Of course, the player can try to hide before the shopkeeper locks the door. In this case, the shopkeeper
goes to the door, locks it and goes to sleep, then stands up again around 8'o clock the next morning, unlocks
the door and goes to work, rinse and repeat.
The guards sleep at night in the house.
WHERE'S IS THE DRAWBACK?
This mod is currently only working for Dorisa Darvel, the bookshop owner in Balmora, *BUT* I
included all informations needed to adapt it for every shopkeeper in Morrowind. It's a bit of work
(not too much though), but I am going to be REALLY busy in the next two or three month and won't have time
to work any more on it. I also probably won't have much of an internet access for some time neither.
I hope a few people will use it to make the merchants in Vvardenfell act more realistically. You're free to alter it
any way you want. I just ask to be given credit where it is due.
KNOWN BUGS :
with some of my save files, the guard isn't found by Morrowind. I really can't explain it, and my impression is that it has NOTHING to do with my scripts or my mod ... IF there was any information on save files, I would be able to check why it works with some savefiles and it won't with others, but ... well ... I guess you know how well documented the TES and Morrowind is ... sigh
Here are the starting comments with the needed informations :
;MerchantSchedule v1.0
;
; Moves Dorisa around the house depending on the time
; writen by Sammy Fischer (sammyf@gmx.net)
;
; TODO : temporarily increase the sneaking skill of the player if the NPC are sleeping. I tried SetSneak and casting a
; custom Fortify Sneak Spell, but none of this seemed to work. Remember that the player might have such a spell on himself already
; and you shouldn't remove it, and that you have to remove all changes if the NPC wake up or detect the spell OR if the player exits
; the building!
;
; possible WorkingState adds : 32 : Dressing down / 31 : Dressing up
; even better : going to a Inn for a certain time in the evening could be implemented
;
; -------------------------------
; IMPORTANT - READ THE FOLLOWING!
; -------------------------------
;
; THINGS TO DO BEFORE THIS SCRIPT WORKS FOR ANYBODY ELSE BUT DORISA DARVEL IN BALMORA
;
; OUTSIDE THIS SCRIPT
; -------------------
;
; - Select the main door inside the shop you want to modify and change the ID to something usefull
; (like 'Zaphod_Beeblebrox_main_door'), when asked whether you want to create a new object, click YES
;
; - copy and modify the script found on the main door of Dorisa Darvel's shop ('in_hlaalu_door_dorisa_main').
; You only need to change all occurances of "dorisa darvel" in the script to the name of the shopkeeper
;
; - Select all guards in the shop and change their ID to something usefull (like 'guard_zaphod'). Select YES on the new
; object question
;
; - select the script ShopGuard for the guards and edit the name of the script and the ID of the shopkeeper inside
;
; - Select the main door *outside* the shop you want to modify and rename it to something usefull
; (like 'Zaphod_Beeblebrox_main_outdoor'), when asked whether you want to create a new object, click YES
;
; - set the script 'ExternMerchantDoor' for this door
;
;
; INSIDE THIS SCRIPT
; -------------------
;
; - change the name of the script at the BEGIN and END lines to something usefull. Using the name of the shopkeeper
; might be sensible.
;
; - search and replace all occurances of in_hlaalu_door_dorisa_main in the shopkeepers script (the one you're beholding now)
; to the name of the new door
;
; - find the places in which the NPC should stand for the various tasks (working, locking and unlocking the door, sleeping)
; and replace all occurances of the travel commands (see a bit below) to the appropriate locations
;
; OPTIONAL
; --------
;
; - Find any side door to the merchant shop (internal and external), rename them (each should have a different ID)
; and set a lock level (and a trap if you feel like it)
;
; - write a script for the guards inside the shop so that they walk to the door and are disabled before the shop closes
;
; - change the lock level (search for the keyword LOCK in this script and in the script for the outside
; instance of the door to something more appropriate (currently it's set to 40, which is kind of easy to
; open.
;
; - edit the MessageBox text so that not every merchant says the same things when hushing the player out.
;
;
; Default locs for the various tasks
;
;
; Thx to the stupid script language, something like 'AiTravel WorkX, WorkY, WorkZ DOESN'T work!
; Best thing I can offer for easy customization is to give templates of the travel commands used
; for each task. Copy the script in a text editor and used Search and Replace to change the values.
;
; Traveling to the working place
; AiTravel -416.00, -178.00, -121.00
;
; Traveling to the Door to lock or Unlock
; AiTravel -475.34, 32.22, -121.00
;
; Traveling to the Bed to sleep
; AiTravel 250.00, -142, 136
;
; Asleep ( position if the Player breaks in during the night and after the shopkeeper went to sleep)
; Position 254.00, -233, 250, 0
;
;
; End of Tasklocs