09.07.2016, 16:50
Buenas, queria pedirles ayuda para solucionar este problema que tengo, y es que me hice un pequeсo sistema de idiomas en mysql, que de hecho al principio era totalmente mysql (pedia directamente a la bd, cada vez que era llamada) y funcionaba bien, pero decidi cambiar por que me dijieron que podria volverse un problema al haber muchos usuarios, luego decidi solo pedirlo de un solo al iniciar la gm y que guardara las cadenas en variables.
Problema: la funcion GetMsgByLangKey deberia extraer de la variable la cadena(string), pero no lo hace bien devuelve un valor vacio.
Problema: la funcion GetMsgByLangKey deberia extraer de la variable la cadena(string), pero no lo hace bien devuelve un valor vacio.
PHP код:
DescargarInfo()
{
new conteo_datos = 0;
mysql_query(MySQL,"SELECT `idio_nombre`,`idio_key`,`idio_contenido` FROM "TABLA_IDIOMA"");
for(new i;i<cache_num_rows();i++)
{
cache_save_string(i,"idio_key",infIdioma[i][Key]);
cache_save_string(i,"idio_contenido",infIdioma[i][Cadena]);
cache_save_int(i,"idio_nombre",infIdioma[i][Lenguage]);
conteo_datos++;
TOT_CADS = conteo_datos;
}
printf("Informaciуn de idiomas descargada y almacenada.");
printf("R: %d Cadenas de Idioma.",conteo_datos);
printf("Se descargo la informacion desde la base de datos en %d ms.",GetTickCount()-debug_time);
return 1;
}
// esta es la funcion del problema.
stock GetMsgByLangKey(playerid, const langkey[])
{
new tempstr[256],
debug_time=GetTickCount();
for(new i;i<TOT_CADS;i++)
{
if(!strcmp(infIdioma[i][Key],langkey,true))
{
if(infIdioma[i][Lenguage] == infJugador[playerid][Idioma])
{
format(tempstr,sizeof(tempstr),"%s",infIdioma[i][Cadena]);
printf("%s",tempstr);
break;
}
}
}
printf("GetMsgByLangKey | Obtencion de cadena en %d ms.",GetTickCount()-debug_time);
return tempstr;
}