Pagrindinis diskusijų puslapis Grand Theft Auto multiplayer Pagalba SA-MP pagalba [ > ] Mysql mašinų problema

[ > ] Mysql mašinų problema

Pagalba kuriant sa-mp serverius, skriptus.
Standartinė Sausis 20th, 2012, 10:03 pm
@Jonas Apsipratęs narys
Apsipratęs narys

Pranešimai: 163
Padėkojo: 1 kartą
Gavo padėkų: 0 kartą
Skype: Jonaspk9111
Atsiliepimai: 2
Sveiki taigi iškilo menka problema, kaip šitą pakeisti į :
mysql_fetch_field

    mysql_fetch_field("Nupirktas",sql); if(strval(sql) == 1){hInfo[KiekNamu][Nupirktas] = true;}else{hInfo[KiekNamu][Nupirktas] = false;}
    mysql_fetch_field("Uzraktas",sql); if(strval(sql) == 1){hInfo[KiekNamu][Uzraktas] = true;}else{hInfo[KiekNamu][Uzraktas] = false;}
    mysql_fetch_field("Savininkas", sql); format(hInfo[KiekNamu][Savininkas], MAX_PLAYER_NAME, "%s", sql);
    mysql_fetch_field("Kaina", sql); hInfo[KiekNamu][Kaina] = strval(sql);
    mysql_fetch_field("ExitX", sql); hInfo[KiekNamu][ExitX] = floatstr(sql);
    mysql_fetch_field("ExitY", sql); hInfo[KiekNamu][ExitY] = floatstr(sql);
    mysql_fetch_field("ExitZ", sql); hInfo[KiekNamu][ExitZ] = floatstr(sql);
    mysql_fetch_field("ExitAngle", sql); hInfo[KiekNamu][ExitAngle] = floatstr(sql);
    mysql_fetch_field("Interjeras", sql); hInfo[KiekNamu][Interjeras] = strval(sql);
    mysql_fetch_field("IntX", sql); hInfo[KiekNamu][IntX] = floatstr(sql);
    mysql_fetch_field("IntY", sql); hInfo[KiekNamu][IntY] = floatstr(sql);
    mysql_fetch_field("IntZ", sql); hInfo[KiekNamu][IntZ] = floatstr(sql);
    mysql_fetch_field("IntAngle", sql); hInfo[KiekNamu][IntAngle] = floatstr(sql);
    mysql_fetch_field("Pasaulis", sql); hInfo[KiekNamu][Pasaulis] = strval(sql);
    mysql_fetch_field("Pinigai", sql); hInfo[KiekNamu][Pinigai] = strval(sql);



Nes kai paprastai palieku mysql_fetch_field meta :
.......\grand.pwn(2732) : error 035: argument type mismatch (argument 1)


Ir daug tokių, tad nežinau, o kai paprastai pakeičiu iš
mysql_fetch_field
į
mysql_fetch_field_row
, lyg veikia, bet po serverio išjungimo rašo :

[20:54:39] CMySQLHandler::FetchField() - You cannot call this function now. (Reason: Fields/Rows are empty.)

[20:54:56] >> mysql_query( Connection handle: 1 )


Ir kiekvienam namui taip, nesuprantu jei jis neturi savininko, tai ir turibūti tusčias.

Reklama

Standartinė Sausis 20th, 2012, 11:25 pm
svedas Vartotojo avataras
GTA-support.lt komanda

Pranešimai: 3866
Padėkojo: 36 kartus
Gavo padėkų: 145 kartus
Skype: svedas01
Mano serveris: reallife:7777
Atsiliepimai: 19

Tereikia sukeisti vietomis.

mysql_fetch_field_row(result,"username");

mysql_fetch_field("username",result);


iš vis tokių kodų nepatarčiau naudoti, daug geriau su sscanf :)

Standartinė Sausis 21st, 2012, 1:07 am
@Jonas Apsipratęs narys
Apsipratęs narys

Pranešimai: 163
Padėkojo: 1 kartą
Gavo padėkų: 0 kartą
Skype: Jonaspk9111
Atsiliepimai: 2
Na turiu kitą problemą, dėl mašinų sistemos, jos pats nekūriau teisa sakant tik pasiemiau ir kaiką pakeičiau, ir dabar yra taip, kad kai nusiperki mašiną ją gauni į ja nuteleportuoja, kai išlipi ją mysql'e išsaugo, bet po serverio restarto, visas darbines sukuria, bet pirktų ne o lentelėje niekas nepasikeičai. Kodai :
Sql :
1    ID   int(11)         Ne   None   
2    Owner   varchar(24)   latin1_swedish_ci      Ne   None   
3    Model   int(11)         Ne   None   
4    X   float         Ne   None   
5    Y   float         Ne   None   
6    Z   float         Ne   None   
7    Angle   float         Ne   None   
8    HP   float         Ne   None   
9    Fuel   int(11)         Ne   None   
10    Spalva1   int(11)         Ne   None   
11    Spalva2   int(11)         Ne   None   
12    Uzraktas   int(11)         Ne   None   
13    Paintjob   int(11)         Ne   None   
14    Tune0   int(11)         Ne   None   
15    Tune1   int(11)         Ne   None   
16    Tune2   int(11)         Ne   None   
17    Tune3   int(11)         Ne   None   
18    Tune4   int(11)         Ne   None   
19    Tune5   int(11)         Ne   None   
20    Tune6   int(11)         Ne   None   
21    Tune7   int(11)         Ne   None   
22    Tune8   int(11)         Ne   None   
23    Tune9   int(11)         Ne   None   
24    Tune10   int(11)         Ne   None   
25    Tune11   int(11)         Ne   None   
26    Tune12   int(11)         Ne   None   


Saugojimo ir krovimo :

   new Table = 0;
   for(new v; v < MAX_VEHICLES; v++)
{
   format(query, 1024,"SELECT * FROM "SQL_CARTABLE" WHERE ID = '%d'", v);
   mysql_query(query);
   mysql_store_result();
   if(Table == 0)
{
   if(mysql_num_rows() != 0)
{
   Table = 1;
}
   else
{
   Table = 2;
}
}
}

   if(Table == 1)
{
   for(new v; v < MAX_VEHICLES; v++)
{
   format(query, 1024,"SELECT * FROM "SQL_CARTABLE" WHERE ID = '%d'", v);
   mysql_query(query);
   mysql_store_result();
   if(mysql_num_rows() != 0)
{
   new model, masina, Float:CarFloat[5], tune[13];
   mysql_fetch_field_row("Owner",sql);
   format(vInfo[v][Owner], MAX_PLAYER_NAME, "%s", sql);
   mysql_fetch_field_row("Model",sql); model = strval(sql);
   mysql_fetch_field_row("X",sql); CarFloat[0] = floatstr(sql);
   mysql_fetch_field_row("Y",sql); CarFloat[1] = floatstr(sql);
   mysql_fetch_field_row("Z",sql); CarFloat[2] = floatstr(sql);
    mysql_fetch_field_row("Angle",sql); CarFloat[3] = floatstr(sql);
    mysql_fetch_field_row("HP",sql); CarFloat[4] = floatstr(sql);
    mysql_fetch_field_row("Fuel",vInfo[v][Fuel]);
   mysql_fetch_field_row("Spalva1",vInfo[v][Spalva1]);
   mysql_fetch_field_row("Spalva2",vInfo[v][Spalva2]);
    mysql_fetch_field_row(sql,"Uzraktas");
   if(strval(sql) == 1)
{
   vInfo[v][Uzraktas] = true;
}
   else
{
   vInfo[v][Uzraktas] = false;
}
   if(model > 399)
{
   if(model == 599 || model == 598 || model == 523 || model == 416 ||
   model == 438 || model == 420 || model == 403 || model == 456 ||
   model == 498 || model == 591 || model == 584 || model == 587 ||
   model == 521 || model == 578 || model == 493 || model == 512 ||
   model == 525 || model == 448 || model == 519 || model == 472 ||
   model == 408 || model == 431 || model == 437)
{
   masina = CreateVehicle(model, CarFloat[0], CarFloat[1], CarFloat[2], CarFloat[3], vInfo[v][Spalva1], vInfo[v][Spalva2], 60*30);
}
   else
{
   masina = CreateVehicle(model, CarFloat[0], CarFloat[1], CarFloat[2], CarFloat[3], vInfo[v][Spalva1], vInfo[v][Spalva2], -1);
}
   mysql_fetch_field_row("Paintjob",sql); if(strval(sql) > 0) ChangeVehiclePaintjob(masina, strval(sql)-1);
   mysql_fetch_field_row("Interior",sql); vInfo[masina][Interior] = strval(sql); LinkVehicleToInterior(masina, strval(sql));
   mysql_fetch_field_row("Tune0",sql); tune[0] = strval(sql);
   mysql_fetch_field_row("Tune1",sql); tune[1] = strval(sql);
   mysql_fetch_field_row("Tune2",sql); tune[2] = strval(sql);
   mysql_fetch_field_row("Tune3",sql); tune[3] = strval(sql);
   mysql_fetch_field_row("Tune4",sql); tune[4] = strval(sql);
   mysql_fetch_field_row("Tune5",sql); tune[5] = strval(sql);
   mysql_fetch_field_row("Tune6",sql); tune[6] = strval(sql);
   mysql_fetch_field_row("Tune7",sql); tune[7] = strval(sql);
   mysql_fetch_field_row("Tune8",sql); tune[8] = strval(sql);
   mysql_fetch_field_row("Tune9",sql); tune[9] = strval(sql);
   mysql_fetch_field_row("Tune10",sql); tune[10] = strval(sql);
   mysql_fetch_field_row("Tune11",sql); tune[11] = strval(sql);
   mysql_fetch_field_row("Tune12",sql);
   tune[12] = strval(sql);
   AddVehicleComponent(masina, tune[0]);
   AddVehicleComponent(masina, tune[1]);
   AddVehicleComponent(masina, tune[2]);
   AddVehicleComponent(masina, tune[3]);
   AddVehicleComponent(masina, tune[4]);
   AddVehicleComponent(masina, tune[5]);
   AddVehicleComponent(masina, tune[6]);
   AddVehicleComponent(masina, tune[7]);
   AddVehicleComponent(masina, tune[8]);
   AddVehicleComponent(masina, tune[9]);
   AddVehicleComponent(masina, tune[10]);
   AddVehicleComponent(masina, tune[11]);
   AddVehicleComponent(masina, tune[12]);
}
   format(query, 1024, "DELETE FROM "SQL_CARTABLE" WHERE ID = '%d'", masina);
   mysql_query(query);
   mysql_free_result();
   SaveVehicle(masina);
}
}
}
   else if(Table == 2)
{
   new masina;
   /* Policija */
   masina = CreateVehicle(597,-3352.1584,-900.1161,6.9817,253.9316,-1,-1,60*30); //sfpd1
   SaveVehicle(masina);
//   masina = CreateVehicle(597,-3352.8872,-903.4167,6.9822,251.2033,-1,-1,60*30); //sfpd2
//   SaveVehicle(masina);
   masina = CreateVehicle(597,-3352.8606,-902.7878,6.9822,252.4742,-1,-1,60*30); //sfpd2
   SaveVehicle(masina);
   masina = CreateVehicle(597,-3353.7961,-905.6309,6.9820,253.7518,-1,-1,60*30); //sfpd3
   SaveVehicle(masina);
   masina = CreateVehicle(523,-3334.5649,-903.4382,6.7832,162.5570,-1,-1,60*30); //HPV1
   SaveVehicle(masina);
   masina = CreateVehicle(523,-3332.6416,-904.0182,6.7833,165.7616,-1,-1,60*30); //HPV2
   SaveVehicle(masina);
   masina = CreateVehicle(523,-3330.6467,-904.6287,6.7857,167.6710,-1,-1,60*30); //HPV3
   SaveVehicle(masina);
   masina = CreateVehicle(523,-3332.5046,-921.7914,6.2852,84.3368,-1,-1,60*30); //HPV4
   SaveVehicle(masina);
   masina = CreateVehicle(523,-3332.2000,-919.5258,6.5401,83.6446,-1,-1,60*30); //HPV5
   SaveVehicle(masina);
   masina = CreateVehicle(427,-3356.2273,-911.8054,7.1876,167.0274,-1,-1,60*30); //policijostruck1
   SaveVehicle(masina);
   masina = CreateVehicle(427,-3351.8994,-912.9008,7.1869,167.4375,-1,-1,60*30); //policijostruck2
   SaveVehicle(masina);
   /* Bankas */
   masina = CreateVehicle(428,-3532.8792,-1515.0168,11.1642,270.1629,-1,-1,60*30); //securitybanko1
   SaveVehicle(masina);
   masina = CreateVehicle(428,-3532.0232,-1529.6141,11.1604,274.6607,-1,-1,60*30); //securitybanko2
   SaveVehicle(masina);
   masina = CreateVehicle(428,-3532.4106,-1525.5292,11.1608,275.0026,-1,-1,60*30); //securitybanko3
   SaveVehicle(masina);
   masina = CreateVehicle(428,-3532.7532,-1518.5936,11.1634,274.2595,-1,-1,60*30); //securitybanko4
   SaveVehicle(masina);
   masina = CreateVehicle(445,-3532.9980,-1522.1655,10.9135,276.6519,37,37,60*30); //bankovadovo masina
   SaveVehicle(masina);
}
   for(new i=0;i<MAX_VEHICLES;i++) vInfo[i][Fuel] = 100; //Kai serveris paleidziamas masinos gauna 100 l. degalu.
   print("WGN: Mašinos užkrautos");


Saugojimas ( nors išsaugo bet duodu ):

stock SaveVehicle(vehicleid)
{
   new Float:CarCoo[4], Float:CarHP;
   GetVehiclePos(vehicleid, CarCoo[0], CarCoo[1], CarCoo[2]);
   GetVehicleHealth(vehicleid, CarHP);
   GetVehicleZAngle(vehicleid, CarCoo[3]);
   format(query, 1024,"SELECT * FROM "SQL_CARTABLE" WHERE ID = '%d'", vehicleid);
   mysql_query(query);
   mysql_store_result();
   if(mysql_num_rows() != 0)
   {
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET ID = '%d', Model = '%d' WHERE ID = '%d'", vehicleid, GetVehicleModel(vehicleid), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Owner = '%s', Uzraktas = '%d', Interior = '%d' WHERE ID = '%d'", vInfo[vehicleid][Owner], vInfo[vehicleid][Uzraktas], vInfo[vehicleid][Interior], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET X = '%f', Y = '%f', Z = '%f' WHERE ID = '%d'", CarCoo[0], CarCoo[1], CarCoo[2], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Angle = '%f', HP = '%f', Fuel = '%d' WHERE ID = '%d'", CarCoo[3], CarHP, vInfo[vehicleid][Fuel], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Spalva1 = '%d', Spalva2 = '%d', Paintjob = '%d' WHERE ID = '%d'", vInfo[vehicleid][Spalva1], vInfo[vehicleid][Spalva2], vInfo[vehicleid][Paintjob], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune0 = '%d', Tune1 = '%d', Tune3 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,0), GetVehicleComponentInSlot(vehicleid,1), GetVehicleComponentInSlot(vehicleid,2), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune4 = '%d', Tune5 = '%d', Tune6 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,4), GetVehicleComponentInSlot(vehicleid,5), GetVehicleComponentInSlot(vehicleid,6), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune7 = '%d', Tune8 = '%d', Tune9 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,7), GetVehicleComponentInSlot(vehicleid,8), GetVehicleComponentInSlot(vehicleid,9), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune10 = '%d', Tune11 = '%d', Tune12 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,10), GetVehicleComponentInSlot(vehicleid,11), GetVehicleComponentInSlot(vehicleid,12), vehicleid);
   mysql_query(query);
   mysql_free_result();
    }
   else
   {
   format(query, 1024, "INSERT INTO "SQL_CARTABLE" (ID, Model) VALUES ('%d', '%d')", vehicleid, GetVehicleModel(vehicleid));
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Owner = '%s', Uzraktas = '%d' WHERE ID = '%d'", vInfo[vehicleid][Owner], vInfo[vehicleid][Uzraktas], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET X = '%f', Y = '%f', Z = '%f' WHERE ID = '%d'", CarCoo[0], CarCoo[1], CarCoo[2], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Angle = '%f', HP = '%f', Fuel = '%d' WHERE ID = '%d'", CarCoo[3], CarHP, vInfo[vehicleid][Fuel], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Spalva1 = '%d', Spalva2 = '%d', Paintjob = '%d' WHERE ID = '%d'", vInfo[vehicleid][Spalva1], vInfo[vehicleid][Spalva2], vInfo[vehicleid][Paintjob], vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune0 = '%d', Tune1 = '%d', Tune3 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,0), GetVehicleComponentInSlot(vehicleid,1), GetVehicleComponentInSlot(vehicleid,2), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune4 = '%d', Tune5 = '%d', Tune6 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,4), GetVehicleComponentInSlot(vehicleid,5), GetVehicleComponentInSlot(vehicleid,6), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune7 = '%d', Tune8 = '%d', Tune9 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,7), GetVehicleComponentInSlot(vehicleid,8), GetVehicleComponentInSlot(vehicleid,9), vehicleid);
   mysql_query(query);
   mysql_free_result();
   format(query, 1024, "UPDATE "SQL_CARTABLE" SET Tune10 = '%d', Tune11 = '%d', Tune12 = '%d' WHERE ID = '%d'", GetVehicleComponentInSlot(vehicleid,10), GetVehicleComponentInSlot(vehicleid,11), GetVehicleComponentInSlot(vehicleid,12), vehicleid);
   mysql_query(query);
   mysql_free_result();
   }
}


Jei nesunku padėkite.
Paskutinį kartą redagavo @Jonas Sausis 22nd, 2012, 7:00 pm. Iš viso redaguota 1 kartą.

Standartinė Sausis 21st, 2012, 8:28 pm
svedas Vartotojo avataras
GTA-support.lt komanda

Pranešimai: 3866
Padėkojo: 36 kartus
Gavo padėkų: 145 kartus
Skype: svedas01
Mano serveris: reallife:7777
Atsiliepimai: 19

Labai daug skaityti, siūlau pabandytsi su sscanf. PAvizdys yra VIP forume :)

Standartinė Sausis 21st, 2012, 8:32 pm
@Jonas Apsipratęs narys
Apsipratęs narys

Pranešimai: 163
Padėkojo: 1 kartą
Gavo padėkų: 0 kartą
Skype: Jonaspk9111
Atsiliepimai: 2
Na kaip matai pažiūrėjąs į mano pranešimus dar to nepasiekiau, ir labai tavęs prašyčiau paskaityti, nes aš kiek bandžiau tvarkyti ir nelabai kas išėjo..

Standartinė Sausis 23rd, 2012, 9:23 pm
@Jonas Apsipratęs narys
Apsipratęs narys

Pranešimai: 163
Padėkojo: 1 kartą
Gavo padėkų: 0 kartą
Skype: Jonaspk9111
Atsiliepimai: 2
UP



  • Reklama

Grįžti į SA-MP pagalba