Scripts

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