new temp[MAX_PLAYER_NAME+2];
cache_get_row(0, 1, temp); format(VehicleInfo[vehicleID][vOwner],sizeof(temp),temp);
Im using a loop to load every vehicle, by calling the function in the loop
Anyways, ive tried to make the variable larger, didnt work. Tried to make it to 24, 25, 26 and 50; neither one of those worked |
new TotalThings;
mysql_function_query(g_Handle, "SELECT * FROM table", true, "Loadthings","");
forward Loadthings();
public Loadthings() {
new rows,fields,temp[64];
cache_get_data(rows,fields);
while(TotalThings < rows) {
cache_get_row(TotalThings, 0, temp), eNum[TotalThings][eID] = strval(temp);
cache_get_row(TotalThings, 1, temp), format(eNum[TotalThings][eName],sizeof(temp),temp);
TotalThings++;
}
}
new fetch[24 + 2];
cache_get_field_content( 0, "username", fetch, g_Handle, sizeof fetch );
cache_get_row(0 , 1, fetch, g_Handle );
strcat( VehicleInfo[vehicleID][vOwner], fetch ); // VehicleInfo[vehicleID][Owner] is empty by default, so no need for strdel in this case
stock VehicleLoadAll()
{
for( new i = 1; i < MAX_PERS_VEHICLES; i ++ )
{
VehicleLoad( i );
}
}
stock VehicleLoad( vehicleID )
{
new query[128];
format( query, sizeof query, "SELECT * FROM vehicles WHERE carid = %i", vehicleID );
mysql_function_query( g_Handle, query, true, "OnVehicleLoad", "i", vehicleID );
return 1;
}
forward OnVehicleLoad( vehicleID );
public OnVehicleLoad( vehicleID )
{
new row, num;
cache_get_data( row, num, g_Handle );
if( row )
{
new fetch[24 + 2];
cache_get_field_content( 0, "username", fetch, g_Handle, sizeof fetch );
VehicleInfo[vehicleID][vModel] = cache_get_row_int( 0, 2, g_Handle );
VehicleInfo[vehicleID][vLoc][0] = cache_get_row_float( 0, 3, g_Handle );
VehicleInfo[vehicleID][vLoc][1] = cache_get_row_float( 0, 4, g_Handle );
VehicleInfo[vehicleID][vLoc][2] = cache_get_row_float( 0, 5, g_Handle );
VehicleInfo[vehicleID][vLoc][3] = cache_get_row_float( 0, 6, g_Handle );
VehicleInfo[vehicleID][vColor1] = cache_get_row_int( 0, 7, g_Handle );
VehicleInfo[vehicleID][vColor2] = cache_get_row_int( 0, 8, g_Handle );
strcat( VehicleInfo[vehicleID][vOwner], fetch );
VehicleInfo[vehicleID][vLocked] = cache_get_row_int( 0, 9, g_Handle );
VehicleInfo[vehicleID][vID] = CreatePersVehicle( VehicleInfo[vehicleID][vModel],
VehicleInfo[vehicleID][vLoc][0], VehicleInfo[vehicleID][vLoc][1], VehicleInfo[vehicleID][vLoc][2], VehicleInfo[vehicleID][vLoc][3],
VehicleInfo[vehicleID][vColor1], VehicleInfo[vehicleID][vColor2], VehicleInfo[vehicleID][vOwner], VehicleInfo[vehicleID][vLocked], false );
printf( "Vehicle from %s has been loaded. (ID: %i)", VehicleInfo[vehicleID][vOwner], vehicleID );
}
return 1;
}
strcat( query, "CREATE TABLE IF NOT EXISTS vehicles( carid INT( 11 ) AUTO_INCREMENT, username VARCHAR( 24 ), modelid INT( 11 ), " );
strcat( query, "xpos FLOAT, ypos FLOAT, zpos FLOAT, apos FLOAT, color1 INT( 11 ), color2 INT( 11 ), locked TINYINT( 1 ), " );
strcat( query, "compslot0 INT( 4 ), compslot1 INT( 4 ), compslot2 INT( 4 ), compslot3 INT( 4 ), compslot4 INT( 4 ), compslot5 INT( 4 ), " );
strcat( query, "compslot6 INT( 4 ), compslot7 INT( 4 ), compslot8 INT( 4 ), compslot9 INT( 4 ), compslot10 INT( 4 ), " );
strcat( query, "compslot11 INT( 4 ), PRIMARY KEY( carid ) )" );
mysql_function_query( g_Handle, query, false, "SendQuery", "" );
new row, num;
cache_get_data( row, num, g_Handle );
if( row )
{
new fetch[24 + 2];
cache_get_field_content( 0, "username", fetch, g_Handle, sizeof fetch );
printf("%s",fetch);
format(VehicleInfo[vehicleID][vOwner],26,fetch);
printf("%s",VehicleInfo[vehicleID][vOwner]);
printf( "Vehicle from %s has been loaded. (ID: %i)", VehicleInfo[vehicleID][vOwner], vehicleID );
}
enum carDataEnum
{
vID,
vOwner[MAX_PLAYER_NAME],
vModel,
Float:vLoc[4],
vColor1,
vColor2,
vLocked
}
new VehicleInfo[MAX_PERS_VEHICLES][carDataEnum];
forward OnVehicleLoad( vehicleID );
public OnVehicleLoad( vehicleID )
{
new row, num;
cache_get_data( row, num, g_Handle );
if( row )
{
new fetch[24 + 2];
cache_get_field_content( 0, "username", fetch, g_Handle, sizeof fetch );
printf( "|%s|", fetch );
VehicleInfo[vehicleID][vModel] = cache_get_row_int( 0, 2, g_Handle );
VehicleInfo[vehicleID][vX] = cache_get_row_float( 0, 3, g_Handle );
VehicleInfo[vehicleID][vY] = cache_get_row_float( 0, 4, g_Handle );
VehicleInfo[vehicleID][vZ] = cache_get_row_float( 0, 5, g_Handle );
VehicleInfo[vehicleID][vA] = cache_get_row_float( 0, 6, g_Handle );
VehicleInfo[vehicleID][vColor1] = cache_get_row_int( 0, 7, g_Handle );
VehicleInfo[vehicleID][vColor2] = cache_get_row_int( 0, 8, g_Handle );
strset( VehicleInfo[vehicleID][vOwner], fetch );
printf( "|%s|", VehicleInfo[vehicleID][vOwner] );
VehicleInfo[vehicleID][vLocked] = cache_get_row_int( 0, 9, g_Handle );
VehicleInfo[vehicleID][vID] = CreatePersVehicle( VehicleInfo[vehicleID][vModel],
VehicleInfo[vehicleID][vX], VehicleInfo[vehicleID][vY], VehicleInfo[vehicleID][vZ], VehicleInfo[vehicleID][vA],
VehicleInfo[vehicleID][vColor1], VehicleInfo[vehicleID][vColor2], VehicleInfo[vehicleID][vOwner], VehicleInfo[vehicleID][vLocked], false );
printf( "Vehicle from %s has been loaded. (ID: %i)", VehicleInfo[vehicleID][vOwner], vehicleID );
}
return 1;
}
[16:13:46] |Wesley| [16:13:46] |Wesley| [16:13:46] Vehicle from has been loaded. (ID: 1)
printf( "%i", vehicleid );
VehicleInfo[vehicleid][vModel] = vehicleModel;
printf( "%i", VehicleInfo[vehicleid][vModel] );
VehicleInfo[vehicleid][vX] = xLoc;
printf( "%f", VehicleInfo[vehicleid][vX] );
VehicleInfo[vehicleid][vY] = yLoc;
printf( "%f", VehicleInfo[vehicleid][vY] );
VehicleInfo[vehicleid][vZ] = zLoc;
printf( "%f", VehicleInfo[vehicleid][vZ] );
VehicleInfo[vehicleid][vA] = aLoc;
printf( "%f", VehicleInfo[vehicleid][vA] );
VehicleInfo[vehicleid][vColor1] = vehicleColor1;
printf( "%i", VehicleInfo[vehicleid][vColor1] );
VehicleInfo[vehicleid][vColor2] = vehicleColor2;
printf( "%i", VehicleInfo[vehicleid][vColor2] );
printf( "1:%s", VehicleInfo[vehicleid][vOwner] );
printf( "vehicleowner: %s", vehicleOwner );
format( VehicleInfo[vehicleid][vOwner], 24, vehicleOwner ); // <--
printf( "2: %s", VehicleInfo[vehicleid][vOwner] );