Difference between revisions of "House for Sale Tutorial"
m
internal links
imported>BugUsNot |
imported>Qazaaq m (internal links) |
||
(One intermediate revision by one other user not shown) | |||
Line 1: | Line 1: | ||
==Preparations== | |||
Before we can start you need to do this: | |||
*Make the exterior of the house. | |||
Before we can start you need to do this: | *Make a [[cell]] for the interior, name it ''House for Sale''. | ||
*Make the | *Make the interior of the house and decorate it. | ||
*Make a cell for the | *Make an [[NPC]] who will sell the house. | ||
*Make the interior of the | *Make a house [[key]]. | ||
*Make | *Make a [[quest]]. | ||
*Make a | See [[Creating a House]] for more information on how to make it. | ||
*Make a | |||
==Preparing the house== | |||
First | First of all you need to set the lock on your house door to "Needs a Key". Change the key to the one that you made earlier (preparations section).<br> | ||
You house is going to be split up into sections (e.g. Kitchen, Living Room, Dining Room).<br> | |||
In each | In each section you need to set a parent. Highlight an item in your section.<br> Double-click on it and check the ''Persistent Reference'' box. Give the item a Reference Editor ID, e.g. ''BedroomParentRef''.<br> Double-click on the another thing in the same section. Go to ''Enable Parent'' then press ''Select Reference in Render Window''.<br> | ||
Double | You can now see your [[Render Window]]. Double click on the Parent that you made earlier. Repeat this on the other sets so that each set is linked to their own parent.<br><br> | ||
Now | Now your house is ready. | ||
==The NPC== | |||
The | The NPC needs some [[dialogue]].<br> | ||
Go to | Go to [[Quest]] and then to the [[Topics Tab]].<br> | ||
Right-click in the empty list and press ''add topic''.<br> | Right-click in the empty list and press ''add topic''.<br> | ||
Then you add ''HouseDecline'' and ''HouseInquiry''.<br> | Then you add ''HouseDecline'' and ''HouseInquiry''.<br> | ||
Go back to the ''addtopic''list, right-click and press ''new topic''.<br> | Go back to the ''addtopic''list, right-click and press ''new topic''.<br> | ||
Make one topic called ''Housebuy | Make one topic called ''Housebuy<TOWNNAMEHERE>'' and one called ''HouseTooMuch<TOWNNAMEHERE>''.<br><br> | ||
Before you | Before you continue you need to choose a price for the house.<br><br> | ||
Now select ''HouseBuy''. In the ''topic text'' you | Now select ''HouseBuy''. In the ''topic text'' you write something like this: "''I'll gladly pay 3,000 gold for it''" (If your house costs 3000, of course).<br> Then go to the list beneath the ''topic text''. Right-click and select ''new''. <br>In the Response text you write something like this: "''Good choice, here is your key.''" <br>If you have audio files, add them now. <br>Press ''Ok''.<br> | ||
In the ''Result Script'' write: | In the ''Result Script'' write: | ||
SetStage '' | [[SetStage]] ''<QUESTNAME>'' 10 | ||
In the | In the [[Condition]]s list you right-click and press new.<br> | ||
Set the ''Condition Function'' to GetGold, leave the ''Function Parameters'' empty, set | Set the ''Condition Function'' to [[GetGold]], leave the ''Function Parameters'' empty, set Comparison to ''>='' and the value to the price of your house, then check ''Run on target''.<br> Then add a new Condition, Function: [[GetIsID]], Parameters: <Your NPC's name>, Comparison: ==, Value: 1 and leave ''Run on Target'' unchecked. <br>Select ''HouseDecline'' add a new response.<br> Add a text like this: "''Come back if you change your mind.''".<br> | ||
Then add the audio.<br> Add | Then add the audio.<br> Add another ''GetIsID'' condition just like you did the second time on the previous Topic.<br> | ||
Select ''HouseInquiry''. Add a new response with a text like this: "''I've been looking for | Select ''HouseInquiry''. Add a new response with a text like this: "''I've been looking for this special house.''".<br> Add audio.<br> | ||
In the conditions you add the same condition as the last topic. <br>Then you add a new condition: Function: IsCellOwner, Parameters: | In the conditions you add the same ''GetIsID'' condition as the last topic. <br>Then you add a new condition: Function: [[IsCellOwner]], Parameters:<The cell of your house> Player, Comparison: == and Value: 0. <br>Then add a third condition: Function: [[GetDisposition]], Comparison: >= and Value: (How much the NPC needs to like you before they offer you the house). <br>In the ''Choices'' List, add ''HouseBuy'', ''HouseDecline'' and ''HouseTooMuch''.<br> | ||
Select ''HouseTooMuch'', | Select ''HouseTooMuch'', write ''I can't afford 3,000 gold.'' in the ''Topic Text''.<br> Add a new response with text like this: "''What a shame. I guess I have to look for another buyer.''".<br> Add audio. <br>Add a condition, the usual GetIsID condition.<br><br> | ||
Now the | Now the dialogue is finished. | ||
==The furnishing== | |||
First create a scroll for each set of furniture and name them like: ''House BedRoom'' or ''House | First create a scroll for each set of furniture and name them something like: ''House BedRoom'' or ''House DiningRoom''.<br>In the scroll you write what this set of furniture will add to your house. Something like this: | ||
<blockquote>This entitles the bearer to:<br/> | |||
1 Bed<br/> | |||
1 Carpet<br/> | |||
1 Bookshelf with books<br/> | |||
1 Set of Drawers<br/> | |||
1 Stool</blockquote> | |||
Scriptname | Add this script to the scroll: | ||
Scriptname HouseFurnReceipt1Script | |||
short Doonce | short Doonce | ||
Line 59: | Line 60: | ||
end | end | ||
Then add a value to | Then add a value to the scroll.<br> | ||
You can make the next part | You can make the next part a few different ways, i will show one of them.<br> | ||
First choose the seller of the | First choose the seller of the sets, you can use the seller of the house or someone else. <br>Select the Merchant cointainer to this Npc. Then add this to it's Script (you need to edit it): | ||
short once | short once | ||
begin gamemode | begin gamemode | ||
if getstage ( | if getstage (YOUR QUEST NAME) >= 10 | ||
if once == 0 | if once == 0 | ||
additem ( | additem (FIRST SET ID) 1 | ||
additem ( | additem (SECOND SET ID) 1 | ||
; Do this on all of the sets | ; Do this on all of the sets | ||
set once to 1 | set once to 1 | ||
Line 76: | Line 77: | ||
end | end | ||
==The Quest== | |||
Make a Quest Script and add it to your Quest.<br> | Make a Quest Script and add it to your Quest.<br> | ||
This is the script you will need: | This is the script you will need (again, you need to edit): | ||
scn | scn aaa(initials)buyinghouse | ||
short TotalCount ;counts how many furniture | short TotalCount ;counts how many furniture sets you have bought | ||
short Doonce1 ; | short Doonce1 ;checks if you have bought the first set | ||
short Doonce2 ; | short Doonce2 ;checks if you have bought the second set | ||
;add "Short Doonce3" if you have 3 | ;add "Short Doonce3" if you have 3 sets, and so on | ||
float fQuestDelayTime | float fQuestDelayTime | ||
Line 97: | Line 98: | ||
endif | endif | ||
if getstage ( | if getstage (YOUR QUEST NAME) == 10 && player.getincell (YOUR HOUSE CELL) == 1 | ||
setstage ( | setstage (YOUR QUEST NAME) 20 | ||
endif | endif | ||
Line 106: | Line 107: | ||
;These are the variable triggers that are set when a voucher is acquired | ;These are the variable triggers that are set when a voucher is acquired | ||
if ( Player.GetItemCount ( | if ( Player.GetItemCount (FIRST FURNITURE SET ID) == 1 ) && ( Doonce1 == 0 ) | ||
( | (FIRST PARENT).Enable | ||
set TotalCount to ( TotalCount + 1 ) | set TotalCount to ( TotalCount + 1 ) | ||
set Doonce1 to 1 | set Doonce1 to 1 | ||
endif | endif | ||
if ( Player.GetItemCount ( | if ( Player.GetItemCount (SECOND FURNITURE SET ID) == 1 ) && ( Doonce2 == 0 ) | ||
( | (SECOND PARENT).Enable | ||
set TotalCount to ( TotalCount + 1 ) | set TotalCount to ( TotalCount + 1 ) | ||
set Doonce2 to 1 | set Doonce2 to 1 | ||
endif | endif | ||
;Add more if you have them | |||
;Ends Quest if All Bought | ;Ends Quest if All Bought | ||
if ( TotalCount == 2 ) ;change the "2" to the number of things you have. | if ( TotalCount == 2 ) ;change the "2" to the number of things you have. | ||
setstage ( | setstage (QUEST NAME) 30 | ||
set fQuestDelayTime to 0 | set fQuestDelayTime to 0 | ||
endif | endif | ||
Line 127: | Line 132: | ||
end | end | ||
Go to | Go to [[Quest Stages Tab]] and add stage 10, 20 and 30. Select stage 10. <br>Make a new Log Entry with the text: "''I just bought a house in <TOWN NAME HERE>.''".<br> | ||
In the ''Result Script'' | In the ''Result Script'' write this: | ||
<FIRST PARENT NAME>.disable | |||
<SECOND PARENT>.disable | |||
;do this on all the parents | ;do this on all the parents | ||
Player.RemoveItem Gold001 (the | Player.RemoveItem Gold001 3000 ;(change the 3000 to your house price) | ||
Player.AddItem | Player.AddItem <Your key ID> 1 | ||
SetCellOwnership | SetCellOwnership <YOUR HOUSE CELL> | ||
SetCellFullName | SetCellFullName <YOUR HOUSE CELL> "(The name of your town) House" | ||
ModPCMiscStat 15 1 | ModPCMiscStat 15 1 | ||
set | set <YOUR QUEST NAME>.fQuestDelayTime to 1 | ||
Select stage 20 and make a new Log Entry with the text: "''Now that I've arrived at my new house in | Select stage 20 and make a new Log Entry with the text: "''Now that I've arrived at my new house in <YOUR TOWN NAME>, I may want to head over to <YOUR NPC WHO SELLS FURNITURE> at <FURNITURE NPC LOCATION> to secure some furnishings for it.''"<br><br> | ||
Select Stage 30 and make a new log entry with the text: "''I've now bought everything | Select Stage 30 and make a new log entry with the text: "''I've now bought everything <FURNITURE NPC> has for my house in <YOUR TOWN NAME HERE>.''". | ||
Check the ''Complete Quest'' to finish the quest.<br><br> | Check the ''Complete Quest'' to finish the quest.<br><br> | ||
That concludes the "House for Sale" tutorial. Enjoy your new house! | |||
[[Category:Tutorials]] | |||
[[Category:Quest Tutorials]] |