Problem(error/warning): Kada igrac pljacka banku i ode sa pickup-akako sada da napravim da prekine pljacku
Dio skripte: [ pawn ]CMD:robbank(playerid, params[])
{
if(robpossible == 1)
{
if(gPlayerLogged[playerid] == 0) return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Ne mozete koristiti komande jer niste jos prijavljeni na svoj account / ili ste mrtvi.");
if(PlayerInfo[playerid][pLeader] < 1) return SCM(playerid,0xFF8284FF, "ERROR: Niste autorizirani za koristenje ove komande jer nemate status lidera.");
if(PlayerInfo[playerid][pArea] == 1) return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Ne mozete koristiti ovu komandu jer ste trenutno u area-i.");
if(PlayerInfo[playerid][pArea] == 2) return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Ne mozete koristiti ovu komandu jer ste trenutno u zatvoru.");
if(PlayerInfo[playerid][pTazan] == 1) return SendClientMessage(playerid, 0xFF8284FF, "ERROR: Ne mozete koristiti ovu komandu jer ste sokirani od strane policajca.");
if(PlayerInfo[playerid][pMember] == 0 || PlayerInfo[playerid][pMember] == 1 || PlayerInfo[playerid][pMember] == 6) return SCM(playerid,0xFF8284FF,"ERROR: Niste clan bande/mafije.");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,0xFF8284FF,"ERROR: Komanda koju ste odabrali nije dostupna u vozilu - izadite pa pokusajte ponovno.");
if(!IsPlayerInRangeOfPoint(playerid, 2.0, 252.3625,125.2756,1003.2188)) return SCM(playerid,0xFF8284FF,"ERROR: Ne moze koristiti ovu komandu jer niste u banci.");
{
robpossible = 0;
SetTimerEx("waittimer", 1200000,false, "w", playerid);
SetTimerEx("robtimer", 10000,false, "r", playerid);
PlayerPlaySound(playerid, 1057, 0.0, 0.0, 10.0);
PlayerActionMessage(playerid,15.0,"Krenuo pljackati banku.");
SendClientMessage(playerid, 0xE8C400FF, "INFO: Krenuli ste sa pljackom oprez policija je obavijestena!");
SendClientMessage(playerid, 0xE8C400FF, "INFO: Morate ostati 5 minuta u banci!");
}
new string[256];
for(new i = 0; i < MAX_PLAYERS; i++)
{
if(PlayerInfo[playerid][pWanted] > 6)
{
if(PlayerInfo[playerid][pMember] != 1)
{
if(PlayerInfo[playerid][pArea] == 0)
{
SendClientMessage(playerid,0xFC7860FF,"INFO: Pocinili ste zlocin te ste dobili 6 zvjezdica.");
format(string, sizeof(string), "[[ OBAVIJEST SVIM JEDINICAMA ]] Zlocin: Pljacka banke. Pocinitelj: %s.", GetName(playerid));
SendPoliceMessage(0x31CFFFFF, string);
PlayerInfo[playerid][pWanted] = 6;
SetPlayerWantedLevel(playerid, 6);
SavePlayer(playerid);
}}}}
}
else
{
SendClientMessage(playerid,0xFF8284FF,"ERROR: Nedavno su biznisi opljackani pokusajte ponovo kasnije");
}
return 1;
}
public robtimer(playerid)
{
if(IsPlayerInRangeOfPoint(playerid, 2.0, 252.3625,125.2756,1003.2188))
{
new string[128];//We are defining a new string for the formatted message that we are displaying later on.
new pljacka = random(50000);
GivePlayerMoney(playerid, pljacka);
GivePlayerCash(playerid, pljacka);
format(string, sizeof(string),"~w~Opljackali ste banku i uzeli ~g~%d$ !", pljacka);
GameTextForPlayer(playerid, string, 6000, 4);
format(string, sizeof(string), "INFO: Uspijesno ste opljackali banku i odnijeli $%d sa sobom!", pljacka);
SendClientMessage(playerid, 0xE8C400FF, string);
}
else
{
SendClientMessage(playerid,0xFF8284FF,"ERROR: Otisli ste sa pickup-a te ste prekinuli pljacku banke");
}
}
[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]ima kod[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): ima kod
Kod je previse nepregledan, imas pawn ikonicu dok pises text pa ubacis samo :)
Al evo kako bi trebalo...
Kada igrac pokrene pljacku trebo bi imat proveru tipa:
[pawn]PljackaBanku[playerid] = 1;[/pawn]
E sad, ako se igrac makne sa mesta pljacke i onda da mu prekine pljacku, ovako nekako:
[pawn]public OnPlayerUpdate(playerid)
{
if(PljackaBanku[playerid] == 1)
{
if(!IsPlayerInRangeOfPoint(playerid, Float:range, Float:x, Float:y, Float:z)) //<- Ovde stavi range i korde mesta za pljackanje, ovo je provera da li je kod mesta za pljacku.
{
PljackaBanku[playerid] = 0;
SCM(playerid, -1, "Otisli ste predaleko od pickupa, pljackanje je prekinuto!");
SCMTA(-1, "Pljackanje banke je prekinuto!");
BankaSePljacka = 0; //<- Ovde stavi tvoju proveru da li se banka vec pljacka...
}
}
return 1;
}[/pawn]