Detaljan opis problema:
Kako da napravim da kada igrac kuca samo /withdraw da mu izbaci SCM Koriscenje /withdraw [iznos] ?
Kako mogu da napravim da kada ubaci pare ili uzme iz banke da mu izbaci SCM Staro stanje = i SCM Novo Stanje = (nekako da se sabere/oduzme staro stanje + iznos koji je uneo ili kako vec to ide ? )
Dio skripte: //
Neke slike/video za lakse dobivanje pomoci(neobavezno): //
Za koriscenje ubaci nesto slicno ovome. Pisem iz glave tkd nisam siguran da li radi.
[pawn]if(sscanf(params, "u", iznos)) return SendClientMessage(playerid, -1, "{2685EB}[xCN:RP]{FFFFFF} Koriscenje: /withdraw [IZNOS] "); //ako ne radi zameni u sa ud! [/pawn]
Za staro stanje i novo stanje bi mogao neko iskusniji da ti pomogne.
Ako ti je u dialozi vako ako ne samo smeni ga da nije sa dialog.
[pawn]if(dialogid == BANKMENU2)
{
if(response)
{
//if(dialogid == BANKMENU2)
//{
new cashdeposit = strval(inputtext);
if (cashdeposit > GetPlayerMoney(playerid) || cashdeposit < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " Nemate tolku");
return 1;
}
GivePlayerMoney(playerid,-cashdeposit);
new curfunds = PlayerInfo[playerid][pAccount];
PlayerInfo[playerid][pAccount]=cashdeposit+PlayerInfo[playerid][pAccount];
SendClientMessage(playerid, COLOR_WHITE, "|___ Banka ___|");
format(string, sizeof(string), " Stara smetka: $%d", curfunds);
SendClientMessage(playerid, COLOR_GRAD2, string);
format(string, sizeof(string), " Vneseno: $%d",cashdeposit);
SendClientMessage(playerid, COLOR_GRAD4, string);
SendClientMessage(playerid, COLOR_GRAD6, "|-----------------------------------------|");
format(string, sizeof(string), " Nova smetka: $%d", PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_WHITE, string);
OnPlayerUpdate(playerid);
return 1;
}
}
//------------------------------------------------------------------------------
if(dialogid == BANKMENU)
{
if(response)
{
new cashdeposit = strval(inputtext);
if (cashdeposit > PlayerInfo[playerid][pAccount] || cashdeposit < 1)
{
SendClientMessage(playerid, COLOR_GRAD2, " Nemate tolku !");
return 1;
}
ConsumingMoney[playerid] = 1;
GivePlayerMoney(playerid,cashdeposit);
PlayerInfo[playerid][pAccount]=PlayerInfo[playerid][pAccount]-cashdeposit;
format(string, sizeof(string), " ** Imate izvadeno $%d od vasata smetka,Ostanato: $%d ", cashdeposit,PlayerInfo[playerid][pAccount]);
SendClientMessage(playerid, COLOR_GREEN, string);
return 1;
}
}[/pawn]
CMD:withdraw(playerid,params[])
{
new string[50];
if(sscanf(params, "i", params[0])) return SendClientMessage(playerid, -1, "/withdraw (iznos)");
if(params[0] >= PlayerInfo[playerid][pNovacBanka]) return SendClientMessage(playerid, -1, "Error");
GivePlayerMoney(playerid, params[0]);
PlayerInfo[playerid][pNovacBanka] -= params[0];
format(string, sizeof(string,), "Stari iznos racuna je %d$, novi %d$", PlayerInfo[playerid][pNovacBanka]+params[0], PlayerInfo[playerid][pNovacBanka]-params[0]);
SendClientMessage(playerid, -1, string);
return 1;
}
nez hoce li raditi sad sam ustao, testiraj pa javi
Hvala svima, posebno tebi Luka, kasnije cu proveriti da li radi :D
Nesto nije uredu..
Postavim sebi u banci 10000, i idem /withdraw 1, on kaze stari iznos 10000$, novi 9998, a treba 9999$
Onda posle idem opet /withdraw i tada kaze stari iznos racuna je 9999$ a novi opet sjebe, znaci on stari iznos lepo napise, a novi sjebe..
CMD:bwithdraw(playerid,params[])
{
if( !PlayerInfo[ playerid ][ xImaBRacun ] ) return GRESKA( playerid, "Prvo moras da otvoris racun u banci i uzmes karticu za bankomat." );
if( IsPlayerInAnyVehicle( playerid ) ) return GRESKA( playerid, "Ne mozes koristiti ovu komandu dok si u vozilu." );
if( GetNearestAtm( playerid ) == -1 ) return GRESKA( playerid, "Moras biti blizu bankomata." );
new cashdeposit;
if( sscanf( params, "d",cashdeposit ) )
{
SendUsageMessage( playerid, "/bwithdraw [ iznos ]");
return 1;
}
if( cashdeposit > PlayerInfo[ playerid ][ xBRacun ] || cashdeposit < 1 ) return GRESKA( playerid, "Nemate toliko novca !");
DajIgracuNovac( playerid, cashdeposit );
UpdateDzepTD( playerid );
PlayerInfo[ playerid ][ xBRacun ] -= cashdeposit ;
format( globalstring, sizeof( globalstring ), "Podigli ste $%d s vaseg racuna. Na racunu ima: $%d ", cashdeposit, PlayerInfo[ playerid ][ xBRacun ] );
SCM( playerid, ZUTA, globalstring); UpdateBankTD( playerid );
return 1;
}
Ovo ti je kimanda za bankomat ali eto radi sve perfektno
Nasao sam problem, bespotrebno oduzimanje -params :D Hvala!