Guest User

Untitled

a guest
Jan 27th, 2013
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.71 KB | None | 0 0
  1. // This is a comment
  2. // uncomment the line below if you want to write a filterscript
  3. //#define FILTERSCRIPT
  4.  
  5. #include <a_samp>
  6. #include <DOF2>
  7.  
  8. #define DIALOG_REGISTRO 1
  9. #define DIALOG_LOGAR 2
  10.  
  11. enum pDados
  12. {
  13. Nick,
  14. Senha,
  15. Sexo,
  16. Nivel,
  17. Skin,
  18. Dinheiro,
  19. Matou,
  20. Morreu,
  21. HorasJogadas,
  22. Organizacao,
  23. Cargo,
  24. Emprego,
  25. AdminLevel,
  26. Helper,
  27. VIP,
  28. }
  29.  
  30. new Player[MAX_PLAYERS][pDados];
  31. new Erro[MAX_PLAYERS];
  32.  
  33. public OnPlayerConnect(playerid)
  34. {
  35. new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
  36. GetPlayerName(playerid, name, 32); //Pega o nome do playerid
  37. format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
  38. if(DOF2_FileExists(arquivo)) //Verifica se a pasta existe
  39. { //Caso existir, irá retornar a dialog de Login
  40. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você é Registrado, digite sua senha para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
  41. }
  42. else //Caso o arquivo não exista
  43. { //Irá retornar a dialog de registro
  44. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Você ainda não é Registrado, digite uma senha para se registrar!", "Confirma", "Cancelar");
  45. }
  46. return 1;
  47. }
  48.  
  49. // <?
  50.  
  51. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  52. {
  53. new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
  54. GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
  55. format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
  56. if(dialogid == DIALOG_REGISTRO)
  57. {
  58. if(!strval(inputtext)) //Verifica se o player digitou LETRAS, caso for true
  59. { //Retorna a dialog de registro novamente para ele digitar NÚMEROS
  60. ShowPlayerDialog(playerid, DIALOG_REGISTRO, DIALOG_STYLE_INPUT, "Registro", "Digite apenas números!\nDigite sua senha novamente para se registrar!", "Confirma", "Cancelar");
  61. return 1;
  62. }
  63. if(!response) //Verifica se ele clicar em 'Cancelar"
  64. { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
  65. Kick(playerid);
  66. return 1;
  67. }
  68. else //Verifica se ele Confirma o Registro
  69. { //Caso for true, ira criar o arquivo na pasta CONTAS
  70. Player[playerid][Senha] = strval(inputtext); //Player[playerid][Senha] vai ser igual ao que ele digitar na dialog Registro
  71. DOF2_CreateFile(arquivo); //Vai criar o arquvivo na pasta Contas
  72. DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
  73. DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]);
  74. DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
  75. DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
  76. DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
  77. DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]);
  78. DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]);
  79. DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]);
  80. DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
  81. DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
  82. DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
  83. DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
  84. DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
  85. DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
  86. DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
  87. DOF2_SaveFile(); //E finalmente salvando o arquivo, sem essa função o arquivo não será salvo!
  88. //Retornando a dialog de Login ao player no final para ele logar no server
  89. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você se cadastrou, agora é só logar com sua senha registrada!", "Confirma", "Cancelar");
  90. }
  91. }
  92. if(dialogid == DIALOG_LOGAR)
  93. {
  94. if(!strval(inputtext)) //Verifica se o player digitou letras, caso for true
  95. { //Retorna a dialog de Login novamente para ele digitar NÚMEROS
  96. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Digite apenas números!\nDigite sua senha cadastrada para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
  97. return 1;
  98. }
  99. if(!response) //Verifica se ele clicar em 'Cancelar"
  100. { //Caso ele clicar em cancelar, irá retornar ao playerid KICK
  101. Kick(playerid);
  102. return 1;
  103. }
  104. else //Verifica se ele Confirma o Login
  105. { //Caso for true, ira verificar se o que ele digitar será a mesma senha que ele se registrou anteriormente
  106. Player[playerid][Senha] = DOF2_GetInt(arquivo, "Senha"); //Pega a senha do jogador no arquivo da conta
  107. if(strval(inputtext) == Player[playerid][Senha]) //Se o que ele digitar for igual ao valor que carregou aqui em cima /\
  108. {
  109. Player[playerid][Matou] = DOF2_GetInt(arquivo, "Matou"); //Pega quantos ele matou no arquivo
  110. Player[playerid][Morreu] = DOF2_GetInt(arquivo, "Morreu"); //Pega quantos ele morreu no arquivo
  111. Player[playerid][Dinheiro] = DOF2_GetInt(arquivo, "Dinheiro"); //Pega o dinheiro e iguala ao Player[playerid][Dinheiro]
  112. Player[playerid][Nivel] = DOF2_GetInt(arquivo, "Nivel", Player[playerid][Nivel]);
  113. Player[playerid][Organizacao] = DOF2_GetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
  114. Player[playerid][Cargo] = DOF2_GetInt(arquivo, "Cargo", Player[playerid][Cargo]);
  115. Player[playerid][Emprego] = DOF2_GetInt(arquivo, "Emprego", Player[playerid][Emprego]);
  116. Player[playerid][AdminLevel] = DOF2_GetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
  117. Player[playerid][Helper] = DOF2_GetInt(arquivo, "Helper", Player[playerid][Helper]);
  118. Player[playerid][Nick] = DOF2_GetInt(arquivo, "Nick", Player[playerid][Nick]);
  119. Player[playerid][VIP] = DOF2_GetInt(arquivo, "VIP", Player[playerid][VIP]);
  120. Player[playerid][Skin] = DOF2_GetInt(arquivo, "Skin", Player[playerid][Skin]);
  121. SetPlayerName(playerid, Player[playerid][Nick]);
  122. SetPlayerSkin(playerid, Player[playerid][Skin]);
  123. SetPlayerScore(playerid, Player[playerid][Nivel]);
  124. GivePlayerMoney(playerid, Player[playerid][Dinheiro]);
  125. DOF2_GetInt(arquivo, "Sexo", Player[playerid][Sexo]);
  126. DOF2_GetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
  127. SpawnPlayer(playerid); //Spawna o player
  128. }
  129. if(strval(inputtext) != Player[playerid][Senha])
  130. {
  131. ShowPlayerDialog(playerid, DIALOG_LOGAR, DIALOG_STYLE_PASSWORD, "Logar", "Você digitou sua senha errado, digite-a novamente para logar!\nSe errar 5 vezes você será kickado !", "Confirma", "Cancelar");
  132. Erro[playerid]++; //O erro vai aumentar cada vez que ele errar
  133. if(Erro[playerid] == 5) //Quando chegar à 5 vezes, irá retornar a msg e o Ban
  134. {
  135. SendClientMessage(playerid, -1, "Você foi kickado por errar a senha por mais de 5 vezes !");
  136. Kick(playerid);
  137. }
  138. }
  139. }
  140. }
  141. return 1;
  142.  
  143. public OnPlayerDisconnect(playerid)
  144. {
  145. new arquivo[40], name[MAX_PLAYER_NAME]; //'arquivo' uma string para a format | 'name' para pegar o nome do playerid
  146. GetPlayerName(playerid, name, 32); //Para pegar o nome do playerid
  147. format(arquivo, 40, "Contas/%s.ini", name); //Formata o arquivo com o nome do playerid
  148. if(DOF2_FileExists(arquivo)) //Verifica se o arquivo da conta do playerid existe
  149. {
  150. Player[playerid][Dinheiro] = GetPlayerMoney(playerid); //Pega o dinheiro que o player tem no momento e iguala a Var de informações dele
  151. DOF2_SetInt(arquivo, "Senha", Player[playerid][Senha]); //Salva a senha, caso ele tenha modificado
  152. DOF2_SetInt(arquivo, "Matou", Player[playerid][Matou]); //Salva quantos players ele matou
  153. DOF2_SetInt(arquivo, "Morreu", Player[playerid][Morreu]); //Salva quantas vezes ele morreu
  154. DOF2_SetInt(arquivo, "Dinheiro", Player[playerid][Dinheiro]); //Salva o dinheiro que foi igualado ao GetPlayerMoney logo acima no começo da função
  155. DOF2_SetInt(arquivo, "Nick", Player[playerid][Nick]);
  156. DOF2_SetInt(arquivo, "Sexo", Player[playerid][Sexo]);
  157. DOF2_SetInt(arquivo, "Skin", Player[playerid][Skin]);
  158. DOF2_SetInt(arquivo, "Nivel", Player[playerid][Nivel]);
  159. DOF2_SetInt(arquivo, "HorasJogadas", Player[playerid][HorasJogadas]);
  160. DOF2_SetInt(arquivo, "Organizacao", Player[playerid][Organizacao]);
  161. DOF2_SetInt(arquivo, "Cargo", Player[playerid][Cargo]);
  162. DOF2_SetInt(arquivo, "Emprego", Player[playerid][Emprego]);
  163. DOF2_SetInt(arquivo, "AdminLevel", Player[playerid][AdminLevel]);
  164. DOF2_SetInt(arquivo, "Helper", Player[playerid][Helper]);
  165. DOF2_SetInt(arquivo, "VIP", Player[playerid][Helper]);
  166. DOF2_SaveFile(); //E finalmente salvando o arquivo
  167. }
  168. return 1;
  169. }
  170.  
  171. public OnPlayerSpawn(playerid)
  172. {
  173. return 1;
  174. }
  175.  
  176. public OnPlayerDeath(playerid, killerid, reason)
  177. {
  178. return 1;
  179. }
  180.  
  181. public OnGameModeExit()
  182. {
  183. DOF2_Exit();
  184. return 1;
  185. }
Advertisement
Add Comment
Please, Sign In to add comment