Bienvenue sur JeuxOnLine - MMO, MMORPG et MOBA !
Les sites de JeuxOnLine...
 

Panneau de contrĂ´le

Recherche | Retour aux forums

JOL Archives

Problème

Par manska le 13/12/2002 Ă  19:38:39 (#2779922)

je ne suis pas un scripteur!!!!

mais j'essaye de comprendre les bases d'Aurora
le prob c que je sèche sur les dialogues à conditions:

J'ai crée une créature
lorsque le joueur va la voir, voila le diialogue:

"bienvenu au paradis mon pote, quoi de neuf?
reponse1: Tu cultives une nouelle race de plante?
réponse 2: Rien de neuf, et chez toi non plus, tu es oujous auss laid
réponse 3 : redonne moi des graines"

explications du scenario:
la creature cultive des graines qui ont des propriétés curatives, si le joueur choisit la reponse 1 la creatue va lui proposer une enigme pour gagner une graine
Donc je souhaite ne faire apparaitre la reponse 3 que lorsque e joueur revient parler à la céaure apès avoir gagné à l'énigme .
je souhaite que les reponses 1 et 2 n'apparaissent plus alors

Il faut donc que j'indique une condition d'execution aux reponses et 2 pour cela je pense tiliser l'assistant script ds l'onglet conditions d'eecution. mais voila, que dois je mettre dans la case "entier"????

manska

Par coolstar le 13/12/2002 Ă  20:51:42 (#2780521)

Hi Man!


Bon, alors voilà! tu peux pas faire ça avec l'Assistant script, mais par contre tu peux reprendre le truc là... A mettre dans Conditions d'exécution de la "Proposition en attente" (Réponse 3)...


//::///////////////////////////////////////////////
//:: FileName ab0_cdt_variable
//:://////////////////////////////////////////////
/*
SCRIPT BASIQUE : (Conditions d'exécution) Recherche d'une Variable.
Ce Script vérifie si la cible est bien "marquée" par la Variable recherchée
et vérifie par ailleurs la Validité de la Valeur actuelle qui lui est donnée,
avant de valider la Condition et d'initialiser cette partie du Dialogue...
*/
//:://////////////////////////////////////////////
//:: Created By: Docteur coolstar "Honorable canard"
//:: Created On: 10/12/2002 01:10:43
//:://////////////////////////////////////////////

int StartingConditional()
{
object oObject = OBJECT_SELF; // Cible du "scan" de la Variable.
string sVarName = "enigme_graine"; // Nom de la Variable recherchée.
int nValueCondition = GetLocalInt(oObject, sVarName) == 1; // Initiation de la Recherche.

// Execution de cette partie du Dialogue si la "Condition de Recherche" est Valide.
return nValueCondition;
}

C'est la structure de base pour définir ce type de condition selon les Variables Locales de type SetLocalInt... Tu y choisis ton propre sVarName ("enigme_graine" ici!) pour l'ensemble de l'exercice... puis tu alloues une iValueCondition différentes pour chacune de tes "propositions en attente" (sachant que la Valeur en cours d'une même Variable écrasera systématiquement celle qui précédait!)... quoi que, ici, la question ne se pose même pas! étant donné qu'il n'y a qu'une seule "proposition en attente", et qu'il n'y aura donc qu'une seule "Valeur" à définir...


La Condition ne sera alors effective que si elle trouve la Variable "enigme_graine" créée ici par le SetLocalInt... A mettre dans Actions conséquentes à l'issue de l'Enigme (dans l'arborescence de la Réponse 1!)...

//::///////////////////////////////////////////////
//:: FileName ab0_var_marquage
//:://////////////////////////////////////////////
/*
SCRIPT BASIQUE : "Marquage" d'une Cible par une Variable.
Ce Script attache une Variable définie à une Cible précise
et lui alloue par ailleurs une Valeur pnctuelle de "classement"...
*/
//:://////////////////////////////////////////////
//:: Created By: Docteur coolstar "Honorable canard"
//:: Created On: 10/12/2002 02:20:00
//:://////////////////////////////////////////////

void main()
{
object oObject = OBJECT_SELF; // Cible précise du "marquage" par la Variable.
string sVarName = "enigme_graine"; // Nom de la Variable définie.
int nValue = 1; // Assignation de la Valeur à la Variable définie.

// Initialisation de la Variable sur le Cible désirée.
SetLocalInt(oObject, sVarName, nValue);
}


Et enfin, pour que les Réponses 1 & 2 n'apparaissent plus lorsque l'énigme est résolue, tu dois leur mettre respectivement le Script qui suit dans Conditions d'exécution...

//::///////////////////////////////////////////////
//:: FileName ab0_cdt_variable
//:://////////////////////////////////////////////
/*
SCRIPT BASIQUE : (Conditions d'exécution) Recherche d'une Variable.
Ce Script vérifie si la cible est bien "marquée" par la Variable recherchée
et vérifie par ailleurs la Validité de la Valeur actuelle qui lui est donnée,
avant de valider la Condition et d'initialiser cette partie du Dialogue...
*/
//:://////////////////////////////////////////////
//:: Created By: Docteur coolstar "Honorable canard"
//:: Created On: 10/12/2002 01:10:43
//:://////////////////////////////////////////////

int StartingConditional()
{
object oObject = OBJECT_SELF; // Cible du "scan" de la Variable.
string sVarName = "enigme_graine"; // Nom de la Variable recherchée.
int nValueCondition = GetLocalInt(oObject, sVarName) < 1; // Initiation de la Recherche.

// Execution de cette partie du Dialogue si la "Condition de Recherche" est Valide.
return nValueCondition;
}

JOL Archives 1.0.1
@ JOL / JeuxOnLine