Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2013-01-11, 20:18


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Chc? zrobi? tablice kt?ra b?dzie przechowywa?a dane czy pojazd jest zespawnowany czy te? nie. Mo?e mi kto? z tym pom?c? Chcia?bym to zrobi? przy pomocy UID. Korzystam z MySQL, dane odczytuje w taki spos?b:

Kod:


format(str, sizeof(str), "SELECT * FROM `Vehicles` WHERE `Owner` = '%s' AND `UID` = '%d'", PlayerName(playerid), PlayerStats[playerid][CarFirst]);
mysql_query(str);
mysql_store_result();
mysql_fetch_row_format(str, "|");
sscanf(str, "p<|>ds[25]s[15]ds[32]ddffff", vUId, vOwner, vName, vModel, vPlate, vColor[0], vColor[1], vPos[0], vPos[1], vPos[2], vPos[3]);


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-11, 22:17


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Kod:

new vehicleuid[1000] = -1;


Jak tworzysz pojazd

Kod:

vehicleuid[...] = ...


Warunek

Kod:

if(vehicleuid[...] == -1) //nie jest zrespawnowany
else //jest zrespawnowany


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-15, 13:22


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

No ok, rozumiem ale jak zrobi? to UID na max pojazd?w, pobieram do zmiennej vehicleuid i wtedy vehicleuid[vehicleuid+1]?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-15, 14:05


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Nie rozumiem, chcesz zrobi?, ?eby ka?dy tworzony pojazd mia? UID?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-20, 22:59


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Refresh: Nadal nie umiem si? z tym problemem upora?. Nie wiem w jaki spos?b to zrobi?, my?l?, my?l? i nie umiem wymy?li? na jakiej zasadzie to dzia?a. Chc? zrobi? co? takiego ?e mam t? zmienn? na max pojazd?w no i chc? przyczepi? tablic? z vModel.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-20, 23:11


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Ja nie wiem o co dok?adnie chodzi, bo je?li zwyk?e UID pojazdu, to ?adna filozofia.

Kod:

new cars[20] = -1, privcars;

cars[privcars] = AddStaticVehicle(...);
privcars++;


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-20, 23:21


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Chodzi o tak? zmienn? VehicleStats[vVehicleid][vSpawned] i to vVehicleid na MAX POJAZD?W po to aby si? nie miesza?y dane kt?re b?d? m?g? sobie przypisa? do pojazdu. Z MAX_PLAYERS jest ?atwo bo korzystam praktycznie zawsze z playerid np. PlayerStats[playerid][Skin].

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-21, 12:04


Redox1133

Fan PAWN






Wiek: 31
Na forum: 6771 dni
Posty: 63

Piwa: 720

Respekt: 67

vVehicleid to jest id pojazdu, wi?c mo?esz je pobra? funkcj? GetPlayerVehicleID (je?li gracz jest w tym poje?dzie).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-21, 13:06


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Nie r?b na enumach, bo jest to bardziej rozbudowana tablica ni? zwyk?a i pobiera wi?cej pami?ci RAM, ale jak chcesz.

Kod:

enum carsInfo
{
CarID,
SPawned
}

new cars[1000][carsInfo] = -1, privcars;

cars[privcars][CarID] = AddStaticVehicle(...);
cars[cars[privcars][CarID]][Spawned] = 1; // utworzony samochod oznaczamy jako zespawnowany
privcars++;


Co? na wz?r tego

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-21, 13:15


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Oczywi?cie w enumach b?d? mia? wi?cej funkcji. Mo?esz r?wnie? mi poda? w jaki spos?b najlepiej, optymalnie to zrobi?.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-21, 14:12


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Najlepiej to robi? na zwyk?ych tablicach, wtedy nie s? one tak rozbudowane i pobieraj? mniej pami?ci.

Kod:

new spawned[1000] = -1, carid[1000] = -1, privcars;

carid[privcars] = AddStaticVehicle(...);
spawned[carid[privcars]] = 1; // utworzony samochod oznaczamy jako zespawnowany
privcars++;


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-23, 17:00


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Okey, dalej sobie poradz?. Ostatnie pytanko: Jak to jest z danymi gracza? Lepiej je przechowywa? w tablicy czy enumatorze?

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-23, 18:23


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Enumerator to jest to samo co tablica, tylko ma bardziej rozwini?t? struktur? podczas jej tworzenia. Ja u?ywam zwyk?ych tablic.

Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-26, 15:47


Wafelowski







Wiek: 29
Na forum: 5348 dni
Posty: 428

Piwa: 100

Respekt: 232
Respekt: 232Respekt: 232

Dobra, teraz tak. Stworzy?em tablice do kt?rych ma by? zapisana pozycja X Y Z A no i s?k w tym, ?e jak p??niej z niej korzystam to otrzymuje wynik X 0.0 Y 0.0 Z 0.0. Tablice s? tworzone na samej g?rze mapy. Jest to do systemu dom?w. A tak wygl?da kod:

Kod:


mysql_fetch_row(Query, "|");
sscanf(Query, "p<|>dds[24]s[30]ddffffffff", House, hActive[House], hOwner[House], hName[House], hIntek[House], hPrice[House], hEnterX[House], hEnterY[House], hEnterZ[House], hEnterA[House], hExitX[House], hExitY[House], hExitZ[House], hExitA[House]);
printf(Query);

printf("X: %.2f Y: %.2f Z: %.2f", hEnterX[House], hEnterY[House], hEnterZ[House]);

CreateDynamicPickup(1273, 2, hEnterX[House], hEnterY[House], hEnterZ[House], -1, -1, -1, 50.0);
CreateDynamicMapIconEx(hEnterX[House], hEnterY[House], hEnterZ[House], 31, -1, MAPICON_LOCAL, 50.0);

SetPlayerPos(playerid, hEnterX[House], hEnterY[House], hEnterZ[House]);

hActive[House] = 1;


Postaw piwo autorowi tego posta
 

 
Wysłany: 2013-01-26, 16:08


Combacior







Wiek: 29
Na forum: 5796 dni
Posty: 1516

Piwa: 2161

Respekt: 1060
Respekt: 1060

Ostrzeżeń: 20%
Poka? zapytanie. W bazie danych masz zapisane te pozycje? Poka? co masz w logach po tym

Kod:

printf(Query);


Postaw piwo autorowi tego posta
 

 
Tagi: pojazdy
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » PAWN Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku