Advertisement
Guest User

DOF2 HTS DIALOGS

a guest
Mar 20th, 2014
574
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.49 KB | None | 0 0
  1. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  2. {
  3. new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
  4. GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
  5. format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
  6. if(dialogid == DIALOG_REGISTRO)
  7. {
  8. if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
  9. { //Retorna a dialog de registro novamente para ele digitar NÚMEROS
  10. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas números!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
  11. return 1;
  12. }
  13. if(!response) //Verifica se ele clicar em 'Cancelar"
  14. { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
  15. Kick(playerid);
  16. return 1;
  17. }
  18. else //Verifica se ele Confirma o Registro
  19. { //Caso for true, ira criar o arquivo na pasta CONTAS
  20. Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
  21. DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
  22. DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Vai salvar a senha do playerid
  23. DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Vai salvar quantas vezes ele matou
  24. DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Vai salvar quantas vezes ele morreu
  25. DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Vai salvar o dinheiro dele
  26. DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa função o arquivo não será salvo!
  27. //Retornando a dialog de Login ao player no final para ele logar no server
  28. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você se cadastrou, agora é só logar com sua senha registrada!", "Confirma", "Cancelar");
  29. }
  30. }
  31. if(dialogid == DIALOG_LOGAR)
  32. {
  33. if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true
  34. { //Retorna a dialog de Login novamente para ele digitar NÚMEROS
  35. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas números!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes sua conta será banida!", "Confirma", "Cancelar");
  36. return 1;
  37. }
  38. if(!response) //Verifica se ele clicar em 'Cancelar"
  39. { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
  40. Kick(playerid);
  41. return 1;
  42. }
  43. else //Verifica se ele Confirma o Login
  44. { //Caso for true, ira verificar se o que ele digitar será a mesma senha que ele se registrou anteriormente
  45. Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
  46. if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
  47. { //Retornará os dados do player e após irá dar Spawn no mesmo
  48. Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
  49. Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
  50. Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
  51. GivePlayerMoney(playerid, Player[playerid][Dinheiro]); //Da o dinheiro carregado acima
  52. SpawnPlayer(playerid); //Spawna o player
  53. }
  54. else //Caso ele digitar a senha errada
  55. {
  56. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes sua conta será banida!", "Confirma", "Cancelar");
  57. Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
  58. if(Erro[playerid] == 5) //Quando chegar à 5 vezes, irá retornar a msg e o Ban
  59. {
  60. SendClientMessage(playerid, -1, "Sua conta está banida por errar 5 vezes a sua senha, contacte o Admin para retirar seu Ban!");
  61. Ban(playerid);
  62. return 1;
  63. }
  64. }
  65. }
  66. }
  67. return 1;
  68. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement