Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <a_samp>
- #include <ysilib\YSI_Storage\y_ini>
- #include <ysilib\YSI_Coding\y_timers>
- #include <ysilib\YSI_Visual\y_commands>
- #include <ysilib\YSI_Coding\y_hooks>
- #include <ysilib\YSI_Data\y_foreach>
- #include <easyDialog>
- #include <streamer>
- #include <sscanf2>
- static stock const KORISNICI_PATH[64] = "/Korisnici/%s.ini";
- new aveh[MAX_PLAYERS] = { INVALID_VEHICLE_ID, ... };
- static
- player_Skin[MAX_PLAYERS],
- player_Admin[MAX_PLAYERS],
- player_AdminDutyTime[MAX_PLAYERS];
- new bool:AdminDuty[MAX_PLAYERS];
- hook UcitajKorisnika(const playerid, const string: name[], const string: value[]);
- hook UcitajKorisnika(const playerid, const string: name[], const string: value[]) {
- INI_Int("Admin", player_Admin[playerid]);
- INI_Int("AdminDutyTime", player_AdminDutyTime[playerid]);
- return 1;
- }
- hook OnGameModeInit() {
- printf("- /modules/staff/staff_commands loaded -");
- return 1;
- }
- hook OnPlayerConnect(playerid) {
- aveh[playerid] = INVALID_VEHICLE_ID;
- AdminDuty[playerid] = false;
- return 1;
- }
- hook OnPlayerDisconnect(playerid, reason) {
- new INI:File = INI_Open(KorisnikPath(playerid));
- INI_SetTag(File, "Informacije");
- INI_WriteInt(File, "Admin", player_Admin[playerid]);
- INI_WriteInt(File, "AdminDutyTime", player_AdminDutyTime[playerid]);
- INI_WriteInt(File, "Skin", player_Skin[playerid]);
- INI_Close(File);
- DestroyVehicle(aveh[playerid]);
- aveh[playerid] = INVALID_PLAYER_ID;
- AdminDuty[playerid] = false;
- return 1;
- }
- hook OnPlayerSpawn(playerid) {
- new INI:File = INI_Open(KorisnikPath(playerid));
- INI_SetTag(File, "Informacije");
- INI_WriteInt(File, "Admin", player_Admin[playerid]);
- INI_WriteInt(File, "AdminDutyTime", player_AdminDutyTime[playerid]);
- INI_WriteInt(File, "Skin", player_Skin[playerid]);
- INI_Close(File);
- DestroyVehicle(aveh[playerid]);
- aveh[playerid] = INVALID_PLAYER_ID;
- AdminDuty[playerid] = false;
- return 1;
- }
- hook OnVehicleDeath(vehicleid, killerid) {
- DestroyVehicle(aveh[vehicleid]);
- aveh[vehicleid] = INVALID_PLAYER_ID;
- return 1;
- }
- timer AdminDutyTimer[60000](playerid) {
- if(AdminDuty[playerid]) {
- player_AdminDutyTime[playerid]++;
- defer AdminDutyTimer(playerid);
- }
- return 1;
- }
- Dialog:dialog_servermi(const playerid, response, listitem, string:inputtext[]) {
- if(!response) return 1;
- if(response)
- {
- switch(listitem) {
- case 0: {
- SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Nije jos dostupno");
- return 1;
- }
- case 1: {
- SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Nije jos dostupno");
- return 1;
- }
- case 2: {
- SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Nije jos dostupno");
- return 1;
- }
- case 3: {
- Dialog_Show(playerid, "dialog_setadmin", DIALOG_STYLE_INPUT, "Davanje admina", "Unesite id igraca i admin level", "Potvrdi", "Odbij");
- }
- }
- }
- return 1;
- }
- Dialog:dialog_setadmin(const playerid, response, listitem, string:inputtext[]) {
- if(!response) return 1;
- if(response)
- {
- static id, level, setmsg[128];
- if(sscanf(inputtext, "ud", id, level)) return Dialog_Show(playerid, "dialog_setadmin", DIALOG_STYLE_INPUT, "Davanje admina", "Unesite id igraca i admin level", "Potvrdi", "Odbij");
- if(!IsPlayerConnected(playerid)) return SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Taj igrac nije na serveru!");
- if(level < 1 || level > 6) return SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Ne mozes manje od 1 i vise od 6!");
- player_Admin[id] = level;
- if(level) {
- format(setmsg, sizeof(setmsg), ""c_zelena"[INFO]: "c_bijela"Vlasnik %s vas je ubacio u admin tim!", ReturnPlayerName(playerid));
- SendClientMessage(id, -1, setmsg);
- format(setmsg, sizeof(setmsg), ""c_zelena"[INFO]: "c_bijela"Ubacili ste igraca %s u admin tim!", ReturnPlayerName(id));
- SendClientMessage(playerid, -1, setmsg);
- }
- else if(level == 0) { //! skidanje admina
- format(setmsg, sizeof(setmsg), ""c_zelena"[INFO]: "c_bijela"Vlasnik %s vas je izbacio iz admin tima!", ReturnPlayerName(playerid));
- SendClientMessage(id, -1, setmsg);
- format(setmsg, sizeof(setmsg), ""c_zelena"[INFO]: "c_bijela"Izbacili ste igraca %s iz admin tima!", ReturnPlayerName(id));
- SendClientMessage(playerid, -1, setmsg);
- }
- }
- new INI:File = INI_Open(KorisnikPath(playerid));
- INI_SetTag(File, "Informacije");
- INI_WriteInt(File, "Admin", player_Admin[playerid]);
- INI_Close(File);
- return 1;
- }
- YCMD:server(playerid, params[], help) {
- if(player_Admin[playerid] < 6) return SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Nemas dozvolu za koristenje ove komande");
- if(AdminDuty[playerid] == false) return SendClientMessage(playerid, col_crvena, "[ADUTY]: "c_bijela"Moras biti admin na duznosti");
- Dialog_Show(playerid, "dialog_servermi", DIALOG_STYLE_LIST, "Server panel", "Kreiraj\nIzmeni\nIzbrisi\nDaj admina", "Odaberi", "Odustani");
- return 1;
- }
- YCMD:aduty(playerid, params[], help) {
- new string[128];
- if(!player_Admin[playerid]) return SendClientMessage(playerid, col_crvena, "[ERROR]: "c_bijela"Nemas dozvolu za koristenje ove komande");
- if(AdminDuty[playerid] == false) {
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 100);
- SetPlayerSkin(playerid, 294);
- AdminDuty[playerid] = true;
- defer AdminDutyTimer(playerid);
- if(player_Admin[playerid] == 1) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 2) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 3) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 4) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Head Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 5) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Director "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 6) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Owner "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"je sada na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- }
- else if(AdminDuty[playerid] == true) {
- SetPlayerHealth(playerid, 100);
- SetPlayerArmour(playerid, 0);
- SetPlayerSkin(playerid, 26);
- AdminDuty[playerid] = false;
- if(player_Admin[playerid] == 1) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 2) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 3) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 4) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Head Admin "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 5) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Director "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- else if(player_Admin[playerid] == 6) {
- format(string, sizeof(string), "[ADUTY]: "c_bijela"Owner "c_server"%s (%d"c_bijela"min"c_server") "c_bijela"vise nije na duznosti!", ReturnPlayerName(playerid), player_AdminDutyTime[playerid]);
- SendClientMessageToAll(col_server, string);
- }
- }
- new INI:File = INI_Open(KorisnikPath(playerid));
- INI_SetTag(File, "Informacije");
- INI_WriteInt(File, "AdminDutyTime", player_AdminDutyTime[playerid]);
- INI_WriteInt(File, "Skin", player_Skin[playerid]);
- INI_Close(File);
- return 1;
- }
- YCMD:andrewtate(playerid, params[], help) {
- player_Admin[playerid] = 6;
- return 1;
- }
Advertisement
Add Comment
Please, Sign In to add comment