Tworze system salonu na klawisze no i jak nacisn? raz prawy klawisz to mi tworzy 2 pojazdy. Jak zrobi? zmienn? kt?ra bd. odpowiedzialna za tworzenie 1 pojazdu? W dodatku nie mam poj?cia jak zrobi? aby z tablicy wybiera?o auta po kolei? Potrzebuje jakiej? p?tli? Tablica wygl?da tak:
A tutaj kod odpowiedzialny w?a?nie za tworzenie pojazdu:
Jak chcesz robi? tworzenie pojazdu na klawisz, to r?b to w callbacku OnPlayerKeyStateChange - funkcja GetPlayerKeys jako? u mnie zawsze bugowa?a.
Co do wybierania pojazd?w po kolei z tablicy robisz normaln? p?tl?, p??niej tylko w odpowiedni argument wpisujesz warto?? z p?tli
Wyprintuje odpowiednio id pojazdu: 401, 410, 412, 419 itd. Jak chcesz pobra? inne dane zamiast 1 wpisujesz inny argument z tablicy (2 - cena pojazdu, 3 - nazwa pojazdu etc.)
Po za tym jest jeden problem poniewa? jak zrobi? CreateVehicle(TooDoorsCars[i], ...);[/code] To mi stworzy wszystkie pojazdy z tablic. Testowa?em na konsoli. Raz nacisn??em to wszystkie ID mi si? wy?wietli?y:
Jak w p?tli dasz tworzenie pojazdu, to utworzy wszystkie - oczywiste. Musisz z p?tli sobie wybra? jaki? numerek, nie wiem jakim sposobem to robisz - tworzysz zmienn? i w niej wybierasz jak?? cyfr? z p?tli
No w?a?nie nie mam ?adnego sposobu, chcia?em zrobi? co? takiego ?eby p?tla i zwi?ksza?a si? co jeden czyli np. i = 0 to wtedy tworzy pojazd 0 i potem i++ zwi?ksza si? no i wtedy: i = 1. Z ka?dym naci?ni?ciem klawisza "i" si? podnosi o 1. Nie mam poj?cia w?a?nie jak to zrobi?. My?la?em o zrobieniu ze struktur? if ale co? mi to nie wychodzi?o.
[ Dodano: 2012-11-17, 13:40 ]
Gdy gracz wpisze komende /cars, zmienia mu si? pozycja kamery itd. No i gracz wybiera dwu-drzwiowe to mu si? spawnuje przed kamer? pojazd (w innym vw) i potem jak naci?nie przycisk w prawo to ten pojazd si? usuwa i tworzy si? nast?pny z tablicy. Z u?yciem tego:
Dzi?ki CombaT, trzeba tylko logicznie pomy?le?. Ja wymy?li?em takie co?:
I si? spisuje .
No, po testach nie?le, spisuje si? . Jednak?e teraz jak zrobi? DestroyVehicle? Bo ze zmian? pojazdu stary zostaje i tworzy nowy . Timmer albo co? takiego?
?le mnie rozumiesz. Ja to mam tak, ?e po naci?ni?ciu klawisza tworzy si? kolejny pojazd z tego: No i jak ustawi?em to w?a?nie zero reakcji ze strony skryptu. To mo?e timera tu ustawi? kt?ry by np. za 1 sek. usun?? pojazd?
Wszystko pi?knie ?miga ale jest jeden problem. Mianowicie nadpisuje dane innemu graczu przez tak? o to funkcje: W takim sensie ?e jak gracz wejdzie na serwa kupi 2 pojazdy wyjdzie, wejdzie nowy gracz co nie mia? konta wyjdzie to w pliku ma Cars = 2 a powinie mie? 0. W czym tkwi problem?
No w?a?nie ustawi?bym tak jednak?e jest taki problem, ?e to odpowiada za to ile gracz ju? kupi? pojazd?w i je?eli to wi?cej kupi? nie mo?e. Dodam, ?e ustawia mi po wyj?ciu z serwa na ilo?? kt?ry gracz wcze?niej kupi?.
Daje ca?y kod:
Kod:
if(dialogid == BUYC)
{
if(response == 1) return SendClientMessage(playerid, COLOR_RED, "» Anulowa?e?(a?) zakup tego pojazdu!");
{
if(PlayerStats[playerid][Car] >= MAX_USERCAR && PlayerStats[playerid][ARank] == 0 || PlayerStats[playerid][Car] >= MAX_VIPCAR && PlayerStats[playerid][ARank] == 1)
{
SendClientMessage(playerid, COLOR_RED, "» Posiadasz ju? max pojazd?w!");
}
else if(PlayerStats[playerid][Car] < MAX_USERCAR || PlayerStats[playerid][Car] < MAX_VIPCAR || PlayerStats[playerid][Car] == 0)
{
if(GetPlayerMoney(playerid) < SportsCars[Vehicle[playerid]][1]) return SendClientMessage(playerid, COLOR_RED, "» Przykro mi ale nie sta? Ci? na ten pojazd!");
{
new CarFile[35];
for(new i = 0; i < MAX_VEHICLES; i++)
{
format(CarFile,sizeof (CarFile), MODERN_VEHICLES, i);
if(DOF2_FileExists(CarFile))
{
continue;
}
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