(Script) Achat Maison

Répondre
Partager Rechercher
bonsoir,

j'aimerai faire en sorte de pouvoir acheter une maison avec la possiblité de la mettre a louer qui rapporte des po tout les x temp...

voici une partie du script a compléter

Voulez vous achetez cette maison ?
--> Acheter
--> Etes vous sur de vouloir l'acheter ?
--> Oui (dans condition d'execution)
Code PHP:

int StartingConditional()
{
  
object pc GetPCSpeaker();
  if(!
HasItem(pc"CastralRocMaison1"))
    return 
FALSE;
  if (
GetGold(pc) < 200000)
    return 
FALSE;
  return 
TRUE;

et dans action conséquente
Code PHP:

//::///////////////////////////////////////////////
//:: FileName prendre_or_maiso
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 28/06/2014 21:32:52
//:://////////////////////////////////////////////
void main()
{
    
// Donner les objets à la personne qui parle
    
CreateItemOnObject("CastralRocMaison1"GetPCSpeaker(), 1);


    
// Prendre de l’or au joueur
    
TakeGoldFromCreature(200000GetPCSpeaker(), TRUE);

--> Finalement Non
Je suis le propriétaire que voulez vous faire ?
--> Entrer (dans condition d'execution)
Code PHP:

//::///////////////////////////////////////////////
//:: FileName clef_entre_maiso
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 28/06/2014 19:58:56
//:://////////////////////////////////////////////
#include "nw_i0_tool"

int StartingConditional()
{

    
// Vérifier que le PJ qui parle possède ces objets dans son inventaire
    
if(!HasItem(GetPCSpeaker(), "item001"))
        return 
FALSE;

    return 
TRUE;

--> Faire des doubles ! (dans action conséquente)
Code PHP:

//::///////////////////////////////////////////////
//:: FileName double_clef
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 28/06/2014 19:53:30
//:://////////////////////////////////////////////
void main()
{
    
// Donner les objets à la personne qui parle
    
CreateItemOnObject("item001"GetPCSpeaker(), 1);


--> Vendre (dans action conséquente)
Code PHP:

//::///////////////////////////////////////////////
//:: FileName prendre_or_clef
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 28/06/2014 20:01:09
//:://////////////////////////////////////////////
void main()
{

    
// Prendre de l’or au joueur
    
TakeGoldFromCreature(200000GetPCSpeaker(), TRUE);

    
// Enlever des objets de l’inventaire du joueur
    
object oItemToTake;
    
oItemToTake GetItemPossessedBy(GetPCSpeaker(), "CastralRocMaison1");
    if(
GetIsObjectValid(oItemToTake) != 0)
        
DestroyObject(oItemToTake);

Entré par effraction (dans condition d'execution)
Code PHP:

//::///////////////////////////////////////////////
//:: FileName prendre_or_clef
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 28/06/2014 20:01:09
//:://////////////////////////////////////////////
void main()
{

    
// Prendre de l’or au joueur
    
TakeGoldFromCreature(200000GetPCSpeaker(), TRUE);

    
// Enlever des objets de l’inventaire du joueur
    
object oItemToTake;
    
oItemToTake GetItemPossessedBy(GetPCSpeaker(), "CastralRocMaison1");
    if(
GetIsObjectValid(oItemToTake) != 0)
        
DestroyObject(oItemToTake);

Partir



(donc le 1er script ne compile pas et a partir du dialogue je suis le propriétaire etc n’apparaisse pas ? normal)

Ce qui faudrait rajouter

HasItem n'étant pas une fonction native, il faut l'implémenter. Pour ma part j'utilise la fonction
Code:
[GetItemPossessedBy(object, string)]
. Par exemple :

Code PHP:

int HasItem(object astring b)
{
  
// On renvoie FALSE si le retour de fonction est OBJECT_INVALID
  
return GetItemPossessedBy(ab) != OBJECT_INVALID;

Il te reste à déclarer cette fonction dans les scripts où tu l'utilise. Après tout devrait être bon je pense.


Edit: note que si TakeGoldFromCreature fonctionne même si le joueur n'a pas assez de pièce, il serait intéressant de vérifier le nombre de pièces d'un joueur avant chaque tentative de lui prendre des PO.
Répondre

Connectés sur ce fil

 
1 connecté (0 membre et 1 invité) Afficher la liste détaillée des connectés