Advertisement
Guest User

Untitled

a guest
Aug 9th, 2011
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 23.08 KB | None | 0 0
  1. /*******************************************************************************
  2. Desenvolvedor do sistema
  3. MiTToS - Gil Penner
  4.  
  5. Edite a vontade! mas honre com os créditos!
  6. *******************************************************************************/
  7.  
  8.  
  9.  
  10. //==============================================================================
  11. // Includes
  12. //==============================================================================
  13. #include <a_samp> //Créditos para a equipe de desenvolvimento do SA:MP
  14. #include <SII> //Créditos para [DRuG]Slick - Gerenciamento de arquivos
  15. #include <zcmd> //Créditos para ZeeX - Processador de comandos
  16. //==============================================================================
  17. // Cores
  18. //==============================================================================
  19. // As cores definidas em minúsculo devem ser usadas para msg
  20. // E as cores definidas em maiúscilo devem ser usadas para editar msg
  21. //------------------------------------------------------------------------------
  22. #define branco 0xFFFFFFAA
  23. #define cinza 0x6F7071AA
  24. #define azul 0x0087F6AA
  25. #define amarelo 0xF6F600AA
  26. #define vermelho 0xF60000AA
  27. #define coradmin 0x00BBF6AA
  28. //==============================================================================
  29. #define BRANCO "{FFFFFF}"
  30. #define VERMELHO "{FF0000}"
  31. #define AMARELO "{FFFF33}"
  32. //==============================================================================
  33. // Macro
  34. //==============================================================================
  35. #define Loop(%0,%1,%2) for(new %0 = %2; %0 < %1; %0++)
  36. //==============================================================================
  37. // Define's
  38. //==============================================================================
  39. // Abaixo estão definido os ID's das dialog's, mude de acordo com o seu GM
  40. // para que não de conflito entre as dialog's
  41. //------------------------------------------------------------------------------
  42. #define DBanco1 2301
  43. #define DBanco2 2302
  44. #define DBanco3 2303
  45. #define DBanco4 2304
  46. #define DBanco5 2305
  47. #define DBanco6 2306
  48. #define DBanco7 2307
  49. #define DBanco8 2308
  50. #define DBanco9 2309
  51. #define DBanco10 2310
  52. #define DBanco11 2311
  53. #define DBanco12 2312
  54. #define DBanco13 2313
  55. #define DBanco14 2314
  56. #define DBanco15 2315
  57. #define DBanco16 2316
  58. #define DBanco17 2317
  59. #define DBanco18 2318
  60.  
  61. #define SLOTS 100//Coloque o número de slots do seu servidor!
  62. static corda[SLOTS][128], formata[SLOTS][30];
  63.  
  64. //==============================================================================
  65. // Comando's
  66. //==============================================================================
  67. CMD:banco(playerid, params[])
  68. {//Comando para acessar o menu do banco
  69. DeletaPVar(playerid);//Estou eliminando as PVar para não dar erro algum
  70. ShowPlayerDialog(playerid, DBanco1, 2, ""VERMELHO"Banco","Logar em conta existente\nCriar nova conta","Selecionar","");//Mostra a dialog com as opções
  71. return true;
  72. }
  73.  
  74. CMD:abanco(playerid, params[])
  75. {//Comando para administradores logados na RCON administrarem as contas bancarias
  76. if(!IsPlayerAdmin(playerid)) return 1;//Se ele não for administrador logado na RCON simplesmente bloqueia
  77. DeletaPVar(playerid);//Estou eliminando as PVar para não dar erro algum
  78. ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");//Mostra a dialog com as opções
  79. return true;
  80. }
  81.  
  82. //------------------------------------------------------------------------------
  83. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  84. {
  85. switch(dialogid)
  86. {
  87. case DBanco1:
  88. {
  89. if(response)
  90. {
  91. switch(listitem)
  92. {
  93. case 0: ShowPlayerDialog(playerid, DBanco3, 1, ""VERMELHO"Conta","Digite abaixo o número da conta","Senha","");
  94. case 1: ShowPlayerDialog(playerid, DBanco2, 1, ""VERMELHO"Senha","Digite abaixo a senha da conta.","Criar","");
  95. }
  96. }
  97. return 1;
  98. }
  99. case DBanco2:
  100. {
  101. if(response)
  102. {
  103. if(!Numeros(inputtext))
  104. return SendClientMessage(playerid, cinza, "[ERRO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco2, 1, ""VERMELHO"Senha","Digite abaixo a senha da conta.","Criar","");
  105. if(strlen(inputtext) < 5 || strlen(inputtext) > 20)
  106. return SendClientMessage(playerid, cinza, "[ERRO] Senha muito pequena ou muito grande! (min 5|10 max)"), ShowPlayerDialog(playerid, DBanco2, 1, ""VERMELHO"Senha","Digite abaixo a senha da conta.","Criar","");
  107. CriarBanco(playerid, inputtext);
  108. }
  109. return 1;
  110. }
  111. case DBanco3:
  112. {
  113. if(response)
  114. {
  115. format(corda[playerid], 100, "Banco/%d.ini", strval(inputtext));
  116. if(fexist(corda[playerid]))
  117. {
  118. format(corda[playerid], 100, "%s", inputtext);
  119. SetPVarString(playerid, "ContaLogada", corda[playerid]);
  120. ShowPlayerDialog(playerid, DBanco4, 1, ""VERMELHO"Senha",""BRANCO"Digite a senha da conta bancaria.","Logar","");
  121. }
  122. else return SendClientMessage(playerid, cinza, "[ERRO] Essa conta não existe."), ShowPlayerDialog(playerid, DBanco3, 1, ""VERMELHO"Conta","Digite abaixo o número da conta","Senha","");
  123. }
  124. return 1;
  125. }
  126. case DBanco4:
  127. {
  128. if(!response)
  129. return DeletaPVar(playerid);
  130. if(response)
  131. {
  132. GetPVarString(playerid, "ContaLogada", corda[playerid], 128);
  133. format(formata[playerid], 30, "Banco/%s.ini", corda[playerid]);
  134. if(fexist(formata[playerid]))
  135. {
  136. if(INI_Open(formata[playerid]))
  137. {
  138. INI_ReadString(formata[playerid], "Senha", 20);
  139. if(strcmp(inputtext, formata[playerid], false))
  140. {
  141. SendClientMessage(playerid, cinza, "[ERRO] Senha incorreta!"), ShowPlayerDialog(playerid, DBanco4, 1, ""VERMELHO"Senha","Digite a senha da conta bancaria.","Logar","");
  142. INI_Close();
  143. return 1;
  144. }
  145. SetPVarInt(playerid, "Bloqueada", INI_ReadInt("Trancada"));
  146. if(GetPVarInt(playerid, "Bloqueada") == 2)
  147. {
  148. SendClientMessage(playerid, cinza, "[BANCO] Essa conta foi bloqueada por algum administrador!");
  149. DeletePVar(playerid, "Bloqueada");
  150. return 1;
  151. }
  152. INI_ReadString(formata[playerid], "Dono", 20);
  153. SetPVarInt(playerid, "Saldo", INI_ReadInt("Saldo"));
  154. format(corda[playerid], 40, "Proprietário: %s", formata[playerid]);
  155. ShowPlayerDialog(playerid, DBanco5, 2, corda[playerid],"Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  156. INI_Close();
  157. return 1;
  158. }
  159. }
  160. }
  161. return 1;
  162. }
  163. case DBanco5:
  164. {
  165. if(!response)
  166. return DeletaPVar(playerid);
  167. if(response)
  168. {
  169. switch(listitem)
  170. {
  171. case 0: ShowPlayerDialog(playerid, DBanco6, 1, ""VERMELHO"Saque","Digite a quantia.","Sacar","Voltar");
  172. case 1: ShowPlayerDialog(playerid, DBanco8, 1, ""VERMELHO"Deposito","Digite a quantia.","Depositar","Voltar");
  173. case 2: ShowPlayerDialog(playerid, DBanco9, 1, ""VERMELHO"Transferencia","Digite o número da conta","Valor","Voltar");
  174. case 3: format(corda[playerid], 40, "Saldo: %d", GetPVarInt(playerid, "Saldo")), ShowPlayerDialog(playerid, DBanco7, 0, ""VERMELHO"Saldo", corda[playerid], "Voltar","Sair");
  175. }
  176. }
  177. return 1;
  178. }
  179. case DBanco6:
  180. {
  181. if(!response)
  182. return ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  183. if(response)
  184. {
  185. if(!Numeros(inputtext))
  186. return SendClientMessage(playerid, cinza, "[BANCO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco6, 1, ""VERMELHO"Saque","Digite a quantia.","Sacar","Voltar");
  187. if(strlen(inputtext) > 9)
  188. return SendClientMessage(playerid, cinza, "[BANCO] Você pode sacar no máximo 10.000,000 de cada vez!"), ShowPlayerDialog(playerid, DBanco6, 1, ""VERMELHO"Saque","Digite a quantia.","Sacar","Voltar");
  189. if(GetPVarInt(playerid, "Saldo") >= strval(inputtext))
  190. {
  191. PlayerPlaySound(playerid, 1083, 0.0, 0.0, 0.0);
  192. GivePlayerMoney(playerid, strval(inputtext));
  193. SetPVarInt(playerid, "Saldo", GetPVarInt(playerid, "Saldo") - strval(inputtext));
  194. format(corda[playerid], 128, "Saque efetuado com sucesso!\nvalor sacado: %d\nNovo saldo: %d", strval(inputtext), GetPVarInt(playerid, "Saldo"));
  195. ShowPlayerDialog(playerid, DBanco7, 0, ""VERMELHO"Saque", corda[playerid], "Voltar", "Sair");
  196. SalvarBanco(playerid);
  197. }
  198. else
  199. {
  200. PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
  201. SendClientMessage(playerid, cinza, "[BANCO] Saldo insuficiente!");
  202. ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  203. }
  204. }
  205. return 1;
  206. }
  207. case DBanco7:
  208. {
  209. if(!response)
  210. return DeletaPVar(playerid);
  211. if(response)
  212. return ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  213. }
  214. case DBanco8:
  215. {
  216. if(!response)
  217. return ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  218. if(response)
  219. {
  220. if(!Numeros(inputtext))
  221. return SendClientMessage(playerid, cinza, "[BANCO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco8, 1, ""VERMELHO"Deposito","Digite a quantia.","Depositar","Voltar");
  222. if(strlen(inputtext) > 9)
  223. return SendClientMessage(playerid, cinza, "[ERRO] Só é possível depositar no máximo 10.000,000!"), ShowPlayerDialog(playerid, DBanco8, 1, ""VERMELHO"Deposito","Digite a quantia.","Depositar","Voltar");
  224. if(GetPlayerMoney(playerid) >= strval(inputtext))
  225. {
  226. PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
  227. GivePlayerMoney(playerid, - strval(inputtext));
  228. SetPVarInt(playerid, "Saldo", GetPVarInt(playerid, "Saldo")+strval(inputtext));
  229. format(corda[playerid], 128, "Deposito efetuado com sucesso!\nvalor Depositado: %d\nNovo saldo: %d", strval(inputtext), GetPVarInt(playerid, "Saldo"));
  230. ShowPlayerDialog(playerid, DBanco7, 0, ""VERMELHO"Deposito", corda[playerid], "Voltar", "Sair");
  231. SalvarBanco(playerid);
  232. }
  233. else
  234. {
  235. PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
  236. SendClientMessage(playerid, cinza, "[ERRO] Você não tem esse dinheiro!");
  237. ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  238. }
  239. }
  240. return 1;
  241. }
  242. case DBanco9:
  243. {
  244. if(!response)
  245. return ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  246. if(response)
  247. {
  248. if(!Numeros(inputtext))
  249. return SendClientMessage(playerid, cinza, "[ERRO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco9, 1, ""VERMELHO"Transferencia","Digite o número da conta","Valor","Voltar");
  250. format(formata[playerid], 30, "Banco/%d.ini", strval(inputtext));
  251. if(fexist(formata[playerid]))
  252. {
  253. format(corda[playerid], 50, "%s", inputtext);
  254. SetPVarString(playerid, "ContaTransferir", corda[playerid]);
  255. if(INI_Open(corda[playerid]))
  256. {
  257. SetPVarInt(playerid, "Saldo2", INI_ReadInt("Saldo"));
  258. ShowPlayerDialog(playerid, DBanco10, 1, ""VERMELHO"Transferencia","Quantia da transferência","Transferir","Voltar");
  259. INI_Close();
  260. return 1;
  261. }
  262. }
  263. else return SendClientMessage(playerid, cinza, "[ERRO] Essa conta não existe!"), ShowPlayerDialog(playerid, DBanco9, 1, ""VERMELHO"Transferencia","Digite o número da conta","Valor","Voltar");
  264. }
  265. }
  266. case DBanco10:
  267. {
  268. if(!response)
  269. return ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  270. if(response)
  271. {
  272. if(!Numeros(inputtext))
  273. return SendClientMessage(playerid, cinza, "[BANCO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco10, 1, ""VERMELHO"Transferencia","Quantia da transferência","Transferir","Voltar");
  274. if(strlen(inputtext) > 9)
  275. return SendClientMessage(playerid, cinza, "[BANCO] Você pode transferir no máximo 10.000,000 de cada vez!"), ShowPlayerDialog(playerid, DBanco10, 1, ""VERMELHO"Transferencia","Quantia da transferência","Transferir","Voltar");
  276. if(GetPVarInt(playerid, "Saldo") >= strval(inputtext))
  277. {
  278. SetPVarInt(playerid, "Saldo", GetPVarInt(playerid, "Saldo") - strval(inputtext));
  279. SalvarBanco(playerid);
  280. SetPVarInt(playerid, "Saldo2", GetPVarInt(playerid, "Saldo2") + strval(inputtext));
  281. SalvarTransferencia(playerid);
  282. PlayerPlaySound(playerid, 1084, 0.0, 0.0, 0.0);
  283. format(corda[playerid], 128, "Transferencia efetuada com sucesso!\nvalor transferido: %d\nNovo saldo: %d", strval(inputtext), GetPVarInt(playerid, "Saldo"));
  284. ShowPlayerDialog(playerid, DBanco7, 0, ""VERMELHO"Transferencia", corda[playerid], "Voltar", "Sair");
  285. }
  286. else
  287. {
  288. PlayerPlaySound(playerid, 1085, 0.0, 0.0, 0.0);
  289. SendClientMessage(playerid, cinza, "[ERRO] Sua conta não tem esse saldo!");
  290. ShowPlayerDialog(playerid, DBanco5, 2, ""VERMELHO"Banco","Sacar\nDepositar\nTransferir\nSaldo","Selecionar","Deslogar");
  291. }
  292. }
  293. }
  294. case DBanco11:
  295. {
  296. if(response)
  297. {
  298. switch(listitem)
  299. {
  300. case 0: ShowPlayerDialog(playerid, DBanco12, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  301. case 1: ShowPlayerDialog(playerid, DBanco14, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  302. case 2: ShowPlayerDialog(playerid, DBanco16, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  303. }
  304. }
  305. return 1;
  306. }
  307. case DBanco12:
  308. {//Ver conta
  309. if(!response)
  310. return ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  311. if(response)
  312. {
  313. if(!Numeros(inputtext))
  314. return SendClientMessage(playerid, cinza, "[ERRO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco12, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  315. format(formata[playerid], 30, "Banco/%d.ini", strval(inputtext));
  316. if(fexist(formata[playerid]))
  317. {
  318. if(INI_Open(formata[playerid]))
  319. {
  320. INI_ReadString(formata[playerid], "Dono", 20);
  321. format(corda[playerid], 128, "Dono %s\nSaldo: %d\nTrancada: %d", formata[playerid], INI_ReadInt("Saldo"), INI_ReadInt("Trancada"));
  322. ShowPlayerDialog(playerid, DBanco13, 0, ""VERMELHO"Status: 1 = Aberto - 2 = Trancada", corda[playerid], "Voltar","Sair");
  323. INI_Close();
  324. }
  325. } else return SendClientMessage(playerid, cinza, "[ERRO] Essa conta não existe!"), ShowPlayerDialog(playerid, DBanco12, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  326. }
  327. return 1;
  328. }
  329. case DBanco13:
  330. {
  331. if(!response)
  332. return DeletaPVar(playerid);
  333. if(response)
  334. return ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  335. }
  336. case DBanco14:
  337. {
  338. if(!response)
  339. return ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  340. if(response)
  341. {
  342. if(!Numeros(inputtext))
  343. return SendClientMessage(playerid, cinza, "[ERRO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco12, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  344. format(formata[playerid], 30, "Banco/%d.ini", strval(inputtext));
  345. if(fexist(formata[playerid]))
  346. {
  347. format(corda[playerid], 50, "%s", inputtext);
  348. SetPVarString(playerid, "ContaLogada", corda[playerid]);
  349. ShowPlayerDialog(playerid, DBanco15, 1, ""VERMELHO"Novo saldo","Digite o novo saldo dessa conta","Setar","Voltar");
  350. } else return SendClientMessage(playerid, cinza, "[ERRO] Essa conta não existe!"), ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  351. }
  352. return 1;
  353. }
  354. case DBanco15:
  355. {
  356. if(!response)
  357. return ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  358. if(response)
  359. {
  360. SetPVarInt(playerid, "Saldo", strval(inputtext));
  361. format(corda[playerid], 50, "Novo saldo: %d", strval(inputtext));
  362. ShowPlayerDialog(playerid, DBanco13, 0, ""VERMELHO"Novo saldo definido!", corda[playerid], "Voltar","Sair");
  363. SalvarBanco(playerid);
  364. }
  365. return 1;
  366. }
  367. case DBanco16:
  368. {
  369. if(!response)
  370. return ShowPlayerDialog(playerid, DBanco11, 2, ""VERMELHO"Administração","Ver conta\nEditar saldo\nBloquear/Desbloquear conta","Selecionar","Sair");
  371. if(response)
  372. {
  373. if(!Numeros(inputtext))
  374. return SendClientMessage(playerid, cinza, "[ERRO] Use apenas números!"), ShowPlayerDialog(playerid, DBanco12, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  375. format(formata[playerid], 30, "Banco/%d.ini", strval(inputtext));
  376. if(fexist(formata[playerid]))
  377. {
  378. format(corda[playerid], 50, "%s", inputtext);
  379. SetPVarString(playerid, "ContaLogada", corda[playerid]);
  380. ShowPlayerDialog(playerid, DBanco17, 0, ""VERMELHO"Bloquear ou desbloquear?","Você poderá alterar o status mais tarde!","Bloquear","Desbloquear");
  381. } else return SendClientMessage(playerid, cinza, "[ERRO] Essa conta não existe!"), ShowPlayerDialog(playerid, DBanco16, 1, ""VERMELHO"Conta bancaria","Digite abaixo o número da conta.","Próximo","Voltar");
  382. }
  383. return 1;
  384. }
  385. case DBanco17:
  386. {
  387. if(!response)
  388. {
  389. SetPVarInt(playerid, "Trancar", 1);
  390. ShowPlayerDialog(playerid, DBanco13, 0, ""VERMELHO"Destrancada!", "Está conta está destrancada!\nPara tranca-la repita o processo.", "Voltar","Sair");
  391. SalvarBanco(playerid);
  392. }
  393. if(response)
  394. {
  395. SetPVarInt(playerid, "Trancar", 2);
  396. ShowPlayerDialog(playerid, DBanco13, 0, ""VERMELHO"Trancada!", "Está conta está trancada!\nPara destranca-la repita o processo.", "Voltar","Sair");
  397. SalvarBanco(playerid);
  398. }
  399. return 1;
  400. }
  401. }
  402. return 1;
  403. }
  404.  
  405. //==============================================================================
  406. // Stock's
  407. //==============================================================================
  408. CriarBanco(playerid, senha[])
  409. {
  410. new numconta = 111111 + random(888888);//Gera um número randomico para a conta
  411. format(corda[playerid], 50, "Banco/%d.ini", numconta);//Formata o lugar da conta com o nome
  412. if(fexist(corda[playerid]))//Se existir manda um erro, só pra ele repetir o processo, estava com preguiça fazer gerar outra vez até não repetir
  413. return SendClientMessage(playerid, cinza, "[BANCO] Nosso banco de dados está fora do ar, tente mais tarde.");//Erro
  414. if(INI_Open(corda[playerid]))//Abre
  415. {
  416. INI_WriteString("Dono", gNome(playerid));//Coloca o nome da conta sem o underline
  417. INI_WriteString("Senha", senha);//Seta a senha
  418. INI_WriteInt("Saldo", 0);//Define o saldo para 0
  419. INI_WriteInt("Trancada", 1);//Deixa a conta aberta
  420. SendClientMessage(playerid, amarelo, "[BANCO] Conta registrada com sucesso! Você já logar.");//Confirma a conta pro player
  421. format(corda[playerid], 100, "[BANCO] O número da sua conta é: "VERMELHO"%d", numconta);//Manda as informações
  422. SendClientMessage(playerid, amarelo, corda[playerid]);//Envia a msg
  423. ShowPlayerDialog(playerid, DBanco1, 2, ""VERMELHO"Banco","Logar em conta existente\nCriar nova conta","Selecionar","");//Mostra a box
  424. }
  425. INI_Save();//Salva
  426. INI_Close();//Fecha
  427. return 1;
  428. }
  429.  
  430. SalvarBanco(playerid)
  431. {
  432. GetPVarString(playerid, "ContaLogada", corda[playerid], 128);//Pega a conta que o jogador estava logado
  433. format(formata[playerid], 30, "Banco/%s.ini", corda[playerid]);//Formata o local + conta
  434. if(fexist(formata[playerid]))//Se existir
  435. {
  436. if(INI_Open(formata[playerid]))//Abre a conta
  437. {
  438. if(GetPVarInt(playerid, "Trancar") != 0)//Se a PVar for diferente de 0
  439. {
  440. INI_WriteInt("Trancada", GetPVarInt(playerid, "Trancar"));//Ele muda o stats se esta trancada ou nao
  441. INI_Save();//Salva
  442. INI_Close();//Fecha
  443. return 1;
  444. }
  445. INI_WriteInt("Saldo", GetPVarInt(playerid, "Saldo"));//Se nao for alterar o stats da conta apenas salva o valor (como nao tem como editar o saldo e o status ao mesmo tempo nao tem perigo de nao salvar algo)
  446. INI_Save();//Salva
  447. INI_Close();//Fecha
  448. }
  449. }
  450. return 1;
  451. }
  452.  
  453. SalvarTransferencia(playerid)
  454. {
  455. GetPVarString(playerid, "ContaTransferir", corda[playerid], 128);//Pega a conta digitada para a transferencia
  456. format(formata[playerid], 30, "Banco/%s.ini", corda[playerid]);//formata
  457. if(fexist(formata[playerid]))//Se existir
  458. {
  459. if(INI_Open(formata[playerid]))//Abre a conta
  460. {
  461. INI_WriteInt("Saldo", GetPVarInt(playerid, "Saldo2"));//Edita o saldo
  462. INI_Save();//Salva
  463. INI_Close();//Fecha
  464. }
  465. }
  466. return 1;
  467. }
  468.  
  469. stock DeletaPVar(playerid)
  470. {
  471. DeletePVar(playerid, "ContaLogada");//Deleta as PVar utilizadas
  472. DeletePVar(playerid, "Saldo");//Deleta as PVar utilizadas
  473. DeletePVar(playerid, "ContaTransferir");//Deleta as PVar utilizadas
  474. DeletePVar(playerid, "Saldo2");//Deleta as PVar utilizadas
  475. DeletePVar(playerid, "Trancar");//Deleta as PVar utilizadas
  476. DeletePVar(playerid, "Bloqueada");//Deleta as PVar utilizadas
  477. return 1;
  478. }
  479.  
  480.  
  481. stock pNome(playerid)
  482. {//Essa função returna o nome do jogador.
  483. new nome[MAX_PLAYER_NAME];
  484. GetPlayerName(playerid, nome, sizeof(nome));
  485. return nome;
  486. }
  487.  
  488. stock gNome(playerid)
  489. {//Essa função returna o nome do jogador sem o underline.
  490. new str[24];
  491. strmid(str, pNome(playerid), 0, strlen(pNome(playerid)), 24);
  492. Loop(i, MAX_PLAYER_NAME, 0)
  493. {
  494. if (str[i] == '_') str[i] = ' ';
  495. }
  496. return str;
  497. }
  498.  
  499. Numeros(const string[])
  500. {//Função usada para verificar se o que foi digitado contem apenas números.
  501. Loop(i, strlen(string), 0)
  502. {
  503. if (string[i] > '9' || string[i] < '0') return 0;
  504. }
  505. return 1;
  506. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement