Skripta koju koristim: Imperial Gaming (od 0)
Opis problema o kojem se radi: Ovako imam problem sa izlazenjem iz kuce pocne ponovo da pokrece petlju od 0 i npr u bilo kojoj kuci da budem izadjem na kucu ID 0 zato sto petlja krene od 0 :D
Dio skripte:[pawn]if(newkeys & KEY_SECONDARY_ATTACK)
{
for(new i = 0; i < MAX_KREIRANIH_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 0.6, KucaInfo[UlazX], KucaInfo[UlazY], KucaInfo[UlazZ]))
{
if(KucaInfo[Zauzeta] == 0)
{
SetPlayerVirtualWorld(playerid, KucaInfo[ID]);
SetPlayerInterior(playerid, KucaInfo[Int]);
SetPlayerPos(playerid, KucaInfo[IzlazX], KucaInfo[IzlazY], KucaInfo[IzlazZ]);
format(stringakcija, sizeof(stringakcija), " * {d98c8c}%s otvara vrata i ulazi u kucu..", ImeBez_(playerid));
SendRangeMessage(playerid, -1, stringakcija, 6.0);
}
else if(KucaInfo[Zauzeta] == 1)
{
if(KucaInfo[Zakljucana] == 0)
{
SetPlayerVirtualWorld(playerid, KucaInfo[ID]);
SetPlayerInterior(playerid, KucaInfo[Int]);
SetPlayerPos(playerid, KucaInfo[IzlazX], KucaInfo[IzlazY], KucaInfo[IzlazZ]);
format(stringakcija, sizeof(stringakcija), " * {d98c8c}%s otvara vrata i ulazi u kucu..", ImeBez_(playerid));
SendRangeMessage(playerid, -1, stringakcija, 6.0);
printf(" i = %d", i);
}
else if(KucaInfo[Zakljucana] == 1) return GRESKA(playerid, "Kuca je zakljucana !");
}
}
else if(IsPlayerInRangeOfPoint(playerid, 0.6, KucaInfo[IzlazX], KucaInfo[IzlazY], KucaInfo[IzlazZ]))
{
SetPlayerVirtualWorld(playerid, 0);
SetPlayerInterior(playerid, 0);
SetPlayerPos(playerid, KucaInfo[UlazX], KucaInfo[UlazY], KucaInfo[UlazZ]);
printf(" i1 = %d", i);
return 1;
}
}[/pawn]
Slika (neobavezno): Evo uradio sam DEBUG u konzoli:
(http://i.imgur.com/xuFtICq.png)
Vidite u kodu kada "i" je pri ulazenju, a "i1" pri izlazenju. (za debug)
pa vidi evo izvukao sam ti iz mog moda pa ako oces uzmi iz mog
[pawn]}
}
for(new i; i < MAX_KUCA; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[kUlazX], KucaInfo[kUlazY], KucaInfo[kUlazZ]))
{
if(PlayerInfo[playerid][pPosedovanjeKuce] == i || KucaInfo[kZatvoreno] == 0)
{
SetPlayerVirtualWorld(playerid, KucaInfo[kVW]);
SetPlayerInterior(playerid, KucaInfo[kInt]);
SetPlayerPos(playerid, KucaInfo[kIzlazX], KucaInfo[kIzlazY], KucaInfo[kIzlazZ]);
TogglePlayerControllable(playerid, 0);
freeze[playerid] = SetTimerEx("Freeze",5000, false, "i", playerid);
}
else
{
GameTextForPlayer(playerid,"~w~Kuca ~r~zakljucana ~w~- /zvoni",5000,3);
return 1;
}
}
if(IsPlayerInRangeOfPoint(playerid, 3.0, KucaInfo[kIzlazX], KucaInfo[kIzlazY], KucaInfo[kIzlazZ]) && GetPlayerVirtualWorld(playerid) == KucaInfo[kVW])
{
SetPlayerInterior(playerid, 0); SetPlayerVirtualWorld(playerid, 0);
SetPlayerPos(playerid, KucaInfo[kUlazX], KucaInfo[kUlazY], KucaInfo[kUlazZ]);
TogglePlayerControllable(playerid, 0);
freeze[playerid] = SetTimerEx("Freeze",5000, false, "i", playerid);
return 1;
}
}[/pawn]
Samo zamjeni i onda probaj 8)