Jump to content
  • 0

pomoc Zase to MySQL..


Stellet

Dotaz

Zdravím, udělal jsem system na kupování aut, jenže ono když jsem přidal na ukládání jednu věc, tak mi to nevytvoří auto do databáze a já nevím proč..

VytvorHraciVozidlo(playerid, modelid, Float:x, Float:y, Float:z, Float:a)
{
	for(new i=0; i<sizeof(Vozidlo); i++)
	{
		if(Player[playerid][Platba] == 0)
		{
		    new plate[20];

		    format(plate, 20, "LV%s%i", IntToHex(100+i), random(201));
		    if(Vozidlo[i][id_x] != 0) continue;
			Vozidlo[i][majitel]=Player[playerid][ID];
			Vozidlo[i][c_x]=x;
			Vozidlo[i][c_y]=y;
			Vozidlo[i][c_z]=z;
			Vozidlo[i][c_a]=a;
			Vozidlo[i][model]=modelid;
			Vozidlo[i][spz]=plate;
		    Vozidlo[i][clvm]=0;
		    Vozidlo[i][id_x] = CreateVehicle(modelid, x, y, z, a, random(290), random(290), -1, 0);
			SetVehicleNumberPlate(Vozidlo[i][id_x], Vozidlo[i][spz]);
			UlozitAutoDoDatabaze(playerid, i);
		    return 1;
		}
		if(Player[playerid][Platba] == 1)
		{
		    new plate[20];

		    format(plate, 20, "LV%s%i", IntToHex(100+i), random(201));
		    if(Vozidlo[i][id_x] != 0) continue;
			Vozidlo[i][majitel]=Player[playerid][ID];
			Vozidlo[i][c_x]=x;
			Vozidlo[i][c_y]=y;
			Vozidlo[i][c_z]=z;
			Vozidlo[i][c_a]=a;
			Vozidlo[i][model]=modelid;
			Vozidlo[i][spz]=plate;
		    Vozidlo[i][clvm]=1;
		    Vozidlo[i][id_x] = CreateVehicle(modelid, x, y, z, a, random(290), random(290), -1, 0);
			SetVehicleNumberPlate(Vozidlo[i][id_x], Vozidlo[i][spz]);
			UlozitAutoDoDatabaze(playerid, i);
		    return 1;
		}
		return 1;
	}
	return 1;
}

A tady do té databaze..

UlozitAutoDoDatabaze(playerid, vehicleid)
{
	new query[128];
	format(query, sizeof(query), "INSERT INTO vozidla (majitel, model, clvm, barvaa, barvab, x, y, z, a) VALUES ('%i', '%i', '%i', '%i', '%i', '%f', '%f', '%f', '%f')",
		Player[playerid][ID],
		Vozidlo[vehicleid][model],
		Vozidlo[vehicleid][clvm],
		Vozidlo[vehicleid][barvaa],
		Vozidlo[vehicleid][barvab],
		Vozidlo[vehicleid][c_x],
		Vozidlo[vehicleid][c_y],
		Vozidlo[vehicleid][c_z],
		Vozidlo[vehicleid][c_a]);
	mysql_function_query(dbhandle, query, true, "VozidloUlozenoDoDatabaze", "i", vehicleid);
	return 1;
}
Edited by Sc0t
Link to comment
Share on other sites

10 odpovědí na tuto otázku

Recommended Posts

  • 0

Myslím že ti to musí házet i error, protože query pole máš moc malý.

INSERT INTO vozidla (majitel, model, clvm, barvaa, barvab, x, y, z, a) VALUES ('%i', '%i', '%i', '%i', '%i', '%f', '%f', '%f', '%f'

máš více než 128 znaků

Link to comment
Share on other sites

  • 0

Zase mi to neukládá do databáze a nevím proč.. query mám myslím že až moc velký..

CMD:vytvoritfvozidlo(playerid, params[])
{
	new Float:fvx,
	    Float:fvy,
	    Float:fvz,
	    Float:fva,
	    barvaa,
	    barvab,
	    sireny,
	    frakceid,
	    fmodel
	    ;
	if(Player[playerid][Admin] < 5) return Error(playerid);
	else if(sscanf(params, "iiiii", fmodel, frakceid, barvaa, barvab, sireny)) return Ussage(playerid, "/vytvoritfvozidlo [model] [id frakce] [barva1] [barva2] [sireény (0/1)]");

	GetPlayerPos(playerid, fvx, fvy, fvz);
	GetPlayerFacingAngle(playerid, fva);
	new id=getFreeFVozidloID();
	FVozidlo[id][fv_x]=fvx;
	FVozidlo[id][fv_y]=fvy;
	FVozidlo[id][fv_z]=fvz;
	FVozidlo[id][fv_a]=fva;
	FVozidlo[id][fv_barva1]=barvaa;
	FVozidlo[id][fv_barva2]=barvab;
	FVozidlo[id][fv_frakce]=frakceid;
	FVozidlo[id][fv_siren]=sireny;
	FVozidlo[id][fv_model]=fmodel;
	
	FVozidlo[id][fv_veh]=CreateVehicle(fmodel, fvx, fvy, fvz, fva, barvaa, barvab, -1, sireny);
	new query[5000];
	format(query, sizeof(query),
	    "INSERT INTO fvozidla (fv_model, fv_x, fv_y, fv_z, fv_a, fv_barvaa, fvbarvab, fv_frakceid, fv_siren) VALUES ('%i', '%f', '%f', '%f', '%f', '%i', '%i', '%i', '%i')",
	    fmodel,
		fvx,
		fvy,
		fvz,
		fva,
		barvaa,
		barvab,
		frakceid,
		sireny);
    mysql_function_query(dbhandle, query, true, "OnFVozidloCreated", "i", id);
	return 1;
}
Link to comment
Share on other sites

  • 0

V onfvozidlocreated mám:

public OnFVozidloCreated(id)
{
	FVozidlo[id][fv_db_id] = cache_insert_id();
}

//Edit: Když dám příkaz např. /vytvoritfvozidlo 596 1 0 1 1

Tak mi to napíše 'Unknow Command' ale auto to vytvoří.

Edited by Sc0t
Link to comment
Share on other sites

  • 0

Už jenom tohle

INSERT INTO vozidla (majitel, model, clvm, barvaa, barvab, x, y, z, a) VALUES ('%i', '%i', '%i', '%i', '%i', '%f', '%f', '%f', '%f')

má 132 znaků a ty sis vytvořil jen 128, takže to bude minimálně problém.

Já teď ale řeším "fvozidla" né "vozidla"

Zkusil jsem vyprintovat v OnFVozidloCreated a prostě se nevyvolá ta funkce "OnFVozidloCreated" a netuším proč.

Edited by Sc0t
Link to comment
Share on other sites

  • 0
  • Globální moderátor

Zkus vypsat návratovou hodnotu funkce mysql_function_query

 

A při nejhorším zkus:

 

mysql_query(query);

FVozidlo[id][fv_db_id] = mysql_insert_id();

Link to comment
Share on other sites

Guest
This topic is now closed to further replies.
×
×
  • Create New...