Jump to content
  • 0

Problema spawnare vehicule


LeetRomania

Question

Salutare, doresc cand un player se conecteaza pe server, masinile personale sa i se spawneze. 

Eu am ceva de genul cand se conecteaza:

if(playerVariables[playerid][pCarKey1] != 0) SpawnPlayerCar(playerVariables[playerid][pCarKey1]);

iar functia SpawnPlayerCar este asta:

stock SpawnPlayerCar(dbid) 
{
	if(dbid != 0)
	{
		new car = CreateVehicle(carVariables[dbid][cModel], carVariables[dbid][cPos][0], carVariables[dbid][cPos][1], carVariables[dbid][cPos][2], carVariables[dbid][cRotate], carVariables[dbid][cColour][0], carVariables[dbid][cColour][1], -1);		    	
		vPersonal[car] = dbid;	
	}	
	return 1;
}

Asta e ce am facut eu.. Problema este ca imi recunoaste masina, cand intru in ea zice ca este a mea.. doar ca o spawneaza undeva in camp, culorile nu sunt cele din baza de date. Aveti idee ce are? 

Edited by LeetRomania
Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0
14 minutes ago, WopsS said:

Fai un debug pentru carVariables[dbid][cPos][0], carVariables[dbid][cPos][1], carVariables[dbid][cPos][2], carVariables[dbid][cRotate] (adica sa afisezi ce valori au).

Sper ca am facut bine. Nu stiu exact daca asa se face un debug.

printf("%f\n%f\n%f\n%f\n", carVariables[dbid][cPos][0], carVariables[dbid][cPos][1], carVariables[dbid][cPos][2], carVariables[dbid][cRotate]);

Cand m-am conectat pe sv, in consola apare asa

1076.642456
1076.642456
1076.642456
0.313924

Link to comment
Share on other sites

  • 0
2 minutes ago, LeetRomania said:

Sper ca am facut bine. Nu stiu exact daca asa se face un debug.

printf("%f\n%f\n%f\n%f\n", carVariables[dbid][cPos][0], carVariables[dbid][cPos][1], carVariables[dbid][cPos][2], carVariables[dbid][cRotate]);

Cand m-am conectat pe sv, in consola apare asa

1076.642456
1076.642456
1076.642456
0.313924

Coordonatele de pe camp :))

 

242086.png

Link to comment
Share on other sites

  • 0
12 minutes ago, WopsS said:

Arata-ne codul care incarca vehiculele cand te conectezi pe server.

if(playerVariables[playerid][pCarKey1] != 0) SpawnPlayerCar(playerVariables[playerid][pCarKey1]);

asta il folosesc ca sa spawneze masina.. 

Link to comment
Share on other sites

  • 0
Just now, WopsS said:

Eu ma refer cum incarci vehiculul din baza de date, nu cum il spawnezi in joc.

public IniVehicule()
{
	new Cache: result15 = mysql_query (handle, "SELECT * FROM `vehicule` ORDER BY `vehicule`.`vID` ASC");
	
 	for (new i, j = cache_get_row_count ( ); i != j; ++i )
	{
		new x;

		cache_get_field_content(i, "vID", result); x = strval(result);
		cache_get_field_content(i, "vModel", result); carVariables[x][cModel] = strval(result);
		cache_get_field_content(i, "vOwnerID", result); carVariables[x][cOwnerID] = strval(result);
		cache_get_field_content(i, "vKM", result); carVariables[x][cKM] = strval(result);
		cache_get_field_content(i, "vDays", result); carVariables[x][cDays] = strval(result);
		cache_get_field_content(i, "vLock", result); carVariables[x][cLock] = strval(result);
		cache_get_field_content(i, "vText", result); format(carVariables[x][cText], 64, result);
		cache_get_field_content(i, "vPosX", result); carVariables[x][cPos][0] = floatstr(result);
		cache_get_field_content(i, "vPosY", result); carVariables[x][cPos][1] = floatstr(result);
		cache_get_field_content(i, "vPosZ", result); carVariables[x][cPos][2] = floatstr(result);
		cache_get_field_content(i, "vPosAngle", result); carVariables[x][cRotate] = floatstr(result);
		cache_get_field_content(i, "vOwnerName", result); format(carVariables[x][cOwner], MAX_PLAYER_NAME, result);
		cache_get_field_content(i, "vPlate", result); format(carVariables[x][cPlate], 10, result);
		cache_get_field_content(i, "vColour1", result); carVariables[x][cColour][0] = strval(result);
		cache_get_field_content(i, "vColour2", result); carVariables[x][cColour][1] = strval(result);
		cache_get_field_content(i, "vVIP", result); carVariables[x][cVIP] = strval(result);

		masini = x;

		systemVariables[PersonalCars]++;
	}
	printf("[script] %d personal cars loaded.", systemVariables[PersonalCars]);
	cache_delete(result15);
	return 1;
}

 

Link to comment
Share on other sites

  • 0
2 minutes ago, WopsS said:

In loc de


cache_get_field_content(i, "vPosX", result); carVariables[x][cPos][0] = floatstr(result);

poti sa folosesti cache_get_field_content_float. Pune o conditie sa afisezi coordonatele cand variabila x este egala cu ID-ul masinii tale.

Am inlocuit la toate care aveau float

cache_get_field_content_float(i, "vPosX", result); carVariables[x][cPos][0] = floatstr(result);
		cache_get_field_content_float(i, "vPosY", result); carVariables[x][cPos][1] = floatstr(result);
		cache_get_field_content_float(i, "vPosZ", result); carVariables[x][cPos][2] = floatstr(result);
		cache_get_field_content_float(i, "vPosAngle", result); carVariables[x][cRotate] = floatstr(result);

unde ar trebui sa pun conditia aia? 

Link to comment
Share on other sites

  • 0
3 minutes ago, WopsS said:

Nu iti mai trebuie


carVariables[x][cPos][0] = floatstr(result);

Trebuie sa o pui dupa


masini = x;

 

Am facut asa:

		cache_get_field_content(i, "vID", result); x = strval(result);
		masini = x;
		cache_get_field_content(i, "vModel", result); carVariables[x][cModel] = strval(result);
		cache_get_field_content(i, "vOwnerID", result); carVariables[x][cOwnerID] = strval(result);
		cache_get_field_content(i, "vKM", result); carVariables[x][cKM] = strval(result);
		cache_get_field_content(i, "vDays", result); carVariables[x][cDays] = strval(result);
		cache_get_field_content(i, "vLock", result); carVariables[x][cLock] = strval(result);
		cache_get_field_content(i, "vText", result); format(carVariables[x][cText], 64, result);
		cache_get_field_content(i, "vPosX", result); carVariables[x][cPos][0] = floatstr(result);
		cache_get_field_content(i, "vPosY", result); carVariables[x][cPos][1] = floatstr(result);
		cache_get_field_content(i, "vPosZ", result); carVariables[x][cPos][2] = floatstr(result);
		cache_get_field_content(i, "vPosAngle", result); carVariables[x][cRotate] = floatstr(result);
		cache_get_field_content(i, "vOwnerName", result); format(carVariables[x][cOwner], MAX_PLAYER_NAME, result);
		cache_get_field_content(i, "vPlate", result); format(carVariables[x][cPlate], 10, result);
		cache_get_field_content(i, "vColour1", result); carVariables[x][cColour][0] = strval(result);
		cache_get_field_content(i, "vColour2", result); carVariables[x][cColour][1] = strval(result);
		cache_get_field_content(i, "vVIP", result); carVariables[x][cVIP] = strval(result);

Am dat rr sa testez.. si este la fel.. tot in camp.

Edited by LeetRomania
Link to comment
Share on other sites

  • 0
10 minutes ago, WopsS said:

Eu zic sa afisezi positia masinii nu sa schimbi ordinea codului. Adica sa verifici daca x este egal cu ID-ul masinii personale din baza de date, dupa sa afisezi pozitia incarcata si sa ne arati ce valoare au.

Poti sa imi explici mai clar.. Scuze, dar chiar nu inteleg ce trebuie sa fac.. :( 
 

Link to comment
Share on other sites

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

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more details you can also review our Terms of Use and Privacy Policy.