Если Вы нашли ответ на вопрос, пожалуйста, пометьте необходимый ответ лучшим (галочка сбоку от сообщения) и поблагодарите автора этого ответа поднятием репутации (плюс в нижней правой части сообщения). Спасибо.
Подробнее:
FAQ по форуму
Как пометить ответ лучшим

Question

Можете помочь с командой? Что бы при написании например /admin Nick_Name
У него администратор сни

Спойлер

CMD:setadmin(playerid, params[])
{
    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO) || GetString(GetName(playerid), NAME_LEADERS_ONE))
    {
        if(PI[playerid][pAdmin] < 1) return 1;
        else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        new playername[24], admin_level;
        if(sscanf(params, "s[24]i", playername, admin_level)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Ïîäñêàçêà ] {ffffff}Ââåäèòå: /setadmin [íèê èãðîêà] [óðîâåíü àäìèíà]");
        if(strfind(params[0], "_", true) == -1) return SCM(playerid,COLOR_RED,"Âïèñûâàòü íåîáõîäèìî ÍÈÊ èãðîêà, à íå ID. Ïîâòîðèòå ïîïûòêó..");

        new string[256];
        format(string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", playername);
        mysql_tquery(dbHandle, string, "SetAdmin", "isi", playerid, playername, admin_level);
    }
    return 1;
}


И что бы не было:

    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO) || GetString(GetName(playerid), NAME_LEADERS_ONE))

И так же что бы с определенного лвл адм была доступна кмд, нельзя было снять 8 и 7 лвл адм

 

Share this post


Link to post

5 answers to this question

  • 0
Спойлер

CMD:setadmin(playerid, params[])
{
    if(PI[playerid][pAdmin] < 7) return SendClientMessage(playerid, -1, "Вы не имеете доступа к этому!");
    {
        else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        new playername[24], admin_level;
        if(sscanf(params, "s[24]i", playername, admin_level)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /setadmin [ник игрока] [уровень админа]");
        if(admin_level != 0 && PI[playerid][pAdmin] < 8 /*адм-уровень основателя*/) return SendClientMessage(playerid, -1, "Вы не можете назначать новых администраторов, вы можете только снимать их. Для этого используйте: /setadmin [Nick Name] 0");
        if(strfind(params[0], "_", true) == -1) return SCM(playerid,COLOR_RED,"Вписывать необходимо НИК игрока, а не ID. Повторите попытку..");
        new string[256];
        format(string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", playername);
        mysql_tquery(dbHandle, string, "SetAdmin", "isi", playerid, playername, admin_level);
    }
    return 1;
}

 

 

Share this post


Link to post
  • 0

По моему в этом моде если прописать /setadmin Nick_Name 0 то админка снимается. Зачем изобретать велосипед и делать новую команду? 

Удалите строку, которую вы скинули и вставьте вместо нее эту:

if(PI[playerid][pAdmin] < 7) return SendClientMessage(playerid, -1, "Вы не имеете доступа к этому!"); // проверка на седьмой лвл админки, если меньше 7 выдаст ошибку

 

Share this post


Link to post
  • 0

@stibs я хочу сделать так что бы зам мог снимать, но не мог выдавать админку

 

Share this post


Link to post
  • 0

@stibs

Спойлер

CMD:setadmin(playerid, params[])
{
    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE) || GetString(GetName(playerid), NAME_DEVELOPER_TWO) || GetString(GetName(playerid), NAME_LEADERS_ONE))
	{
	    if(PI[playerid][pAdmin] < 1) return 1;
		else if(AdminLogged[playerid] == false) return SCM(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
		new playername[24], admin_level;
		if(sscanf(params, "s[24]i", playername, admin_level)) return SCM(playerid, COLOR_WHITE, "• {66CC00}[ Подсказка ] {ffffff}Введите: /setadmin [ник игрока] [уровень админа]");
        if(strfind(params[0], "_", true) == -1) return SCM(playerid,COLOR_RED,"Вписывать необходимо НИК игрока, а не ID. Повторите попытку..");

		new string[256];
        format(string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", playername);
		mysql_tquery(dbHandle, string, "SetAdmin", "isi", playerid, playername, admin_level);
	}
	return 1;
}

 

 

Edited by Daniil Roslyakov

Share this post


Link to post
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0
  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • August_Rothschild
      By August_Rothschild
      Всем привет , как заменять анимации в игре ? Имеется ввиду анимации танцев , как прочесть файлы с анимациями или как заменять определенную анимацию