HRO : FE Forum
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

HRO : FE Forum


 
AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-55%
Le deal à ne pas rater :
Coffret d’outils – STANLEY – STMT0-74101 – 38 pièces – ...
21.99 € 49.04 €
Voir le deal

 

 [Les variable] Scripting de NPC.

Aller en bas 
AuteurMessage
Beld
Administrateur
Beld


Nombre de messages : 136
Localisation : Le plus souvent sur un siége
Date d'inscription : 15/06/2005

[Les variable] Scripting de NPC. Empty
MessageSujet: [Les variable] Scripting de NPC.   [Les variable] Scripting de NPC. EmptyVen 12 Aoû à 17:45

-/ attention, la, sa commence a ne plus etre simple \-

Inclure une variable, et une fonction sur un personnage

Sans doute la fonction la plus importante pour le RP.

Citation :

tur_dun04.gat,99,111,5 script Tortue Génial 737,{
// vérif des variables (normal et personnel)//
if (BaseLevel < 60) goto L1;
if ((BaseLevel < 70) && (tortueG == 0)) goto L2;
if ((BaseLevel >= 70) && (tortueG == 0)) goto L3;

// déjà donné //
mes "[Tortue Génial]";
mes "Je t'ai déjà aidé dans ta quête, ne m'en demande pas trop !";
close;

// trop faible //
L1:
mes "[Tortue Génial]";
mes "Tu es trop faible pour suivre"
mes "mon entrainement."
next;
mes "Repart d'ou tu viens."
close;

// lvlup //
L2:
mes "[Tortue Génial]";
mes "Tu es un courageux de venir jusqu'ici.";
next;
mes "Voila une recompense meritée, maintenant va-t-en.";
next;
set BaseLevel, BaseLevel + 1;
set tortueG, 1;
close;

// déjà lvl 70 //
L3:
mes "[Tortue Génial]";
mes "Tu es déjà très puissant,"
mes "je ne peux rien faire de plus."
next;
mes "Repart d'ou tu viens."
close;

}

Le vif du sujet : Les Variables.
Citation :

if (BaseLevel < 60) goto L1;
if ((BaseLevel < 70) && (tortueG == 0)) goto L2;
if ((BaseLevel >= 70) && (tortueG == 0)) goto L3;

A ce niveaux, le script va verifier kel est le base level du joueur, si le joueur est inferieur au lvl 60, le script se referencera au label *L1*, si inferieur au lvl 70, ai label *L2* et si lvl est egal ou superieur a 70, au label *L3*, tout cela grace a une nouvelle commande *if*.

Remarque : Le programme li les script ligne par ligne, c'est pour cela k'il n'y a pas de conflit entre les ligne *if(BaseLevel < 60)* et *if(BaseLevel < 70)*, en ce ki concerne le *&& (tortueG == 0)) *, nous verrons sa dans peu de temps.
Par contre, si la ligne *if (BaseLevel < 70)* etait avant *if(BaseLevel < 60)*, le script ne marcherai pas !

On va dire ke le personnage en question est lvl 65, observont donc ce ki se passe dans ce cas la :

Citation :
L2:
mes "[Tortue Génial]";
mes "Tu es un courageux de venir jusqu'ici.";
next;
mes "Voila une recompense meritée, maintenant va-t-en.";
next;
set BaseLevel, BaseLevel + 1;
set tortueG, 1;
close;

Observons la nouvelle commande *set*, elle sert a definir les variables du joueur, la ligne *set BaseLevel, BaseLevel + 1;* pourrait etre traduite par *Definir le level du joueur ,level du joueur +1* (baselevel etant la variable fixe de lvl base du joueur) donc si vous avez bien comprit, vous venez de gagné un lvl de base, rien de compliké, maintenant passon au chose serieuse :

Citation :
set tortueG, 1;
tortueG n'est pas une variable commune a tout les personnage, elle va se crée dans le personnage au moment ou vous parler pour la 1er foi a tortue génial. Le chiffre 1 situé juste aprés, définie ke cette variable sera definie par le chiffre 1.
C'est bien bô tout ça, vous allez me dire, mais a koi sa sert ?

Et bien revenon au depart :
Citation :
if((BaseLevel < 70) && (tortueG == 0)) goto L2;

Si une variable n'existe pas sur un personnage elle est definie par 0 par défaut, donc a ce moment du script, pour k'il se passe L2, il faut ke le lvl sois inferieur a 70, et ke la variable *tortueG* sois egal a 0, hors maintenant ke notre personnage a parler a Tortue Génial ce n'est pu la cas, ke se passe t'il donc ? Et bien tout simplement le script continue sa route et tombe sur :
Citation :
mes "[Tortue Génial]";
mes "Je t'ai déjà aidé dans ta quête, ne m'en demande pas trop !";
close;
Paf, et cela a chaque foi derenavant.

Remarque Importante : Les variables personnages sont tjr actif auprés de tout les NPC, en gros un NPC vous donne une variable qui pourra agir sur d'autre NPC, les possibilité ke cela donne son enorme.

Listing des variable commune a tout les personnages :
Citation :
Baselevel
Joblevel
Sex
Zeny
Class

Type de variable personnalisé :

Citation :
Variables permanentes:

VariableName = Variable numérique permanente, stoquée dans le fichier du personnage.

VariableName$ = Variable permanente ("char string"), stoquée dans le fichier du personnage.

$VariableName = Variable globale numérique, stoquée dans les fichier du serveur

$VariableName$ = Variable globale ("char string"), stoquée dans les fichiers du serveur.

#VariableName = Variable numérique permanente du compte, stoquée dans le fichier du compte.

#VariableName$ = idem sauf que variable "char string"

Variables temporaires:

@VariableName = Variable numérique temporaire stoquée dans le script et détruite à la fin du script.

@VariableName$ = idem sauf que variable "char string"

$@VariableName = Variable temporaire numérique globale, stoquée dans le serveur et détruite quand le serveur redémarre.

$@VariableName$ = idem sauf que variable "char string"


"char string" est pour les variables avec du texte.
Ces variables la ne sont pas très stables car il suffit de changer de perso avant la fin du script pour qu'elles restent.
#@VariableName
#@Variablename
Revenir en haut Aller en bas
 
[Les variable] Scripting de NPC.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Les bases] Scripting de NPC.
» [Les Fonctions] Scripting de NPC

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
HRO : FE Forum :: Développement HRO :: -/ NPC & Script \--
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser