TESCS2 : Vendre une maison au joueur

De Wiwiki
Aller à la navigation Aller à la recherche

Recherche maison à vendre


Voici un tutoriel qui vous servira à créer une maison à vendre.


Avant toute chose


  • Avant tout, vous devez commencer par savoir faire ceci:
-Créer l'extérieur d'une maison
-Créer une cell intérieur, et la nommée "Maison à vendre".
-Créer l'intérieur de la maison et le décoré.
-Créer un NPC qui vendra cette maison.
-Créer la clée de la maison.
-Créer une quête ( je vous conseil comme ID de prendre exemple sur celles de base, exemple: "House (le nom de votre ville)", de priorité 20.


Préparation de la maison


  • Premièrement, ajouter deux portes, une à l'intérieur, et l'autre à l'extérieur. Relié les deux ensemble en les vérouillant à l'aide d'une clé qui sera choisie comme la clé correct.
  • Définir ensuite quel sera la décoration qui serat choisie avec chaque série de set. (un set est égal à un ensemble de meubles qui forment une pièce ou une fonction (exemple: les plantes, les conteneurs etc... ) dans votre maison)
  • Dans chaque set vous aurez besoin de renseigner l'onglet "Enable Parent", vous n'aurez qu'à choisir l'un de vos objets pour cela, suivez donc ces indications:
  • Double-cliquez sur l'objet en question et cochez la case "Persistant Reference", lui donnez ensuite une ID Reference propre. Exemple: BedroomParentRef.
  • Double-cliquez sur les autres objets du même ensemble et allez sur l'onglet "Enable Parent", puis "Select Reference in Render Window", enfin double-cliquez sur l'objet ayant l'ID *Reference renseignée ci-dessus, repétez l'opération pour chaque objet du set.


Mainteant votre maison est prête.

Le NPC


  • Le NPC aura besoin de quelques dialogues afin de vendre votre maison.
  • Allez sur l'onglet de votre quête crée pour cette utilisation puis sur l'onglet "Topics".
  • Clique-droit sur la liste vide à gauche et validez le champ "Add Topic", ajoutez alors les onglets "HouseDecline" et "HouseInquiry.
  • Retournez alors sur la liste 'AddTopicList", double-clique et validez de nouveau l'option "Add Topic", puis créez les onglets intitulés "Housebuy" (le nom de votre ville) et un autre "HouseTooMuch" (le nom de votre ville).

Avant de poursuivre, vous devez choisir un prix pour votre maison.

  • Maintenant sélectionnez votre topic "Housebuy". Dans le champ "Topic Text" , écrivez quelque chose dans ce genre: "Je veux bien payer 3000 d'or pour cette maison" (si le coût de la maison est égal à 300 bien sûr)
  • Ensuite, allez à la liste se trouvant en dessous, faites un clique-droit et selectionnez "New". Dans le texte de réponse, écrivez quelque chose dans ce genre: "Excellent choix, voici votre clé...",
  • Puis ajoutez le fichier laudio correspondant, si vous ne voulez ou ne pouvez pas enregistrer votre propre voix, vous pouvez décompresser quelques voix d'Oblivion (écrit dans le texte...), ou servez vous du système de son dit "blanc", validez le tout enappuyant sur Ok.
  • Dans le champ "Result Script" écrivez ceci:

SetStage (Le nom de votre quête) 10

  • Dans la liste "Conditions", double-clique droit et appuez sur "New". Réglez la fonction "Condition Function" sur "GetGold", laissez les paramètres "Function Parameters" vierge, reglez le menu déroulant "Comparison" sur >=, le champ "Value" sur le nombre d'or requit à l'achat de la maison et cliquez sur "Run on Target" plus haut.
  • Maintenant ajoutez une nouvelle condition, réglez "Condition Function" sur GetisId, cliquez sur "Function Parameters", renseignez l'ID votre NPC, mettre "Comparison" sur ==, le champ "Value" sur 1 et cliquez sur "Run on Target".
  • Sélectionnez "HouseDecline", ajoutez une nouvelle réponse dans ce genre "Je préfère discuter uniquement de la propriété avec des acheteurs sérieux.", ajoutez le fichier audio, puis une condition comme le second choix du précèdent topic.
  • Sélectionnez "HouseInquiry", ajoutez une nouvelle réponse dans ce genre "J'ai rendu visite au propriétaire d'une maison particulière que je possède.", ajoutez le fichier audio, et une condition comme le précèdent topic, ensuite vous ajoutez une nouvelle condition, "Condition Function" sur "IsCellOwner", "Function Parameters" sur (cellule de votre maison)Player, "Comparison" sur == et "Value" sur 0.
  • Puis ajoutez une troisième condition, "Condition Function" sur "GetDisposition", "Comparison" sur >= et "Value": (la disposition que le PNJ doit avoir envers vous afin de vous permettre de l'acheter").
  • Dans la liste de choix, ajoutez "HouseBuy", "HouseDecline" et "HouseDecline".
  • Sélectionnez "HouseTooMuch", écrivez "Je ne peux pas vous offrir 3000 pièces d'or." dans le champ "Topic Text".
  • Ajouttez une nouvelle réplique du genre "Quelle honte. Je suppose que je dois chercher un autre acheteur.", ajoutez le fichier audio et enfin une condition avec l'habituel "Condition Function" en "GetIsID".


Les dialogues sont enfin terminé.

L'ameublement


  • Tout d'abord il vous faut crée un parchemin pour chaque ensemble de meubles et de les nommé comme cela: Chambre de la maison ou Salle à manger de la maison.
  • Dans ces derniers il vous faudra écrire ce que ce set de meubles ajoutera à votre maison, quelque chose comme ceci:
Cela ajoutera à votre maison les meubles suivant:
- Un lit
- Un tapis
- Une blibliothèque avec un livre
- Une commode et trois vêtements
- Un tabouret


  • Ajouter ensuite ce script à votre parchemin:
Scriptname HouseFurnReceiptScript
short Doonce
begin OnAdd player
if ( Doonce == 0 )
	SetItemValue 0
	set Doonce to 1
endif
end


  • Puis, ajoutez une valeur aux parchemins.
  • Vous pouvez faire la partie suivante selon différente manières, voici l'une d'entre elle.
  • Sélectionnez le vendeur de ces parchemins, vous pouvez très bien utiliser le vendeur de la maison ou tout aussi bien quelqu'un d'autre, peu importe.
  • Double-clique sur le coffre de ce marchand et ajoutez ceci à son script:
short once
begin gamemode
	if getstage (Le nom de la quête) >= 10
		if once == 0
			additem (ID du premier set) 1
			additem (ID du second set) 1
                       ; Faites cela pour toutes les réferences des sets de meubles.                      
			set once to 1
		endif
	endif
end


La quête


  • Ajoutez ce script de type "Quest" à votre quête:
scn aaabuyinghouse
short TotalCount ; Le nombre de sets que possède votre maison
short Doonce1    ; vérifie si vous avez bien acheter les objets
short Doonce2    ; vérifie si vous avez bien acheter la maison
;add "Short Doonce3" si vous avez bien les trois objets
float fQuestDelayTime
begin gamemode
; Mets un terme au script si les conditions ne sont pas remplies
if ( GetStage housearea2 < 10 )
	Return
endif
if getstage (Nom de la quête) == 10 && player.getincell   (Nom de la cell ou se trouve la maison)   == 1
	setstage (Nom de la quête) 20
endif
; Il s'agit de la varaible qui déclanche la suite lorsque la maison est acquise
if ( Player.GetItemCount (ID du premier set de fournitures) == 1 ) && ( Doonce1 == 0 )
	(first parent).Enable
	set TotalCount to ( TotalCount + 1 )
	set Doonce1 to 1
endif
if ( Player.GetItemCount (ID du second set de fournitures) == 1 ) && ( Doonce2 == 0 )
	(second parent)..Enable
	set TotalCount to ( TotalCount + 1 )
	set Doonce2 to 1
endif
;Ends Fin de la quête si tout à été acheté
if ( TotalCount == 2 )    ; Changez le nombre deux selon le nombre de sets à acheter
	setstage (Nom de la quête) 30
	set fQuestDelayTime to 0
endif
end


  • Aller sur l'onglet "Quest Stages" et ajoutez à "Index" les étapes 10, 20 et 30.
  • Sélectionnez l'index 10 et effectuez une nouvelle entrée de journal avec le texte suivant: "Je viens d'acheter une maison à (le nom de le votre ville)."
  • Dans le champ "Result Script", ajoutez ceci:
(Réference du premier set de meubles).disable
(Réference du second set de meubles).disable
; Faites cela pour toutes les réferences des sets de meubles.
Player.RemoveItem Gold001 (Le prix de votre maison)
Player.AddItem (L'ID de la clée) 1
SetCellOwnership (Cell de la maison)
SetCellFullName (Cell de la maison) "Maison (le nom de votre vielle)."
ModPCMiscStat 15 1
set (Nom de la quête).fQuestDelayTime to 1


  • Sélectionnez l'index 20 et insérez une nouvelle entrée de journal avec le texte suivant: "Maintenant que je suis dans ma nouvelle maison de (le nom de votre ville), il faudrait peut-être que j'aille voir (le nom du NPC vendant les meubles), à la boutique (nom de la boutique), afin d'acheter de quoi la meubler.
  • Sélectionnez l'indexe 30 et insérez une nouvelle entrée dans le journal avec le texte suivant: "J'ai acheté tout ce que (le nom du NPC ayant vendus les meubles) pouvait me proposer pour ma maison à (le nom de votre ville)."
  • A cette indexe 30, cochez l'option "Complete Quest" et ajoutez ceci dans le champ "Result Script":
stopquest (nom de la quête)


  • Voilà maintenant vous savez créer de jolies petites bicoques, de grands manoirs à venre !