Arcanum-fr Index du forum Arcanum-fr
Le forum de la communauté Arcanum
 
 FAQFAQ   RechercherRechercher   Liste des membresListe des membres   Groupes d’utilisateursGroupes d’utilisateurs   InscriptionInscription 
 ProfilProfil   Se connecter afin de vérifier vos messages privésSe connecter afin de vérifier vos messages privés   ConnexionConnexion 

FLAG

 
Publier un nouveau sujet   Répondre au sujet    Arcanum-fr Index du forum -> Developpeurs
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
Mr Mick



Inscrit le: Dim 28 Déc 2003
Messages: 331
Localisation: au milieu des champs beaucerons

MessagePublié le: Dim Jan 25, 2004 1:12 pm    Titre du sujet: Répondre en citant

Quelqu'un pourrait-il expliquer, au moins les bases, du fonctionnement des flags ?
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé  
Le Jedi Fou



Inscrit le: Mar 8 Avr 2003
Messages: 59
Localisation: Rennes

MessagePublié le: Dim Jan 25, 2004 7:13 pm    Titre du sujet: Répondre en citant

Alors les flags ont 2 états : 1 et 0.
Tu as un certain nombre de flags attachés au joueur (et qui doivent être surtout utilisés pour le multijoueur afin de mettre différentes choses sur chaque joueur), et un certain autre nombre de "Global Flags" qui sont accessibles partout.
A la base, tu dois faire en sorte qu'une action passe un Global Flag de l'état 1 à l'état 0 (ou inversement).
Puis cela te servira plus tard pour une condition.

Exemple : dans un dialogue, tu dis au NPC Aline une insulte. Sur cette ligne de dialogue tu as ajouté en Resultat que le Global Flag 5 passait à 1.
Ensuite tu vas parler au NPC Maurice, le père d'Aline dans le scénario. Tu peux rajouter un test pour un dialogue afin que la ligne ne s'affiche que si le Global Flag 5 est à 1, c'est à dire uniquement si tu as insulté le NPC Aline. Ainsi tu pourras dire "J'ai insulté ta fille, cette grosse truie". Mais tant que tu n'as pas insulté Aline, ce choix de dialogue ne s'affichera pas.

Et bien entendu tu peux te servir des Flags pour plein d'autres choses : pour des quetes, pour des réputations, pour l'apparition d'un personnage, pour faire évoluer ton scénario, etc...
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] Adresse AIM MSN Messenger
Mr Mick



Inscrit le: Dim 28 Déc 2003
Messages: 331
Localisation: au milieu des champs beaucerons

MessagePublié le: Dim Jan 25, 2004 11:43 pm    Titre du sujet: Répondre en citant

Une fois de plus, merci au Jedi d'avoir défendu ma paix intellectuelle . Cela dit, là, c'est vraiment les bases, et j'aimerais finir ma formation asssez rapidement (Obi Wan va pas être comptent) . Tu ne pourrais pas "m'enseigner" un (ou même deux) exemple(s) d'utilisation.
Les flags ne s'utilisent-ils que dans les dialogues ? Il m'a semblé en voir également dans certains scripts.
Il suffit de créer un flag dans un dialogue pour le rendre opérationnel ? Il n'y a rien d'autre à faire ? Les flags s'enchaîneraient-ils les uns aux autres (de dialogue en dialogue) de cette façon ?
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé  
Le Jedi Fou



Inscrit le: Mar 8 Avr 2003
Messages: 59
Localisation: Rennes

MessagePublié le: Lun Jan 26, 2004 4:08 am    Titre du sujet: Répondre en citant

Ok alors voilà un exemple de dialogue utilisant un Global Flag.

Donc d'abord tu vas dans le répertoire semes de ton module et là tu as le fichier globalflags.mes auquel tu rajoutes la ligne
{1}{insulte a Aline}

Tu fais un dialogue avec Aline
{1}{Bonjour, je suis Aline.}{Bonjour, je suis Aline.}{}{}{}{}
{2}{Rien à foutre de ta vie grosse truie.}{}{1}{}{0}{gf 1 1}
{3}{Ok. A bientot.}{}{1}{}{0}{}

Donc quand tu l'insultes, tu changes le Global Flag 1 à 1, tu l'actives quoi (1 = on, 0 = off).

Ensuite un dialogue avec Maurice, le père. Tu as 2 solutions, la meilleure étant de passer par un script pour amorcer le dialogue avec le père. Donc édite le script 00002Maurice.scr

0. If Global Flag 1 is set
THEN dialog 50
ELSE dialog 1
1. Return and SKIP default

Ce qui veut dire que si le Global Flag 1 est activé (mis sur 1), c'est à dire si tu as insulté Aline, alors le dialogue avec Maurice commence à la ligne 50. Par contre si tu n'as pas insulté Aline, le Global Flag 1 n'est pas activé, et dans ce cas le dialogue avec Maurice commence à la ligne 1.

Editons le dialogue de Maurice

{1}{Salut toi! Tu m'as l'air d'un garçon fort sympathique.}{Bonjour mademoiselle, vous m'avez l'air charmante.}{}{}{}{}
{2}{Sacré Maurice, toujours à faire des compliments}{}{1}{}{0}{}

{50}{Dis donc, c'est toi qui insultes ma fille Aline? Tu mérites une correction!}{Garce! Ma fille m'a raconté comment vous l'avez insultée. Je ne suis pas du genre à me battre avec une femme, mais avec vous je ferai une exception.}{}{}{}{}
{51}{Je vous prie de m'excuser monsieur Maurice! J'avais pris votre fille pour quelqu'un d'autre.}{}{1}{}{0}{gf 1 0}
{52}{Apparement le père a l'air encore plus con que la fille. Allez viens là mon gros, tu vas recevoir la trempe de ta vie}{}{1}{}{0}{co}

Et voilà. Donc si tu as insulté Aline avant de parler à Maurice, le dialogue commencera à la ligne 50. Là tu as 2 choix : soit tu t'excuses (ligne 51) et le Global Flag 1 repasse à 0, comme ça à la prochaine discussion Maurice ne t'en voudra plus; soit tu en remets une couche et tu te bats avec Maurice

Voilà c'est l'un des multiples exemples d'utilisation du Global Flag. Et il y a d'autres façons de gérer la situation que je viens de décrire.
Si jamais un moddeur expérimenté voit une faute dans mon exemple, n'hésitez pas à la signaler :D
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] Adresse AIM MSN Messenger
triblonto
Chasseur de ténèbres
Chasseur de ténèbres


Inscrit le: Mar 8 Jan 2002
Messages: 1030
Localisation: Bordeaux

MessagePublié le: Lun Jan 26, 2004 11:27 am    Titre du sujet: Répondre en citant

M. Mick : ne doubles pas toujours tes questions en messages privés et messages déposés sur le forum. J'aurais pu te répondre ici, avant de t'envoyer ma réponse en message privé.

_________________
http://arcanumlab.free.fr
Aides à la création de modules
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé [ Invisible ] Visiter le site Internet du rédacteur
Mr Mick



Inscrit le: Dim 28 Déc 2003
Messages: 331
Localisation: au milieu des champs beaucerons

MessagePublié le: Lun Jan 26, 2004 8:37 pm    Titre du sujet: Répondre en citant

Merci une fois de plus à toi, brave guerrier Jedi, ton aide, combinée à celle de Triblonto, me permet d'avancer dans la réalisation de mon module. J'espère ne pas finir par te gonfler avec mes questions, et pouvoir compter encore sur ton "coup de main" si nécessaire.
A plus.
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé  
Mr Mick



Inscrit le: Dim 28 Déc 2003
Messages: 331
Localisation: au milieu des champs beaucerons

MessagePublié le: Mer Jan 28, 2004 10:44 pm    Titre du sujet: Répondre en citant

Excuse-moi TRIBLONTO, mais comme je te l'ai dis en privé, plus on m'en dit, plus j'avance...
Maintenant, je commencerai par le forum "public"... C'est vrai que ça permet de servir à plus de monde.
Revenir en haut
Voir le profil de l’utilisateur Envoyer un message privé  
Afficher les messages depuis:   
Publier un nouveau sujet   Répondre au sujet    Arcanum-fr Index du forum -> Developpeurs Heures au format GMT + 1 heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas publier de nouveaux messages dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2002 phpBB Group
Translated by phpBB.fr © 2007, 2008 phpBB.fr