Advertisement
Guest User

Untitled

a guest
Dec 12th, 2013
80
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.83 KB | None | 0 0
  1. // Sitema de Login criado por Matheus_Mendes //
  2. //Baixado na Tech Samp - www.techsamp.blogspot.com.br//
  3.  
  4. #include <a_samp>
  5. #define GREEN 0x21DD00FF
  6. #define RED 0xE60000FF
  7. #define ADMIN_RED 0xFB0000FF
  8. #define YELLOW 0xFFFF00FF
  9. #define ORANGE 0xF97804FF
  10. #define LIGHTRED 0xFF8080FF
  11. #define LIGHTBLUE 0x00C2ECFF
  12. #define PURPLE 0xB360FDFF
  13. #define PLAYER_COLOR 0xFFFFFFFF
  14. #define BLUE 0x1229FAFF
  15. #define LIGHTGREEN 0x38FF06FF
  16. #define DARKPINK 0xE100E1FF
  17. #define DARKGREEN 0x008040FF
  18. #define ANNOUNCEMENT 0x6AF7E1FF
  19. #define COLOR_SYSTEM 0xEFEFF7AA
  20. #define GREY 0xCECECEFF
  21. #define PINK 0xD52DFFFF
  22. #define DARKGREY 0x626262FF
  23. #define AQUAGREEN 0x03D687FF
  24. #define NICESKY 0x99FFFFAA
  25. #define WHITE 0xFFFFFFFF
  26. //**MISC**//
  27. #define ACCOUNTS_FOLDER "%s.ini"
  28. #define LOGIN_DELAY 3 //
  29. //Variaveis Nao retire//
  30. enum aInfo
  31. {
  32. aSenha[128],
  33. aLogged,
  34. }
  35. ;
  36. new AccountInfo[MAX_PLAYERS][aInfo];
  37. new registro[MAX_PLAYERS];
  38. new login[MAX_PLAYERS];
  39. forward LogIn(playerid);
  40. forward OnPlayerUpdate(playerid);
  41.  
  42. public OnGameModeInit()
  43. {
  44. SendRconCommand("reloadfs Seifistration");
  45. return 1;
  46. }
  47. public OnPlayerDisconnect(playerid, reason)
  48. {
  49. OnPlayerUpdate(playerid);
  50. AccountInfo[playerid][aLogged] = 0;
  51. registro[playerid] = 0;
  52. login[playerid] = 0;
  53. return 1;
  54. }
  55.  
  56. public OnPlayerConnect(playerid)
  57. {
  58. new name[MAX_PLAYER_NAME];
  59. GetPlayerName(playerid, name, sizeof(name));
  60. new string[128];
  61. format(string, sizeof(string), ACCOUNTS_FOLDER, name);
  62. if (AccountInfo[playerid][aLogged] == 0)
  63. {
  64. if (!fexist(string))
  65. {
  66. new kayitmsg[256];
  67. format(kayitmsg,256,"Seja Bem Vindo\n\n%s Por favor, se registre!\n\nSenha:",name);
  68. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",kayitmsg,"Registrar","Sair");
  69. registro[playerid] = 1;
  70. login[playerid] = 0;
  71. }
  72. else if (fexist(string))
  73. {
  74. new girismsg[256];
  75. format(girismsg,256,"Seja Bem Vindo\n\nNick: %s\n\nSenha:",name);
  76. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Logar",girismsg,"Logar","Sair");
  77. registro[playerid] = 0;
  78. login[playerid] = 1;
  79. }
  80. }
  81. return 1;
  82. }
  83.  
  84. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  85. {
  86. if (response == 1)
  87. {
  88. if(dialogid == 12345)
  89. {
  90. if(strlen(inputtext))
  91. {
  92. Encrypt(inputtext);
  93. new player[MAX_PLAYER_NAME];
  94. GetPlayerName(playerid, player, 50);
  95. new string3[32];
  96. new playername3[MAX_PLAYER_NAME];
  97. GetPlayerName(playerid, playername3, sizeof(playername3));
  98. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  99. new ip[20];
  100. GetPlayerIp(playerid,ip,sizeof(ip));
  101. new File: hFile = fopen(string3, io_write);
  102. if (hFile)
  103. {
  104. strmid(AccountInfo[playerid][aSenha], inputtext, 0, strlen(inputtext), 255);
  105. new var[128];
  106. format(var, 128, "Senha=%s\n", AccountInfo[playerid][aSenha]);fwrite(hFile, var);
  107. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  108. fclose(hFile);
  109. printf("%s is signed up.",playername3);
  110. SendClientMessage(playerid, GREEN, "|- Voce já esta registrado, faça login. -|");
  111. new girismsg[256];
  112. format(girismsg,256,"Seja Bem Vindo\n\nNick: %s\n\nSenha:",playername3);
  113. ShowPlayerDialog(playerid,12346,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  114. registro[playerid] = 0;
  115. login[playerid] = 1;
  116. }
  117. }
  118. else if(!strlen(inputtext))
  119. {
  120. new name[MAX_PLAYER_NAME];
  121. GetPlayerName(playerid, name, sizeof(name));
  122. new kayitmsg[256];
  123. format(kayitmsg,256,"Seja Bem Vindo\n\n%s Por favor, se registre!\n\nSenha:",name);
  124. ShowPlayerDialog(playerid,12345,DIALOG_STYLE_INPUT,"Registrar",kayitmsg,"Registrar","Sair");
  125. registro[playerid] = 1;
  126. login[playerid] = 0;
  127. }
  128. }
  129. if(dialogid == 12346)
  130. {
  131. Encrypt(inputtext);
  132. new string2[128];
  133. new playername2[MAX_PLAYER_NAME];
  134. GetPlayerName(playerid, playername2, sizeof(playername2));
  135. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  136. new File: UserFile = fopen(string2, io_read);
  137. if ( UserFile )
  138. {
  139. new PassData[256];
  140. new keytmp[256], valtmp[256];
  141. fread( UserFile , PassData , sizeof( PassData ) );
  142. keytmp = ini_GetKey( PassData );
  143. if( strcmp( keytmp , "Senha" , true ) == 0 )
  144. {
  145. valtmp = ini_GetValue( PassData );
  146. strmid(AccountInfo[playerid][aSenha], valtmp, 0, strlen(valtmp)-1, 255);
  147. }
  148. if(strcmp(AccountInfo[playerid][aSenha],inputtext, true ) == 0)
  149. {
  150. if(strlen(inputtext))
  151. {
  152. for(new p = 0; p < strlen(AccountInfo[playerid][aSenha]); p++)
  153. {
  154. inputtext[p] = '?';
  155. }
  156. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  157. printf("%s esta logando.",playername2);
  158. new key[256];
  159. new Data[256];
  160. while ( fread( UserFile , Data , sizeof( Data ) ) )
  161.  
  162. {
  163. key = ini_GetKey( Data );
  164. /*if(strcmp(key, "AdminLevel", true) == 0) // This is only an example if you want to add more stuff to store in a file.
  165.  
  166. {
  167. val = ini_GetValue( Data );
  168. AccountInfo[playerid][AdminLevel] = strval(val); // Uncommenting this will give you errors if the variable isn't defined.
  169.  
  170. }
  171. */
  172.  
  173. }
  174. fclose(UserFile);
  175. }
  176. }
  177. else
  178. {
  179. if(strlen(inputtext))
  180. {
  181. new girismsg[256];
  182. printf("%s esta usando senha errada.",playername2);
  183. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  184. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  185. login[playerid] = 1;
  186. registro[playerid] = 0;
  187. fclose(UserFile);
  188. return 1;
  189. }
  190. }
  191. if(!strlen(inputtext))
  192. {
  193. new girismsg[256];
  194. printf("%s nao esta entrando com senha.",playername2);
  195. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  196. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  197. login[playerid] = 1;
  198. registro[playerid] = 0;
  199. fclose(UserFile);
  200. return 1;
  201. }
  202. }
  203. }
  204. if(dialogid == 12347)
  205. {
  206. Encrypt(inputtext);
  207. new string2[128];
  208. new playername2[MAX_PLAYER_NAME];
  209. GetPlayerName(playerid, playername2, sizeof(playername2));
  210. format(string2, sizeof(string2), ACCOUNTS_FOLDER, playername2);
  211. new File: UserFile = fopen(string2, io_read);
  212. if ( UserFile )
  213. {
  214. new PassData[256];
  215. new keytmp[256], valtmp[256];
  216. fread( UserFile , PassData , sizeof( PassData ) );
  217. keytmp = ini_GetKey( PassData );
  218. if( strcmp( keytmp , "Senha" , true ) == 0 )
  219. {
  220. valtmp = ini_GetValue( PassData );
  221. strmid(AccountInfo[playerid][aSenha], valtmp, 0, strlen(valtmp)-1, 255);
  222. }
  223. if(strcmp(AccountInfo[playerid][aSenha],inputtext, true ) == 0)
  224. {
  225. if(strlen(inputtext))
  226. {
  227. for(new p = 0; p < strlen(AccountInfo[playerid][aSenha]); p++)
  228. {
  229. inputtext[p] = '?';
  230. }
  231. SetTimerEx("LogIn", LOGIN_DELAY*1000, 0, "d", playerid);
  232. printf("%s esta logando.",playername2);
  233. new key[256];
  234. new Data[256];
  235. while ( fread( UserFile , Data , sizeof( Data ) ) )
  236.  
  237. {
  238. key = ini_GetKey( Data );
  239. /*if(strcmp(key, "AdminLevel", true) == 0) // Este é apenas um exemplo, se você quiser acrescentar mais coisas para guardar em um arquivo.
  240.  
  241. {
  242. val = ini_GetValue( Data );
  243. AccountInfo[playerid][AdminLevel] = strval(val); // Descomentando isso vai lhe dar erros se a variável não está definida.
  244.  
  245. }
  246. */
  247.  
  248. }
  249. fclose(UserFile);
  250. }
  251. }
  252. else
  253. {
  254. if(strlen(inputtext))
  255. {
  256. new girismsg[256];
  257. printf("%s esta errando a senha.",playername2);
  258. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  259. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  260. login[playerid] = 1;
  261. registro[playerid] = 0;
  262. fclose(UserFile);
  263. return 1;
  264. }
  265. }
  266. if(!strlen(inputtext))
  267. {
  268. new girismsg[256];
  269. printf("%s did not enter the Senha.",playername2);
  270. format(girismsg,256,"SENHA ERRADA\n\nSenha:");
  271. ShowPlayerDialog(playerid,12347,DIALOG_STYLE_INPUT,"Login",girismsg,"Login","Quit");
  272. login[playerid] = 1;
  273. registro[playerid] = 0;
  274. fclose(UserFile);
  275. return 1;
  276. }
  277. }
  278.  
  279. }
  280. }
  281. else return Kick(playerid);
  282. return 0;
  283. }
  284.  
  285. public OnPlayerDeath(playerid, killerid, reason)
  286. {
  287. return 1;
  288. }
  289.  
  290. public OnVehicleSpawn(vehicleid)
  291. {
  292. return 1;
  293. }
  294.  
  295. public OnVehicleDeath(vehicleid, killerid)
  296. {
  297. return 1;
  298. }
  299.  
  300. public OnPlayerEnterVehicle(playerid, vehicleid, ispassenger)
  301. {
  302. return 1;
  303. }
  304.  
  305. public OnPlayerExitVehicle(playerid, vehicleid)
  306. {
  307. return 1;
  308. }
  309.  
  310. public OnPlayerStateChange(playerid, newstate, oldstate)
  311. {
  312. return 1;
  313. }
  314.  
  315. public OnPlayerEnterCheckpoint(playerid)
  316. {
  317. return 1;
  318. }
  319.  
  320. public OnPlayerLeaveCheckpoint(playerid)
  321. {
  322. return 1;
  323. }
  324.  
  325. public OnPlayerEnterRaceCheckpoint(playerid)
  326. {
  327. return 1;
  328. }
  329.  
  330. public OnPlayerLeaveRaceCheckpoint(playerid)
  331. {
  332. return 1;
  333. }
  334.  
  335. public OnRconCommand(cmd[])
  336. {
  337. return 1;
  338. }
  339.  
  340. public OnObjectMoved(objectid)
  341. {
  342. return 1;
  343. }
  344.  
  345. public OnPlayerObjectMoved(playerid, objectid)
  346. {
  347. return 1;
  348. }
  349.  
  350. public OnPlayerPickUpPickup(playerid, pickupid)
  351. {
  352. return 1;
  353. }
  354.  
  355. public OnPlayerSelectedMenuRow(playerid, row)
  356. {
  357. return 1;
  358. }
  359.  
  360. public OnPlayerExitedMenu(playerid)
  361. {
  362. return 1;
  363. }
  364.  
  365. stock ini_GetKey( line[] )
  366. {
  367. new keyRes[256];
  368. keyRes[0] = 0;
  369. if ( strfind( line , "=" , true ) == -1 ) return keyRes;
  370. strmid( keyRes , line , 0 , strfind( line , "=" , true ) , sizeof( keyRes) );
  371. return keyRes;
  372. }
  373.  
  374. stock ini_GetValue( line[] )
  375. {
  376. new valRes[256];
  377. valRes[0]=0;
  378. if ( strfind( line , "=" , true ) == -1 ) return valRes;
  379. strmid( valRes , line , strfind( line , "=" , true )+1 , strlen( line ) , sizeof( valRes ) );
  380. return valRes;
  381. }
  382.  
  383. public LogIn(playerid)
  384. {
  385. AccountInfo[playerid][aLogged] = 1;
  386. registro[playerid] = 0;
  387. login[playerid] = 0;
  388. return 1;
  389. }
  390.  
  391. public OnPlayerUpdate(playerid)
  392. {
  393. if(IsPlayerConnected(playerid))
  394. {
  395. if(AccountInfo[playerid][aLogged] == 1)
  396. {
  397. new string3[128];
  398. new playername3[MAX_PLAYER_NAME];
  399. GetPlayerName(playerid, playername3, sizeof(playername3));
  400. format(string3, sizeof(string3), ACCOUNTS_FOLDER, playername3);
  401. new ip[20];
  402. GetPlayerIp(playerid,ip,sizeof(ip));
  403. new File: hFile = fopen(string3, io_write);
  404. if (hFile)
  405. {
  406. new var[128];
  407. format(var, 128, "Senha=%s\n", AccountInfo[playerid][aSenha]);fwrite(hFile, var);
  408. format(var, 128, "IP=%s\n",ip);fwrite(hFile, var);
  409. fclose(hFile);
  410. }
  411. }
  412. }
  413. return 1;
  414. }
  415.  
  416. Encrypt(string[])
  417. {
  418. for(new x=0; x < strlen(string); x++)
  419. {
  420. string[x] += (3^x) * (x % 15);
  421. if(string[x] > (0xff))
  422. {
  423. string[x] -= 256;
  424. }
  425. }
  426. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement