DUDA - Idiomas -
rubensm - 09.02.2011
Buenas, cree los idiomas, pero ahora tengo un problemilla leve, cuando una persona sabe y la otra no, puede leer lo que dicen, pero no hablarlo.
Les dejo el pawno a ver si saben porque podria ser...
pawn Код:
if(strcmp(cmd, "/jap", true) == 0 || strcmp(cmd, "/japones", true) == 0)
{
if(IsPlayerConnected(playerid))
{
if(JugadorInfo[playerid][jIdiJap] == 1)
{
new length = strlen(cmdtext);
while ((idx < length) && (cmdtext[idx] <= ' '))
{
idx++;
}
new offset = idx;
new result[64];
while ((idx < length) && ((idx - offset) < (sizeof(result) - 1)))
{
result[idx - offset] = cmdtext[idx];
idx++;
}
result[idx - offset] = EOS;
if(!strlen(result))
{
SendClientMessage(playerid, GRIS, "Uso: (/jap)ones [Texto]");
return 1;
}
new Float:x, Float:y, Float:z;
GetPlayerPos(playerid,x,y,z);
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(IsPlayerConnected(i))
{
if(JugadorEnArea(20, i, x, y, z))
{
if(JugadorInfo[playerid][jIdiJap] == 1)
{
format(string, sizeof(string), "%s Dice: [Japonйs] %s.", NombreJugador(playerid), result);
SendClientMessage(i, COLOR_FADE2, string);
}
else
{
format(string, sizeof(string), "%s Dice: [Lenguaje Desconocido]", NombreJugador(playerid));
SendClientMessage(i, COLOR_FADE2, string);
}
}
}
}
printf("%s Dice: [Japonйs] %s", NombreJugador(playerid), result);
}
else
{
SendClientMessage(playerid, ROJO_OSCURO, " No sabйs hablar Japonйs!");
return 1;
}
}
return 1;
}
Edit: Quiero que solo sepan lo que dicen, si saben italiano
Respuesta: DUDA - Idiomas -
SuperMarioRol - 10.02.2011
Tiene que ver con esto
pawn Код:
if(JugadorInfo[playerid][jIdiJap] == 1)
{
1- їJaponйs o italiano?
2- їTienes bien creada la variable jIdiJap?
3- їEl usuario que habla tiene nivel 1 en esa variable? Si tuviera mas ya no funcionarнa, fijate que pusiste == 1 y no >= que significarнa mayor o igual.
Creo que el problema lo tienes en la variable esa que te dije.
Re: DUDA - Idiomas -
rubensm - 10.02.2011
es que por defecto, la tienen en ==0 entonces, con 1 seria, que lo saben... es que no se, es un coсazo xD
Respuesta: DUDA - Idiomas -
SuperMarioRol - 10.02.2011
Los usuarios que lo prueban, їLa tienen en 1?
Si puedes, pasa un comando de cuando aprenden el idioma
Releyendo el post inicial...
їDices que los que SI saben no pueden hablar y los que NO saben no pueden leerlo?
Re: DUDA - Idiomas -
rubensm - 10.02.2011
No, a ver me explico mejor... xD
Yo por ejemplo, que se Espaсol o cualquier idioma, puedo hablarlo y leerlo.
Tu (Ejemplo), no sabes ningun idioma, lo puedes leer, pero no los puedes hablar...
Conclusion: Que todo el mundo lo puede leer, y quiero que solo puedan los que realmente saben el idioma, y aqui te paso el comando...
pawn Код:
if(strcmp(x_nr,"espaсol",true) == 0)
{
tmp = strtok(cmdtext, idx);
if(!strlen(tmp))
{
SendClientMessage(playerid, GRIS, "USA: /daridioma espaсol [id]");
return 1;
}
giveplayerid = ReturnUser(tmp);
if(IsPlayerConnected(giveplayerid))
{
if(giveplayerid != INVALID_PLAYER_ID)
{
GetPlayerName(playerid, sendername, sizeof(sendername));
GetPlayerName(giveplayerid, giveplayer, sizeof(giveplayer));
format(string, sizeof(string), "* Has enseсado espaсol a %s.",giveplayer);
SendClientMessage(playerid, CELESTE, string);
format(string, sizeof(string), "* El profesor %s te ha enseсado espaсol.",sendername);
SendClientMessage(giveplayerid, CELESTE, string);
JugadorInfo[giveplayerid][jIdiEsp] = 1;
return 1;
}
}
else
{
SendClientMessage(playerid, ROJO_OSCURO, " El jugador no estб disponible !");
return 1;
}
}