Posao dostavljac

Započeo Ciger, Septembar 14, 2020, 13:50:35 POSLE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

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

Ejs

*

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]
Poslednja Izmena: Septembar 15, 2020, 01:05:53 PRE PODNE od Ejs

Reseno, hvala, tako jednostavno a nikad se setio ne bih.