Advertisement
Guest User

Untitled

a guest
Oct 6th, 2017
202
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.78 KB | None | 0 0
  1. /*
  2. Obs: Quando usar o mysql_format, invés de usar %s, deverá ser usado %e
  3. */
  4.  
  5.  
  6. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  7. {
  8. if(dialogid == DIALOG_LOGIN)
  9. {
  10. if(response)
  11. {
  12. if(!strlen(inputtext))
  13. return ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_INPUT, "Login", "Digite sua senha para entrar:", "Entrar", "Sair");
  14.  
  15. if(!strcmp(inputtext, Player[playerid][Password]))
  16. {
  17. SendClientMessage(playerid, -1, "[SERVER]: Login feito com sucesso.");
  18. SpawnPlayer(playerid);
  19. }
  20. else
  21. ShowPlayerDialog(playerid, DIALOG_LOGIN, DIALOG_STYLE_PASSWORD, "Login", "{FF0000}Senha Incorreta!\n\n{FFFFFF}Digite sua senha para entrar:", "Entrar", "Sair");
  22. }
  23. }
  24. else if(dialogid == DIALOG_REGISTER)
  25. {
  26. if(response)
  27. {
  28. if(strlen(inputtext) < 5)
  29. return ShowPlayerDialog(playerid, DIALOG_REGISTER, DIALOG_STYLE_INPUT, "Registro", "Digite uma senha para registrar:", "Registrar", "Sair");
  30.  
  31. format(Player[playerid][Password], 80, "%s", inputtext); // Armazenei na variável a senha digitada para inserir depois.
  32. ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Digite seu email para registrar:", "Confirmar", "Sair");
  33. }
  34. }
  35. else if(dialogid == DIALOG_EMAIL)
  36. {
  37. if(response)
  38. {
  39. if(!strlen(inputtext))
  40. return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "Digite seu email para registrar:", "Confirmar", "Sair");
  41.  
  42. if(!isValidEmail(inputtext)) // Verifica se o email é válido (ex: gmail, hotmail, etc), stock no final do código.
  43. return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "{E44235}Email Inválido!\n{FFFFFF}Digite outro email para registrar:", "Confirmar", "Fechar");
  44.  
  45. // Vamos checar se já existe algum email registrado igual o que foi digitado. O resultado será na callback ResultEmail.
  46. mysql_format(ConnectMySQL, String, sizeof String, "SELECT `Email` FROM `players` WHERE `Email` = '%e' LIMIT 1", inputtext);
  47. mysql_tquery(ConnectMySQL, String, "ResultEmail", "is", playerid, inputtext);
  48. // Selecionei todas as colunas email da tabela player, onde o email é igual a inputtext(o que foi digitado na dialog);
  49. }
  50. }
  51. return 1;
  52. }
  53.  
  54. ResultEmail(playerid, inputtext[]);
  55. public ResultEmail(playerid, inputtext[])
  56. {
  57. if(cache_get_row_count()) // Acho resultado, então já existe algum email registrado igual o que foi digitado. Retornaremos para dialog para digitar outro email.
  58. return ShowPlayerDialog(playerid, DIALOG_EMAIL, DIALOG_STYLE_INPUT, "Email", "{E44235}Este Email já foi registrado!\n{FFFFFF}Digite outro email para registrar:", "Confirmar", "Fechar");
  59.  
  60. else // Não existe nenhum email registrado igual o que foi digitado, então podemos inserir todos os dados e criar a conta.
  61. {
  62. mysql_format(ConnectMySQL, String, sizeof String, "INSERT INTO `players` (`Nick`, `Password`, `Email`) VALUES ('%e', '%e', '%e')", GetName[playerid], Player[playerid][Password], inputtext);
  63. mysql_tquery(ConnectMySQL, String);
  64.  
  65. SendClientMessage(playerid, -1, "[SERVER]: Sua conta foi criada com sucesso.");
  66. SpawnPlayer(playerid);
  67. }
  68. return 1;
  69. }
  70.  
  71. stock isValidEmail(email[]) // Stock para verificar o domínio do email.
  72. {
  73. static const ValidEmails[17][16] =
  74. {
  75. {"@gmail.com"},
  76. {"@hotmail.com.br"},
  77. {"@hotmail.com"},
  78. {"@globo.com"},
  79. {"@globomail.com"},
  80. {"@uol.com"},
  81. {"@outlook.com"},
  82. {"@live.com"},
  83. {"@msn.com"},
  84. {"@yahoo.com.br"},
  85. {"@ymail.com"},
  86. {"@rocketmail.com"},
  87. {"@ig.com.br"},
  88. {"@pop.com.br"},
  89. {"@bol.com.br"},
  90. {"@oi.com.br"},
  91. {"@r7.com"}
  92. };
  93.  
  94. for(new i; i < sizeof ValidEmails; i++)
  95. {
  96. if(strfind(email, ValidEmails[i], false) != -1)
  97. return true;
  98. }
  99. return false;
  100. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement