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  
Le Deal du moment :
Bon plan achat en duo : 2ème robot cuiseur ...
Voir le deal
600 €

 

 [Les bases] Scripting de NPC.

Aller en bas 
2 participants
AuteurMessage
Dark Templar
Administrateur
Dark Templar


Nombre de messages : 96
Date d'inscription : 24/07/2005

[Les bases] Scripting de NPC. Empty
MessageSujet: [Les bases] Scripting de NPC.   [Les bases] Scripting de NPC. EmptyJeu 11 Aoû à 21:24

Pour bien commencer:

Dans un premier temps, il faut definir la localisation de la map et definir le look qu'aura le NPC ainsi que son emplacement.

Pour cela, on utilisera le script:

1) Création d'un NPC

Code:

<nommap.gat>,<x>,<y>,<dir> script <nomNPC> <sprite n°>,{

<nommap.gat> /represente le nom de la map

ex:
pront_field8.gat

<x> et <y> /represente la position du NPC dans l'espace carte que vous pouvez trouver en tapant la ligne "/where" dans le jeu (ça vous donne le nom de la map ainsi que la position où vous vous situez actuellement)

<dir> /represente la direction où le NPC fixe son regard

le regard du NPC sera defini par ces N°:

[1][8][7]
[2][0][6] / 8 étant le nord.
[3][4][5]

Les N° sont visibles à cette url : N° NPC => Contacter un Admin pour avoir le lien.

script <nomNPC> /represente le choix que vous ferez pour le nom du NPC

<sprite n°> /represente le N° du NPC, donc son look final.

Voilà, le NPC est créé. N'oubliez surtout pas le "{" car c'est lui qui va indiquer le début du script.

Exemple type :
Code:
prt_monk.gat,250,255,4   script   Mili   101,{

Maintenant il faut lui donner quelque chose à faire.

PS Important : Les séparations entre *prt_monk.gat,250,255,4* *Script* *Mili* et *101,{* ne sont pas des espaces, mais des sauts de tabulation (touche Tab), le nom du NPC peut contenir des espaces.


Dernière édition par le Mer 17 Aoû à 23:55, édité 2 fois
Revenir en haut Aller en bas
Dark Templar
Administrateur
Dark Templar


Nombre de messages : 96
Date d'inscription : 24/07/2005

[Les bases] Scripting de NPC. Empty
MessageSujet: Re: [Les bases] Scripting de NPC.   [Les bases] Scripting de NPC. EmptyVen 12 Aoû à 1:50

2) La base de la Communication

Code:

<nommap.gat>,<x>,<y>,<dir> script <nomNPC> <sprite n°>,{

mes "[nomNPC]";
mes "Dialogues";
Close;
}

ou

Code:

<nommap.gat>,<x>,<y>,<dir> script <nomNPC> <sprite n°>,{

mes "[^3366FFnomNPC^000000]";
mes "Salut, je suis là pour apprendre le scripting";
menu "Oui, je veux apprendre",OUI,"Non merci",NON;
Close;

OUI:
mes "[^3366FFnomNPC^000000]";
mes "Bienvenu(e) dans la classe.";
next;
mes "Installez-vous ...";
goto FIN;

NON:
mes "[^3366FFnomNPC^000000]";
mes "Ce n'est pas grave, repasse la prochaine fois.";
goto FIN;

FIN:
mes "il est tard";
Close;
}

mes /est la fonction qui va afficher le dialogue.

" " /les guillemets, sont début et la fin d'un texte. Tant que le guillemet n'est pas fermé par rapport au 1er, le texte continu. Le Client fera le retour à la ligne automatiquement.

; /va indiquer la fin d'une commande

Close /va permettre au joueur de fermer la boite de dialogue

^3366FFDIALOGUE^000000 /tous ce qui commence par "^" indique que la suite sera une couleur dont le code est en hexadecimal.
la 1ere couleur avant le dialogue est appliquée à celui-ci, alors que la 2nde couleur elle, ne s'applique qu'à la suite du dialogue. Pensez donc à revenir à la couleur de départ sous peine de voir tout le dialogue d'une couleur.

exemple:

Citation :
script ecrit:
mes "[^3366FFnomNPC^000000]
mes "Salut"

Résultat In-game:
[nomNPC]
Salut

Le code des couleurs peut-être trouvé à cette adresse:
Code de couleurs => Contacter un Admin pour avoir le lien.

exemple de choix multiple:
menu "Oui, je veux apprendre",OUI,"Non merci",NON;

Ici une fenêtre apparaîtra laissant 2 choix au joueur :
Citation :
Oui, je veux apprendre
Non merci

Si le joueur sélectionne *Non merci*, le script ira au label *NON* et suivra les directive que celui-ci donne, si il avais choisi *Oui, je veux apprendre*, le script se serait dirigé vers *OUI*.

Coté Technique:
OUI: /il s'agit d'un label, une marque dans le script

goto "label" /dirige vers un label

next /represente un changement de page

Quand on continu d'exploiter les multi-choix, très souvent, la boite de dialogue est vite saturé. C'est pourquoi l'emploi de la fonction "next" va aérer celle-ci (la boite de dialogue) en effaçant l'ancienne pour en créer une nouvelle.

} /represente la fin du script

Petit tips : lors de la rédaction d'un NPC, il est préférable d'ecrire les labels en majuscule, le script en sera bien plus lisible.


Dernière édition par le Mer 17 Aoû à 23:56, édité 1 fois
Revenir en haut Aller en bas
Beld
Administrateur
Beld


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

[Les bases] Scripting de NPC. Empty
MessageSujet: Re: [Les bases] Scripting de NPC.   [Les bases] Scripting de NPC. EmptyVen 12 Aoû à 17:22

Hop maitenant vous avez assimilé toute les donné superieur, on va passé a des exemples concret de NPC, commençon doucement avec Julia, elle va instauré quelque notion plus avancé, tout en restant simple.

I/Un personnage simple
La petite Julia qui aime soigné les gens.

Citation :

prontera.gat,150,184,5 script Julia::Julia 778,{
mes "[Julia]";
mes "Euh bonjour...";
mes "Vouler vous de l'aide ?";
mes "Je suis diplomer en medecine... Je veux aider les gens.";
next;
menu "Peux tu me soigner ?",HEAL,"Non je vais bien",NON;

HEAL:
heal 50000,50000;
mes "J'espere vous avoir été utile.";
close;

NON:
mes "J'en suis heureuse.";
close;

}
morocc.gat,159,96,5 duplicate(Julia) Julia 778
geffen.gat,121,61,5 duplicate(Julia) Julia 778
payon.gat,83,115,5 duplicate(Julia) Julia 778


La 1er ligne ne devrait plus avoir de secret pour vous :
Citation :
prontera.gat,150,184,5 script Julia::Julia 778,{

Petit rappel vite fait :
prontera.gat = Carte sur lequelle se trouvera le NPC
150,184,5 = Coordonné X/Y du NPC sur cette carte, le 3ém chiffre montre l'orientation du NPC.
script = commande indiquan qu'il s'agit d'un Script
Julia::Julia = Petite nouveauté ici, il s'agit bien du nom du NPC, et il est doublé entre deux *:*, cela a un but, le 1er nom sera le nom *server* du NPC, le deuxieme le nom affiché au joueur. (alors que normalement les 2 se confonde, vous verrez plus bas a quoi cela sert exactement).
778 = Sprite utilisé pour representé le NPC
{ = indique le debut du script

Exemple et resulat :
Citation :
mes "[Julia]";
mes "Euh bonjour...";
mes "Vouler vous de l'aide ?";
mes "Je suis diplomer en medecine... Je veux aider les gens.";
next;
menu "Peux tu me soigner ?",HEAL,"Non je vais bien",NON;
(screen du résultat ici)

Ensuite le menu :
Citation :
menu "Peux tu me soigner ?",HEAL,"Non je vais bien",NON;

HEAL:
heal 50000,50000;
mes "J'espere vous avoir été utile.";
close;

NON:
mes "J'en suis heureuse.";
close;

Encore un rappel :
"Peux tu me soigner ?",HEAL = Si le joueur choisi de repondre cela au NPC, le script va exécuté les commande situé dans HEAL
"Non je vais bien",NON = Si le joueur choisi de repondre cela au NPC, le script va exécuté les commande situé dans NON

Rien de bien compliké en somme ^^ (screen : ici)

Voyon voir ce ki se passe si le joueur repond "Peux tu me soigner ?" :

Citation :
L_HEAL:
heal 50000,50000;
mes "J'espere vous avoir été utile.";
close;

Une commande qu'il vous ai inconnue :
heal 50000,50000; = Redonne 50000 Hp et 50000 Sp au joueur.

(prochainement : une liste des commandes les plus fréquente)

Me voila totalement soigné : ici

Duplication de NPC :
Citation :
morocc.gat,159,96,5 duplicate(Julia) Julia 778
geffen.gat,121,61,5 duplicate(Julia) Julia 778
payon.gat,83,115,5 duplicate(Julia) Mina 776

Cette simple commande sert a dupliké le NPC au different endroit, le nom entre parenthese etant celui du NPC ke vous voulé dupliké (nom server), et celui ensuite le nom du NPC dupliqué, 778 etant tjr le sprite le representant, vous pouvez donc crée un NPC ayant les même fonction, mais avec un nom et un sprite different.
Revenir en haut Aller en bas
Contenu sponsorisé





[Les bases] Scripting de NPC. Empty
MessageSujet: Re: [Les bases] Scripting de NPC.   [Les bases] Scripting de NPC. Empty

Revenir en haut Aller en bas
 
[Les bases] Scripting de NPC.
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Les variable] 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