[ayuda]Cargar vehiculos con MySQL
#1

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;
}
Reply
#2

Vos sos conciente que con ese cуdigo vas a mandar hasta 2000 consultas en menos de 1 minuto?
Reply
#3

Por eso pido ayuda..
Reply
#4

La query deberнa ser:

PHP код:
SELECT FROM tabla ORDER BY id ASC
Reply
#5

UPPp
Reply
#6

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;
}
Reply
#7

Lee los datos pero no agrega el vehiculo
Reply
#8

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
Reply
#9

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
Reply
#10

Cambiб AddStaticVehicleEx por CreateVehicle. AddStatic sуlo se puede utilizar en OnGameModeInit.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)