Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- <======================================================================>
- Base para sistema de idiomas By BadyX
- Explicación:
- Una vez definido el idioma que en este caso sería:
- 1 - Ingles.
- 2 - Español.
- Usaríamos la función IncluirTextoTraducido de la siguiente forma:
- IncluirTextoTraducido(Jugador, Opcion);
- IncluirTextoTraducido <====> Sería el nombre de la función
- Jugador <====> La ID del jugador
- Opcion <====> Aquí vendría lo simple.
- Para no complicar demasiado vamos a seguir el siguiente patrón.
- Supongamos que queremos usar el siguiente texto:
- Soy un mensaje de prueba
- La forma correcta de llamarlo sería:
- IncluirTextoTraducido(playerid, 0); // El 0 sería la ID de la opción.
- Ahora si por ejemplo pusieramos:
- IncluirTextoTraducido(playerid, 1);
- Nos enviaría a la funcion de IncluirTextoTraducido pero con la opción 1 y daría el texto:
- Soy un mensaje de prueba x2
- Si añadieramos un 2 en la opción daría el siguiente mensaje.
- Soy un mensaje de prueba x3
- <======================================================================>
- */
- #include <a_samp>
- #include <zcmd>
- #define DIALOG_LENGUAGE 3000
- enum pInfo
- {
- pIdioma
- };
- new PlayerInfo[MAX_PLAYERS][pInfo]; //Con esto se guardaría el idioma seleccionado. Lógicamente tendrás que guardar/cargar la variable en la cuenta del usuario.
- CMD:comando(playerid, params[])
- {
- ShowPlayerDialog(playerid, DIALOG_LENGUAGE, DIALOG_STYLE_MSGBOX, "{0092FF}Welcome","\n{FFFFFF}\tPlease, choose a language you would like to display.\n\n\tPor favor, elija el idioma que desea mostrar.","{FFFFFF}English","{FFFFFF}Español");
- return 1;
- }
- CMD:prueba(playerid, params[])
- {
- IncluirTextoTraducido(playerid, 0);
- return 1;
- }
- CMD:prueba1(playerid, params[])
- {
- IncluirTextoTraducido(playerid, 1);
- return 1;
- }
- CMD:prueba2(playerid, params[])
- {
- IncluirTextoTraducido(playerid, 2);
- return 1;
- }
- public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
- {
- switch(dialogid)
- {
- case DIALOG_LENGUAGE:
- {
- if(!response) return SendClientMessage(playerid, 1, "{33CCFF}[Info]{FFFFFF} Cerraste el menú -- Closed the menu.");
- switch(listitem)
- {
- case 0:
- {
- SendClientMessage(playerid, 1, "You selected how the main language is English.");
- PlayerInfo[playerid][pIdioma] = 1;
- }
- case 1:
- {
- SendClientMessage(playerid, 1, "Seleccionaste cómo idioma principal el español.");
- PlayerInfo[playerid][pIdioma] = 1;
- }
- }
- }
- }
- return 1;
- }
- forward IncluirTextoTraducido(Jugador, Opcion);
- public IncluirTextoTraducido(Jugador, Opcion)
- {
- switch(Opcion)
- {
- case 0:
- {
- switch(PlayerInfo[Jugador][pIdioma])
- {
- case 1: SendClientMessage(Jugador, 1, "I am a test message.");
- case 2: SendClientMessage(Jugador, 1, "Soy un mensaje de prueba.");
- }
- }
- case 1:
- {
- switch(PlayerInfo[Jugador][pIdioma])
- {
- case 1: SendClientMessage(Jugador, 1, "I am a test message x2.");
- case 2: SendClientMessage(Jugador, 1, "Soy un mensaje de prueba x2.");
- }
- }
- case 2:
- {
- switch(PlayerInfo[Jugador][pIdioma])
- {
- case 1: SendClientMessage(Jugador, 1, "I am a test message x3.");
- case 2: SendClientMessage(Jugador, 1, "Soy un mensaje de prueba x3.");
- }
- }
- default:
- {
- switch(PlayerInfo[Jugador][pIdioma])
- {
- case 1: SendClientMessage(Jugador, 1, "Unknown option.");
- case 2: SendClientMessage(Jugador, 1, "Opción desconocida.");
- }
- }
- //Etc etc etc.
- }
- return 1;
- }
- //============================================================================//
- // //
- // SI TE SIRVIÓ RESPETA EL TRABAJO DEL CREADOR //
- // //
- // Sistema creado por Badyx //
- // //
- //============================================================================//
Advertisement
Add Comment
Please, Sign In to add comment