Skripta koju koristim: Moja
Detaljan opis problema:Napravio sam Izlaze iz objekata sa SPACE i sad sve normalno izlazi samo kod kuce kad izlazim prebaci me ispred neke druge kuce :o
Dio skripte:
if( newkeys == KEY_SPRINT )
{
for(new i = 0; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, Kuce[i][hInteriorX], Kuce[i][hInteriorY], Kuce[i][hInteriorZ]) )
&& GetPlayerVirtualWorld(playerid) == 0 && !IsPlayerInAnyVehicle(playerid))
{
if(Kuce[i][kImaVlasnika] == 1)
{
SetPlayerVirtualWorld_B( playerid, 0 );
SetPlayerInterior_B( playerid, 0);
SetPlayerPos_B( playerid, Kuce[i][hExteriorX], Kuce[i][hExteriorY], Kuce[i][hExteriorZ]);
SetCameraBehindPlayer(playerid);
EntID[playerid] = -1;
TextDrawShowForPlayer(playerid, Fade1);
fade[2][playerid] = SetTimerEx("tFade2", 100, false, "d", playerid);
}
}
}
}
Neke slike/video za lakse dobivanje pomoci(neobavezno):
Pa kad udjes u kucu sacuvaj u neku variablu ID kuce i iskoristis tu variablu ako je na izlazu neke kuce da mu setuje opet kordinate na ulaz a za id kuce stavis tu varablu
Bilo je ovo pa mi je erore izbacivalo ne znam sta je problem.. :'(
&& GetPlayerVirtualWorld(playerid) == 0 && !IsPlayerInAnyVehicle(playerid))
ovaj eror Izbacuje
error 029: invalid expression, assumed zero
pa to nema veze, i nisi mo dao citav kod od tog, sacuvas id kuce i variablu i kad izlazis iz kuce stavis da ti setuje pozz na ulaz kuce a za id kuce stavis tu variablu
Evo tog Dialoga znaci ovaj Dialog je za ULAZ u kucu.
[code] else if(dialogid == 28)
{
if(response)
{
for(new i = 0; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint( playerid, 3, Kuce[i][hExteriorX], Kuce[i][hExteriorY], Kuce[i][hExteriorZ]))
{
if(Kuce[i][kVrata] == 0)
{
EntID[playerid] = i;
SetPlayerVirtualWorld_B( playerid, Kuce[i][kVW]);
SetPlayerInterior_B( playerid, Kuce[i][kInt]);
SetCameraBehindPlayer(playerid);
SetPlayerPos_B( playerid, Kuce[i][hInteriorX], Kuce[i][hInteriorY], Kuce[i][hInteriorZ]);
TextDrawShowForPlayer(playerid, Fade1);
fade[2][playerid] = SetTimerEx("tFade2", 100, false, "d", playerid);
}
else
{
GameTextForPlayer(playerid, "~r~Kuca ~w~Zakljucana!", 4000, 4);
}
}
}
}
return 1;
}
[/code]
Ovaj je za Izlaz iz kuce.
else if(dialogid == 30)
{
if(response)
{
for(new i = 0; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3, Kuce[i][hInteriorX], Kuce[i][hInteriorY], Kuce[i][hInteriorZ])
&& GetPlayerVirtualWorld(playerid) == Kuce[i][kVW] && !IsPlayerInAnyVehicle(playerid))
{
SetPlayerVirtualWorld_B( playerid, 0 );
SetPlayerInterior_B( playerid, 0);
SetPlayerPos_B( playerid, Kuce[i][hExteriorX], Kuce[i][hExteriorY], Kuce[i][hExteriorZ]);
SetCameraBehindPlayer(playerid);
EntID[playerid] = -1;
TextDrawShowForPlayer(playerid, Fade1);
fade[2][playerid] = SetTimerEx("tFade2", 100, false, "d", playerid);
}
}
}
}
a ovo je to sto mi treba da izlazi iz kuce.
if( newkeys == KEY_SPRINT )
{
for(new i = 0; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, Kuce[i][hInteriorX], Kuce[i][hInteriorY], Kuce[i][hInteriorZ])
&& GetPlayerVirtualWorld(playerid) == Kuce[i][kVW] && !IsPlayerInAnyVehicle(playerid))
{
if(Kuce[i][kImaVlasnika] == 1)
{
SetPlayerVirtualWorld_B( playerid, 0 );
SetPlayerInterior_B( playerid, 0);
SetPlayerPos_B( playerid, Kuce[i][hExteriorX], Kuce[i][hExteriorY], Kuce[i][hExteriorZ]);
SetCameraBehindPlayer(playerid);
EntID[playerid] = -1;
TextDrawShowForPlayer(playerid, Fade1);
fade[2][playerid] = SetTimerEx("tFade2", 100, false, "d", playerid);
}
}
}
}
e ovo za izlaz probaj ovako: if( newkeys == KEY_SPRINT )
{
for(new i = 0; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 2, Kuce[i][hInteriorX], Kuce[i][hInteriorY], Kuce[i][hInteriorZ])
&& GetPlayerVirtualWorld(playerid) == Kuce[i][kVW] && !IsPlayerInAnyVehicle(playerid))
{
if(Kuce[i][kImaVlasnika] == 1)
{
SetPlayerVirtualWorld_B( playerid, 0 );
SetPlayerInterior_B( playerid, 0);
SetPlayerPos_B( playerid, Kuce[EntID[playerid]][hExteriorX], Kuce[EntID[playerid]][hExteriorY], Kuce[EntID[playerid]][hExteriorZ]);
SetCameraBehindPlayer(playerid);
EntID[playerid] = -1;
TextDrawShowForPlayer(playerid, Fade1);
fade[2][playerid] = SetTimerEx("tFade2", 100, false, "d", playerid);
}
}
}
}
Ma ko zna zna :D Svaka cast sve radi tebe treba za MODERATORA ;)
Imam jos jedan manji problem .
Kad kupim Vikendicu,onda mi postavi Label "Stan na prodaju", evo dio skripte:
Evo ovo je od Vikendice
stock VIKENDICE_LabelIPickup(idvik)
{
new string[828];
if(Vikendice[idvik][vPosjedovana] == 0)
{
Delete3DTextLabel(VikendicaLabel[idvik]);
format(string,sizeof(string),"{FF6363}Vikendica na prodaju! \n {FF6363}Cijena: {FFFFFF}%d$\n {FF6363}Level: {FFFFFF}%d \n {FF6363}ID: {FFFFFF}%d", Vikendice[idvik][vCena],Vikendice[idvik][vNivo], idvik);
VikendicaLabel[idvik] = Create3DTextLabel(string ,0xFF6363AA,Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ],25, 0, 1);
DestroyDynamicPickup(VikendicaPickup[idvik]);
VikendicaPickup[idvik] = CreateDynamicPickup(19134, 1, Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ]);
}
if(Vikendice[idvik][vPosjedovana] == 1)
{
Delete3DTextLabel(VikendicaLabel[idvik]);
format(string,sizeof(string),"{FF6363}Vlasnik: {FFFFFF}%s\n {FF6363}Level: {FFFFFF}%d \n {FF6363}ID: {FFFFFF}%d",Vikendice[idvik][vVlasnik], Vikendice[idvik][vNivo], idvik);
VikendicaLabel[idvik] = Create3DTextLabel(string ,0xFF6363AA,Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ],25, 0, 1);
DestroyDynamicPickup(VikendicaPickup[idvik]);
VikendicaPickup[idvik] = CreateDynamicPickup(1239, 1, Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ]);
}
}
a ovo je od Stana
stock STANOVI_LabelIPickup(idstana)
{
new string[828];
if(StanInfo[idstana][sPosedovan] == 0)
{
Delete3DTextLabel(StanLabel[idstana]);
format(string,sizeof(string),"{FFF700}Stan na prodaju! \n {FFF700}Cijena: {FFFFFF}%d$\n {FFF700}Level: {FFFFFF}%d \n {FFF700}ID: {FFFFFF}%d", StanInfo[idstana][sCijena],StanInfo[idstana][sLevel], idstana);
StanLabel[idstana] = Create3DTextLabel(string ,0x00FF00AA,StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz],25, 0, 1);
DestroyDynamicPickup(StanPickup[idstana]);
StanPickup[idstana] = CreateDynamicPickup(1273, 1, StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz]);
}
if(StanInfo[idstana][sPosedovan] == 1)
{
Delete3DTextLabel(StanLabel[idstana]);
format(string,sizeof(string),"{FFF700}Vlasnik: {FFFFFF}%s \n {FFF700}Level: {FFFFFF}%d \n {FFF700}ID: {FFFFFF}%d",StanInfo[idstana][sVlasnik], StanInfo[idstana][sLevel], idstana);
StanLabel[idstana] = Create3DTextLabel(string ,0x00FFFFAA,StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz],25, 0, 1);
DestroyDynamicPickup(StanPickup[idstana]);
StanPickup[idstana] = CreateDynamicPickup(1239, 1, StanInfo[idstana][sUlaZx], StanInfo[idstana][sUlaZy], StanInfo[idstana][sUlaZz]);
}
}
Hvala!! :D
daj mi taj dio skripte kad kupis vikendicu :)
Evo
if(response)
{
if(PlayerInfo[playerid][pVikendicaKljuc] != -1) return SCM(playerid, CRVENA, "Greska |{FFFFFF} Vec posedujete vikendicu!");
for(new i; i < sizeof(Vikendice); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, Vikendice[i][vUlazX], Vikendice[i][vUlazY], Vikendice[i][vUlazZ]))
{
if(!strcmp(Vikendice[i][vVlasnik], "Niko", true) && Vikendice[i][vPosjedovana] == 0)
{
if(PlayerInfo[playerid][pLevel] < Vikendice[i][vNivo]) return SCMF(playerid, CRVENA, "Greska |{FFFFFF} Potreban vam je nivo %d za ovu vikendicu!", Vikendice[i][vNivo]);
if(PlayerInfo[playerid][pNovac] < Vikendice[i][vCena]) return SCM(playerid, CRVENA, "Greska |{FFFFFF} Nemate dovoljno novca za ovu vikendicu!");
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
strmid(Vikendice[i][vVlasnik], ime, 0, strlen(ime), 255);
Vikendice[i][vPosjedovana] = 1;
PlayerInfo[playerid][pVikendicaKljuc] = i;
SetPlayerInterior_B(playerid, Vikendice[i][vEnterijer]);
SetPlayerVirtualWorld_B(playerid, Vikendice[i][vVW]);
SetPlayerPos_B(playerid, Vikendice[i][vIzlazX], Vikendice[i][vIzlazY], Vikendice[i][vIzlazZ]);
SetPlayerFacingAngle(playerid, Vikendice[i][vIzlazA]);
format(string, sizeof(string), "~w~Cestitamo~n~ kupili ste vikendicu za ~n~~g~$%d", Vikendice[i][vCena]);
GameTextForPlayer(playerid, string, 5000, 3);
b_NovacMinus(playerid, -Vikendice[i][vCena]);
PlayerInfo[playerid][pSpawn] = SPAWN_VIKENDICA;
VIKENDICE_LabelIPickup(i);
SacuvajVikendicu(i);
SacuvajIgraca(playerid);
break;
}
else
{
SCM(playerid, CRVENA, "Greska |{FFFFFF} Ova vikendica nije slobodna!");
}
Hmm, ja ovdje ne vidim gresku, jel ti nju kad kupis pojavi se za label stan na prodaju?
probaj ubaciti onda da ne pokrece taj stock nego odma direkt da promjeni info stana, ovako: if(response)
{
if(PlayerInfo[playerid][pVikendicaKljuc] != -1) return SCM(playerid, CRVENA, "Greska |{FFFFFF} Vec posedujete vikendicu!");
for(new i; i < sizeof(Vikendice); i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, Vikendice[i][vUlazX], Vikendice[i][vUlazY], Vikendice[i][vUlazZ]))
{
if(!strcmp(Vikendice[i][vVlasnik], "Niko", true) && Vikendice[i][vPosjedovana] == 0)
{
if(PlayerInfo[playerid][pLevel] < Vikendice[i][vNivo]) return SCMF(playerid, CRVENA, "Greska |{FFFFFF} Potreban vam je nivo %d za ovu vikendicu!", Vikendice[i][vNivo]);
if(PlayerInfo[playerid][pNovac] < Vikendice[i][vCena]) return SCM(playerid, CRVENA, "Greska |{FFFFFF} Nemate dovoljno novca za ovu vikendicu!");
new ime[MAX_PLAYER_NAME];
GetPlayerName(playerid, ime, sizeof(ime));
strmid(Vikendice[i][vVlasnik], ime, 0, strlen(ime), 255);
Vikendice[i][vPosjedovana] = 1;
PlayerInfo[playerid][pVikendicaKljuc] = i;
SetPlayerInterior_B(playerid, Vikendice[i][vEnterijer]);
SetPlayerVirtualWorld_B(playerid, Vikendice[i][vVW]);
SetPlayerPos_B(playerid, Vikendice[i][vIzlazX], Vikendice[i][vIzlazY], Vikendice[i][vIzlazZ]);
SetPlayerFacingAngle(playerid, Vikendice[i][vIzlazA]);
format(string, sizeof(string), "~w~Cestitamo~n~ kupili ste vikendicu za ~n~~g~$%d", Vikendice[i][vCena]);
GameTextForPlayer(playerid, string, 5000, 3);
b_NovacMinus(playerid, -Vikendice[i][vCena]);
PlayerInfo[playerid][pSpawn] = SPAWN_VIKENDICA;
new idvik = i;
Delete3DTextLabel(VikendicaLabel[idvik]);
format(string,sizeof(string),"{FF6363}Vlasnik: {FFFFFF}%s\n {FF6363}Level: {FFFFFF}%d \n {FF6363}ID: {FFFFFF}%d",Vikendice[idvik][vVlasnik], Vikendice[idvik][vNivo], idvik);
VikendicaLabel[idvik] = Create3DTextLabel(string ,0xFF6363AA,Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ],25, 0, 1);
DestroyDynamicPickup(VikendicaPickup[idvik]);
VikendicaPickup[idvik] = CreateDynamicPickup(1239, 1, Vikendice[idvik][vUlazX], Vikendice[idvik][vUlazY], Vikendice[idvik][vUlazZ]);
SacuvajVikendicu(i);
SacuvajIgraca(playerid);
break;
}
else
{
SCM(playerid, CRVENA, "Greska |{FFFFFF} Ova vikendica nije slobodna!");
}
Sad radi sve :D HVALA Moze LOCK
Bice momak nagradjen za njegov trud ;)
LOCK na zahtev autora teme