GTAOnline.net

San Andreas Multiplayer (sa:mp) => Scripting SA-MP [Pawn center] => Showroom SA:MP => Discussion démarrée par: S!m le 08 Septembre 2008, 02:48:35

Titre: [INC] Système MultiLangue
Posté par: S!m le 08 Septembre 2008, 02:48:35
Salut à tous,

alors je suis ici afin de vous présenté ma première participation au showroom :P... mon nouveau, et premier...

Include de langues

Fonctionnalités:


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 rapidshare (http://rapidshare.com/files/143747492/langues.rar.html)
Langues.inc sur pastebin (http://pastebin.gtaonline.fr/pastebin.php?show=481)

V1.1 :
Langues.inc sur pastebin (http://pastebin.gtaonline.fr/pastebin.php?show=518)
Langues.rar sur Savefile (http://www.savefile.com/files/1877189)
(http://solidfiles.com/info_imgs/k.jpg) (http://solidfiles.com/d/k)

V1.2 (PLUS RÉCENTE) :
PASTEBIN (http://pastebin.gtaonline.fr/pastebin.php?show=537)
(http://solidfiles.com/info_imgs/C48.jpg) (http://solidfiles.com/d/C48)

V En/Fr/De :
PASTEBIN (http://pastebin.gtaonline.fr/pastebin.php?show=541)
(http://solidfiles.com/info_imgs/pDi7.jpg) (http://solidfiles.com/d/pDi7)

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:
enum langues
{
bool:isset,
bool:eng,
bool:fr,//ex: bool:esp pour espagnol
}
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++
Titre: Re : Include Français - Anglais
Posté par: R@f le 08 Septembre 2008, 16:46:10
Sympa comme include, bravo à toi :P

++
R@f
Titre: Re : Include Français - Anglais
Posté par: S!m le 10 Septembre 2008, 00:55:58
salut,

alors j'ai travaillé encore légèrement sur l'include et voici ce que j'ai changé :


Ces changements n'ont pas été testé, c'est pourquoi le update se fera légèrement attendre en plus que j'aimerais bien faire un vrai update, pas seulement ajouter 2 -3 trois fonctions.

merci à tous :D

++Sim++
Titre: Re : Include Français - Anglais
Posté par: [viruz]rider_77 le 10 Septembre 2008, 01:06:55
GG ;)
Titre: Re : Include Français - Anglais
Posté par: Bayshore le 12 Septembre 2008, 18:15:58
Lien pastebin stp. :happy
Titre: Re : Include Français - Anglais
Posté par: S!m le 08 Novembre 2008, 15:09:38
Salut à tous,

alors j'ai quelque peu retravaillé mon include (il en avait besoin), en lien avec les nouvelles choses que j'ai appris depuis ce temps,

j'ai dû annulé les SendFormattedMsg, trop complexe, et je ne veut pas scripter une fonction de 300 à 400 lignes juste pour cela, vous n,aurez qu'a faire des format dans votre script

- les fonctions sont en stock (donc si elles ne sont pas utilisées, elle ne seront pas compilées)

fonctions ajoutés:

et voilà en espérant que certains en soient fort aise...
premier post édité!

++Sim++
Titre: Re : Include Français - Anglais
Posté par: angelrider le 08 Novembre 2008, 15:29:49
Je trouve ça super SIM mais la seule chose qui me dérange c'est de refaire tout mon GM >< sinon pourquoi pas en refaire un avec ces includes j'y suis bien tenté.
Titre: Re : Include Français - Anglais
Posté par: S!m le 08 Novembre 2008, 20:51:32
Salut,

si tu veut, tu n,est pas forcé de refaire tout le gm, t'en fait un bout une fois de temps en temps, même s'il n,est pas entièrement traduit, c'est déjà un bon début..et puis avec la fonction remplacer, tu remplace les messages qui reviennent très souvent.... pour mon script de... 9 000 lignes ça a bien été, le truc le plus long c'est de composer les messages.....

EDIT: je vais regarder pour faire certains truc pour que les fonctions ressemblent plus aux SendClientMessage et donc soient plus facile à réécrire...
EDIT2: il y a une erreur dans le script que g posté...je fais un update, et finalement, je crois que les fonctions sont bien comme elles sont..

++Sim++
Titre: Re : Include Français - Anglais
Posté par: angelrider le 08 Novembre 2008, 21:12:10
Lol fégnant n'abandonne pas moi je trouvais que c'étais une bonne idée les includes en fr.
Titre: Re : Include Français - Anglais
Posté par: S!m le 08 Novembre 2008, 21:14:10
Salut,

dit moi ce que tu veut que je change/améliore et je le ferai... mais la je sais pas quoi changé, même chose sur mon serveur...

++Sim++
Titre: Re : Include Français - Anglais
Posté par: angelrider le 08 Novembre 2008, 21:44:56
Pour ton serveur ne t'inquiète pas j'y réfléchis ^^ tout en réfléchissant pour le mien.
Titre: Re : Include Français - Anglais
Posté par: iPod_Touch le 26 Novembre 2008, 16:19:41
C'est un superbe include qui va enormément servir ! Vraiment bravo, surtout pour permettre d'eviter d'envoyer 2 fois le même message, en Anglais et en Français ! Moi je dit vraiment chapeau !

Continue comme ça.

@++
Titre: Re : Include Français - Anglais
Posté par: S!m le 27 Novembre 2008, 01:44:35
C'est un superbe include qui va enormément servir ! Vraiment bravo, surtout pour permettre d'eviter d'envoyer 2 fois le même message, en Anglais et en Français ! Moi je dit vraiment chapeau !

Continue comme ça.

@++

Merci de ton support touch, n'oublie pas, si tu t'en sert et que tu trouve un bug ou a une suggestion, poste le ici s'il te plait :D

++Sim++
Titre: Re : Include Français - Anglais
Posté par: iPod_Touch le 27 Novembre 2008, 15:55:29
Je le testerais ce week end car la semaine je suis à l'internat  :happy
Titre: Re : Include Français - Anglais
Posté par: S!m le 20 Décembre 2008, 21:30:37
Salut à tous,

je viens vous annoncer un nouveau update (et oui, il y a encore des choses que l'on peut améliorer/ajouter, surement encore plein d'autres)

après une publication que je croyais inespérée, ICI (http://www.gtaonline.fr/forums/index.php/topic,6066.0.html), par mister-fred, j'ai vu l'opportunité d'ajouter enfin les messages formatés,

ALORS CETTE FOIS ILS Y SONT!!!!

Les nouvelles fonctions:


ainsi vous pourrez envoyer des GameText, ClientMessage avec des paramètres à ajouter au texte...en français et en anglais de plus, mais les paramètres doivent être dans le même ordre, portez-y une attention toute particulière,

je ne crois pas que vous risquez vraiment de crasher votre serveur, mais en cas d'ennui, ouvrez l'include et à la ligne :
#define FORMAT_LEN 256 augmenter la valeur

pour l'instant, le format ne prend pas les longueurs des float (ex: %.3f) mais je vais voir afin de l'ajouter...

EDIT:

les longueurs des float ont été ajoutés, et pour cette nouvelle version, j'ajoute un script d'exemple dans le .rar
je vous souhaite à tous une bonne journée

++Sim++
Titre: Re : Include Français - Anglais
Posté par: MrFredo le 20 Décembre 2008, 22:19:47
Content que mon petit script ai pu t'aider a ameliorer ton include :)
Titre: Re : Re : Include Français - Anglais
Posté par: S!m le 20 Décembre 2008, 22:23:21
Content que mon petit script ai pu t'aider a ameliorer ton include :)

Dommage que la seule chose que je puisse faire soit de te remercier.... sinon j'ai ajouter pour qu'il prenne les %.3f, %.2f si ça t'intéresse, prend-le, y aurait toujours les %2d ou trucs du genre mais je voit moins l'intérêt..

EDIT: je les ajouter également en corrigeant les deux-trois erreurs que j'ai malheureusement écrites.... (mauvais string)

++Sim++
Titre: Re : [INC] Système Français - Anglais
Posté par: MrFredo le 20 Décembre 2008, 22:42:34
A oui pourquoi pas si tu mi autorise j'vais ajouter et en meme temps j'vais ajouter les GameText :)

Merci :)

Titre: Re : [INC] Système Français - Anglais
Posté par: S!m le 29 Décembre 2008, 21:56:00
salut,

je viens signaler qu'une nouvelle version est disponnible,

seul ajout: une troisième langue: l'allemand

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 ^^)

++Sim++
Titre: Re : [INC] Système Français - Anglais
Posté par: iPod_Touch le 29 Décembre 2008, 22:04:04
A vrai dire, tu as choisi l'allemand mais il est possible de mettre de l'espagnol ou une autre langue simplement en changeant la commande /lang espagnol et en ne mettant pas les phrases en allemand mais en espagnol, enfin c'est une idée. Je pensais aussi qu'il serait plus pratique (c'est une idée) de faire un menu dès la connexion du joueur car s'il ne sélectionne pas de langue dès le démarrage, il ne verra pas certains texte. C'est une idée (que j'ai concrétisée sur mon serveur).

Sur ce, bonsoir
Titre: Re : [INC] Système Français - Anglais
Posté par: jonjon le 29 Décembre 2008, 22:53:08
Citer
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 ^^)

C'est moi qui te remercie ;).

Cordialement, J0n.
Titre: Re : [INC] Système Français - Anglais
Posté par: MrFredo le 29 Décembre 2008, 23:00:49
Je pense que tu pourait renomer ton include en "Include multi lang"  je pense que se nom lui conviendrai mieux ^^

++
Fred
Titre: Re : [INC] Système Français - Anglais
Posté par: S!m le 30 Décembre 2008, 02:59:23
salut,

a vrai dire, je suis presque d'accord avec toi mister-fred,

l'ennui c,est qu'il faut apporter des modification pour.....

et effectivement, on peut y mettre la langue que l'on désire, je vais lister les manipulations nécessaires sur le premier post...

++Sim++
Titre: Re : [INC] Système MultiLangue
Posté par: iPod_Touch le 30 Décembre 2008, 10:24:04
Ah je vois que tu as fait un système pour mettre par exemple Francais et anglais ou Anglais espagnol ... mais, tu devrais essayer de faire un système ou l'on peut choisir entre plusieurs langue genre au lieu de n'avoir que Anglais francais, de pouvoir mettre (par exemple) Anglais, Francais, Espagnol, Allemand dans la même Phrase avec le meme principe.
Titre: Re : [INC] Système MultiLangue
Posté par: S!m le 30 Décembre 2008, 15:33:32
Salut,

ce serait vraiment bien,  mais là on parle d'un système vraiment complexe avec un nombre de paramètre variable... c possible, mais plus difficile, il faudrait j'ajoute des paramètres prédéfinis...

genre on met un string vide pour une langue inutilisée...

++Sim++
Titre: Re : [INC] Système MultiLangue
Posté par: iPod_Touch le 05 Janvier 2009, 12:30:29
J'ai confiance en toi, tu peux y arriver  :D