Stralioti

Tutorial - Sistema de Administração

Nov 7th, 2014
220
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.66 KB | None | 0 0
  1. /*
  2. TUTORIAL CRIADO POR : FÁBIO STRALIOTI
  3. SCRIPTER FÓRUM GTA TORCIDAS !
  4.  
  5. ******** ************ ********* **** *************
  6. ******** ************ ********* **** *************
  7. **** **** **** **** ** **** ***** *****
  8. **** **** **** **** ** **** ***** *****
  9. ******** ************ ********* **** ***** *****
  10. ******** ************ ********* **** ***** *****
  11. **** **** **** **** ** **** ***** *****
  12. **** **** **** ********* **** *************
  13. **** **** **** ********* **** *************
  14.  
  15. */
  16.  
  17. #include <a_samp> //include principal do samp
  18. #include <zcmd> //include zcmd que é o processador de comandos
  19. #include <dof2> //include de salvamento de level do admin
  20. #include <sscanf> //include sscanf para mostrar o player como usar corretamente o comando
  21.  
  22. enum PlayerAdmin //enum é igual uma váriavel só que mais fácil de ser utilizado
  23. {
  24. Level
  25. }
  26. new pAdmin[MAX_PLAYERS][PlayerAdmin]; // váriavel do admin você vai usa-la quando for fazer um comando
  27.  
  28. public OnPlayerConnect(playerid) //public ao player conectar no servidor
  29. {
  30. new arquivi[34], nomeplayer[MAX_PLAYER_NAME];
  31. GetPlayerName(playerid, nomeplayer, sizeof(nomeplayer)); //geta o nome do player para pegar as informações na conta
  32. format(arquivi, sizeof(arquivi), "Admins/%s.ini", nomeplayer); //verifica se a conta dele ta na pasta admins
  33. pAdmin[playerid][Level] = DOF2_GetInt(arquivi, "Level"); // ele ira trazer as informações quando você conectar
  34. return 1;
  35. }
  36.  
  37. CMD:setadmin(playerid, params[]) //comando para setar o administrador
  38. {
  39. new id, level, string[256], string2[256], ganhou[MAX_PLAYER_NAME], deu[MAX_PLAYER_NAME];
  40. if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, -1, "Você não é um Administrador Logado Na RCON.");
  41. if(sscanf(params, "ud", id, level)) return SendClientMessage(playerid, -1, "Use /setadmin [id] [LEVEL]");
  42. if (level < 0 || level > 5) return SendClientMessage(playerid, -1, "Level inválido. Use de 1 á 5 .");
  43. if(!IsPlayerConnected(id)) return SendClientMessage(playerid, -1, "Este jogador não está online.");
  44. GetPlayerName(id, ganhou, sizeof(ganhou));
  45. GetPlayerName(playerid, deu, sizeof(deu));
  46. format(string, sizeof(string), "Você deu admin level %s para o %s", GetLevelAdmin(level), ganhou);
  47. SendClientMessage(playerid, -1, string);
  48. format(string2, sizeof(string2), "O admin %s deu admin level %s para você.", deu , GetLevelAdmin(level));
  49. SendClientMessage(id, -1, string2);
  50. pAdmin[id][Level] = level;
  51. return 1;
  52. }
  53.  
  54. public OnPlayerDisconnect(playerid) //public ao player disconnectar do servidor
  55. {
  56. new arquiva[34], playernome[MAX_PLAYER_NAME];
  57. GetPlayerName(playerid, playernome, sizeof(playernome)); //geta o nome do player
  58. format(arquiva, sizeof(arquiva), "Admins/%s.ini", playernome); //salva o level na mesma pasta
  59. if (!DOF2_FileExists(arquiva)) {
  60. DOF2_CreateFile(arquiva); //cria o arquivo com os dados do player
  61.  
  62. DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
  63. DOF2_SaveFile();//salva o level e a conta
  64. }
  65. else {
  66. DOF2_SetInt(arquiva, "Level", pAdmin[playerid][Level]);
  67. DOF2_SaveFile(); //salva o level e a conta
  68. }
  69. return 0;
  70. }
  71.  
  72. public OnGameModeExit() //public necessaria para o funcionamento correto do dof
  73. {
  74. DOF2_Exit();
  75. }
  76.  
  77. stock GetLevelAdmin(levelid) //stock de level's do sistema :)
  78. {
  79. new str[50];
  80. if(levelid == 1)
  81. {
  82. str = "1";
  83. }
  84. else if (levelid == 2)
  85. {
  86. str = "2";
  87. }
  88. else if (levelid == 3)
  89. {
  90. str = "3";
  91. }
  92. else if (levelid == 4)
  93. {
  94. str = "4";
  95. }
  96. else if (levelid == 5)
  97. {
  98. str = "5";
  99. }
  100. return str;
  101. }
Advertisement
Add Comment
Please, Sign In to add comment