Pomoc u vezi systema zlata


Započeo MR.UrkeLa, April 27, 2021, 00:17:24 PRE PODNE

prethodna tema - sledeća tema

0 članova i 1 gost pregledaju ovu temu.

Problem(error/warning): Uopste mi ne cita koliko novca imam
Deo skripte:
YCMD:kupizlato(playerid, params[], help)
{
    #pragma unused help
	#pragma unused params
    if(!IsPlayerInRangeOfPoint(playerid, 10.0, 299.9264,1416.3710,727.4360)) return SendClientMessage(playerid, COLOR_GREY, "  Niste u zlatari");
	SPD(playerid,9842,DIALOG_STYLE_INPUT,"KUPOVINA ZLATA","Unesite kolicinu zlata koju zelite da kupite","KUPI","IZLAZ");
	return 1;
}
fDialog(9842)
{
	if(!response) return 1;
	if(response)
	{
		new str[126],iznos;
		if(sscanf(inputtext,"d",iznos)) return SCM(playerid,-1,"Koristite samo brojeve !");
		if(PlayerInfo[playerid][pNovacDzep] < iznos) return SCM(playerid,-1,"Nemas dovoljno novca !");
		if(iznos < 1 || iznos > 100) return SCM(playerid,-1,"Ne mozete kupiti manje od 0 grama zlata a ni vise od 100 od jednom !");
		PlayerInfo[playerid][pZlato] += iznos;
		g_NovacMinus(playerid,iznos*1000);
		format(str,sizeof(str),"Kupili ste %dG zlata za %d$ !",iznos,iznos*1000);
		SCM(playerid,-1,str);
	}
	return 1;
}

Debug iz server_log(ukoliko je u pitanju crashanje servera - crashdetect log):
Problem je u tome sto igraca otera u minus i da mu zlato a lepo je namesteno da cita da li igrac ima toliko novca.
Poslednja Izmena: April 27, 2021, 01:34:13 PRE PODNE od M Ө M Σ N Z I

Galardo

*

mgWhosyGD

Tebi je iznos kolicina zlata, a ne novac u dzepu, tako da pogledaj sta uopste provjerajes.

@Gallardo ako bi mogao da mi das primer kako bi to trebalo izgledati.

Galardo

*

mgWhosyGD

Pa npr ti ako oces kupit 2g zlata, a cijena po 1g je 1000, ti u provjeri ne mozes samo provjeriti iznos jer ti je iznos trenutno samo 2g zlata, tako da moras to pomnoziti sa iznosom.

if(PlayerInfo[playerid][pNovacDzep] < iznos*1000) return SCM(playerid,-1,"Nemas dovoljno novca !");



Ti njemu iz džepa uzimaš iznos*1000
A gledaš da li on ima samo iznos

fDialog(9843)
{
	if(!response) return 1;
	if(response)
	{
		new str[126],iznos;
        if(sscanf(inputtext,"d",iznos)) return SCM(playerid,-1,"Koristite samo brojeve !");
		if(PlayerInfo[playerid][pZlato] < iznos) return SCM(playerid,-1,"Nemas dovoljno zlata !");
		if(iznos < 1 || iznos > 100) return SCM(playerid,-1,"Ne mozete prodati manje od 0 grama zlata a ni vise od 100 od jednom !");
		PlayerInfo[playerid][pZlato] -= iznos;
		g_NovacPlus(playerid,iznos*900);
		format(str,sizeof(str),"Prodali ste %dG zlata za %d$ !",iznos,iznos*900);
		SCM(playerid,-1,str);
	}
	return 1;
}
ovo je forica za prodaju on otera zlato u minus

Citat: MR.UrkeLa poslato April 27, 2021, 13:23:38 POSLE PODNE
fDialog(9843)
{
   if(!response) return 1;
   if(response)
   {
      new str[126],iznos;
        if(sscanf(inputtext,"d",iznos)) return SCM(playerid,-1,"Koristite samo brojeve !");
      if(PlayerInfo[playerid][pZlato] < iznos) return SCM(playerid,-1,"Nemas dovoljno zlata !");
      if(iznos < 1 || iznos > 100) return SCM(playerid,-1,"Ne mozete prodati manje od 0 grama zlata a ni vise od 100 od jednom !");
      PlayerInfo[playerid][pZlato] -= iznos;
      g_NovacPlus(playerid,iznos*900);
      format(str,sizeof(str),"Prodali ste %dG zlata za %d$ !",iznos,iznos*900);
      SCM(playerid,-1,str);
   }
   return 1;
}
ovo je forica za prodaju on otera zlato u minus



Brate pogledaj kod prvo saljes kupi zlato sad prodaj

Hvala svima za dobro, resio sam problem ! ;D