Problem(error/warning): Pravim posao dostavljac i sada hocu da kad ima 5 kutija u kamionu da igrac ne moze uzeti vise kutiju
Deo skripte: [pawn]CMD:uzmikutiju(playerid, params[])
{
//#pragma unused help
//#pragma unused params
if(UlogovanProvera[playerid] == 0) return SCM(playerid,crvena2,"(greska): "bela"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pPosao] != POSAO_DOSTAVLJAC) return SCM(playerid,crvena2,"(greska): "bela"Niste dostavljac!");
if(IsPlayerAttachedObjectSlotUsed(playerid, DOSTAVLJAC_SLOT)) return SCM(playerid,plava2, "(info): "siva"Vec ste uzeli kutiju!");
if(!IsPlayerInRangeOfPoint(playerid, 5.0, 1639.5282,-1900.4049,13.5521)) return SCM(playerid,crvena2,"(greska): "bela"Niste na mestu uzimanja kutije!");
if(IsPlayerInAnyVehicle(playerid)) return SCM(playerid,siva2," Ne mozete iz vozila uzimati kutije!");
if(UzeoKutiju[playerid] == 1) return SCM(playerid,siva2," Vec si utovario kutiju idi je dostavi u neku firmu!");
OnePlayAnim(playerid, "CARRY", "crry_prtial", 4.1, 0, 1, 1, 1, 1); UzeoKutiju[playerid] = 1;
SetPlayerAttachedObject(playerid, DOSTAVLJAC_SLOT, 1221, 1, 0.494823, 0.720993, 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000 );
SCM(playerid,plava2, "(info): "bela"Uspesno ste uzeli kutiju!");
SCM(playerid,plava2, "(info): "bela"Ostavite je u vozilo za dostavu komandom /utovari");
return 1;
}
/////////////////////////////////////////////////////
CMD:utovari(playerid, params[])
{
//#pragma unused help
//#pragma unused params
if(UlogovanProvera[playerid] == 0) return SCM(playerid,crvena2,"(greska): "bela"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pPosao] != POSAO_DOSTAVLJAC) return SCM(playerid,crvena2,"(greska): "bela"Niste dostavljac!");
if(ProduktiVozila[GetClosestVehicle(playerid)] == 5) return SCM(playerid,plava2, "(info): "siva"U vozilo moze biti najvise 5 kutija!"); // != 0
if(!IsPlayerAttachedObjectSlotUsed(playerid, DOSTAVLJAC_SLOT)) return SCM(playerid,plava2, "(info): "siva"Niste uzeli kutiju!");
new Float:Poz[3]; GetVehiclePos(GetClosestVehicle(playerid), Poz[0], Poz[1], Poz[2]);
if(!IsPlayerInRangeOfPoint(playerid, 5.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid,plava2, "(info): "siva"Niste u blizini vozila od dostavljaca!");
if(!DostavljacVozila(GetClosestVehicle(playerid))) return SCM(playerid,plava2, "(info): "siva"Niste u blizini vozila od dostavljaca!");
ProduktiVozila[GetClosestVehicle(playerid)]++; RemovePlayerAttachedObject(playerid, DOSTAVLJAC_SLOT); ClearAnimations(playerid);// stojalo 1 kod produkt vozila
SCM(playerid,plava2, "(info): "bela"Uspesno ste utovarili proizvode, otidjite ih odvesti u firmu kojoj su potrebni!");
UzeoKutiju[playerid] = 0;
return 1;
}
/////////////////////////////////////////////////////
CMD:istovari(playerid, params[])
{
//#pragma unused help
//#pragma unused params
if(UlogovanProvera[playerid] == 0) return SCM(playerid,crvena2,"(greska): "bela"Moras se ulogovati da bi koristio ovu komandu!");
if(PlayerInfo[playerid][pPosao] != POSAO_DOSTAVLJAC) return SCM(playerid,crvena2,"(greska): "bela"Niste dostavljac!");
if(!DostavljacVozila(GetPlayerVehicleID(playerid))) return SCM(playerid,crvena2,"(greska): "bela"Niste u vozilu dostavljaca!");
if(ProduktiVozila[GetPlayerVehicleID(playerid)] == 0) return SCM(playerid,plava2, "(info): "siva"U vozilu nema produkata!");
for(new i = 0; i < MAX_FIRMI; i++)
{
if(IsPlayerInRangeOfPoint(playerid, 15.0, FirmaInfo[fUlazX], FirmaInfo[fUlazY], FirmaInfo[fUlazZ]))
{
if(FirmaInfo[fVrsta] == VRSTA_SBIZZ) return SCM(playerid,siva2," Ne mozete dostavljati proizvode u tu firmu!");
if(FirmaInfo[fImaVlasnika] != 1) return SCM(playerid,siva2," Ta firma nema vlasnika!");
if(FirmaInfo[fProizvodi] >= 300) return SCM(playerid,siva2," Toj firmi nisu potrebni proizvodi!");
if(FirmaInfo[fKasa] < 700) return SCM(playerid,siva2," Ta firma nema dovoljno novca za proizvode!");
//ProduktiVozila[GetPlayerVehicleID(playerid)] = 0;
ProduktiVozila[GetPlayerVehicleID(playerid)]--;
if(ProduktiVozila[GetPlayerVehicleID(playerid)] == 0) SCM(playerid, plava2, "(info): "bela"Nemate vise proizvoda u kamionu!");
FirmaInfo[fProizvodi] = 300; FirmaInfo[fKasa] -= 700;
new bonus = random(100); g_NovacPlus(playerid, 600+bonus); UzeoKutiju[playerid] = 0; FirmaNovac(102, 600);
SCMF(playerid,-1,""zuta"Dostavili ste proizvode u firmu i zaradili ste 600$ | Bonus: %d$!",bonus);
}
}
return 1;
}[/pawn]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): Vaš odgovor
Jesi probao dodat jos jednu varijablu koja ce brojat koliko puta je igrac "utovario" kutiju?
[pawn]
CMD:utovari(playerid, params[])
{......
UtovareneKutije[playerid]++;
....}
[/pawn]
I onda kod komande /uzmikutiju provjera
[pawn]
if(UtovareneKutije[playerid] == 5) return SCM(playerid,crvena2,"(greska): "bela"Vec ste utovarili ste 5 kutija!");[/pawn]
I onda kod komande /istovari vratis u 0
[pawn]
CMD:istovari(playerid, params[])
{......
UtovareneKutije[playerid] = 0;
....}
[/pawn]
Reseno, hvala, tako jednostavno a nikad se setio ne bih.