format(query,sizeof(query),"SELECT * FROM `Building`"); samp_mysql_query(query); samp_mysql_store_result(); while(samp_mysql_fetch_row(string)) { printf("%s",string); if(sscanf(string, "p|issfffiiiffffifii", Building[i][Num], Building[i][Name], Building[i][BuildingName], Building[i][EnterX], Building[i][EnterY], Building[i][EnterZ], Building[i][EntranceFee], Building[i][EnterWorld], Building[i][EnterInterior], Building[i][EnterAngle], Building[i][ExitX], Building[i][ExitY], Building[i][ExitZ], Building[i][ExitInterior], Building[i][ExitAngle], Building[i][Locked], Building[i][PickupID])) print("/ Error / LoadBuildings"); printf("%i%s%s%f%f%f%i%i%i%f%f%f%f%i%f%i%i",Building[i][Num],Building[i][Name],Building[i][BuildingName],Building[i][EnterX],Building[i][EnterY],Building[i][EnterZ],Building[i][EntranceFee],Building[i][EnterWorld],Building[i][EnterInterior],Building[i][EnterAngle],Building[i][ExitX],Building[i][ExitY],Building[i][ExitZ],Building[i][ExitInterior],Building[i][ExitAngle],Building[i][Locked],Building[i][PickupID]); Building[i][PickupID] = CreateStreamPickup(1239, 1, Building[i][EnterX], Building[i][EnterY], Building[i][EnterZ],PICKUP_RANGE); //Storing the PickupID in the PickupID variable. printf("[Building System:] Building Name: %s - Loaded. (%d)",Building[i][Name],i); i++; }
//What is this?
if(sscanf(string, "p|issfffiiiffffifii",
if(sscanf(string, "p|%i%s%s%f%f%f%i%i%i%i%f%f%f%f%i%f%i%i",
Originally Posted by Vince
No, it doesn't matter if you use i or %i in sscanf (same with SetTimerEx). The only thing I don't understand is what that p| is doing there.
|
Originally Posted by Vince
No, it doesn't matter if you use i or %i in sscanf (same with SetTimerEx). The only thing I don't understand is what that p| is doing there.
|
if(sscanf(string, "p|issfffiiiffffifii",
Originally Posted by mprofitt
I can not seem to get sscanf to split a string with floats. I works fine with the integers and strings. Once I hit a float, I get all zeros...
Код:
format(query,sizeof(query),"SELECT * FROM `Building`"); samp_mysql_query(query); samp_mysql_store_result(); while(samp_mysql_fetch_row(string)) { printf("%s",string); if(sscanf(string, "p|issfffiiiffffifii", Building[i][Num], Building[i][Name], Building[i][BuildingName], Building[i][EnterX], Building[i][EnterY], Building[i][EnterZ], Building[i][EntranceFee], Building[i][EnterWorld], Building[i][EnterInterior], Building[i][EnterAngle], Building[i][ExitX], Building[i][ExitY], Building[i][ExitZ], Building[i][ExitInterior], Building[i][ExitAngle], Building[i][Locked], Building[i][PickupID])) print("/ Error / LoadBuildings"); printf("%i%s%s%f%f%f%i%i%i%f%f%f%f%i%f%i%i",Building[i][Num],Building[i][Name],Building[i][BuildingName],Building[i][EnterX],Building[i][EnterY],Building[i][EnterZ],Building[i][EntranceFee],Building[i][EnterWorld],Building[i][EnterInterior],Building[i][EnterAngle],Building[i][ExitX],Building[i][ExitY],Building[i][ExitZ],Building[i][ExitInterior],Building[i][ExitAngle],Building[i][Locked],Building[i][PickupID]); Building[i][PickupID] = CreateStreamPickup(1239, 1, Building[i][EnterX], Building[i][EnterY], Building[i][EnterZ],PICKUP_RANGE); //Storing the PickupID in the PickupID variable. printf("[Building System:] Building Name: %s - Loaded. (%d)",Building[i][Name],i); i++; } |
{ new string[128] = "test1|~w~te~n~st2|-1234.123456789|1234.123456789|44|55"; new s1[10],s2[10],Float:f1,Float:f2,i1,i2; print("OnGameModeInit\n"); sscanf(string, "p|ssffii", s1, s2, f1, f2, i1, i2); printf("s1=%s, s2=%s, f1=%f, f2=%f, i1=%i, i2=%i",s1,s2,f1,f2,i1,i2); return 1; }
{ new string[128] = "test1|test2|-1234.123456789|1234.123456789|44|55"; new s1[10],s2[10],Float:f1,Float:f2,i1,i2; print("OnGameModeInit\n"); sscanf(string, "p|ssffii", s1, s2, f1, f2, i1, i2); printf("s1=%s, s2=%s, f1=%f, f2=%f, i1=%i, i2=%i",s1,s2,f1,f2,i1,i2); return 1; }
case 'f':{
new
changestr[16],
changepos = 0,
strpos = stringPos; while(changepos < 16 && string[strpos] && string[strpos] != delim){
changestr[changepos++] = string[strpos++];
}
changestr[changepos] = '\0';
setarg(paramPos,0,_:floatstr(changestr));
}
Originally Posted by yezizhu
pawn Код:
Some strange problems in "case 'f':", it doesn't format string to float normally sometime. |