Guest User

adminSetovanje

a guest
May 21st, 2017
223
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.79 KB | None | 0 0
  1. // SYSTEM BY RESPONSE ;)
  2. // UZIVAJTE !
  3. //============================================================================== INCLUDE
  4. #include <YSI\y_ini>
  5. #include <zcmd>
  6. #include <sscanf2>
  7. //============================================================================== DEFINE
  8. #define ADMIN_FILE "Admini/A_%d.ini" // ADMIN FILE, KADA SE SETA ADMIN DA CUVA FILE ADMINA U SCRIPTFILES POD "ADMINI"
  9. #define MAX_ADMIN 10 // MAX ADMINA KOLIKO MOZE DA SE SETA
  10. //============================================================================== DEFINE ZA PRIVATE
  11. #define private%0(%1) forward%0(%1); \
  12. public%0(%1) // OVO SAM URADIO PO MOME, VI SAMO MESTO PRIVATE STAVITE FORWARD I PUBLIC.
  13. //============================================================================== ENUM ZA DIALOGE
  14. enum
  15. {
  16. DIALOG_ADMINSET // ZA DIALOG DOLE KADA SE SETA ADMIN
  17. }
  18. //============================================================================== ENUM ZA PINFO
  19. enum pInfo // PLAYERINFO TO VEC SVI ZNAMO
  20. {
  21. pAdmin, // NAPOMENA: OVO PODESITE NA VASEM MODU KAKO JE URADJENO!
  22. pAdminSlot, // NAPOMENA: OVO PODESITE NA VASEM MODU KAKO JE URADJENO!
  23. pStaffCode // NAPOMENA: OVO PODESITE NA VASEM MODU KAKO JE URADJENO!
  24. }
  25. new PlayerInfo[MAX_PLAYERS][pInfo];
  26. //============================================================================== UCITAVANJE IGRACA
  27. private UcitajIgraca(igrac_id, name[], value[]) // UCITAVA ADMINA
  28. {
  29. INI_Int("Admin", PlayerInfo[igrac_id][pAdmin]);
  30. INI_Int("AdminSlot", PlayerInfo[igrac_id][pAdminSlot]);
  31. INI_Int("StaffCode", PlayerInfo[igrac_id][pStaffCode]);
  32. return 1;
  33. }
  34. //============================================================================== CUVANJE IGRACA
  35. stock SacuvajAdmina(igrac_id) // CUVAJ ADMINA
  36. {
  37. new INI:IFile = INI_Open(IGRAC_FILE);
  38. INI_Int(IFile, "Admin", PlayerInfo[igrac_id][pAdmin]);
  39. INI_Int(IFile, "AdminSlot", PlayerInfo[igrac_id][pAdminSlot]);
  40. INI_Int(IFile, "StaffCode", PlayerInfo[igrac_id][pStaffCode]);
  41. INI_Close(igrac_id);
  42. return 1;
  43. }
  44. //============================================================================== KOMANDA ZA SETOVANJE ADMINA
  45. command(makeadmin, playerid, params[]) // BY RESPONSE ;)
  46. {
  47. static idigraca, level, slot;
  48.  
  49. if(sscanf(params, "ui", idigraca, level, slot))
  50. return SendClientMessage(playerid, -1, "/makeadmin [Ime_Prezime/ID] [0-6] [0-10]"); // KOMANDA ZA SETANJE ADMINA PRIMER: /MAKEADMIN RESPONSE 6 1 (IME: RESPONSE ALEVEL: 6 SLOT: 1);
  51. if(idigraca == INVALID_PLAYER_ID)
  52. return SendClientMessage(playerid, -1, "Igrac nije konektovan!"); // GOVORI DA IGRAC NIJE KONEKTOVAN ILI JE POGRESAN ID;
  53. if(level < 0 || level > 6)
  54. return SendClientMessage(playerid, -1, "/makeadmin [Ime_Prezime/ID] [0-6] [0-10]");
  55.  
  56. SetAdmin(idigraca, playerid, level, slot, 1000 + random(9999)); // SETA ADMINA IGRACU (ALEVEL, SLOT, KOD);
  57. return 1;
  58. }
  59. //============================================================================== STOCK ZA IME_IGRACA
  60. stock GetName(playerid)
  61. {
  62. new Ime_Igraca[MAX_PLAYER_NAME];
  63. GetPlayerName(playerid, Ime_Igraca, MAX_PLAYER_NAME);
  64. return Ime_Igraca;
  65. }
  66. //============================================================================== STOCK ZA SET ADMINA PORUKU
  67. stock SetAdmin(igrac, giverid, level, slot, akod) // BY RESPONSE ;)
  68. {
  69. new string[1500];
  70. if(level == 0)
  71. {
  72. format(string, sizeof(string), "Admin %s vam je skinuo admin poziciju.", GetName(giverid));
  73. SendClientMessage(igrac, -1, string); // DAJE PORUKU IGRACU DA MU JE SKINUT ADMIN
  74. format(string, sizeof(string), "Uspesno ste skinuli admin poziciju igracu %s.", GetName(igrac));
  75. SendClientMessage(giverid, -1, string); // DAJE PORUKU ADMINU KOJEM JE SKINUO IGRACU ADMINA
  76. // SETA ADMIN LEVEL NA 0 // SETA ADMIN SLOT NA 0 // SETA ADMIN KOD NA 0 // < STAVLJENO JE NA 0 POSTO JE SKINUT ADMIN IGRACU
  77. PlayerInfo[igrac][pAdmin] = 0; PlayerInfo[igrac][pAdminSlot] = 0; PlayerInfo[igrac][pStaffCode] = 0;
  78. }
  79. else
  80. {
  81. // SETA ADMIN LEVEL // SETA ADMIN SLOT // SETA ADMIN KOD
  82. PlayerInfo[igrac][pAdmin] = level; PlayerInfo[igrac][pAdminSlot] = slot; PlayerInfo[igrac][pStaffCode] = akod;
  83.  
  84. format(string, sizeof(string), "{066FDE}OBAVESTENJE:\n\
  85. {FFFFFF}Admin {066FDE}%s {FFFFFF}vam je postavio admin poziciju.\n\
  86. {FFFFFF}Dobili ste svoj Staff(CODE) sve ce vam dole biti objasnjeno.\n\n\
  87. {066FDE}VAZNO:\n\
  88. {FFFFFF}Bez ovog koda necete moci da upravljate staff komandama.\n\
  89. {FFFFFF}CODE:{066FDE} (%d) - {FFFFFF}LEVEL:{066FDE} (%d) - {FFFFFF}SLOT:{066FDE} (%d).", GetName(giverid), akod, level, slot);
  90. ShowPlayerDialog(igrac, DIALOG_ADMINSET, DIALOG_STYLE_MSGBOX, "ADMINISTRATOR - POZICIJA", string, "UREDU", "IZLAZ");
  91. }
  92. return 1;
  93. }
  94. //==============================================================================
Add Comment
Please, Sign In to add comment