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
pa stavi tipa kada proda drogu
PlayerInfo[KUPAC][pDroga] += Kolicina_Prodatog[PRODAVAC];
PlayerInfo[PRODAVAC][pDroga] -= Kolicina_Prodatog[KUPAC];
tako i za zlato i mats
PlayerInfo[KUPAC][pDroga] ovde ge je kupac ne znam kako da oznacim igraca koji je kupac? jel bese targetid?
Pa ocigledno da je kupac onaj ko ukuca cmd /prihvati ... (znaci ako si definisao
CMD:prihvat(plid, params[]) plid je kupac)
To rade kralju,samo mi ostalo ovo Kolicina_Prodatog sta tu trebam da stavim?
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;
}
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
DrogaOd[playerid]
ti je prodavac u komandi /prihvati
@.кÑундер[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