Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #define MAX_ADMINS 50
- new g_AdminLevels[MAX_PLAYERS];
- new g_AdminPasswords[MAX_PLAYERS][32];
- #define ADMIN_LEVEL_1 5
- #define ADMIN_LEVEL_2 4
- #define ADMIN_LEVEL_3 3
- #define ADMIN_LEVEL_4 2
- #define ADMIN_LEVEL_5 1
- stock SetPlayerAdminLevel(playerid, level)
- {
- if(playerid >= 0 && playerid < MAX_PLAYERS)
- g_AdminLevels[playerid] = level;
- }
- stock GetPlayerAdminLevel(playerid)
- {
- if(playerid >= 0 && playerid < MAX_PLAYERS)
- return g_AdminLevels[playerid];
- return 0;
- }
- stock SetPlayerAdminPassword(playerid, password[])
- {
- if(playerid >= 0 && playerid < MAX_PLAYERS)
- strcpy(g_AdminPasswords[playerid], password);
- }
- stock GetPlayerAdminPassword(playerid, password[], maxlen)
- {
- if(playerid >= 0 && playerid < MAX_PLAYERS)
- {
- new len = strlen(g_AdminPasswords[playerid]);
- if(len < maxlen)
- {
- strcpy(password, g_AdminPasswords[playerid]);
- return true;
- }
- }
- return false;
- }
- stock CheckAdminLevel(playerid, requiredLevel)
- {
- return GetPlayerAdminLevel(playerid) >= requiredLevel;
- }
- CMD:setadminlevel(playerid, params[])
- {
- new level;
- if(IsPlayerAdmin(playerid) && sscanf(params, "i", level))
- {
- SetPlayerAdminLevel(playerid, level);
- SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola nastavená na %d", level);
- }
- else
- {
- SendClientMessage(playerid, -1, "Nemáš oprávnenie na použitie tohto príkazu.");
- }
- return 1;
- }
- CMD:saveadminlevel(playerid, params[])
- {
- new password[32], level;
- if(sscanf(params, "su", password, level) && !strcmp(password, "tajneHeslo")) // Zadajte vlastné tajné heslo
- {
- SetPlayerAdminLevel(playerid, level);
- SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola uložená na %d", level);
- }
- else
- {
- SendClientMessage(playerid, -1, "Nesprávne heslo alebo použitie: /saveadminlevel [heslo] [úroveň]");
- }
- return 1;
- }
- CMD:removeadminlevel(playerid, params[])
- {
- new password[32];
- if(sscanf(params, "s", password) && !strcmp(password, "tajneHeslo")) // Zadajte vlastné tajné heslo
- {
- SetPlayerAdminLevel(playerid, 0);
- SendClientMessage(playerid, -1, "Tvoja úroveň administrátora bola zrušená.");
- }
- else
- {
- SendClientMessage(playerid, -1, "Nesprávne heslo alebo použitie: /removeadminlevel [heslo]");
- }
- return 1;
- }
- CMD:login(playerid, params[])
- {
- new password[32];
- if(sscanf(params, "s", password))
- {
- new savedPassword[32];
- if(GetPlayerAdminPassword(playerid, savedPassword, sizeof(savedPassword)) && !strcmp(savedPassword, password))
- {
- SendClientMessage(playerid, -1, "Bol si úspešne prihlásený ako administrátor.");
- }
- else
- {
- SendClientMessage(playerid, -1, "Nesprávne heslo. Použi: /login [heslo]");
- }
- }
- else
- {
- SendClientMessage(playerid, -1, "Správne použitie: /login [heslo]");
- }
- return 1;
- }
- CMD:registeradmin(playerid, params[])
- {
- new password[32];
- if(sscanf(params, "s", password))
- {
- if(!GetPlayerAdminPassword(playerid, _, 0))
- {
- SetPlayerAdminPassword(playerid, password);
- SendClientMessage(playerid, -1, "Bol si úspešne zaregistrovaný ako administrátor.");
- }
- else
- {
- SendClientMessage(playerid, -1, "Už si registrovaný ako administrátor.");
- }
- }
- else
- {
- SendClientMessage(playerid, -1, "Správne použitie: /registeradmin [heslo]");
- }
- return 1;
- }
- CMD:varovat(playerid, params[])
- {
- new targetid, reason[128];
- if(CheckAdminLevel(playerid, ADMIN_LEVEL_1) && sscanf(params, "us[128]", targetid, reason))
- {
- SendClientMessage(playerid, -1, "Varoval si hráča.");
- new logtext[256];
- format(logtext, sizeof(logtext), "Admin %s varoval hráča %d s dôvodom: %s", GetPlayerName(playerid), targetid, reason);
- AppendToLogFile("server_log.txt", logtext);
- }
- else
- {
- SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu.");
- }
- return 1;
- }
- CMD:kicknut(playerid, params[])
- {
- new targetid, reason[128];
- if(CheckAdminLevel(playerid, ADMIN_LEVEL_&& sscanf(params, "us[128]", targetid, reason)) { Kick(targetid); SendClientMessage(playerid, -1, "Hráč bol kicknutý s dôvodom: %s");
- new logtext[256];
- format(logtext, sizeof(logtext), "Admin %s kickol hráča %d s dôvodom: %s", GetPlayerName(playerid), targetid, reason);
- AppendToLogFile("server_log.txt", logtext);} else { SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu."); } return 1; }
- CMD:ban(playerid, params[]) {
- new targetid, reason[128], duration; if(CheckAdminLevel(playerid, ADMIN_LEVEL_5) && sscanf(params, "us[128]i", targetid, reason, duration)) { new targetname[MAX_PLAYER_NAME]; GetPlayerName(targetid, targetname, sizeof(targetname));if(duration > 0)
- {
- Ban(targetid);
- g_bannedPlayers[targetid] = duration;
- SendClientMessage(playerid, -1, "Hráč %s bol zabanovaný na %d minút s dôvodom: %s", targetname, duration, reason);
- new logtext[256];
- format(logtext, sizeof(logtext), "Admin %s zabanoval hráča %d na %d minút s dôvodom: %s", GetPlayerName(playerid), targetid, duration, reason);
- AppendToLogFile("server_log.txt", logtext);
- }
- else
- {
- SendClientMessage(playerid, -1, "Dĺžka banu musí byť väčšia ako 0.");
- }
- }
- else
- {
- SendClientMessage(playerid, -1, "Nemáte dostatočné oprávnenia na použitie tohto príkazu.");
- }
- return 1;}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement