Guest User

Register System [Y_ini / Y_inline]

a guest
Feb 20th, 2015
886
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. #include < a_samp >
  2. #include < YSI\y_ini >
  3. #include < YSI\y_inline >
  4.  
  5. new pName[MAX_PLAYERS][25];
  6. new pIP[MAX_PLAYERS][30];
  7. new RegFile[MAX_PLAYERS][40];
  8. new Password[MAX_PLAYERS][30];
  9. new bool:Logged[MAX_PLAYERS];
  10. new Str[256];
  11.  
  12. #define GetName(%0) pName[%0]
  13. #define GetIP(%0) pIP[%0]
  14. #define RFile(%0) RegFile[%0]
  15.  
  16. public OnPlayerConnect(playerid)
  17. {
  18. GetPlayerName(playerid, pName[playerid], 25);
  19. GetPlayerIp(playerid, pIP[playerid], 30);
  20. format(RegFile[playerid], sizeof RegFile, "Users/%s.ini", GetName(playerid));
  21. inline LoadPlayerData(string:name[], string:value[])
  22. {
  23. INI_String("Name", GetName(playerid), 25);
  24. INI_String("IP", GetIP(playerid), 30);
  25. INI_String("Password", Password[playerid], 30);
  26. }
  27. if(fexist(RFile(playerid)))
  28. {
  29. INI_ParseFile(RFile(playerid), using inline "LoadPlayerData");
  30. ShowPlayerDialog(playerid, 78, DIALOG_STYLE_INPUT, "{FF0000}Login", "{9E0000}Welcome, Please login to system", "äúçáø", "öà");
  31. }
  32. else
  33. {
  34. ShowPlayerDialog(playerid, 79, DIALOG_STYLE_INPUT, "{FF0000}Register", "{9E0000}Enter password to register\n{00FF2F}Welcome to the server", "äúçáø", "öà");
  35. }
  36. return true;
  37. }
  38.  
  39. public OnPlayerDisconnect(playerid,reason)
  40. {
  41. new INI:File = INI_Open(RFile(playerid));
  42. INI_WriteString(File, "Name", GetName(playerid));
  43. INI_WriteString(File, "IP", GetIP(playerid));
  44. INI_WriteString(File, "Password", Password[playerid]);
  45. INI_Close(File);
  46. format(Str,sizeof Str,"{9E0000}éöà îäùøú {0800FF}%s {FFFFFF}:äùç÷ï",GetName(playerid));
  47. SendClientMessageToAll(-1, Str);
  48. return true;
  49. }
  50.  
  51. public OnPlayerCommandText(playerid, cmdtext[])
  52. {
  53. if(Logged[playerid] == false) return SendClientMessage(playerid, -1, "{9E0000}Are you don't login"),false;
  54. return true;
  55. }
  56.  
  57. public OnPlayerText(playerid, text[])
  58. {
  59. if(Logged[playerid] == false) return SendClientMessage(playerid, -1, "{9E0000}Are you don't login"),false;
  60. return true;
  61. }
  62.  
  63. public OnDialogResponse(playerid, dialogid, response, listitem, inputtext[])
  64. {
  65. if(dialogid == 79)
  66. {
  67. if(!response) return Kick(playerid);
  68. strcat(Password[playerid], inputtext, 30);
  69. new INI:File = INI_Open(RFile(playerid));
  70. INI_WriteString(File, "Name", GetName(playerid));
  71. INI_WriteString(File, "IP", GetIP(playerid));
  72. INI_WriteString(File, "Password", Password[playerid]);
  73. INI_Close(File);
  74. Logged[playerid] = true;
  75. format(Str,sizeof Str, "{FFFFFF}Player: {9E0000}%s {0800FF}Login to server",GetName(playerid));
  76. SendClientMessageToAll(-1, Str);
  77. }
  78. if(dialogid == 78)
  79. {
  80. if(!response) return Kick(playerid);
  81. if(!strcmp(inputtext,Password[playerid],true))
  82. {
  83. Logged[playerid] = true;
  84. format(Str,sizeof Str, "{FFFFFF}Player: {9E0000}%s {0800FF}Regiter to server",GetName(playerid));
  85. SendClientMessageToAll(-1,Str);
  86. }
  87. else
  88. {
  89. ShowPlayerDialog(playerid, 78, DIALOG_STYLE_INPUT, "{FF0000}Login", "{9E0000}Enter password to login!", "äúçáø", "öà");
  90. }
  91. }
  92. return true;
  93. }
Advertisement
Add Comment
Please, Sign In to add comment