GTA Közösség - A magyar GTA fórum

San Andreas Multiplayer (SA-MP) => SA-MP: Szerverfejlesztés => Segítségkérés => A témát indította: mauladam - 2012. Február 07. - 18:41:39

Cím: Adattípusnak megfelelõ érték..
Írta: mauladam - 2012. Február 07. - 18:41:39
Sziasztok!
Van egy mysql függvényem GetData(playerid, tabla[], mezo[]):
 
stock GetData(playerid, tabla[], mezo[])
{
new fformat[256];
format(query, 500, \"SELECT %s FROM `%s` WHERE nev = \'%s\'\", mezo, tabla, PlayerName(playerid));
mysql_query(query);
mysql_store_result();
mysql_fetch_row(sor);
if(mysql_num_rows() == 1){
mysql_free_result();
if(!sscanf(sor, \"s[256]\", sztring)) return sztring;
if(!sscanf(sor, \"d\", integer)) { format(fformat, 256, \"%d\", integer); }
if(!sscanf(sor, \"f\", ffloat)) {  format(fformat, 256, \"%f\", ffloat); }
if(!sscanf(sor, \"l\", boolean)) { format(fformat, 256, \"%s\", boolean); }
return fformat;
}
return fformat;
}

 
Ezt csak így tudtam megoldani...
Az a gond vele, hogy így mindenképpen sztringet kapok vissza, ami nem túl elõnyös, ha mondjuk SetPlayerPos függvényt szeretnék használni, mivel annak a paraméterei, a playerid, és a koordináták.
Az a kérdésem, hogy tudnám megoldani, hogy mindíg adattipusnak megfelelõ értékeket kapjak?
Cím: Adattípusnak megfelelõ érték..
Írta: DrAkE - 2012. Február 07. - 19:46:20
Idézetet írta: mauladam date=1328636499\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"16721\" data-ipsquote-contentclass=\"forums_Topic
Sziasztok!
Van egy mysql függvényem GetData(playerid, tabla[], mezo[]):
 
stock GetData(playerid, tabla[], mezo[])
{
new fformat[256];
format(query, 500, \"SELECT %s FROM `%s` WHERE nev = \'%s\'\", mezo, tabla, PlayerName(playerid));
mysql_query(query);
mysql_store_result();
mysql_fetch_row(sor);
if(mysql_num_rows() == 1){
mysql_free_result();
if(!sscanf(sor, \"s[256]\", sztring)) return sztring;
if(!sscanf(sor, \"d\", integer)) { format(fformat, 256, \"%d\", integer); }
if(!sscanf(sor, \"f\", ffloat)) {  format(fformat, 256, \"%f\", ffloat); }
if(!sscanf(sor, \"l\", boolean)) { format(fformat, 256, \"%s\", boolean); }
return fformat;
}
return fformat;
}

 
Ezt csak így tudtam megoldani...
Az a gond vele, hogy így mindenképpen sztringet kapok vissza, ami nem túl elõnyös, ha mondjuk SetPlayerPos függvényt szeretnék használni, mivel annak a paraméterei, a playerid, és a koordináták.
Az a kérdésem, hogy tudnám megoldani, hogy mindíg adattipusnak megfelelõ értékeket kapjak?
 
Új argumentum:
tipus
Aztán:
 

switch(tipus)
{
case \'f\': //asdasdasd
case \'s\': //asdasdasd
case \'b\': //asdasdasd
case \'d\': //asdasdasd
}
Cím: Adattípusnak megfelelõ érték..
Írta: mauladam - 2012. Február 07. - 22:58:17
Köszi a segítséget, ez nem is jutott eszembe, megpróbálom így, aztán zárok.