Skripta koju koristim: GTA RP
Detaljan opis problema: Napravio sam tri biznisa 24/7 i sva tri imaju isti enterijer e sad kad se udje npr u pravi i izadje se onda se stvori ispred treceg, kako da odvojim enterijere da bude isti enterijer ali odvojen?
Dio skripte: Kazite sta treba
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
VirtualWorld postavi
Znaci udjes u prvi izadjes na treci 24/7
Citat: Leoon poslato Avgust 27, 2014, 00:01:35 PRE PODNE
Znaci udjes u prvi izadjes na treci 24/7
Bas tako i kad iz razlicitih igraci udju vidimo jedni druge unutra.
Pa svaki biz treba da ima razlican vw na svaki biznis sta kreiras zgolemuj vw za 1.
Citat: Schwarz poslato Avgust 27, 2014, 10:26:31 PRE PODNE
Pa svaki biz treba da ima razlican vw na svaki biznis sta kreiras zgolemuj vw za 1.
Probao sam ali opet je isto.
Daj komandu za kreiranje bizova i ulaz izlaz iz biznis.
Na ulazu u biznis stavis:
Za prvi 24/7:
SetPlayerVirtualWorld(playerid, 1);
SetPlayerPos(playerid, Bizz[idbiza][bIzlazX], Bizz[idbiza][bIzlazY], Bizz[idbiza][bIzlazZ]);
Za drugi 24/7:
SetPlayerVirtualWorld(playerid, 2);
SetPlayerPos(playerid, Bizz[idbiza][bIzlazX], Bizz[idbiza][bIzlazY], Bizz[idbiza][bIzlazZ]);
Za treci 24/7:
SetPlayerVirtualWorld(playerid, 3);
SetPlayerPos(playerid, Bizz[idbiza][bIzlazX], Bizz[idbiza][bIzlazY], Bizz[idbiza][bIzlazZ]);
A na izlazu za sva tri:
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, Bizz[idbiza][bUlazX], Bizz[idbiza][bUlazY], Bizz[idbiza][bUlazZ]);
I promjenis nazive varijable koji odgovaraju tvojoj skripti i mora raditi.
Nemozes tako jer bizovi se ucitavaju iz folder.
Evo ja kako ti imam reseno: Napravis jedan varijabla i postavi je u enum za biznise ja koristim bVW
Deo gde ulazis postavi ovo:
SetPlayerVirtualWorld(playerid, BizInfo[i][bVW]);
A kad izlazis:
SetPlayerVirtualWorld(playerid, 0);
U komandu za kreiranje biza dodaj ovo:
BizInfo[idBiz][bVW] = idBiz;
I tako postavja na svaki biz razlican VW po id biznisa znaci ID BIZ 1 VW BIZ = 1.
I tako taj varijabla ucitavas zacuvujes kao i ostale varijable za biznise.
Citat: Schwarz poslato Avgust 27, 2014, 12:30:17 POSLE PODNE
Nemozes tako jer bizovi se ucitavaju iz folder.
Evo ja kako ti imam reseno: Napravis jedan varijabla i postavi je u enum za biznise ja koristim bVW
Deo gde ulazis postavi ovo:
SetPlayerVirtualWorld(playerid, BizInfo[i][bVW]);
A kad izlazis:
SetPlayerVirtualWorld(playerid, 0);
U komandu za kreiranje biza dodaj ovo:
BizInfo[idBiz][bVW] = idBiz;
I tako postavja na svaki biz razlican VW po id biznisa znaci ID BIZ 1 VW BIZ = 1.
I tako taj varijabla ucitavas zacuvujes kao i ostale varijable za biznise.
Tako je i kod mene vw je jednak idu biznisa posto sam i ja tako isto ubacio tu varijablu u enum. Ali on nema te varijable pa bi vako mogao uraditi kao sto sam ja rekao u slucaju da ima samo ta tri biznisa. Ali svakako da je dosta bolji nacin da se napravi varijabla za vw.
Citat: Schwarz poslato Avgust 27, 2014, 12:30:17 POSLE PODNE
Nemozes tako jer bizovi se ucitavaju iz folder.
Evo ja kako ti imam reseno: Napravis jedan varijabla i postavi je u enum za biznise ja koristim bVW
Deo gde ulazis postavi ovo:
SetPlayerVirtualWorld(playerid, BizInfo[i][bVW]);
A kad izlazis:
SetPlayerVirtualWorld(playerid, 0);
U komandu za kreiranje biza dodaj ovo:
BizInfo[idBiz][bVW] = idBiz;
I tako postavja na svaki biz razlican VW po id biznisa znaci ID BIZ 1 VW BIZ = 1.
I tako taj varijabla ucitavas zacuvujes kao i ostale varijable za biznise.
Napravio sam tako i sad posto su mi biznisi ovako:
Prvi biz 24/7 je id 6
Drugi biz 24/7 je id 7
Treci biz 24/7 je id 11
kad udjem u id 6 ili 7 i izadjem stvorim se ispred id 11 ako kontas sta ocu da kazem.
Kad stavis ovo u gm kompajliraj ga pa na novo postavi biznise.
Citat: Schwarz poslato Avgust 27, 2014, 14:52:49 POSLE PODNE
Kad stavis ovo u gm kompajliraj ga pa na novo postavi biznise.
Znam brt sve sam uradio bez greske proverio sam vise puta.
A sto ne postavis ti fino lepo deo gde ulazas izlazis iz biznisa i komandu za kreiranje biznisa.
Citat: Schwarz poslato Avgust 27, 2014, 15:14:58 POSLE PODNE
A sto ne postavis ti fino lepo deo gde ulazas izlazis iz biznisa i komandu za kreiranje biznisa.
Ovo je kad ulazim:
for(new i = 0; i < sizeof(BizzInfo); i++)
{
if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
{
//printf("Found House :%d",i);
if(!IsACop(playerid) && i == 3)
{
SendClientMessage(playerid, COLOR_GREY, " Niste clan Milicije !");
return 1;
}
if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= BizzInfo[i][bEntranceCost])
{
if(PlayerInfo[playerid][pPbiskey] != i)
{
if(BizzInfo[i][bLocked] == 1)
{
GameTextForPlayer(playerid, "~r~Zatvoreno", 5000, 1);
return 1;
}
if(BizzInfo[i][bProducts] == 0)
{
GameTextForPlayer(playerid, "~r~Nemamo vise produkta", 5000, 1);
return 1;
}
ESAC_GivePlayerMoney(playerid,-BizzInfo[i][bEntranceCost]);
format(string, sizeof(string), "~r~-%d$~n~~w~kucajte /exit~n~da izadjete", BizzInfo[i][bEntranceCost]);
BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost];
ExtortionBiz(i, BizzInfo[i][bEntranceCost]);
BizzInfo[i][bProducts]--;
OnPropUpdate();
UpdateProperty3DTextLabels(2);
SacuvajIgraca(playerid);
GameTextForPlayer(playerid, string, 5000, 3);
}
SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
SetPlayerVirtualWorld(playerid, BizzInfo[i][bVirWorld]);
SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
PlayerInfo[playerid][pLocal] = i+99;
new dood[MAX_PLAYER_NAME];
GetPlayerName(playerid, dood, sizeof(dood));
format(string, sizeof(string), "%s je platio %d$ da bi usao u biznis %d", dood, BizzInfo[i][bEntranceCost], i);
printf("%s", string);
PayLog(string);
//PlayerInfo[playerid][pLocal] = i;
}
else
{
GameTextForPlayer(playerid, "~r~Nemate dovoljno novca", 5000, 1);
}
}
}
Ovo je kad izlazim:
for(new i = 0; i < sizeof(BizzInfo); i++)
{
//printf("Bizz :%d",i);
if (PlayerToPoint(3, playerid,BizzInfo[i][bExitX], BizzInfo[i][bExitY], BizzInfo[i][bExitZ]))
{
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ]);
PlayerInfo[playerid][pLocal] = 255;
}
}
}
A biznise ne pravim komandom u igri vec rucno u bizz.cfg upisem a ovako izgledaju ta tri biznisa:
0|Drzava|24/7 Market|Niko|1315.447265|-897.681396|39.578098|-25.132598|-139.066986|1003.546875|6|250000|100|100|1|16|6|500|1000|100|5|1000
0|Drzava|24/7 Market|Niko|1833.781494|-1842.628784|13.578100|-25.132598|-139.066986|1003.546875|6|250000|100|100|1|16|7|500|1000|100|5|1000
0|Drzava|24/7 Market|Niko|1352.331909|-1759.253540|13.507809|-25.132598|-139.066986|1003.546875|6|250000|100|100|1|16|11|500|1000|100|5|1000
Evo sta koje znaci:
Owned|Owner|Message|Extortion|EntranceX|EntranceY|EntranceZ|ExitX|ExitY|ExitZ|LevelNeeded|BuyPrice|EntranceCost|Till|Locked|Interior|VirWorld|Products|MaxProducts|PriceProd|Fakture|MaxFakture
Ja bi ti preporucio da izbrises ovo i stavis dinamicene bizove jer ovo moze jako jako da se izmesa pa da ne opravis ovo nikad.
Citat: Schwarz poslato Avgust 27, 2014, 15:34:43 POSLE PODNE
Ja bi ti preporucio da izbrises ovo i stavis dinamicene bizove jer ovo moze jako jako da se izmesa pa da ne opravis ovo nikad.
ovako je sasvim ok, jel znas kako da resim ovo sa enterijerima
Ja sam mislio da koristis neki dinamicni sistem a ne ovaj praistoriski, nikad nisam ima posla sa njima tako da nemogu ti pomoci.
BUMP!
BUMP!
BUMP!
hmm a da staviÅ¡ razliÄite interiere od 24/7 pa da vidiÅ¡ onda jel radi? http://weedarr.wikidot.com/interior
Citat: TiXoR_ poslato Avgust 31, 2014, 18:13:26 POSLE PODNE
hmm a da staviÅ¡ razliÄite interiere od 24/7 pa da vidiÅ¡ onda jel radi? http://weedarr.wikidot.com/interior
Probao sam to onda radi sve lepo ali je problem sto su svi enterijeri osim id 16 plavi kad se udje unutra.
BUMP!
BUMP!
BUMP!
BUMP!
BUMP!
BUMP!
BUMP!
Uradi debug da provjeris da li ti ispravno ocitava ID firme. Uradi to pa mi javi.
Postavi provjeru da kad igrac udje na primjer u BizID 5 da bude Provjera[playerid] = 5; i pri izlazu iz biza napravi da ako je igrac u Bizu ID 5, da se igrac pojavi na kordinatama ulaza u biz.
Postavi si odma cim kreiras biznis da mu(biznisu) se postavlja virtualworld taj koji je id biznisa. Npr. ako je id biznisa 5 onda ce i virtualworld biti 5. I zatim kada igrac ulazi u interijer postavljas mu virtualworld koji je postavljen biznisu
Citat: xyzcod2 poslato Septembar 14, 2014, 18:08:20 POSLE PODNE
Postavi si odma cim kreiras biznis da mu(biznisu) se postavlja virtualworld taj koji je id biznisa. Npr. ako je id biznisa 5 onda ce i virtualworld biti 5. I zatim kada igrac ulazi u interijer postavljas mu virtualworld koji je postavljen biznisu
Probao sam to vec, gledaj meni se sa biznisima 24/7 desava kad udjes manji id izadjes ispred veceg i u bilo koji od ta dva da udjes unutra ce da vidis isto cak i igrace. Ne mogu da skontam kako da odvojim enterijere ako kontas sta ocu da kazem.
daj mi dio di ulazis i izlazis u/iz biza
Citat: xyzcod2 poslato Septembar 14, 2014, 20:34:11 POSLE PODNE
daj mi dio di ulazis i izlazis u/iz biza
Ulaz:
for(new i = 0; i < sizeof(BizzInfo); i++)
{
if (PlayerToPoint(3, playerid,BizzInfo[i][bEntranceX], BizzInfo[i][bEntranceY], BizzInfo[i][bEntranceZ]))
{
//printf("Found House :%d",i);
if(!IsACop(playerid) && i == 3)
{
SendClientMessage(playerid, COLOR_GREY, " Niste clan Policije !");
return 1;
}
if(PlayerInfo[playerid][pPbiskey] == i || GetPlayerMoney(playerid) >= BizzInfo[i][bEntranceCost])
{
if(PlayerInfo[playerid][pPbiskey] != i)
{
if(BizzInfo[i][bLocked] == 1)
{
GameTextForPlayer(playerid, "~r~Zatvoreno", 5000, 1);
return 1;
}
if(BizzInfo[i][bProducts] == 0)
{
GameTextForPlayer(playerid, "~r~Nemamo vise produkta", 5000, 1);
return 1;
}
ESAC_GivePlayerMoney(playerid,-BizzInfo[i][bEntranceCost]);
format(string, sizeof(string), "~r~-%d$~n~~w~kucajte /exit~n~da izadjete", BizzInfo[i][bEntranceCost]);
BizzInfo[i][bTill] += BizzInfo[i][bEntranceCost];
ExtortionBiz(i, BizzInfo[i][bEntranceCost]);
BizzInfo[i][bProducts]--;
OnPropUpdate();
UpdateProperty3DTextLabels(2);
SacuvajIgraca(playerid);
GameTextForPlayer(playerid, string, 5000, 3);
}
SetPlayerInterior(playerid,BizzInfo[i][bInterior]);
SetPlayerPos(playerid,BizzInfo[i][bExitX],BizzInfo[i][bExitY],BizzInfo[i][bExitZ]);
PlayerInfo[playerid][pInt] = BizzInfo[i][bInterior];
PlayerInfo[playerid][pLocal] = i+99;
new dood[MAX_PLAYER_NAME];
GetPlayerName(playerid, dood, sizeof(dood));
format(string, sizeof(string), "%s je platio %d$ da bi usao u biznis %d", dood, BizzInfo[i][bEntranceCost], i);
printf("%s", string);
PayLog(string);
//PlayerInfo[playerid][pLocal] = i;
}
else
{
GameTextForPlayer(playerid, "~r~Nemate dovoljno novca", 5000, 1);
}
}
}
Izlaz:
for(new i = 0; i < sizeof(BizzInfo); i++)
{
//printf("Bizz :%d",i);
if (PlayerToPoint(3, playerid,BizzInfo[i][bExitX], BizzInfo[i][bExitY], BizzInfo[i][bExitZ]))
{
SetPlayerInterior(playerid,0);
PlayerInfo[playerid][pInt] = 0;
SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid,BizzInfo[i][bEntranceX],BizzInfo[i][bEntranceY],BizzInfo[i][bEntranceZ]);
PlayerInfo[playerid][pLocal] = 255;
}
}
Resio sam problem moze lock.