JPeedro

Untitled

Oct 31st, 2016
100
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 12.02 KB | None | 0 0
  1. /*
  2.  
  3. Agradimentos ao Dayvision (Day_) por ter feito o inventário salvar em string <3
  4.  
  5. */
  6.  
  7. //# Forwards #
  8.  
  9. forward LOGREG_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[]);
  10. forward LOGREG_Autenticar(playerid);
  11.  
  12. //# Callbacks #
  13.  
  14. public LOGREG_Autenticar(playerid)
  15. {
  16. new query[70], DBResult:result;
  17.  
  18. format(query, sizeof(query), "SELECT * FROM `Usuarios` WHERE `Nome`='%s'", PegarNome(playerid));
  19. result = db_query(STA_DATA, query);
  20.  
  21. if(!db_num_rows(result))
  22. {
  23. ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "{FFFFFF}# {FF9100}Account Creation {FFFFFF}#", "{FFFFFF}Welcome to Survive The Apocalypse\n\nPlease insert your password on field below to create your account.\n", "Register", "Leave");
  24. }
  25. else
  26. {
  27. ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Welcome back to Survive The Apocalypse\n\nPlease insert your password on field below to log-in.\n", "Log-in", "Leave");
  28. }
  29.  
  30. db_free_result(result);
  31. return 1;
  32. }
  33.  
  34. public LOGREG_OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  35. {
  36. new query[185];
  37. switch(dialogid)
  38. {
  39. case D_Idioma:
  40. {
  41. if(response)
  42. {
  43. pInfo[playerid][pIdioma] = 1;
  44. SendClientMessage(playerid, COR_CINZA, "[IDIOMA]: Você selecionou o Idioma 'Português'.");
  45.  
  46. PlayerTextDrawSetString(playerid, Bleed[playerid], "~r~SANGRANDO");
  47. PlayerTextDrawSetString(playerid, BrokenL[playerid], "PERNA QUEBRADA");
  48. PlayerTextDrawSetString(playerid, TOPOMENSAGEM[playerid], "~y~[ ! ]~r~ Zona Radioativa ~y~[ ! ]");
  49. LOGREG_Autenticar(playerid);
  50.  
  51. }
  52. else
  53. {
  54. pInfo[playerid][pIdioma] = 2;
  55. SendClientMessage(playerid, COR_CINZA, "[LANGUAGE]: You selected your language to 'English'.");
  56. LOGREG_Autenticar(playerid);
  57.  
  58. }
  59. }
  60. case D_Registro:
  61. {
  62. if(response)
  63. {
  64. if(!strlen(inputtext) || strlen(inputtext) > 8 || strlen(inputtext) < 6)
  65. {
  66. if(pInfo[playerid][pIdioma] == 1) ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "{FFFFFF}{FFFFFF}# {FF9100}Cadastrar {FFFFFF}{FFFFFF}#", "{FFFFFF}Bem Vindo(a) ao Survive The Apocalypse\n\nPor Favor insira uma senha no campo abaixo para efetuar o Cadastrar.\n", "Cadastrar", "Sair");
  67. else ShowPlayerDialog(playerid, D_Registro, DIALOG_STYLE_INPUT, "{FFFFFF}# {FF9100}Account Creation {FFFFFF}#", "{FFFFFF}Welcome to Survive The Apocalypse\n\nPlease insert your password on field below to create your account.\n", "Register", "Leave");
  68. SendClientMessage(playerid, COR_VERMELHO, Translate(pInfo[playerid][pIdioma], "[INFO]: Insira sua senha para efetuar o Cadastrar.", "[INFO] Insert your password to create your account."));
  69. }
  70. else
  71. {
  72. new DBResult:result;
  73. format(query, sizeof(query), "INSERT INTO `Usuarios` (`Nome`,`Senha`,`Saude`,`Skin`,`Respawn`) VALUES ('%s','%s','100.00000000','60','1')", PegarNome(playerid), inputtext);
  74. result = db_query(STA_DATA, query);
  75. db_free_result(result);
  76.  
  77. if(pInfo[playerid][pIdioma] == 1) ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Bem Vindo(a) novamente ao Survive The Apocalypse\n\nPor Favor insira a sua senha no campo abaixo para efetuar o log-in.\n", "Log-in", "Sair");
  78. else ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Welcome back to Survive The Apocalypse\n\nPlease insert your password on field below to log-in.\n", "Log-in", "Leave");
  79. SendClientMessage(playerid, COR_AMARELO, Translate(pInfo[playerid][pIdioma], "[INFO]: Sua conta foi cadastrada com sucesso.", "[INFO] Your account has been registered successfully."));
  80. }
  81. }
  82. else
  83. {
  84. SendClientMessage(playerid, COR_VERMELHO, Translate(pInfo[playerid][pIdioma], "[INFO]: Você não efetuou o Cadastrar.", "[INFO] You canceled account creation."));
  85. Kick(playerid);
  86. }
  87. }
  88. case D_Login:
  89. {
  90. if(response)
  91. {
  92. if(!strlen(inputtext) || strlen(inputtext) > 8 || strlen(inputtext) < 6)
  93. {
  94. if(pInfo[playerid][pIdioma] == 1) ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Bem Vindo(a) novamente ao Survive The Apocalypse\n\nPor Favor insira a sua senha no campo abaixo para efetuar o log-in.\n", "Log-in", "Sair");
  95. else ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Welcome back to Survive The Apocalypse\n\nPlease insert your password on field below to log-in.\n", "Log-in", "Leave");
  96. SendClientMessage(playerid, COR_VERMELHO, Translate(pInfo[playerid][pIdioma], "[INFO]: Insira sua senha para efetuar o log-in.", "[INFO] Insert your password to login."));
  97. }
  98. else
  99. {
  100. new DBResult:result;
  101. format(query, sizeof(query), "SELECT * FROM `Usuarios` WHERE `Nome`='%s' AND `Senha`='%s'", PegarNome(playerid), inputtext);
  102. result = db_query(STA_DATA, query);
  103.  
  104. if(db_num_rows(result))
  105. {
  106. MostrarInterface(playerid);
  107.  
  108. for(new i = 0; i < sizeof(gZ_Radiation); i++) { GangZoneShowForPlayer(playerid, gZ_Radiation[i], 0xFF000066); }
  109.  
  110. pInfo[playerid][pConectado] = true;
  111.  
  112. CarregarPlayer(playerid);
  113.  
  114. SetPlayerColor(playerid, 0xFFFFFFFF);
  115.  
  116. SpawnPlayer(playerid);
  117. }
  118. else
  119. {
  120. pInfo[playerid][pTentativas]++;
  121. if(pInfo[playerid][pTentativas] > 2) Kick(playerid);
  122. if(pInfo[playerid][pIdioma] == 1) ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Bem Vindo(a) novamente ao Survive The Apocalypse\n\nPor Favor insira a sua senha no campo abaixo para efetuar o log-in.\n", "Log-in", "Sair");
  123. else ShowPlayerDialog(playerid, D_Login, DIALOG_STYLE_INPUT, "{FFFFFF}# {1AAD50}Log-in {FFFFFF}#", "{FFFFFF}Welcome back to Survive The Apocalypse\n\nPlease insert your password on field below to log-in.\n", "Log-in", "Leave");
  124. SendClientMessage(playerid, COR_VERMELHO, Translate(pInfo[playerid][pIdioma], "[INFO]: Senha Incorreta!, ao falhar 3 vezes será expulso pelo limite de tentativas.", "[INFO] Wrong Password!, failing 3 times you will get kicked."));
  125. }
  126. db_free_result(result);
  127. }
  128. }
  129. else
  130. {
  131. SendClientMessage(playerid, COR_VERMELHO, Translate(pInfo[playerid][pIdioma], "[INFO]: Você não efetuou o log-in.", "[INFO] You canceled account log-in."));
  132. Kick(playerid);
  133. }
  134. }
  135. }
  136. return 1;
  137. }
  138.  
  139. stock SalvarPlayer(playerid)
  140. {
  141. new query[1000], DBResult:result;
  142.  
  143. GetPlayerPos(playerid, pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ]);
  144. GetPlayerHealth(playerid, pInfo[playerid][pHealth]);
  145.  
  146. /* GetPlayerWeaponData(playerid, 1, pInfo[playerid][pArma][0], pInfo[playerid][pMunicao][0]);
  147. GetPlayerWeaponData(playerid, 2, pInfo[playerid][pArma][1], pInfo[playerid][pMunicao][1]);
  148. GetPlayerWeaponData(playerid, 3, pInfo[playerid][pArma][2], pInfo[playerid][pMunicao][2]);
  149. GetPlayerWeaponData(playerid, 4, pInfo[playerid][pArma][3], pInfo[playerid][pMunicao][3]);
  150. GetPlayerWeaponData(playerid, 5, pInfo[playerid][pArma][4], pInfo[playerid][pMunicao][4]);
  151. GetPlayerWeaponData(playerid, 6, pInfo[playerid][pArma][5], pInfo[playerid][pMunicao][5]);
  152. GetPlayerWeaponData(playerid, 8, pInfo[playerid][pArma][6], pInfo[playerid][pMunicao][6]);
  153. GetPlayerWeaponData(playerid, 11, pInfo[playerid][pArma][7], pInfo[playerid][pMunicao][7]);
  154.  
  155. for(new i; i < 8; i++)
  156. {
  157. format(str, sizeof(str), "Arma%i", i);
  158. DOF2_SetInt(file, str, pInfo[playerid][pArma][i]);
  159. format(str, sizeof(str), "Municao%i", i);
  160. DOF2_SetInt(file, str, pInfo[playerid][pMunicao][i]);
  161. }
  162.  
  163. new out[MAX_SLOTS*3];
  164. for(new i = 0; i < MAX_SLOTS; i++)
  165. {
  166. if((MAX_SLOTS -1) == i)
  167. {
  168. format(str, sizeof(str), "%d", Inv[playerid][Item][i]);
  169. strcat(out, str, sizeof(out));
  170. }
  171. else
  172. {
  173. format(str, sizeof(str), "%d,", Inv[playerid][Item][i]);
  174. strcat(out, str, sizeof(out));
  175. }
  176. }
  177. DOF2_SetString(file, "InvSlot", out);*/
  178.  
  179. format(query, sizeof(query), "UPDATE `Usuarios` SET `Admin`='%i',\
  180. `Avisos`='%i',`Genero`='%i',`Saude`='%f',`Skin`='%i',`PX`='%f',`PY`='%f',`PZ`='%f',`Chat`='%i',`Backpack`='%i',`Slots`='%i',`Headshots`='%i',`Vitimas`='%i',`ZumbisMortos`='%i'\
  181. `Fome`='%i',`Sede`='%i',`Radiacao`='%i',`EXP`='%i',`Level`='%i',`Respawn`='%i',`Sangrando`='%i',`PernaQuebrada`='%i',`GPS`='%i',`Colete`='%i',`Capacete`='%i',`Mascara`='%i' WHERE `ID`='%i'",
  182. pInfo[playerid][pAdmin], pInfo[playerid][pAviso], pInfo[playerid][pGenero], pInfo[playerid][pHealth], GetPlayerSkin(playerid), pInfo[playerid][pX], pInfo[playerid][pY], pInfo[playerid][pZ],
  183. pInfo[playerid][pChat], pInfo[playerid][pBackpack], pInfo[playerid][pSlots], pInfo[playerid][pHeadshots], pInfo[playerid][pKills], pInfo[playerid][pZombieKills], pInfo[playerid][pFome],
  184. pInfo[playerid][pSede], pInfo[playerid][pRadiation], pInfo[playerid][pExp], GetPlayerScore(playerid), pInfo[playerid][pRespawn], pInfo[playerid][pSangrando], pInfo[playerid][pQuebrado],
  185. pInfo[playerid][pTemGPS], pInfo[playerid][pTemColete], pInfo[playerid][pTemCapacete], pInfo[playerid][pTemMascara], pInfo[playerid][ID]);
  186.  
  187. result = db_query(STA_DATA, query);
  188. db_free_result(result);
  189. return 1;
  190. }
  191.  
  192. stock CarregarPlayer(playerid)
  193. {
  194. new query[70], DBResult:result;
  195. format(query, sizeof(query), "SELECT * FROM `Usuarios` WHERE `Nome`='%s'", PegarNome(playerid));
  196. result = db_query(STA_DATA, query);
  197.  
  198. pInfo[playerid][ID] = db_get_field_assoc_int(result,"ID");
  199. pInfo[playerid][pAdmin] = db_get_field_assoc_int(result,"Admin");
  200. pInfo[playerid][pAviso] = db_get_field_assoc_int(result,"Avisos");
  201. pInfo[playerid][pGenero] = db_get_field_assoc_int(result,"Genero");
  202. pInfo[playerid][pHealth] = db_get_field_assoc_float(result,"Saude");
  203. pInfo[playerid][pSkin] = db_get_field_assoc_int(result,"Skin");
  204. pInfo[playerid][pX] = db_get_field_assoc_float(result,"PX");
  205. pInfo[playerid][pY] = db_get_field_assoc_float(result,"PY");
  206. pInfo[playerid][pZ] = db_get_field_assoc_float(result,"PZ");
  207. pInfo[playerid][pChat] = db_get_field_assoc_int(result,"Chat");
  208. pInfo[playerid][pBackpack] = db_get_field_assoc_int(result,"Backpack");
  209. pInfo[playerid][pSlots] = db_get_field_assoc_int(result,"Slots");
  210. pInfo[playerid][pHeadshots] = db_get_field_assoc_int(result,"Headshots");
  211. pInfo[playerid][pKills] = db_get_field_assoc_int(result,"Vitimas");
  212. pInfo[playerid][pZombieKills] = db_get_field_assoc_int(result,"ZumbisMortos");
  213. pInfo[playerid][pFome] = db_get_field_assoc_int(result,"Fome");
  214. pInfo[playerid][pSede] = db_get_field_assoc_int(result,"Sede");
  215. pInfo[playerid][pRadiation] = db_get_field_assoc_int(result,"Radiacao");
  216. pInfo[playerid][pExp] = db_get_field_assoc_int(result,"EXP");
  217. pInfo[playerid][pLevel] = db_get_field_assoc_int(result,"Level");
  218. pInfo[playerid][pRespawn] = db_get_field_assoc_int(result,"Respawn");
  219. pInfo[playerid][pSangrando] = db_get_field_assoc_int(result,"Sangrando");
  220. pInfo[playerid][pQuebrado] = db_get_field_assoc_int(result,"PernaQuebrada");
  221. pInfo[playerid][pTemGPS] = db_get_field_assoc_int(result,"GPS");
  222. pInfo[playerid][pTemColete] = db_get_field_assoc_int(result,"Colete");
  223. pInfo[playerid][pTemCapacete] = db_get_field_assoc_int(result,"Capacete");
  224. pInfo[playerid][pTemMascara] = db_get_field_assoc_int(result,"Mascara");
  225.  
  226. new weapons[15];
  227. for(new i; i < 8; i++)
  228. {
  229. format(weapons, sizeof(weapons), "Arma%i", i);
  230. pInfo[playerid][pArma][i] = db_get_field_assoc_int(result, weapons);
  231. format(weapons, sizeof(weapons), "Municao%i", i);
  232. pInfo[playerid][pMunicao][i] = db_get_field_assoc_int(result, weapons);
  233. }
  234.  
  235. new in[MAX_SLOTS*3];
  236. db_get_field_assoc(result, "InvSlot", in, sizeof(in));
  237. sscanf(in, "p<,>a<i>[48]", Inv[playerid][Item]);
  238.  
  239. db_free_result(result);
  240.  
  241. SetPlayerScore(playerid, pInfo[playerid][pLevel]);
  242.  
  243. SetPlayerSkillLevel(playerid,WEAPONSKILL_PISTOL,200);
  244. SetPlayerSkillLevel(playerid,WEAPONSKILL_SAWNOFF_SHOTGUN,200);
  245. SetPlayerSkillLevel(playerid,WEAPONSKILL_MICRO_UZI,200);
  246. return 1;
  247. }
Advertisement
Add Comment
Please, Sign In to add comment