TR_m7_Pub_Narsis_LastDrop
TR_Mainland.esm
Variables
10
Local Variables
TR_Map
control
controlQ
rent
rentDay
rentMonth
setup
cleanup
T_Local_NPC
NoLore
Source
1begin TR_m7_Pub_Narsis_LastDrop
2
3;Cell: Narsis, Last Drop Inn
4;Publican: TR_m7_Parena Avethyn
5;Flag: TR_m7_Rent_Narsis_LastDrop
6;Room Door: TR_m7_rd_Narsis_LastDrop
7
8;all rooms get rented for one day
9;This NPC must be in the map where the room is if you use the locked door cell loading cleanup
10;rename the script for the NPC and make a specific door to unlock or flag to set
11;NO actual key is given to player, a global flag is set that removes the ownership on the beds.
12
13;this script fires off when RENT is set true. Rent is set true through the BEDS topic in dialogue, which all Publicans have.
14;Each publican will also have a separate response to buying the bed, so they can give simple directions. There is also a default one.
15
16short TR_Map
17short control
18short controlQ
19short rent ;if room is rented, set through dialogue on this NPC
20short rentDay ;the day of the rental
21short rentMonth ;the month of the rental
22short setup ;if setup has been done
23short cleanup ;true if you want to cleanup all the flags, rental is over and can be reset
24short T_Local_NPC
25short NoLore
26;this script also uses a global variable (TR_m4_Rent_Golden_Moons). Make a new one for each rental. You can have as many
27;beds as you want use that variable, it is used through the ownership data on the object reference
28
29if ( OnDeath )
30 if ( GetJournalIndex TR_m7_Ns_TG_3 >= 10 )
31 if ( GetJournalIndex TR_m7_Ns_TG_3 < 100 )
32 Journal TR_m7_Ns_TG_3 200
33 endif
34 endif
35endif
36
37if ( rent == 1 )
38
39 if ( setup == 0 )
40 set rentDay to Day
41 set rentMonth to Month
42 set setup to 1
43 set TR_m7_Rent_Narsis_LastDrop to 1 ;this is the flag for the ownership on the bed
44 TR_m7_rd_Narsis_LastDrop->unlock ;opens the door
45 TR_m7_rd_Narsis_LastDrop->PlaySound3D "Open Lock"
46
47 else ;setup is done so check to see if the day is over
48
49 if ( Day != rentDay )
50 set cleanup to 1
51
52 elseif ( Month != rentMonth )
53 set cleanup to 1
54
55 endif
56
57 endif
58
59 if ( CellChanged ) ;this is only needed if you've done a locked door. If so, you only want to do this on cell change so you don't lock them in the room
60 if ( cleanup == 1 ) ;this gets called when the rental is over and everything can be cleaned up
61 set rent to 0
62 set TR_m7_Rent_Narsis_LastDrop to 0
63 TR_m7_rd_Narsis_LastDrop->lock 50 ;locks the door
64 TR_m7_rd_Narsis_LastDrop->PlaySound3D "LockedDoor"
65 set setup to 0
66 set rentDay to 0
67 set rentMonth to 0
68 set cleanup to 0
69 endif
70 endif
71
72endif
73
74; This short script is there to allow dialogue to be filtered on the TR_Map local variable,
75; allowing for regional topics such as "Morrowind Lore" or "Geographic Regions" to be
76; appropriate to the location the NPC is.
77
78if ( TR_Map == 7 )
79 return
80endif
81
82set TR_Map to 7
83
84End