Peršokti į turinį

SAMP Mysql neišsaugo mašinos spalvos


Recommended Posts

Sveiki, kodėl man neišsaugo mašinos spalvos. nes kaip prisijungiu spalva pasidaro į juoda.

MYSQL išsaugojimas:

stock SavePlayerVehicle(playerid, bool:atsijungia)
{
	if(zInfo[playerid][zaidzia] == 3)
	{
		if(zInfo[playerid][Transportas1] !=-1)
		{
			new GTCount = GetTickCount();
		    new query[500],Float:vPos[4],vehicleid = zInfo[playerid][Transportas1],vModel;
			GetVehiclePos(vehicleid, vPos[0], vPos[1], vPos[2]);
			GetVehicleZAngle(vehicleid, vPos[3]);
			vModel = GetVehicleModel(vehicleid);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Modelis`='%i', `xPos`='%f', `yPos`='%f', `zPos`='%f', `cPos`='%f'  WHERE ( `Savininkas` = '%s' )", vModel, vPos[0], vPos[1], vPos[2], vPos[3], GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Savininkas`='%s', `DegaluTipas`='%i', `Degalai`='%i', `Spalva1`='%i', `Spalva2`='%i'  WHERE ( `Savininkas` = '%s' )", tInfo[vehicleid][Savininkas], tInfo[vehicleid][DegaluTipas], tInfo[vehicleid][Degalai], tInfo[vehicleid][Spalva1], tInfo[vehicleid][Spalva2], GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET PaintJob = '%d', `Rida`='%f', `Gyvybes`='%f'  WHERE ( `Savininkas` = '%s' )",tInfo[vehicleid][Paintjob],tInfo[vehicleid][Rida], tInfo[vehicleid][vHeal], GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET MasinaParduodama = '%d', mParduodamaKaina = '%d' WHERE Savininkas = '%s'",tInfo[vehicleid][MasinaParduodama],tInfo[vehicleid][mParduodamaKaina],GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Radijas`='%i', `Registruota`='%i', `Tranzitiniai`='%s', `Raides`='%s', `Skaiciai`='%s'  WHERE ( `Savininkas` = '%s' )", tInfo[vehicleid][Radijas], tInfo[vehicleid][Registruota], tInfo[vehicleid][Tranzitiniai], tInfo[vehicleid][Raides], tInfo[vehicleid][Skaiciai], GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Technikine`='%i'  WHERE ( `Savininkas` = '%s' )", tInfo[vehicleid][Technikine], GetPlayerNameEx(playerid));
			mysql_query(query);
	        format(query, sizeof(query), "UPDATE `vehicle` SET `Tuningas0`='%i', `Tuningas1`='%i', `Tuningas2`='%i', `Tuningas3`='%i', `Tuningas4`='%i'  WHERE ( `Savininkas` = '%s' )", GetVehicleComponentInSlot(vehicleid, 0), GetVehicleComponentInSlot(vehicleid, 1), GetVehicleComponentInSlot(vehicleid, 2), GetVehicleComponentInSlot(vehicleid, 3), GetVehicleComponentInSlot(vehicleid, 4), GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Tuningas5`='%i', `Tuningas6`='%i', `Tuningas7`='%i', `Tuningas8`='%i', `Tuningas9`='%i'  WHERE ( `Savininkas` = '%s' )", GetVehicleComponentInSlot(vehicleid, 5), GetVehicleComponentInSlot(vehicleid, 6), GetVehicleComponentInSlot(vehicleid, 7), GetVehicleComponentInSlot(vehicleid, 8), GetVehicleComponentInSlot(vehicleid, 9), GetPlayerNameEx(playerid));
			mysql_query(query);
			format(query, sizeof(query), "UPDATE `vehicle` SET `Tuningas10`='%i', `Tuningas11`='%i', `Tuningas12`='%i', `Tuningas13`='%i'  WHERE ( `Savininkas` = '%s' )", GetVehicleComponentInSlot(vehicleid, 10), GetVehicleComponentInSlot(vehicleid, 11), GetVehicleComponentInSlot(vehicleid, 12), GetVehicleComponentInSlot(vehicleid, 13), GetPlayerNameEx(playerid));
			mysql_query(query);
			
      		if(atsijungia == true)
	        {
	        	DestroyVehicle(vehicleid);
			}
			printf("Žaidėjo transporto saugojimas užtruko %d ms", GetTickCount() - GTCount);
		}
	}
} 

MYSQL užkraunam:

stock LoadPlayerVehicle(playerid){
    new query[74];
format(query, sizeof(query), "SELECT * FROM `vehicle` WHERE `Savininkas` = '%s'", GetPlayerNameEx(playerid));
mysql_query(query);
mysql_store_result();
if(mysql_retrieve_row())
{
new vModel,Float:vPos[4],color[2], result[256];
mysql_fetch_field_row(result, "Modelis"); vModel = strval(result);
mysql_fetch_field_row(result, "xPos"); vPos[0] = floatstr(result);
mysql_fetch_field_row(result, "yPos"); vPos[1] = floatstr(result);
mysql_fetch_field_row(result, "zPos"); vPos[2] = floatstr(result);
mysql_fetch_field_row(result, "cPos"); vPos[3] = floatstr(result);
mysql_fetch_field_row(result, "Spalva1"); color[0] = strval(result);
mysql_fetch_field_row(result, "Spalva2"); color[1] = strval(result);
zInfo[playerid][Transportas1] = _CreateVehicle(vModel, vPos[0], vPos[1], vPos[2]+1, vPos[3], color[0], color[1], -1);
ChangeVehicleColor(zInfo[playerid][Transportas1], color[0], color[1]);
mysql_fetch_field_row(result, "DegaluTipas"); tInfo[zInfo[playerid][Transportas1]][DegaluTipas] = strval(result);
mysql_fetch_field_row(result, "Radijas");
if(strval(result) > 0) tInfo[zInfo[playerid][Transportas1]][Radijas] = true;
else tInfo[zInfo[playerid][Transportas1]][Radijas] = false;
mysql_fetch_field_row(result, "Registruota");
if(strval(result) > 0) tInfo[zInfo[playerid][Transportas1]][Registruota] = true;
else tInfo[zInfo[playerid][Transportas1]][Registruota] = false;
mysql_fetch_field_row(result, "Technikine");
if(strval(result) > 0) tInfo[zInfo[playerid][Transportas1]][Technikine] = true;
else tInfo[zInfo[playerid][Transportas1]][Technikine] = false;
mysql_fetch_field_row(result, "Tranzitiniai");
format(tInfo[zInfo[playerid][Transportas1]][Tranzitiniai], 24, "%s", result);
mysql_fetch_field_row(result, "Raides");
format(tInfo[zInfo[playerid][Transportas1]][Raides], 24, "%s", result);
mysql_fetch_field_row(result, "Skaiciai");
format(tInfo[zInfo[playerid][Transportas1]][Skaiciai], 24, "%s", result);
mysql_fetch_field_row(result, "Degalai");
tInfo[zInfo[playerid][Transportas1]][Degalai] = strval(result);
mysql_fetch_field_row(result, "Rida");
tInfo[zInfo[playerid][Transportas1]][Rida] = floatstr(result);
mysql_fetch_field_row(result, "Gyvybes");
tInfo[zInfo[playerid][Transportas1]][vHeal] = floatstr(result);
mysql_fetch_field_row(result, "Savininkas");
format(tInfo[zInfo[playerid][Transportas1]][Savininkas], 24, "%s", result);


mysql_fetch_field_row(result, "PaintJob"); tInfo[zInfo[playerid][Transportas1]][Paintjob] = strval(result);




mysql_fetch_field_row(result, "mParduodamaKaina"); tInfo[zInfo[playerid][Transportas1]][mParduodamaKaina] = strval(result);
mysql_fetch_field_row(result, "MasinaParduodama"); tInfo[zInfo[playerid][Transportas1]][MasinaParduodama] = !!strval(result);


  for(new t = 0; t < 13; t ++)
{
format(result,sizeof(result),"Tuningas%d",t);
mysql_fetch_field_row(query, result);
tInfo[zInfo[playerid][Transportas1]][vTune][t] = strval(query);
     }
if(tInfo[zInfo[playerid][Transportas1]][Technikine])
{
new numeriz[24];
    format(numeriz, 24, "%s:%s", tInfo[zInfo[playerid][Transportas1]][Raides], tInfo[zInfo[playerid][Transportas1]][Skaiciai]);
SetVehicleNumberPlate(zInfo[playerid][Transportas1], numeriz);
}
else if(!tInfo[zInfo[playerid][Transportas1]][Technikine])
{
new numeriz[24];
format(numeriz, 24, "%s.%s", tInfo[zInfo[playerid][Transportas1]][Raides], tInfo[zInfo[playerid][Transportas1]][Skaiciai]);
SetVehicleNumberPlate(zInfo[playerid][Transportas1], numeriz);
}
if(!tInfo[zInfo[playerid][Transportas1]][Registruota])
{
   new tranzai[24];
   format(tranzai, 24, "%s", tInfo[zInfo[playerid][Transportas1]][Tranzitiniai]);
   SetVehicleNumberPlate(zInfo[playerid][Transportas1], tranzai);
}
tInfo[zInfo[playerid][Transportas1]][Uzraktas] = true;
tInfo[zInfo[playerid][Transportas1]][vOwned] = true;
zInfo[playerid][Transportas1] = zInfo[playerid][Transportas1];
SetVehicleToRespawn(zInfo[playerid][Transportas1]);
}
mysql_free_result();
    printf("%s Transportai užkrauti", GetPlayerNameEx(playerid));
}

logus peržiūrėjau išsaugo spalva juoda... odėl ko taip jeigu jinai buna kits spalvos?

Redaguota , nario Diimka
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Kokią spalvą mysql'e rodo? Jeigu juodą, t.y. 0, tikrink ar ji išvis nusistato. Naudok tam printf ir patikrink kokią spalvą išgauna. Taip sužinosi kurioje vietoje grybauja sistema.

 

P.S. Gali viską į vieną format sugrūst, nereikės 10 kartų query naudot.

Gali biškį aiškiau paiškinti?

tikrink ar ji išvis nusistato. Naudok tam printf ir patikrink kokią spalvą išgauna

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Gali biškį aiškiau paiškinti?

tikrink ar ji išvis nusistato. Naudok tam printf ir patikrink kokią spalvą išgauna

 

Prieš įrašydamas į mysql, naudok šitą:

https://wiki.sa-mp.com/wiki/Printf

 

Būtų kažkas panašaus į prinf("%d", tInfo[vehicleid][Spalva1]);

 

Taip sužinosi kokią spalvą išgauna. Consolej matysi atsakymą, jeigu bus 0, ar netokią, kokią nori - ieškok klaidos kitur, pvz. klaida gali būti tada, kai tu pakeiti automobilio spalvą. Nes čia viskas atrodo kaip ir gerai, todėl nemanau, kad būtent čia yra klaida.

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

Prieš įrašydamas į mysql, naudok šitą:

https://wiki.sa-mp.com/wiki/Printf

 

Būtų kažkas panašaus į prinf("%d", tInfo[vehicleid][Spalva1]);

 

Taip sužinosi kokią spalvą išgauna. Consolej matysi atsakymą, jeigu bus 0, ar netokią, kokią nori - ieškok klaidos kitur, pvz. klaida gali būti tada, kai tu pakeiti automobilio spalvą. Nes čia viskas atrodo kaip ir gerai, todėl nemanau, kad būtent čia yra klaida.

[19:15:47] CMySQLHandler::Query(UPDATE `vehicle` SET `Savininkas`='Adminas_Adminas', `DegaluTipas`='0', `Degalai`='1000', `Spalva1`='0', `Spalva2`='0'  WHERE ( `Savininkas` = 'Adminas_Adminas' )) - Successfully executed.


[19:15:47] >> mysql_query( Connection handle: 1 )
Redaguota , nario Diimka
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

 

[19:15:47] CMySQLHandler::Query(UPDATE `vehicle` SET `Savininkas`='Adminas_Adminas', `DegaluTipas`='0', `Degalai`='1000', `Spalva1`='0', `Spalva2`='0'  WHERE ( `Savininkas` = 'Adminas_Adminas' )) - Successfully executed.


[19:15:47] >> mysql_query( Connection handle: 1 )

 

 

 

tInfo[vehicleid][Spalva1], tInfo[vehicleid][Spalva2] šitie neišsisaugo normaliai, kai pakeiti spalvą. Parodyk, kaip tu tą spalvą išsaugai.

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį


format(query, sizeof(query), "UPDATE `vehicle` SET `Savininkas`='%s', `DegaluTipas`='%i', `Degalai`='%i', `Spalva1`='%i', `Spalva2`='%i' WHERE ( `Savininkas` = '%s' )", tInfo[vehicleid][Savininkas], tInfo[vehicleid][DegaluTipas], tInfo[vehicleid][Degalai], tInfo[vehicleid][Spalva1], tInfo[vehicleid][Spalva2], GetPlayerNameEx(playerid));

mysql_query(query);

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
	format(query, sizeof(query), "UPDATE `vehicle` SET `Savininkas`='%s', `DegaluTipas`='%i', `Degalai`='%i', `Spalva1`='%i', `Spalva2`='%i'  WHERE ( `Savininkas` = '%s' )", tInfo[vehicleid][Savininkas], tInfo[vehicleid][DegaluTipas], tInfo[vehicleid][Degalai], tInfo[vehicleid][Spalva1], tInfo[vehicleid][Spalva2], GetPlayerNameEx(playerid));
			mysql_query(query);

 

:D Parodyk komandą, kuri pakeičia spalvą. TĄ KOMANDĄ KURIOJE TU PAKEITI ŠITĄ tInfo[vehicleid][Spalva1] ARBA ŠITĄ tInfo[vehicleid][Spalva2]

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

:D Parodyk komandą, kuri pakeičia spalvą. TĄ KOMANDĄ KURIOJE TU PAKEITI ŠITĄ tInfo[vehicleid][Spalva1] ARBA ŠITĄ tInfo[vehicleid][Spalva2]

Mechanikams padaryta jog parašius /darbas mestu gui lentele ir paspaustu spalva ir pasirinktu spalva:

 

        	ChangeVehicleColor(vehid, MechSpalva[playerid][0], MechSpalva[playerid][1]);
        	return CarmodDialog(playerid);
Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

 

Mechanikams padaryta jog parašius /darbas mestu gui lentele ir paspaustu spalva ir pasirinktu spalva:

 

        	ChangeVehicleColor(vehid, MechSpalva[playerid][0], MechSpalva[playerid][1]);
        	return CarmodDialog(playerid);

 

    ChangeVehicleColor(vehid, tInfo[vehid][Spalva1tInfo[vehid][Spalva1);

    return CarmodDialog(playerid);

 

Kažkas panašaus.

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį

 

Gal žinai dėl ko dar ir šita meta?

 

C:\Users\Martynas\Desktop\SNG.LT\gamemodes\gm.pwn(652) : warning 201: redefinition of constant/macro (symbol "MAX_HOUSES")
#define MAX_HOUSES 400

 

Šitas define jau yra, ištrink jį. Palik, kad tik vienas define MAX_HOUSES butu.

Nuoroda iki šio pranešimo
Dalintis per kitą puslapį
Svečias
Ši tema yra užrakinta.
  • Šiame puslapyje naršo:   0 nariai

    Nėra registruotų narių peržiūrinčių šį forumą.



×
×
  • Sukurti naują...