Skripta koju koristim:Svoju
Detaljan opis problema:Otidem u banku.Imam kod sebe 50$,pospremim 26 i ostane mi 14$,i onda si /givemoney 100 i dam si 1000$ i ajde da to pospremim,i pise mi da nemam toliko novaca u novcaniku,kao da imam 14$ u novcaniku,ali zapravo imam 1014,a kad kucam da pospremim 14$ mogu pospremati toliko novaca u nedogled i u minus otic.i mogu ici u minus a stavio sam da ne moze ici ispod 0. sve sam pokusavao i nista,prisiljen sam ovdje pitat.
Dio skripte:Evo posto to radim cisto iz zezancije dat cu citavi dio skripte banke.
//============================================[BANKA]=========================================
if(dialogid == DIALOG_BANKA)
{
if(!response) return 1;
if(response)
{
if(listitem == 0)
{
SPD(playerid,WITHDRAWMONEYBANK,DSI,""COL_ORANGE"BANKA-POSPREMANJE NOVCA",""COL_WHITE"Unesi svotu novaca koju zelis pospremiti na racun","Pospremi","Izadji");
}
if(listitem == 1)
{
SPD(playerid,DEPOSITMONEYBANK,DSI,""COL_ORANGE"BANKA-PODIZANJE NOVCA",""COL_WHITE"Unesi svota novaca koju zelis poditi sa racuna","Podigni","Izadji");
}
if(listitem == 2)
{
new string[128];
format(string,sizeof(string),""COL_WHITE"Na vasem bankovnom racunu imate"COL_GREEN"%d$ "COL_WHITE"$",PlayerInfo[playerid][pBankCash]);
SPD(playerid, BALANCEBANK, DSB, ""COL_ORANGE"BANKA-STANJE RACUNA", string, "Ok", "");
}
}
}
//---------------------------------------------------------------------------------------------------------------
if(dialogid == WITHDRAWMONEYBANK)
{
if(!response) return 1;
if(response)
{
new kolicina;
kolicina = strval(inputtext);
if(kolicina < 1) return SCM(playerid,COLOR_GREEN,"[RADNIK]: "COL_WHITE"Ne mozete ici ispod 1!");
if(PlayerInfo[playerid][pBankCash] < kolicina) return SCMF(playerid,COLOR_GREEN,"[RADNIK]: "COL_WHITE"Nemate "COL_GREEN"%d$ "COL_WHITE", u banci imate "COL_GREEN"%d$"COL_WHITE"!",kolicina,PlayerInfo[playerid][pBankCash]);
PlayerInfo[playerid][pBankCash] -= kolicina;
GivePlayerCash(playerid, kolicina);
SavePlayer(playerid);
SCMF(playerid, COLOR_GREEN,"[RADNIK]: "COL_WHITE"Podigli ste sa bankovnog racuna "COL_GREEN"%d$"COL_WHITE", Novo stanje na racunu vam je "COL_GREEN"%d$"COL_WHITE"!",kolicina,PlayerInfo[playerid][pBankCash]);
}
}
//---------------------------------------------------------------------------------------------------------------
if(dialogid == DEPOSITMONEYBANK)
{
if(!response) return 1;
if(response)
{
new kolicina;
kolicina = strval(inputtext);
if(kolicina < 1) return SCM(playerid,COLOR_GREEN,"[RADNIK]: "COL_WHITE"Ne mozete ici ispod 1!");
if(PlayerInfo[playerid][pCash] < kolicina) return SCMF(playerid,COLOR_GREEN,"[RADNIK]: "COL_WHITE"Nemate "COL_GREEN"%d$ "COL_WHITE", u novcaniku imate "COL_GREEN"%d$"COL_WHITE"!",kolicina, PlayerInfo[playerid][pCash]);
PlayerInfo[playerid][pBankCash] += kolicina;
GivePlayerCash(playerid,-kolicina);
SavePlayer(playerid);
SCMF(playerid,COLOR_GREEN,"[RADNIK]: "COL_WHITE"Stavili ste na bankovni racun "COL_GREEN"%d$"COL_WHITE", Novo stanje na racunu vam je "COL_GREEN"%d$"COL_WHITE"!",kolicina,PlayerInfo[playerid][pBankCash]);
}
}
//--------------------------------------------------------------------------------------------------------------
Neke slike/video za lakse dobivanje pomoci(neobavezno):
http://prntscr.com/4t8yxh (http://prntscr.com/4t8yxh)
evo i slike al sada sam sliko dok su drugacije cifre bile.
gledo sam u data pod pCash imam duplo vise novaca,ali uvijek mi ostane u novcaniku onolko kolko kad odem prvi put u banku.
Ako ima ko volje pomoci neka pomogne,frenda sam pito i ja se isto mucim vec dugo ali ne mogu pronaci problem
Pa loše provjeravaš variablu , GivePlayerMoney je orginalna funkcija , a ovdje vidim koristis GivePlayerCash . Tako da može biti do loše provjere variable.
Citat: Amar Tinjak poslato Oktobar 05, 2014, 15:03:40 POSLE PODNE
Pa loše provjeravaš variablu , GivePlayerMoney je orginalna funkcija , a ovdje vidim koristis GivePlayerCash . Tako da može biti do loše provjere variable.
imam serverside money system,protiv money hacka
Postavi kod ovde.
GivePlayerCash
stock GivePlayerCash(playerid, money)
{
Cash[playerid] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return Cash[playerid];
}
mislim da sam nasao gresku sad upravo kada ti ovo kopiram :D ali da vidim prvo sto ces ti vidjeti ako je tu problem
Ovako stavi:
stock GivePlayerCash(playerid, money)
{
PlayerInfo[playerid][pCash] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return Cash[playerid];
}
hvala,kasnije cu vidjeti da li radi
Igrac sada uopce ne dobiva novce :S
Moja greska, i ovdje umjesto return Cash[playerid] stavi return PlayerInfo[playerid][pCash]
Citat: Lenon poslato Oktobar 06, 2014, 08:22:55 PRE PODNE
Moja greska, i ovdje umjesto return Cash[playerid] stavi return PlayerInfo[playerid][pCash]
stock GivePlayerCash(playerid, money)
{
Cash[playerid] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
PlayerInfo[playerid][pCash]
}
ovako?
Ne, ovako:
stock GivePlayerCash(playerid, money)
{
PlayerInfo[playerid][pCash] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return PlayerInfo[playerid][pCash];
}
Citat: Lenon poslato Oktobar 06, 2014, 14:02:17 POSLE PODNE
Ne, ovako:
stock GivePlayerCash(playerid, money)
{
PlayerInfo[playerid][pCash] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return PlayerInfo[playerid][pCash];
}
Hvala,tako da i pod getplayercash,resetplayercash i setplayercash? imas PM :)
Citat: Cranh poslato Oktobar 06, 2014, 14:25:17 POSLE PODNE
Citat: Lenon poslato Oktobar 06, 2014, 14:02:17 POSLE PODNE
Ne, ovako:
stock GivePlayerCash(playerid, money)
{
PlayerInfo[playerid][pCash] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return PlayerInfo[playerid][pCash];
}
Hvala,tako da i pod getplayercash,resetplayercash i setplayercash? imas PM :)
Da.
Citat: Lenon poslato Oktobar 06, 2014, 14:26:03 POSLE PODNE
Citat: Cranh poslato Oktobar 06, 2014, 14:25:17 POSLE PODNE
Citat: Lenon poslato Oktobar 06, 2014, 14:02:17 POSLE PODNE
Ne, ovako:
stock GivePlayerCash(playerid, money)
{
PlayerInfo[playerid][pCash] += money;
ResetMoneyBar(playerid);//Resets the money in the original moneybar, Do not remove!
UpdateMoneyBar(playerid,Cash[playerid]);//Sets the money in the moneybar to the serverside cash, Do not remove!
return PlayerInfo[playerid][pCash];
}
Hvala,tako da i pod getplayercash,resetplayercash i setplayercash? imas PM :)
Da.
U redu,hvala ti puno :) Moze lock