[starting conditionnal] un objet sur les deux

Répondre
Partager Rechercher
Voila j'aimerai que la phrase démarre si un PJ a au moins un objet sur les deux possibles

avec l'aide aux script de l'editeur je mets deux objets mais il faut que ces deux objets soient presents !! quelle ligne rajouter pour que le dialogue se déclenche s'il y a au moins un de ces 2 objets ?

voici le script de base

Code PHP:

//::///////////////////////////////////////////////
//:: FileName sc_002
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 02/03/2004 16:43:39
//:://////////////////////////////////////////////
#include "nw_i0_tool"

int StartingConditional()
{

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

    return 
TRUE;

Re: [starting conditionnal] un objet sur les deux
Citation :
Provient du message de xelone
Voila j'aimerai que la phrase démarre si un PJ a au moins un objet sur les deux possibles

avec l'aide aux script de l'editeur je mets deux objets mais il faut que ces deux objets soient presents !! quelle ligne rajouter pour que le dialogue se déclenche s'il y a au moins un de ces 2 objets ?

voici le script de base

Code PHP:

//::///////////////////////////////////////////////
//:: FileName sc_002
//:://////////////////////////////////////////////
//:://////////////////////////////////////////////
//:: Created By: Script Wizard
//:: Created On: 02/03/2004 16:43:39
//:://////////////////////////////////////////////
#include "nw_i0_tool"

int StartingConditional()
{

if(!
HasItem(GetPCSpeaker(), "anneauava"))
  return 
FALSE;
if(!
HasItem(GetPCSpeaker(), "anneaumorg"))
        return 
FALSE;

    return 
TRUE;

si j'ai bien compris ta question (avoir un des 2 objets)
alors ce serait plutôt

Code PHP:

#include "nw_i0_tool"

int StartingConditional()
{


if(  !
HasItem(GetPCSpeaker(), "anneauava")
     || 
// symbole du "OU" logic...
     
!HasItem(GetPCSpeaker(), "anneaumorg")
   )
   return 
FALSE;
return 
TRUE;

Bon apparemment ca ne fonctionne pas !!

j'ai testé mais il ne me lance pas la phrase si mon pj a un seul des deux objets !!

j'ai pensé inversé le TRUE et le FALSE dans les dernieres lignes mais ca ne va pas non plus (logique me direz vous) !!

je ne vois pas l'erreur !!
C'est normal, ce script:
Code PHP:

#include "nw_i0_tool"

int StartingConditional()
{


if(  !
HasItem(GetPCSpeaker(), "anneauava")
     || 
// symbole du "OU" logic...
     
!HasItem(GetPCSpeaker(), "anneaumorg")
   )
   return 
FALSE;
return 
TRUE;

dit: Si le PJ n'a pas l'un ou l'autre des objets, return FALSE. Alors que toi, tu veux qu'il return TRUE si le PJ a l'un ou l'autre des objets.

Ca doit donner un code de ce genre là:

Code PHP:

#include "nw_i0_tool"

int StartingConditional()
{

if(
HasItem(GetPCSpeaker(), "anneauava") || HasItem GetPCSpeaker(), "anneaumorg") )
   return 
TRUE;
return 
FALSE;

Citation :

Si le PJ n'a pas l'un ou l'autre des objets, return FALSE
......... return TRUE si le PJ a l'un ou l'autre des objets.
je crains que ces cas soient des paraphrases et que le vrai problème est ailleurs...
es tu sur d'avoir dans ton inventaire un des objets portant comme TAG "anneauava" ou "anneaumorg" ?

sinon je sèche ...
d'accord avec Mastokk
Je suis plutôt d'accord avec Mastokk

kris ton script ne répond pas à la demande. En fait, tu retourne FALSE si
- Il n'a pas "anneauava"
OU
- Il n'a pas "anneaumorg"

Ce qui revient à dire qu'il retourne TRUE seulement s'il a les deux objets... donc ça ne va pas
Ton code n'est donc pas du tout équivalent à celui de Mastokk.

Mais je t'accorde une chose: les condition if multiples, y'a tjrs un moment ou on fait des conneries.
Mastokk a raison.


A noter qu'il n'est pas nécessaire de faire un if, tu peux retourner directement le résultat de ton expression conditionnelle.


Code PHP:

#include "nw_i0_tool"

int StartingConditional()
{
return(
HasItem(GetPCSpeaker(), "anneauava") || HasItem(GetPCSpeaker(), "anneaumorg"));

Edit : Ajout du #, ça m'apprendra à faire attention
Répondre

Connectés sur ce fil

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