Szerző Téma: Jármû lementés MySQL  (Megtekintve 1288 alkalommal)

Jármû lementés MySQL
« Dátum: 2014. szeptember 26. - 08:06:12 »
0 Show voters
Hali!
Már tegnap óta ezt próbálom megcsinálni,de sehogy se bírok rájönni,ezért inkább azt kérném hogy valaki lenne oly szíves,hogy megírja helyettem.
Szóval jármûveket akarok lementeni MySQL -be de valahogy nem ment el semmit.
Szóval egy parancs meg hívja a \'VehicleSaveAll\' -t:
 

CMD:vehicles(playerid, params[])
{
VehicleSaveAll();
printf(\"Jarmuvek elmentve!\");
return 1;
}

 
itt a \'VehicleSaveAll\' stock rész:
 

stock VehicleSaveAll()
{
new vehicles = 0;
    //for(new i = 0; i < MAX_VEHICLES ; i++) // Loop through the maximum amount of vehicles allowed by sa-mp.
    for(new jarmuID = 1;jarmuID<500;jarmuID++)
{
VehicleGet(jarmuID);
        VehicleSave();
vehicles++;
    }
    printf(\"Jarmuvek mentve: %d\", vehicles); // Print out how many vehicles has been saved.
return 1;
}

 
Ez meghívja ugye a VehicleGet és VehicleSave -t
 

stock VehicleGet(jarmuID)
{
    GetVehiclePos(jarmuID,cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ]);
    // Get the current position of that vehicle and assign it to our system\'s vehicle information.
    GetVehicleZAngle(jarmuID, cInfo[jarmuID][vRot]);
    // Get the current rotation of that vehicle and assign it to our system\'s vehicle information.
return 1;
}
stock VehicleSave()
{
new query[1024];
for(new jarmuID = 1;jarmuID<500;jarmuID++)
    {
format(query,sizeof(query),\"UPDATE sveh SET VehX=\'%f\',VehY=\'%f\',VehZ=\'%f\',VehRot=\'%f\' WHERE ID=\'%d\'\",cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vID]);
mysql_function_query(dbhandle,query,true,\"\",\"\");
printf(\"Jarmuvek elmentve!\");
SendClientMessageToAll(COLOR_WHITE,\"(( Jármûvek elmentve! ))\");
}
return 1;
}

 
Majd ezzel töltöm be az autókat a mysqlbõl,ez meghívódik mikor elindul a játékmód:
 

public OnQueryFinish(resultid, extraid, ConnectionHandle)
{
new num_rows, num_fields;
if(resultid != THREAD_NO_RESULT)
{
cache_get_data(num_rows, num_fields);
}
switch(resultid)
{
    case THREAD_LOAD_VEHICLES:
    {
   new vehicles = 0;
        if(num_rows)
        {
            for(new i = 0; i < num_rows; i++)
             {
         new jarmuID;
         cInfo[jarmuID][vID] = cache_get_field_content_int(i,\"ID\",dbhandle);
         cInfo[jarmuID][vModel] = cache_get_field_content_int(i,\"VehModel\",dbhandle);
         cInfo[jarmuID][vPosX] = cache_get_field_content_float(i,\"VehX\",dbhandle);
         cInfo[jarmuID][vPosY] = cache_get_field_content_float(i,\"VehY\",dbhandle);
         cInfo[jarmuID][vPosZ] = cache_get_field_content_float(i,\"VehZ\",dbhandle);
         cInfo[jarmuID][vRot] = cache_get_field_content_float(i,\"VehRot\",dbhandle);
         cInfo[jarmuID][vCol1] = cache_get_field_content_int(i,\"VehCol1\",dbhandle);
         cInfo[jarmuID][vCol2] = cache_get_field_content_int(i,\"VehCol2\",dbhandle);
         CreateVehicle(cInfo[jarmuID][vModel],cInfo[jarmuID][vPosX],cInfo[jarmuID][vPosY],cInfo[jarmuID][vPosZ],cInfo[jarmuID][vRot],cInfo[jarmuID][vCol1],cInfo[jarmuID][vCol2],-1);
         vehicles++;
      }
   }
   printf(\"Jarmuvek betoltve: %d\", vehicles);
}
}
return 1;
}

 
Ez pedig az a parancs amivel tudok lerakni autót (teszt végett a parancsot majd kiszedem):
 

CMD:jarmu(playerid, params[])
{
new Float:pPosX;
new Float:pPosY;
new Float:pPosZ;
new query[512];
new jarmuID;
GetPlayerPos(playerid, pPosX,pPosY,pPosZ);
format(query,sizeof(query),\"INSERT INTO sveh (VehModel,Tulaj,Rendszam,VehX,VehY,VehZ,VehRot,VehCol1,VehCol2,KmSzamlalo,VehHP) VALUES (\'420\',\'Állam\',\'SA-789AO\',\'%f\',\'%f\',\'%f\',\'0\',\'6\',\'6\',\'0\',\'1000\')\",pPosX,pPosY,pPosZ);
mysql_function_query(dbhandle,query,false,\"\",\"\");
CreateVehicle(420,pPosX,pPosY,pPosZ,0,6,6,-1);
cInfo[jarmuID][vID]++;
return 1;
}

 
Aki segít annak megy a plusz,mert nagyon fontos lenne nekem,elõre is köszönöm szépen. :)

Nem elérhető rayle

  • 174
    • Profil megtekintése
Jármû lementés MySQL
« Válasz #1 Dátum: 2014. szeptember 28. - 14:34:41 »
0 Show voters
mysql_log.txt mit ír ki?

Jármû lementés MySQL
« Válasz #2 Dátum: 2014. szeptember 28. - 18:20:18 »
0 Show voters
Idézetet írta: rayle date=1411907681\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50744\" data-ipsquote-contentclass=\"forums_Topic
mysql_log.txt mit ír ki?
 
mysql_log.txt fájlom nincs,ezek szerint rendbe megy minden,szerintem itt ID kavarodási gondok lehetnek,leghamarabb,tehát hogy nem tudja hova lementeni.

Nem elérhető KovaNovik

  • 1121
  • KovaNovik
    • Profil megtekintése
Jármû lementés MySQL
« Válasz #3 Dátum: 2014. szeptember 28. - 18:31:34 »
0 Show voters
Ne viccelj. A mysql plugin betöltésekor létrehoz egyet.

Jármû lementés MySQL
« Válasz #4 Dátum: 2014. szeptember 28. - 19:06:34 »
0 Show voters
Idézetet írta: kzyn date=1411921894\" data-ipsquote-contentapp=\"forums\" data-ipsquote-contenttype=\"forums\" data-ipsquote-contentid=\"50744\" data-ipsquote-contentclass=\"forums_Topic
Ne viccelj. A mysql plugin betöltésekor létrehoz egyet.
 
Nem viccelek,komolyan mondom,elindítom a szervert,még olyan parancsot is használtam amivel mysql táblában frissítek adatokat,szerverrõl lejöttem,módot leállítottam és akkor sincs semmilyen mysql_log, R39.2-es plugint használok.

Nem elérhető BackUP

  • 908
    • Profil megtekintése
Jármû lementés MySQL
« Válasz #5 Dátum: 2014. szeptember 28. - 19:11:15 »
0 Show voters
mysql_log(LOG_ALL,LOG_TYPE_HTML);

 
OnGameModeInit alá, és egy HTML fájlba menti a logot. Azt megnyitod, és szépen, színesen olvasható.
Ha sok dolog van benne meglehet, hogy nem nyitja meg, akkor állítsd \'LOG_TYPE_TEXT\'-re.

Nem elérhető Flash

  • 5726
  • (っ◕‿◕)っ
    • Profil megtekintése
Jármû lementés MySQL
« Válasz #6 Dátum: 2014. október 18. - 19:23:09 »
0 Show voters
[gmod]Megkérném a kedves témanyitót hogy ne hanyagolja el a témáját ha már megnyitotta![/gmod]

Jármû lementés MySQL
« Válasz #7 Dátum: 2014. október 25. - 00:06:14 »
0 Show voters
Na akkor te parancsra akarod a lehozott járműveket menteni, és paranccsal akarod meghívni?

 

SimplePortal 2.3.7 © 2008-2024, SimplePortal