19.07.2013, 23:42
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
Botei todo o cуdigo para ficar mais facil para localizar o bug, pq ainda n achei mais vou continuar procurando
Код:
#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; }