Problem(error/warning): Uopste mi ne cita koliko novca imam
Deo skripte: [pawn]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;
}
[/pawn]
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.
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.
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.
[pawn]if(PlayerInfo[playerid][pNovacDzep] < iznos*1000) return SCM(playerid,-1,"Nemas dovoljno novca !");
[/pawn]
Ti njemu iz džepa uzimaš iznos*1000
A gledaš da li on ima samo iznos
[pawn]
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
[/pawn]
Citat: MR.UrkeLa poslato April 27, 2021, 13:23:38 POSLE PODNE
[pawn]
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
[/pawn]
Brate pogledaj kod prvo saljes kupi zlato sad prodaj
Hvala svima za dobro, resio sam problem ! ;D