Jump to content
×
×
  • Create New...
  • 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

Link to comment

2 answers to this question

Recommended Posts

  • 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
Link to comment
  • 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 !

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now


Important Information

Terms of Use / Privacy Policy / Guidelines / We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.