Balkan SA:MP

PAWN skriptanje, gamemodovi, filterskripte, include fajlovi, mape, pluginovi => Razgovor u vezi PAWN - skriptanja => Temu započeo: Nure poslato Oktobar 16, 2018, 15:43:15 POSLE PODNE

Naslov: oko /prodaj
Poruka od: Nure poslato Oktobar 16, 2018, 15:43:15 POSLE PODNE
Problem(error/warning): UBacivao sam komandu /prodaj [drogu,mats,zlato] i cmd /prihvati [drogu,mats,zlato] koristim SA/UP mod i sve lepo radi ovom skine pare,ovom doda pare kao sto i treba samo mu ne daje ni zlato ni mats ni drogu niti ovom drugom skida mats,zlato i drogu kako da napravim da kad ovaj prihvati drogu da mu se seta droga,mats,zlato a ovom da se skine?
Dio skripte: [ pawn ]vaš odgovor[ /pawn ]
Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log): [ code ]vaš odgovor[ /code ]
Slika/video ingame problema(obavezno ako je ingame problem): link slike
Naslov: Odg: oko /prodaj
Poruka od: // xunder poslato Oktobar 16, 2018, 16:10:10 POSLE PODNE
pa stavi tipa kada proda drogu

PlayerInfo[KUPAC][pDroga] += Kolicina_Prodatog[PRODAVAC];
PlayerInfo[PRODAVAC][pDroga] -= Kolicina_Prodatog[KUPAC];
tako i za zlato i mats
Naslov: Odg: oko /prodaj
Poruka od: Nure poslato Oktobar 16, 2018, 17:09:34 POSLE PODNE
PlayerInfo[KUPAC][pDroga] ovde ge je kupac ne znam kako da oznacim igraca koji je kupac? jel bese targetid?
Naslov: Odg: oko /prodaj
Poruka od: // xunder poslato Oktobar 16, 2018, 17:23:14 POSLE PODNE
Pa ocigledno da je kupac onaj ko ukuca cmd /prihvati ... (znaci ako si definisao
CMD:prihvat(plid, params[]) plid je kupac)
Naslov: Odg: oko /prodaj
Poruka od: Nure poslato Oktobar 16, 2018, 17:57:45 POSLE PODNE
To rade kralju,samo mi ostalo ovo Kolicina_Prodatog sta tu trebam da stavim?
Naslov: Odg: oko /prodaj
Poruka od: // xunder poslato Oktobar 16, 2018, 18:05:58 POSLE PODNE
Pa to bi trebala da bude varijabla koja se cuva kada prodavac kuca /prodaj tipa


CMD:prodaj(playerid, params[]) {
// Sada ti je playerid PRODAVAC
new targetid, option[8], amount, price;
sscanf("us[8]d", targetid, option, amount, price);
// neke radnom provjere
if (!strcmp(option, "droga", true)) {
Stvar_Koju_Prodaje[playerid] = 1; // 1 = droga
Kolicina_Koju_Prodaje[playerid] = amount;
Cijena_Koju_Nudi[playerid] = price;
Igrac_Koji_Nudi[targetid] = playerid;
}
// ostatak koda..
retrun 1;
}

CMD:prihvati(playerid, params[]) {
// Sada ti je playerid KUPAC
new PRODAVAC = Igrac_Koji_Nudi[playerid];
if (!IsPlayerConnected(PRODAVAC)) return // Prodavac je offline
if (Stvar_Koju_Prodaje[PRODAVAC] == 1) { // Ako Prodavac prodaje drogu (gore smo naveli da ce 1 biti droga
GivePlayerMoney(PRODAVAC, Cijena_Koju_Nudi[PRODAVAC]); // povecavas pare prodavcu
GivePlayerMoney(playerid, -Cijena_Koju_Nudi[PRODAVAC]); // smanjujes ih kupcu
PlayerInfo[PRODAVAC][pDroga] -= Kolicina_Koju_Prodaje[PRODAVAC]; // smanjujes drogu prodavcu
PlayerInfo[playerid][pDroga] += Kolicina_Koju_Prodaje[PRODAVAC]; // povecavas drogu kupcu
}
return 1;
}
Naslov: Odg: oko /prodaj
Poruka od: Nure poslato Oktobar 16, 2018, 18:11:03 POSLE PODNE
ovo je /prodaj
[pawn]      if(!strcmp(stvar, "droga", true))
   {
       if(Policajac(playerid)) return SCM(playerid,-1,"NKRP "CRVENA"Pripadnik si LS:PD to ne mozes da uradiÅ¡!");
       if(PlayerInfo[playerid][pDroga] < kolicina) return SCM(playerid,-1,"NKRP "CRVENA"Nemate toliko droge!");
       if(kolicina < 1 || kolicina > 10000) return SCM(playerid, -1, "NKRP "CRVENA"Ne mozete ici ispod 1 i iznad 10000 odjednom!");
       if(cena < 1 || cena > 3000000) return SCM(playerid, -1, "NKRP "CRVENA"Cena mora biti manja od 1$ i veca od 3000000$!");
       DrogaOd[id] = playerid; CenaDroge[id] = cena;
       format(string,sizeof(string),""CRVENA"Ponudili ste %dg droge igracu %s za %s novca!", kolicina, GetName(id), cena);
       SCM(playerid, -1, string);
      format(string,sizeof(string),""ORANGE"Igrac %s vam je ponudio %dg droge za %s novca"PLAVA"(/prihvati drogu)!", GetName(playerid), kolicina, cena);
       SCM(id, -1, string);
   }[/pawn]


a ovo je /prihvati drogu
[pawn]   if(!strcmp(ime, "drogu", true))
   {
       if(DrogaOd[playerid] == -1) return SCM(playerid, -1, "NKRP "CRVENA"Niko vam nije ponudio drogu!");
       if(!IsPlayerConnected(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Igrac koji vam je ponudio drogu nije na serveru!");
      new Float:Poz[3]; GetPlayerPos(DrogaOd[playerid], Poz[0], Poz[1], Poz[2]);
      if(!IsPlayerInRangeOfPoint(playerid, 4.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, -1, "NKRP "CRVENA"Niste u blizini igraca koji vam je ponudio drogu!");
      if(IsPlayerInAnyVehicle(playerid) && !IsPlayerInAnyVehicle(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Ne mozete biti u vozilu!");
      if(!IsPlayerInAnyVehicle(playerid) && IsPlayerInAnyVehicle(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Taj igrac je u vozilu!");
      if(PlayerInfo[playerid][pNovacDzep] < CenaDroge[playerid]) return SCM(playerid, -1, "NKRP"CRVENA"Nemate dovoljno novca!");
      g_NovacMinus(playerid, CenaDroge[playerid]); g_NovacPlus(DrogaOd[playerid], CenaDroge[playerid]);
      PlayerInfo[playerid][pDroga] += Kolicina_Prodatog[PRODAVAC];
        PlayerInfo[playerid][pDroga] -= Kolicina_Prodatog[playerid];
      SCM(playerid, -1, "NKRP "ZUTA"Kupili ste drogu od igraca %s za %d$ novca!", GetName(DrogaOd[playerid]), CenaDroge[playerid]);
      SCM(DrogaOd[playerid], -1, "NKRP "ZUTA"Igrac %s je prihvatio Drogu i zaradio je %d$!", GetName(playerid), CenaDroge[playerid]);
      DrogaOd[playerid] = -1; CenaDroge[playerid] = 0;
   }[/pawn]
Ovako sam ja radio i sad mi treba ovo sto si ti napisao za kolicinu
Naslov: Odg: oko /prodaj
Poruka od: // xunder poslato Oktobar 16, 2018, 21:18:53 POSLE PODNE
DrogaOd[playerid]
ti je prodavac u komandi /prihvati
Naslov: Odg: oko /prodaj
Poruka od: Nure poslato Oktobar 17, 2018, 19:06:28 POSLE PODNE
@.ксундер
[pawn]   if(!strcmp(ime, "drogu", true))
   {
        new targetid;
        new IgracKojiNudi[targetid] = playerid;
        new PRODAVAC = IgracKojiNudi[playerid];
       if(DrogaOd[playerid] == -1) return SCM(playerid, -1, "NKRP "CRVENA"Niko vam nije ponudio drogu!");
       if(!IsPlayerConnected(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Igrac koji vam je ponudio drogu nije na serveru!");
      new Float:Poz[3]; GetPlayerPos(DrogaOd[playerid], Poz[0], Poz[1], Poz[2]);
      if(!IsPlayerInRangeOfPoint(playerid, 4.0, Poz[0], Poz[1], Poz[2])) return SCM(playerid, -1, "NKRP "CRVENA"Niste u blizini igraca koji vam je ponudio drogu!");
      if(IsPlayerInAnyVehicle(playerid) && !IsPlayerInAnyVehicle(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Ne mozete biti u vozilu!");
      if(!IsPlayerInAnyVehicle(playerid) && IsPlayerInAnyVehicle(DrogaOd[playerid])) return SCM(playerid, -1, "NKRP "CRVENA"Taj igrac je u vozilu!");
      if(PlayerInfo[playerid][pNovacDzep] < CenaDroge[playerid]) return SCM(playerid, -1, "NKRP "CRVENA"Nemate dovoljno novca!");
      g_NovacMinus(playerid, CenaDroge[playerid]); g_NovacPlus(DrogaOd[playerid], CenaDroge[playerid]);
        PlayerInfo[PRODAVAC][pDroga] -= Kolicina_Koju_Prodaje[PRODAVAC]; // smanjujes drogu prodavcu
        PlayerInfo[playerid][pDroga] += Kolicina_Koju_Prodaje[PRODAVAC]; // povecavas drogu kupcu
      SCM(playerid, -1, "NKRP "ZUTA"Kupili ste drogu od igraca %s za %d$ novca!", GetName(DrogaOd[playerid]), CenaDroge[playerid]);
      SCM(DrogaOd[playerid], -1, "NKRP "ZUTA"Igrac %s je prihvatio Drogu i zaradio je %d$!", GetName(playerid), CenaDroge[playerid]);
      DrogaOd[playerid] = -1; CenaDroge[playerid] = 0;
   }[/pawn]
Ja ovako stavio izbacuje mi error nmg da skapiram ovo aj mi ti uradi u ovom kako treba da znam za sledeci put kako ide :D