Galera to usando em fs de banco, mas quando uso saldo da que nгo hб nada depositado, mas na hora que deposito o dinheiro e descontando normalmente
Код:
#if defined MAX_PLAYERS
#undef MAX_PLAYERS
#endif
#define MAX_PLAYERS 50
#define account "%s.ini"
#define quantidade "insira a quantidade desejada"
//------------------------------------------------
#define c1 2316.4658,-15.6762,26.7422
#define c2 2316.6191,-12.7899,26.7422
#define c3 2316.6187,-9.9513,26.7422
#define c4 2316.6208,-7.2376,26.7422
#define s1 2309.1951,-8.3039,26.7422
#define falso "nгo estб no banco"
//------------------------------------------------
new
nome[MAX_PLAYER_NAME],
arquivo[28],
paramount[50]
;
public OnFilterScriptInit()
{
Create3DTextLabel("terminal 1\nUse /depositar /sacar ou /saldo",0x5EAF03FF,c1,50.0,0);
Create3DTextLabel("terminal 2\nUse /depositar /sacar ou /saldo",0x5EAF03FF,c2,50.0,0);
Create3DTextLabel("terminal 3\nUse /depositar /sacar ou /saldo",0x5EAF03FF,c3,50.0,0);
Create3DTextLabel("terminal 4\nUse /depositar /sacar ou /saldo",0x5EAF03FF,c4,50.0,0);
Create3DTextLabel("terminal para abrir contas bancбrias\nUse /abrirconta",0xFF0000FF,s1,50.0,0);
return 1;
}
public OnFilterScriptExit()
{
DOF2_Exit();
return 1;
}
public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
{
if(dialogid == 666)
{
if(response)
{
if(GetPlayerMoney(playerid) < strval(inputtext)) return SendClientMessage(playerid,-1,"nгo tem tudo isso а depositar.");
GetPlayerName(playerid,nome,24);
format(arquivo,30,account,nome);
DOF2_SetInt(arquivo, "grana", DOF2_GetInt(arquivo, "grana")+strval(inputtext));
format(paramount,50,"vocк depositou R$%d",strval(inputtext));
SendClientMessage(playerid,-1,paramount);
GivePlayerMoney(playerid,-strval(inputtext));
return 1;
}
}
if(dialogid == 665)
{
if(response)
{
GetPlayerName(playerid,nome,24);
format(arquivo,28,account,nome);
SendClientMessage(playerid,-1,paramount);
new MyMoney = DOF2_GetInt(arquivo, "grana");
//if(GetPlayerMoney(playerid) < MyMoney) return SendClientMessage(playerid,-1,"nгo tem grana para isso.");
if(strval(inputtext) <= MyMoney)
{
DOF2_SetInt(arquivo, "grana", DOF2_GetInt(arquivo, "grana")-strval(inputtext));
GivePlayerMoney(playerid, strval(inputtext));
}
else return SendClientMessage(playerid,-1,"nгo possui tudo isso.");
if(!strlen(inputtext)) return ShowPlayerDialog(playerid,665,DIALOG_STYLE_INPUT,"banco",quantidade,"ok","fechar");
}
}public OnPlayerCommandText(playerid, cmdtext[])
{
if(!strcmp(cmdtext, "/depositar", true))
{
if(IsPlayerInRangeOfPoint(playerid,5.0,c1) || IsPlayerInRangeOfPoint(playerid,5.0,c2) || IsPlayerInRangeOfPoint(playerid,5.0,c3) || IsPlayerInRangeOfPoint(playerid,5.0,c4))
{
ShowPlayerDialog(playerid,666,DIALOG_STYLE_INPUT,"banco",quantidade,"ok","fechar");
}
else return SendClientMessage(playerid,-1,falso);
return 1;
}
if(!strcmp(cmdtext, "/banco", true))
{
SetPlayerPos(playerid,2305.6309,-16.1295,26.7496);
return 1;
}
if(!strcmp(cmdtext, "/sacar", true))
{
if(IsPlayerInRangeOfPoint(playerid,5.0,c1) || IsPlayerInRangeOfPoint(playerid,5.0,c2) || IsPlayerInRangeOfPoint(playerid,5.0,c3) || IsPlayerInRangeOfPoint(playerid,5.0,c4))
{
ShowPlayerDialog(playerid,665,DIALOG_STYLE_INPUT,"banco",quantidade,"ok","fechar");
}
else return SendClientMessage(playerid,-1,falso);
return 1;
}
if(!strcmp(cmdtext, "/saldo", true))
{
if(IsPlayerInRangeOfPoint(playerid,5.0,c1) || IsPlayerInRangeOfPoint(playerid,5.0,c2) || IsPlayerInRangeOfPoint(playerid,5.0,c3) || IsPlayerInRangeOfPoint(playerid,5.0,c4))
{
GetPlayerName(playerid,nome,24);
format(arquivo,28,account,nome);
format(paramount,50,"vocк ainda tem depositado R$%d",DOF2_GetInt(arquivo, "grana"));
ShowPlayerDialog(playerid,664,DIALOG_STYLE_MSGBOX,"banco",paramount,"ok","");
}
return 1;
}
return 0;
}
Botei todo o cуdigo para ficar mais facil para localizar o bug, pq ainda n achei mais vou continuar procurando
Nгo, quando eu vou depositar ele depositar normalmente, dai eu pego e vou ver meu saldo, sу que fica saldo 0