[ayuda]Cargar vehiculos con MySQL -
Jex_Lafer - 29.05.2012
Que tal.
Ya que comenze a ver MySQL trate de pasar los vehiculos a mysql no me salta ningun warning
pero al poner el callback en ongamemode init para que comienze a cargar los autos no cargan...
pawn Код:
forward LoadVehFromDb();
public LoadVehFromDb()
{//1
print("ЎActived!");
new ccc;
{//2
MySQLCheck();
if(mysql_num_rows() != 0)
{//3
new Data[1024];
new Field[64];
new rcnt = 1;
new query[300];
for(new vehicleid=1; vehicleid<MAX_VEHICLES; vehicleid++)
{//4
format(query,sizeof(query),"SELECT * FROM `"TABLECARS"` WHERE "CARSQLID" = '%d'",vehicleid);
mysql_query(query);
mysql_store_result();
samp_mysql_fetch_row(Data);
samp_mysql_strtok(Field, "|", Data);
while (samp_mysql_strtok(Field, "|", "")==1)
{//5
ccc ++;
if (rcnt == 1) CarInfo[vehicleid][cModel] = strval(Field);
if (rcnt == 2) CarInfo[vehicleid][cLocationx] = strval(Field);
if (rcnt == 3) CarInfo[vehicleid][cLocationy] = strval(Field);
if (rcnt == 4) CarInfo[vehicleid][cLocationz] = strval(Field);
if (rcnt == 5) CarInfo[vehicleid][cAngle] = strval(Field);
if (rcnt == 6) CarInfo[vehicleid][cColorOne] = strval(Field);
if (rcnt == 7) CarInfo[vehicleid][cColorTwo] = strval(Field);
if (rcnt == 8) CarInfo[vehicleid][cOwner] = strval(Field);
if (rcnt == 9) CarInfo[vehicleid][cName] = strval(Field);
if (rcnt == 10) CarInfo[vehicleid][cValue] = strval(Field);
if (rcnt == 11) CarInfo[vehicleid][cOwned] = strval(Field);
if (rcnt == 12) CarInfo[vehicleid][cLock] = strval(Field);
if (rcnt == 13) CarInfo[vehicleid][cBattery] = strval(Field);
if (rcnt == 14) CarInfo[vehicleid][cSpoiler] = strval(Field);
if (rcnt == 15) CarInfo[vehicleid][cHood] = strval(Field);
if (rcnt == 16) CarInfo[vehicleid][cRoof] = strval(Field);
if (rcnt == 17) CarInfo[vehicleid][cSideskirt] = strval(Field);
if (rcnt == 18) CarInfo[vehicleid][cNitro] = strval(Field);
if (rcnt == 19) CarInfo[vehicleid][cLamps] = strval(Field);
if (rcnt == 20) CarInfo[vehicleid][cExhaust] = strval(Field);
if (rcnt == 21) CarInfo[vehicleid][cWheel] = strval(Field);
if (rcnt == 22) CarInfo[vehicleid][cHydraulics] = strval(Field);
if (rcnt == 23) CarInfo[vehicleid][cPaintjob] = strval(Field);
if (rcnt == 24) CarInfo[vehicleid][cFrontBumper] = strval(Field);
if (rcnt == 25) CarInfo[vehicleid][cRearBumper] = strval(Field);
if (rcnt == 26) CarInfo[vehicleid][cVents] = strval(Field);
if (rcnt == 27) CarInfo[vehicleid][cEmbargo] = strval(Field);
if (rcnt == 28) CarInfo[vehicleid][cMulta] = strval(Field);
if (rcnt == 29) CarInfo[vehicleid][cPlate] = strval(Field);
if (rcnt == 30) CarInfo[vehicleid][cGas] = strval(Field);
if (rcnt == 31) CarInfo[vehicleid][cAlarm] = strval(Field);
if (rcnt == 32) CarInfo[vehicleid][cNeon] = strval(Field);
if (rcnt == 33) CarInfo[vehicleid][cInterior] = strval(Field);
if (rcnt == 34) CarInfo[vehicleid][cVirtual] = strval(Field);
if (rcnt == 35) CarInfo[vehicleid][cIdentificador] = strval(Field);
if (rcnt == 36) CarInfo[vehicleid][cDano] = strval(Field);
if (rcnt == 37) CarInfo[vehicleid][cPanelDamag] = strval(Field);
if (rcnt == 38) CarInfo[vehicleid][cPuertasDamag] = strval(Field);
if (rcnt == 39) CarInfo[vehicleid][cLucesDamage] = strval(Field);
if (rcnt == 40) CarInfo[vehicleid][cRuedasDamag] = strval(Field);
if (rcnt == 41) CarInfo[vehicleid][IsIntermitente] = strval(Field);
if (rcnt == 42) CarInfo[vehicleid][ConteoIntermitente] = strval(Field);
if (rcnt == 43) CarInfo[vehicleid][LightState] = strval(Field);
ownedcar[vehicleid] = AddStaticVehicleEx(CarInfo[vehicleid][cModel],
CarInfo[vehicleid][cLocationx],
CarInfo[vehicleid][cLocationy],
CarInfo[vehicleid][cLocationz],
CarInfo[vehicleid][cAngle],
CarInfo[vehicleid][cColorOne],CarInfo[vehicleid][cColorTwo],-1);
SetVehicleNumberPlate(ownedcar[vehicleid],CarInfo[vehicleid][cPlate]);
SetVehicleToRespawn(ownedcar[vehicleid]);
rcnt++;
}
}
}
}
mysql_free_result();
printf("Total Vehicles Loaded: %d",ccc);
return 1;
}
Respuesta: [ayuda]Cargar vehiculos con MySQL -
santi.arg - 29.05.2012
Vos sos conciente que con ese cуdigo vas a mandar hasta 2000 consultas en menos de 1 minuto?
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Jex_Lafer - 29.05.2012
Por eso pido ayuda..
Respuesta: [ayuda]Cargar vehiculos con MySQL -
santi.arg - 29.05.2012
La query deberнa ser:
PHP код:
SELECT * FROM tabla ORDER BY id ASC;
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Jex_Lafer - 31.05.2012
UPPp
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Daniel-92 - 31.05.2012
El el segundo parametro de mysql_fecht_row debe ir el nombre de la fila que tenйs en la base de datos, ahi te puse los primeros de ejemplo.
pawn Код:
forward LoadVehFromDb();
public LoadVehFromDb()
print("ЎActived!");
MySQLCheck();
new ccc;
new Data[1024];
new Field[64];
mysql_query("SELECT * FROM `"TABLECARS"` ORDER BY "CARSQLID" ASC");
mysql_store_result();
while(mysql_retrieve_row())
{//5
mysql_fetch_field_row(Field,"cModel",1); CarInfo[ccc][cModel] = strval(Field);
mysql_fetch_field_row(Field,"cLocationX",1); CarInfo[ccc][cLocationx] = strval(Field);
mysql_fetch_field_row(Field,"cLocationY",1); CarInfo[ccc][cLocationy] = strval(Field);
mysql_fetch_field_row(Field,"cLocationZ",1); CarInfo[ccc][cLocationz] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cAngle] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cColorOne] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cColorTwo] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cOwner] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cName] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cValue] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cOwned] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cLock] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cBattery] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cSpoiler] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cHood] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cRoof] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cSideskirt] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cNitro] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cLamps] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cExhaust] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cWheel] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cHydraulics] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cPaintjob] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cFrontBumper]= strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cRearBumper] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cVents] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cEmbargo] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cMulta] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cPlate] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cGas] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cAlarm] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cNeon] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cInterior] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cVirtual] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cIdentificador] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cDano] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cPanelDamag] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cPuertasDamag] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cLucesDamage] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][cRuedasDamag] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][IsIntermitente] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][ConteoIntermitente] = strval(Field);
mysql_fetch_field_row(Field," ",1); CarInfo[ccc][LightState] = strval(Field);
ownedcar[ccc] = AddStaticVehicleEx(CarInfo[ccc][cModel],
CarInfo[ccc][cLocationx],
CarInfo[ccc][cLocationy],
CarInfo[ccc][cLocationz],
CarInfo[ccc][cAngle],
CarInfo[ccc][cColorOne],CarInfo[ccc][cColorTwo],-1);
SetVehicleNumberPlate(ownedcar[ccc],CarInfo[ccc][cPlate]);
SetVehicleToRespawn(ownedcar[ccc]);
ccc++;
}
mysql_free_result();
printf("Total Vehicles Loaded: %d",ccc);
return 1;
}
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Jex_Lafer - 31.05.2012
Lee los datos pero no agrega el vehiculo
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Daniel-92 - 31.05.2012
Para obtener las coordenadas y en angulo colocale floatstr(Field); en vez de strval(Field); porque te debe estar dando un warning de "tag mismatch" ya que usas integers en vez de floats
Respuesta: [ayuda]Cargar vehiculos con MySQL -
Jex_Lafer - 01.06.2012
No. eso ya lo cambie (No soy n00b)
ningъn warning
En debug.txt se ven perfectamente las coordenadas pero no se crea al vehнculo
Respuesta: [ayuda]Cargar vehiculos con MySQL -
[J]ulian - 01.06.2012
Cambiб AddStaticVehicleEx por CreateVehicle. AddStatic sуlo se puede utilizar en OnGameModeInit.