Problème sur un dialogue

Répondre
Partager Rechercher
Bonjour, j'essaye de faire un dialogue particulier où la suite est conditionnée par la possession du PC de 50 po, mais chu pas forte en script, et je n'y arrive pas...

ça donne à peu près ça :

- Désolé vous n'avez pas les 50 po nécessaires à la transaction
- Bonjour, je vois que vous avez les 50 po nécessaire, alors voici ce que je peux vous proposer le 1 ou le 2


Le PC répond :

- 1
- 2


J'ai mis les scripts suivants sur la première phrase dans text appears when :

Code PHP:

int StartingConditional()
{
object oPC GetPCSpeaker();

if (!
GetGold(oPC) >=50) return FALSE;

return 
TRUE;

Et celui-ci dans la seconde phrase du NPC :

Code PHP:

int StartingConditional()
{
object oPC GetPCSpeaker();

if (!
GetGold(oPC) <50) return FALSE;

return 
TRUE;

Mais visiblement ça ne marche pas, quand le PC parle au NPC, ce dernier lui déclame la première phrase systématiquement, et si je les inverse, il lui déclame la deuxième, même si le PC n'a pas les 50 po...

Je suis une grosse nulle sur aurora, mais ça m'amuse beaucoup... en général.

Quelqu'un pour m'aider ?
Je dirais que le problème vient de cette ligne :
Code PHP:

if (!GetGold(oPC) >=50) return FALSE
Le ! avant GetGold n'a pas vraiment sa place ici. C'est en fait l'opérateur booléen NON, ce qui veut dire que :
- si le PJ n'a pas d'or, !GetGold(oPJ) renverrais 1 (l'équivalent de TRUE en NWScript)
- si le PJ a au moins une pièce d'or, !GetGold(oPJ) renverrais probablement 0 (ce qui équivaut à FALSE)

Donc enlève ces points d'exclamation dans tes 2 scripts et ça devrais marcher.

D'autre part, il n'y a pas vraiment d'intérêt à utiliser 2 scripts ici. En fait seul le premier suffit, puisque si la 1ere phrase n'est pas prononcée, alors la 2e le sera automatiquement. Logique
Chouette, un problème auquel je peux (peut-être) répondre .

Citation :
- Désolé vous n'avez pas les 50 po nécessaires à la transaction
- Bonjour, je vois que vous avez les 50 po nécessaire, alors voici ce que je peux vous proposer le 1 ou le 2
Dans la deuxième phrase, met
Code PHP:

#include "NW_I0_PLOT"

int StartingConditional()
{
    return (
HasGold(50,GetPCSpeaker()));

Ce script vérifira si ton PJ a les 50 po et ne fera appraître la seconde phrase qu'à cette condition.

Et dans les réponse du PJ, il te reste plus qu'à mettre un script pour prendre l'or (dans le action conséquente).

Code PHP:

void main()
{
    
TakeGoldFromCreature(50GetPCSpeaker(), TRUE);

Normalement ça devrait être bon. Mais c'est du Simkim, alors c'est pas sûr que ça marche
Merci pour vos réponses. J'ai eu du mal, mais maintenant j'ai compris comment ça marche. (à force de lire 36 tutoriaux, je me mélangeais les pédales... )

Citation :
Bha c'est l'archétype même des scripts fait par le générateur de script d'aurora.
Il y a un générateur de script dans aurora ? où où où
Oui pour les textes il y en a un,en bas a droite de la fenetre ou tu crée ton texte,tu verra marqué action consequente etc.. a coté d'editer tu vois un petit chapeau de magicien et bien c'est sa.
Répondre

Connectés sur ce fil

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