Salut,
Pour commencer, merci de faire attention à la date du dernier message avant de poster. Dans ton cas ce n'est pas très grave, puisque tu apportes quelques informations intéressantes, mais tu pourrais tomber sur un méchant modo la prochaine fois.

En ce qui concerne le format de fichier à utiliser pour la bibliothèque, ça importe peu. Ça pourrait très bien être un
.txt et tu pourrais même inventer ton propre format (
.gzsume par exemple). Le principe de la directive
#include est très simple : ça copie le contenu du fichier passé en argument, et ça le colle à la place de la directive. Le format importe donc peu, pour peu que ce soit du code source non-compilé.
Quant aux
native(s), ce n'est pas obligatoire. Comme je l'ai dit, la directive se contente de faire un copier-coller. Comme tu crées des fonctions de type
stock, elles seront intégrées à ton
gamemode (ou à tout autre fichier source, d'ailleurs) et seront disponibles. Par contre, les
native(s) deviennent utiles si tu souhaites afficher les fonctions dans la partie droite de Pawno. Comme j'ai désactivé ce panneau, ça m'importe peu, personnellement.
Une chose à faire lorsqu'on crée ses propres bibliothèques, c'est de prendre en compte le risque d'inclusions infinies. Pour faire simple, ça consiste à empêcher qu'un fichier source soit inclus dans un autre de manière infinie (imaginons que tu inclus une bibliothèque dans une autre, elle-même inclue dans ton fichier source principal : la première bibliothèque sera inclue deux fois). C'est très simple si tu suis ce principe pour tous tes fichiers de bibliothèques :
#ifndef DEF_NOM_DE_L_INCLUDE
#define DEF_NOM_DE_L_INCLUDE
/* Contenu de l'include */
#endif
Plus d'informations iciBonne soirée !
Edit : Il semblerait que
#ifndef ne fonctionne pas en Pawn. J'utilise ça par habitude avec le langage C. Il faudrait aller faire un tour sur la doc officielle du langage pour plus d'informations... si ça t'intéresse.