PvP Server Kiralama & Oyun Sunucuları
0 Giriş Yap Kayıt Ol

Comment résoudre les erreurs de la quête Metin2 ? Guide de rechargement et de construction de quêtes

Yazdır

Comment résoudre les erreurs de la quête Metin2 ?

Guide pour le rechargement des quêtes, l'absence de réponse des PNJ, les erreurs de fonction et les problèmes de compilation des quêtes.

Quêtes, conversations de PNJ, systèmes d'événements, biologiste, téléportation, marché, suivi des boss, récompenses quotidiennes et de nombreux systèmes spéciaux sur les serveurs Metin2. quête Cela fonctionne à travers des fichiers. Par conséquent, même une petite erreur commise du côté de la quête peut empêcher le PNJ de réagir, l'événement ne démarre pas ou le fichier syserr du canal produit constamment des erreurs.

Le plus gros problème avec les erreurs de quête est que l'erreur semble souvent générale, comme « Le PNJ ne fonctionne pas ». Mais la vraie raison peut être un mauvais vnum, une fonction manquante, une syntaxe cassée, une structure d'état défectueuse ou la quête n'est pas du tout compilée.

Explication simple : Le fichier de quête est le fichier d'instructions qui indique au PNJ quoi faire. Si l'instruction est fausse, le PNJ ne peut pas répondre correctement.

1. Où trouver les fichiers de quête ?

Le chemin des fichiers Quest peut varier en fonction de l'infrastructure du serveur. Les répertoires couramment utilisés sont :

/usr/game/share/locale/turkey/quest/
/home/game/share/locale/turkey/quest/
/usr/metin2/share/locale/turkey/quest/

Les fichiers de quête sont généralement .quête avec rallonge. Fichiers créés après compilation objet Il est conservé sous le dossier.

2. Vérifiez d'abord pour comprendre l'erreur de quête

Si une quête ne fonctionne pas, le fichier syserr du canal concerné doit d'abord être vérifié.

cd /usr/game/channel1/core1
tail -n 100 syserr

Pour regarder en direct les erreurs qui se produisent après le rechargement de la quête :

tail -f syserr

Exemples d'erreurs de quête courantes :

no such quest function
attempt to call field
syntax error
unexpected symbol
quest not found
when condition error

3. Comment compiler une quête ?

Lorsque vous ajoutez un nouveau fichier de quête, il ne suffit pas de simplement jeter le fichier dans le dossier. La quête doit être compilée.

Entrez d'abord dans le répertoire des quêtes :

cd /usr/game/share/locale/turkey/quest

Exemple de compilation d'une seule quête :

./qc quest_adi.quest

Le chemin qc peut être différent sur certains systèmes :

/usr/game/share/locale/turkey/quest/qc quest_adi.quest

Le nom du script utilisé pour compiler toutes les quêtes varie en fonction de l'infrastructure. Exemple :

sh make.sh
Important : Compiler toutes les quêtes inutilement sur de gros serveurs peut être risqué. Il est plus contrôlé de compiler uniquement le fichier de quête édité.

4. Comment recharger la quête ?

Une fois la quête compilée, elle peut être rechargée dans le jeu avec un personnage GM.

/reload q

Dans certains cas, le simple rechargement ne suffit pas. Surtout si la structure de l'état, le drapeau de la quête ou les conditions de départ ont changé, il peut être nécessaire de ressaisir le personnage ou de redémarrer la chaîne.

L'ordre général doit être le suivant :

  • Modifier le fichier de quête
  • Vérifier la syntaxe
  • Compiler le fichier Quest avec QC
  • Exécuter/recharger q dans le jeu
  • Découvrez Syserr
  • Tester le comportement d'un PNJ ou d'un événement

5. Problème de quête de PNJ qui ne fonctionne pas

Si rien ne se passe lorsque vous cliquez sur le PNJ, les points suivants sont à vérifier :

  • Le numéro virtuel du PNJ utilisé dans la quête est-il correct ?
  • Les PNJ apparaissent-ils vraiment sur la carte côté serveur ?
  • La quête est-elle compilée ?
  • Syserr s'est-il produit après /reload q ?
  • Le début de l'état de la quête est-il correct ?
  • Le code cesse-t-il de s'exécuter en raison d'une mauvaise condition dans Quest ?

Exemple de structure de déclencheur de PNJ :

quest ornek_npc begin
  state start begin
    when 20011.chat."Ornek Menu" begin
      say_title("Ornek NPC")
      say("Bu bir test mesajidir.")
    end
  end
end

ici 20011 Valeur du numéro virtuel du PNJ. Si le numéro virtuel du PNJ est incorrect, la quête ne fonctionnera pas.

6. aucune erreur de fonction de quête

dans Syserr pas de fonction de quête Si cela est vu, la fonction utilisée dans la quête n'est pas définie sur le serveur.

Raisons :

  • La quête est extraite d'une autre infrastructure.
  • La fonction de quête correspondante n'est pas ajoutée du côté Source.
  • La fonction d'assistance qui devrait être dans questlib.lua est manquante.
  • Le nom de la fonction est mal orthographié.

Dans ce cas, la solution est de vérifier si la fonction existe réellement sur le serveur. Les quêtes extraites d'autres fichiers ne doivent pas être considérées comme directement compatibles.

7. Erreurs de syntaxe de quête

Les fautes de frappe les plus courantes dans les fichiers Quest sont :

  • fin sous-utilisation ou surutilisation
  • Ne pas fermer les guillemets
  • Mauvais lorsque la condition est écrite
  • Utilisation de caractères turcs ou mauvais encodage
  • Utiliser des fonctions extraites d'un autre système sans adaptation

Exemple de structure défectueuse :

say("Merhaba oyuncu)

Structure correcte :

say("Merhaba oyuncu")

8. Problèmes de drapeau de quête

Certaines quêtes gardent un drapeau sur le personnage ou le compte. La quête ne démarre pas ou peut sembler terminée en raison d'une valeur de drapeau incorrecte.

Par exemple, si une quête a déjà été terminée, le PNJ peut ne plus afficher le menu. Dans ce cas, le drapeau de quête concerné doit être coché.

Attention : La suppression groupée des indicateurs de quête sur le serveur en direct doit être effectuée avec soin. Une opération incorrecte peut corrompre les enregistrements de quêtes, d'événements ou de récompenses des joueurs.

Erreurs courantes

  • Oublier de mettre le fichier Quest dans un dossier et de le compiler
  • Faire /reload q même s'il y a une erreur de compilation
  • Mauvaise valeur du numéro virtuel du PNJ
  • Utiliser des quêtes extraites d'autres fichiers sans les adapter
  • Penser qu'un PNJ ne fonctionne pas sans vérifier le drapeau de quête
  • La quête semble correcte mais ne fonctionne pas car l'encodage est corrompu.

FAQ

J'ai fait /reload q mais la quête n'a pas fonctionné, pourquoi ?
La quête peut ne pas avoir été compilée du tout, elle peut avoir donné une erreur lors de la compilation, ou elle peut ne pas être visible dans le lecteur en raison de l'état/du drapeau.

Je clique sur le PNJ et le menu n'apparaît pas. Le problème vient-il du PNJ ?
Pas toujours. Même si le numéro virtuel du PNJ est correct, la quête peut ne pas être compilée, écrite de manière incorrecte ou exécutée en raison d'une condition.

Pourquoi la quête que j'ai reçue d'un autre serveur donne-t-elle une erreur ?
Car les fonctions utilisées, la structure questlib ou les supports des sources peuvent ne pas être disponibles dans votre infrastructure.

Recommandations en matière de sécurité et d'exploitation

  • Faites une sauvegarde du fichier avant de modifier Quest.
  • Implémentez des changements de quête majeurs sur le serveur en direct pendant les heures de faible nombre de joueurs.
  • Vérifiez syserr après chaque compilation de quête.
  • Faites attention aux caractères turcs et aux distorsions d’encodage.
  • Effectuez une sauvegarde avant de supprimer en masse les opérations d'indicateur de quête liées aux données des joueurs.

Cet article est spécialement préparé pour PvPServer.

Bu cevap yeterince yardımcı oldu mu?

Oyla

overlay spinner