Difference between revisions of "House for Sale Tutorial"

From the Oblivion ConstructionSet Wiki
Jump to navigation Jump to search
imported>BugUsNot
imported>Qazaaq
m (internal links)
 
(One intermediate revision by one other user not shown)
Line 1: Line 1:
Here comes a tutorial about how you make your own House for Sale.<br>
==Preparations==
<br>
Before we can start you need to do this:
===Preparetions===
*Make the exterior of the house.
Before we can start you need to do this:<br>
*Make a [[cell]] for the interior, name it ''House for Sale''.
*Make the Exterior of the house.
*Make the interior of the house and decorate it.
*Make a cell for the Interior, name it ''House for Sale''.
*Make an [[NPC]] who will sell the house.
*Make the interior of the House and decorate it.
*Make a house [[key]].
*Make a Npc who will sell the house.
*Make a [[quest]].
*Make a House Key
See [[Creating a House]] for more information on how to make it.
*Make a Quest
 
===Preparing the house===
==Preparing the house==
First, add two doors, one in the interior and the other one in the Exterior. Link them together and set the lock to ''Need A Key'' and choose your key as the correct key.<br>
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>
Then decide what decoration who will come with each set of things.<br>
You house is going to be split up into sections (e.g. Kitchen, Living Room, Dining Room).<br>
In each set you need a parent, just pick one of the thing in the set.<br> Double-click on it and check the ''Persistent Reference'' box,give it an Referece ID too. Example: ''BedroomParentRef''.<br> Double-click on the other things in the same set and go to ''Enable Parent'' then press ''Select Reference in Render Window''.<br>
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-click on the Parent of the set. Then repeat this on the other set so each set is linked to their own parent.<br><br>
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 Your house is ready.
Now your house is ready.
<br><br>
 
===The Npc===
==The NPC==
The Npc needs some dialogues.<br>
The NPC needs some [[dialogue]].<br>
Go to the Quest and go to ''Topics''.<br>
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(the name of your town)'' and one called ''HouseTooMuch(the name of your town)''.<br><br>
Make one topic called ''Housebuy<TOWNNAMEHERE>'' and one called ''HouseTooMuch<TOWNNAMEHERE>''.<br><br>
Before you continues. You need to choose a price on the house.<br><br>
Before you continue you need to choose a price for the house.<br><br>
Now select ''HouseBuy''. In the ''topic text'' you whrite something like this: "''I'll gladly pay 3,000 gold for it''" (If your house cost 3000, of course).<br> Then go to the list beneath the ''topic text''. Right-click and select ''new''. <br>In the Response text you whrite something like this: "''Good choice, here is your key...''" <br>Then add the audio, if you don't want to record your own voice you can unpack some voices from oblivion. <br>Press ''Ok''.<br>
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 ''(The name of your Quest)'' 10
  [[SetStage]] ''<QUESTNAME>'' 10
In the ''Conditions'' list you right-click and press new.<br>
In the [[Condition]]s list you right-click and press new.<br>
Set the ''Condition Function'' to GetGold, leave the ''Function Parameters'' empty, set Comparision to ''>='' and the value to the price of your house, then check the ''Run on target''.<br> Then add a new Condition, Function: GetisId, Parameters: (Your Npc), Comparison: ==, Value: 1 and ''Run on Target'': Unchecked. <br>Select ''HouseDecline'' add a new response.<br> Add a text like this: "''I'd prefer to only discuss the property with serious buyers.''".<br>
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 a condition like the second one on the previouse Topic.<br>
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 just the right owner for a special home I have.''".<br> Add audio.<br>
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:(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 He/She Offer you the house). <br>In the ''Choices'' List, add ''HouseBuy'', ''HouseDecline'' and ''HouseTooMuch''.<br>
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'', whrite ''I can't afford 3,000 gold.'' in the ''Topic Text''.<br> Add a new response with a 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>
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 dialouges is finished.
Now the dialogue is finished.


===The furnishing===
==The furnishing==
First create a scroll for each set of furniture and name them like: ''House BedRoom'' or ''House DinningRoom''.<br>In them you write what this set of furniture will add to your house. Something like this: ''<br>This will upgrade your house with:<br>
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:
<br>
1 Bed<br>
1 Carpet<br>
1 Bookshelf with 1 book<br>
1 Drawers with 3 clothes<br>
1 Stool


'' Add this script on them:
<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 HouseFurnReceiptScript
Add this script to the scroll:
 
  Scriptname HouseFurnReceipt1Script
   
   
  short Doonce
  short Doonce
Line 59: Line 60:
  end
  end


Then add a value to them.<br>
Then add a value to the scroll.<br>
You can make the next part on different ways, i will show one of them.<br>
You can make the next part a few different ways, i will show one of them.<br>
First choose the seller of the set's, 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:
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 (QuestName) >= 10
  if getstage (YOUR QUEST NAME) >= 10
  if once == 0
  if once == 0
  additem (Id of the first Set) 1
  additem (FIRST SET ID) 1
  additem (Id of the second Set) 1
  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===
==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 aaabuyinghouse
  scn aaa(initials)buyinghouse
   
   
  short TotalCount ;counts how many furniture set you have bouught
  short TotalCount ;counts how many furniture sets you have bought
  short Doonce1    ;check if you have bought the first thing
  short Doonce1    ;checks if you have bought the first set
  short Doonce2    ;check if you have bought the second thing
  short Doonce2    ;checks if you have bought the second set
  ;add "Short Doonce3" if you have 3 items
  ;add "Short Doonce3" if you have 3 sets, and so on
   
   
  float fQuestDelayTime
  float fQuestDelayTime
Line 97: Line 98:
  endif
  endif
   
   
  if getstage (Questname) == 10 && player.getincell  (HouseCell)  == 1
  if getstage (YOUR QUEST NAME) == 10 && player.getincell  (YOUR HOUSE CELL)  == 1
  setstage (Questname) 20
  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 (first set of furniture ID) == 1 ) && ( Doonce1 == 0 )
  if ( Player.GetItemCount (FIRST FURNITURE SET ID) == 1 ) && ( Doonce1 == 0 )
  (first parent).Enable
  (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 (Second set of furniture ID) == 1 ) && ( Doonce2 == 0 )
  if ( Player.GetItemCount (SECOND FURNITURE SET ID) == 1 ) && ( Doonce2 == 0 )
  (second parent)..Enable
  (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 (Quest Name) 30
  setstage (QUEST NAME) 30
  set fQuestDelayTime to 0
  set fQuestDelayTime to 0
  endif
  endif
Line 127: Line 132:
  end
  end


Go to ''Quest Stages'' 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 (The name of your town).''".<br>
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'' whrite this:  
In the ''Result Script'' write this:  


  (first parent).disable
  <FIRST PARENT NAME>.disable
  (second parent).disable
  <SECOND PARENT>.disable
  ;do this on all the parents
  ;do this on all the parents
  Player.RemoveItem Gold001 (the price of your house)
  Player.RemoveItem Gold001 3000 ;(change the 3000 to your house price)
  Player.AddItem (Your key ID) 1
  Player.AddItem <Your key ID> 1
  SetCellOwnership (HouseCell)
  SetCellOwnership <YOUR HOUSE CELL>
  SetCellFullName (HouseCell) "(The name of your town) House"
  SetCellFullName <YOUR HOUSE CELL> "(The name of your town) House"
  ModPCMiscStat 15 1
  ModPCMiscStat 15 1
  set (Questname).fQuestDelayTime to 1
  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 (Your town), I may want to head over to (The Npc To sell the furniture) at (where he is) to secure some furnishings for it.''"<br><br>
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 (The Npc To sell the furniture) has for my house in (Your Town).''".
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>


And now you have made a House for sale.
That concludes the "House for Sale" tutorial. Enjoy your new house!
 
[[Category:Tutorials]]


 
[[Category:Tutorials]]
[[Category:Quest Tutorials]]
[[Category:Quest Tutorials]]

Latest revision as of 04:13, 5 November 2009

Preparations[edit | edit source]

Before we can start you need to do this:

  • Make the exterior of the house.
  • Make a cell for the interior, name it House for Sale.
  • Make the interior of the house and decorate it.
  • Make an NPC who will sell the house.
  • Make a house key.
  • Make a quest.

See Creating a House for more information on how to make it.

Preparing the house[edit | edit source]

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).
You house is going to be split up into sections (e.g. Kitchen, Living Room, Dining Room).
In each section you need to set a parent. Highlight an item in your section.
Double-click on it and check the Persistent Reference box. Give the item a Reference Editor ID, e.g. BedroomParentRef.
Double-click on the another thing in the same section. Go to Enable Parent then press Select Reference in Render Window.
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.

Now your house is ready.

The NPC[edit | edit source]

The NPC needs some dialogue.
Go to Quest and then to the Topics Tab.
Right-click in the empty list and press add topic.
Then you add HouseDecline and HouseInquiry.
Go back to the addtopiclist, right-click and press new topic.
Make one topic called Housebuy<TOWNNAMEHERE> and one called HouseTooMuch<TOWNNAMEHERE>.

Before you continue you need to choose a price for the house.

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).
Then go to the list beneath the topic text. Right-click and select new.
In the Response text you write something like this: "Good choice, here is your key."
If you have audio files, add them now.
Press Ok.
In the Result Script write:

SetStage <QUESTNAME> 10

In the Conditions list you right-click and press new.
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.
Then add a new Condition, Function: GetIsID, Parameters: <Your NPC's name>, Comparison: ==, Value: 1 and leave Run on Target unchecked.
Select HouseDecline add a new response.
Add a text like this: "Come back if you change your mind.".
Then add the audio.
Add another GetIsID condition just like you did the second time on the previous Topic.
Select HouseInquiry. Add a new response with a text like this: "I've been looking for this special house.".
Add audio.
In the conditions you add the same GetIsID condition as the last topic.
Then you add a new condition: Function: IsCellOwner, Parameters:<The cell of your house> Player, Comparison: == and Value: 0.
Then add a third condition: Function: GetDisposition, Comparison: >= and Value: (How much the NPC needs to like you before they offer you the house).
In the Choices List, add HouseBuy, HouseDecline and HouseTooMuch.
Select HouseTooMuch, write I can't afford 3,000 gold. in the Topic Text.
Add a new response with text like this: "What a shame. I guess I have to look for another buyer.".
Add audio.
Add a condition, the usual GetIsID condition.

Now the dialogue is finished.

The furnishing[edit | edit source]

First create a scroll for each set of furniture and name them something like: House BedRoom or House DiningRoom.
In the scroll you write what this set of furniture will add to your house. Something like this:

This entitles the bearer to:

1 Bed
1 Carpet
1 Bookshelf with books
1 Set of Drawers

1 Stool

Add this script to the scroll:

Scriptname HouseFurnReceipt1Script

short Doonce

begin OnAdd player

if ( Doonce == 0 )
	SetItemValue 0
	set Doonce to 1
endif

end

Then add a value to the scroll.
You can make the next part a few different ways, i will show one of them.
First choose the seller of the sets, you can use the seller of the house or someone else.
Select the Merchant cointainer to this Npc. Then add this to it's Script (you need to edit it):

short once

begin gamemode
	if getstage (YOUR QUEST NAME) >= 10
		if once == 0
			additem (FIRST SET ID) 1
			additem (SECOND SET ID) 1
                       ; Do this on all of the sets                       
			set once to 1
		endif
	endif
end

The Quest[edit | edit source]

Make a Quest Script and add it to your Quest.
This is the script you will need (again, you need to edit):

scn aaa(initials)buyinghouse

short TotalCount ;counts how many furniture sets you have bought
short Doonce1    ;checks if you have bought the first set
short Doonce2    ;checks if you have bought the second set
;add "Short Doonce3" if you have 3 sets, and so on

float fQuestDelayTime

begin gamemode

;Kill script if conditions aren't met

if ( GetStage housearea2 < 10 )
	Return
endif

if getstage (YOUR QUEST NAME) == 10 && player.getincell   (YOUR HOUSE CELL)   == 1
	setstage (YOUR QUEST NAME) 20
endif



 
;These are the variable triggers that are set when a voucher is acquired

if ( Player.GetItemCount (FIRST FURNITURE SET ID) == 1 ) && ( Doonce1 == 0 )
	(FIRST PARENT).Enable
	set TotalCount to ( TotalCount + 1 )
	set Doonce1 to 1
endif

if ( Player.GetItemCount (SECOND FURNITURE SET ID) == 1 ) && ( Doonce2 == 0 )
	(SECOND PARENT).Enable
	set TotalCount to ( TotalCount + 1 )
	set Doonce2 to 1
endif

;Add more if you have them


;Ends Quest if All Bought

if ( TotalCount == 2 )    ;change the "2" to the number of things you have.
	setstage (QUEST NAME) 30
	set fQuestDelayTime to 0
endif

end

Go to Quest Stages Tab and add stage 10, 20 and 30. Select stage 10.
Make a new Log Entry with the text: "I just bought a house in <TOWN NAME HERE>.".
In the Result Script write this:

<FIRST PARENT NAME>.disable
<SECOND PARENT>.disable
;do this on all the parents
Player.RemoveItem Gold001 3000 ;(change the 3000 to your house price)
Player.AddItem <Your key ID> 1
SetCellOwnership <YOUR HOUSE CELL>
SetCellFullName <YOUR HOUSE CELL> "(The name of your town) House"
ModPCMiscStat 15 1
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 <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."

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.

That concludes the "House for Sale" tutorial. Enjoy your new house!