Aller au contenu
  • 0

Questions sur création de quêtes metin2


Alucard

Question

Bonsoir,

j'avais un questionnement concernant les quêtes d'instance dans metin2.

Ayant repris l'émulation, j'ai une basé très limité.

Je me demandais comment son codé les quêtes.

Par exemple la quête de l'hydra, est-elle 100% en LUA ou faut-il intégrer d'autres langages ?

Comme créer des zones qui font des dégâts sur les joueurs etc..

Merci d'avance

Lien à poster

2 réponses à cette question

Messages recommandés

  • 0
  • Modérateur

Bonsoir,

 

Pour faire simple, ça dépend. Pour faire long, lis ceci :

 

Le langage des quêtes est le LUA, tu l'as dit, il existe des fonctions de base qui sont soit en lua pur (dans le questlib si liées à Metin2 ou les fonctions lua habituelles).

Il existe également des fonctions que tu appelles et utilises en lua, qui ont du code c++ derrière.

En général : {module}.fonction(). Par exemple, pc.get_level(); npc.is_pc() etc. Ces dernières sont codées en C++ dans questlua_{module}. Exemple, questlua_pc.cpp.

Note : J'utilise le mot module et fonction pour faire "simple".

 

Lorsqu'une fonction de base ne suffit pas pour faire ce que tu veux, tu peux la rajouter toi-même. Par exemple, il n'existe pas de fonction "npc.is_stone()" pour dire que tu casses une metin. Deux choix, soit tu codes en C++ en utilisant toute la puissance des sources, soit tu fais du bricolage en lua, pour faire en sorte que la fonction te renvoie true si le vnum est celui d'une metin, que tu auras défini au préalable. On utilisait la seconde option avant l'arrivée des sources.

 

Pour l'Hydra, il y a des fonctions C++ qui sont incluses (et même des modifications des sources client), c'est une instance un peu particulière. Tu devras donc toucher au C++ pour l'Hydra. Cependant, tu as déjà beaucoup de fonctions à ta disposition pour faire des instances moins "avancées" que l'Hydra.

 

Si tu as besoin de précisions, n'hésite pas !

  • J'adore 1

Créateur et développeur de Gurgarath
N'hésitez pas à me contacter pour des informations ou des questions ! [Projet]Gurgarath - Le serveur innovant
Forum : Forum à jour

Lien à poster
  • 0
Il y a 2 heures, Gurgarath a dit :

Bonsoir,

 

Pour faire simple, ça dépend. Pour faire long, lis ceci :

 

Le langage des quêtes est le LUA, tu l'as dit, il existe des fonctions de base qui sont soit en lua pur (dans le questlib si liées à Metin2 ou les fonctions lua habituelles).

Il existe également des fonctions que tu appelles et utilises en lua, qui ont du code c++ derrière.

En général : {module}.fonction(). Par exemple, pc.get_level(); npc.is_pc() etc. Ces dernières sont codées en C++ dans questlua_{module}. Exemple, questlua_pc.cpp.

Note : J'utilise le mot module et fonction pour faire "simple".

 

Lorsqu'une fonction de base ne suffit pas pour faire ce que tu veux, tu peux la rajouter toi-même. Par exemple, il n'existe pas de fonction "npc.is_stone()" pour dire que tu casses une metin. Deux choix, soit tu codes en C++ en utilisant toute la puissance des sources, soit tu fais du bricolage en lua, pour faire en sorte que la fonction te renvoie true si le vnum est celui d'une metin, que tu auras défini au préalable. On utilisait la seconde option avant l'arrivée des sources.

 

Pour l'Hydra, il y a des fonctions C++ qui sont incluses (et même des modifications des sources client), c'est une instance un peu particulière. Tu devras donc toucher au C++ pour l'Hydra. Cependant, tu as déjà beaucoup de fonctions à ta disposition pour faire des instances moins "avancées" que l'Hydra.

 

Si tu as besoin de précisions, n'hésite pas !

Bonsoir,

merci à toi et au temps que tu as pris pour me donner réponse !

Lien à poster

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant


×
×
  • Créer...

Information importante

Conditions d’utilisation / Politique de confidentialité / Règles / Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer.