Salut à tous,
alors je suis ici afin de vous présenté ma première participation au showroom :P... mon nouveau, et premier...
Include de languesFonctionnalités:- GetLang(playerid) : fonction qui permet de déterminer la langue d'un joueur
- SendRndMsg : un SendClientMessage avec un random sur les couleurs (pas besoin de se casser la tête à en mettre, surtout utile lorsque l'intérêt d'une couleur spécifique est restreins)
- SendMsg : un SendClientMessage où l'on choisi la couleur
- SendRedMsg : un SendClientMessage spécialement pour les messages d'erreur: rouge
- GameTextToPlayer : un GameTextForPlayer normal sauf pour les langues
- GameTextToAll : un GameTextForAll
- dcmd_lang : la commande que le joueur tape pour choisir sa langue
- ChoisiTaLangue : Fonction à placer dans la callback de votre choix ( je recommande OnPlayerConnect ou OnPlayerSpawn), elle envoie un message au joueur de choisir une langue s'il ne l'a pas fait
- SendMsgToAdmins(Couleur,MessageAnglais[],MessageFrançais[]); envoie le message de la langue correspondante à chaque admin logué en rcon
- SendMsgToAllExcept(playerid,Couleur,MessageAnglais[],MessageFrançais[]); envoie le message à tous les joueurs excepté un seul, le playerid
- GameTextToAllExcept(playerid,Couleur,MessageAnglais[],MessageFrançais[],time,type); envoie le GameText à tous les joueurs excepté un seul
- SendFormatMsg(playerid,Couleur,MessageAnglais[],MessageFrançais[], {Float,_}:...); envoie le message formaté à un seul joueur
- SendFormatMsgToAll(Couleur,MessageAnglais[],MessageFrançais[], {Float,_}:...); envoie le message formaté à tous les joueur
- FormatGameTextToPlayer(playerid,MessageAnglais[],MessageFrançais[],temp,style, {Float,_}:...); envoie le GameText formaté à un joueur
- FormatGameTextToAll(MessageAnglais[],MessageFrançais[],temp,style, {Float,_}:...); envoie le GameText formaté à tous les joueurs
P.S. Je tien à remercier
MISTER-FRED pour son format qui m'a permit d'ajouter les 4 dernières fonctions, MERCI BEAUCOUP
Comment s'en servir?C'est très simple, chacune de ces fonctions à deux paramètre de message, le premier est pour le message en anglais et le second pour celui en français,
Exemple:
SendRndMsg(playerid,/*pas de couleur*/"Welcome to the server *** and have fun","Bienvenu sur le serveur *** et amuse toi bien");
ce message remplacerait:
SendClientMessage(playerid,COLOR_YELLOW,"Bienvenu sur le serveur *** et amuse toi bien");
alors je crois cet exemple plus qu'explicite, par contre, si vous voulez plus d'exemple le fichier .rar contient un script d'exemple
Pour inclure cet include à votre script, tout comme n'importe quel autre, il vous faut placer "
#include langues" en haut de votre gamemode,
vous pouvez également enlever
a_samp, il est chargé dans l'include
et finalement je voudrais ajouter de ne pas oublier le
dcmd(lang,4,cmdtext); dans
OnPlayerCommandeText et de placer
ChoisiTaLangue(playerid) dans une callback
Téléchargement:V 1.0 : Langues.rar sur rapidshareLangues.inc sur pastebinV1.1 :Langues.inc sur pastebinLangues.rar sur Savefile
V1.2 (PLUS RÉCENTE) :PASTEBIN
V En/Fr/De :PASTEBIN
Si vous trouvé des bugs où fonction manquante, s'il vous plait, signalé le sur ce topic!
Points importants :Vous devez ABSOLUMENT placé les éléments suivants pour le bon fonctionnement de l'include:
- GetPlayerCount() Dans OnGameModeInit, cette fonction retourne le nombre maximum de joueurs que votre serveur peut acceuillir, il s'agit d'une façon simple d'optimiser légèrement les for lopp utilisées dans
lescript, par contre, si vous oubliez de le placer, les fonctions qui envoi des messages à tous ne fonctionneront plus...
- ChoisiTaLangue(playerid) dans la calback OnPlayerSpawn afin d'informer vos joueurs de faire un choix de langue, aucun message s'ils ont déjà choisi
- dcmd_lang(playerid,4,cmdtext); dans la callback OnPlayerCommandText
De plus, il est grandement recommandé d'ouvrir l'include et de mettre le nombre de joueur maximum que votre serveur peut accueillir à la ligne 46 à la suite du
#define maxp ...., remplacez le 200 par la valeur que vous avez besoin, ainsi les variables pourront être réduites en taille
Une nouvelle version vien tout juste de sortir, elle contient certaines amélioration (niveau variables) mais très peu, son avantage est le suivant: trois langues au lieu de seulement 2.
Je tien a remercier jonjon (aussi connu sous le nom de metrakit) pour l'idée et l'aide qu'il m'a apporter (à vrai dire il avait commencé et je ne l'ai aidé que très peu ^^). Les langues par défauts sont: francais, anglais et allemand
Avis aux connaisseurs :ceux qui serait intéressé, pourriez vous s'il -vous-plait regarder le code et m'expliquer ce qui pourrait être améliorer, je ne suis toujours pas un expert en PAWN après tout.... :closedeyes
Have fun :cheers
Modifier une langue :Afin de remplacer une langue existante sur l'include par une autre, il faut effectuer les étapes suivantes:
- 1. remplacer le #define en haut du script (ligne 60 environ) par la langue désirée
- 2 remplacer la langue désirée dans le enum suivant (ligne 120):
enum langues
{
bool:isset,
bool:eng,
bool:fr,//ex: bool:esp pour espagnol
}
- 3. modifié la valeur modifié dans l'énumération à la même expression dans la fonction GetLang
- 4. si désiré, changer les native afin de voir la bonne langue dans la liste des fonctions dans pawno comme ceci:
native SendMsgToAll(color,msgENG[],msgFR[]);
DEVIENT:
native SendMsgToAll(color,msgENG[],msgESP[]);//pour l'espagnol
merci de postez vos commentaire et de respecter les crédits (pour mister-fred, Jonjon et moi (désolé jonjon, j'ai oublié de l'écrire dans le fichier :'( :'( :closedeyes)
++Sim++