Skripta koju koristim:Izvorna je UP
Detaljan opis problema: Napravio sam sistem garaza,zanime me kako da napravim da netko i tom jednom interieru vidi samo svoje vozilo koje je parkirano tamo.Znaci htio bih da vidim samo svoje vozilo u interijeru
Dio skripte:Recite sta treba ///
Neke slike/video za lakse dobivanje pomoci(neobavezno): ///
Postavis sebi odredjeni VirtualWorld i vozilo u istom tom VirtualWorldu preko http://wiki.sa-mp.com/wiki/SetVehicleVirtualWorld
Pokuso sam ovako al opet mi ne ucita moje vozilo.
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid),gInfo[i][UID]);
SetPlayerVirtualWorld(playerid,gInfo[i][UID]);
Pa pazi predpostavljam da znas sta radi funkcija "GetPlayerVehicleID" ona proverava koji ti je ID vozila samo u koliko je igrac u vozilu. E sada ako ti nisi u vozilu onda to sto si mi sad napisao nema ulogu uopste.. Stoga ti bi trebao da sredis u fajlovima da svako tvoje vozilo ima VirtualWorld ako to vec nemas, i onda sredis te garaze da kada igrac udje sa vozilom u garazu da mu se setuje odredjeni VirtualWorld. A tamo gde ucitavas vozilo jednostavno mozes postaviti nesto tipa ovo je samo primer.
for(new c = 1; c < sizeof(CarInfo); c++)
{
SetVehicleVirtualWorld(c, CarInfo[c][cVirWorld]);
}
I ovim si sredio da vozila koja imaju odredjeni VirtualWorld ovde im se to setuje, ali takodje trebas srediti i kada ulazis u garazu tipa ako ulazis na /enter da se onda sredi ono sto si mi sad napiso...
Pokusaj tako pa vidi trebalo bi da radi nema tu nesto mnogo pametovanja.
Sad ucitava ali sva vozila imam funkciji za ulaz preko dialoga...
Dodao sam ovako ako mi mozes ispravit sta je krivo
SetVehicleVirtualWorld(i, VoziloInfo[i][vVirWorld]);
SetPlayerVirtualWorld(playerid,VoziloInfo[i][vVirWorld]);
Ulaz u garazu preko tog dialoga bi trebao ovako da ti izgleda.
Samo pazi ako nemas za garaze VirtualWorld onda ga moras napraviti i onda jednostavno na ovakav slican nacin stavljas VirtualWorld na ID koji je u garazi da tako kazemo kada igrac ulazi u nju preko tog dialoga.
if (IsPlayerInAnyVehicle(playerid))
{
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), GarazaInfo[i][vVirWorld]);
SetPlayerVirtualWorld(playerid, GarazaInfo[i][vVirWorld]);
}
else
{
SetPlayerVirtualWorld(playerid, GarazaInfo[i][vVirWorld]);
}
Eto ovako je tocno napravljeno kao sto si rekao i onda ucita sva vozila.
slika: http://www.igreklik.com/slike/viewer.php?file=66631276125217151076.png&file_imgur=fWxcO3H.png
if(!IsPlayerInAnyVehicle(playerid))
{
SetVehicleVirtualWorld(GetPlayerVehicleID(playerid), gInfo[i][gWorld]);
SetPlayerVirtualWorld(playerid, gInfo[i][gWorld]);
SetPlayerInterior(playerid,0);
SetPlayerPos(playerid,1643.839843,-1514.819580,13.566620);
ZadnjaGaraza[playerid] = i;
}
else
{
LinkVehicleToInterior(vid,0);
SetPlayerVirtualWorld(playerid, gInfo[i][gWorld]);
SetPlayerInterior(playerid,0);
SetVehiclePos(GetPlayerVehicleID(playerid),1643.839843,-1514.819580,13.566620);
ZadnjaGaraza[playerid] = i;
}
return 1;
}
Cekaj sta je sad jos problem ?
Problem je u tome sto ucitava sva vozila dok udem u garazu...
Pa jesi stavio VirtualWorld za sva vozila isti ?
Jest to je problem sad vidim nekuzim se bas u cos nisam ga radio niti editovo tako da ono...
Ako mi mozes napisat tocno kak bi islo meni je na svakom automobilu bilo virtualworld na 0.0000
Cekaj sto 0.0000 koristi float ? Nemoj float koristiti nema potrebe za ovo njega koristi za kordinate... Inace jednostavno u svakoj garazi postavi VirtualWorld u fajlu na sam ID garaze recimo i prob ti je resen svaka garaza ce imati svoj VirtualWorld i to je to
Cek jel treba postavit i na garazu i na vozilu virtual world?
Postavi sam na garazu virworld al mi nije jasno kak da postavim taj virworld da je
na drugoj garazi i drugi virworld to me jedino muci...
Pa jednostavno napravis za svaki fajl tih garaza poseban VirtualWorld tipa ako imas fajl 1 stavis VirtualWorld u njim na 1 pa onda fajl 2 stavis VirtualWorld u fajlu na 2 itd... A ono postavljanje i sve oko toga vec imas objasnio sam ti...
Napravio sam vw za garazu i sve radi na isti nacin sam probao i za auto ali se je tu stvorio problem.
Znaci kad se kupi vozilo svaki put vw ispadne 69,a postavljeno je da ispadne kao id vozila...
Ovako je postavljeno dok kupis auto:
VoziloInfo[i][vVirWorld] = vID;
Da vidim kako si ovo definisao
vID
Neznam na sta tocno mislis to vID je iz cos-a tj. id vozila.
To je postavljeno dok kupis auto i onda bi trebao doci virworld, a meni ne dolazi virworld to je problem.
VoziloInfo[i][vVirWorld] = vID;
Pazi sta ceti VirtualWorld kada kupis vozilo ? To jednostavno kada ga kupis treba VirtualWorld na 0 da stavis jer nema potrebe da ti auto ima VirtualWorld tek tako :D
Ovo sto si ti zamislio je jednostavno ali se to tebi sad iskomplikovalo pogle sta smo poruka bzv otkucali :D
Znaci jednostavno treba da imas VirtualWorld u garazi ali za svaku garazu poseban VirtualWorld i onda jednostavno kada udjes vozilom u tu garazu e tek onda setuj VirtualWorld u vozilo i to je to brt a kad izadjes iz garaze onda ga setujes na 0