В теме 15 сообщений

дать админку. 

Автор команды: TheSeLToN.

Спойлер

#define COLOR_GREEN 0x9EC73DAA

 

Спойлер

CMD:makeadmin(playerid, params[])
{
    if(PlayerInfo[playerid][pAdmin] < 5) return true;
        if(sscanf(params, "ui", params[0], params[1])) return
                SCM(playerid, -1, "{FFFF00}[!]{DEDEDE} Используйте: /makeadmin [playerid] [уровень]");
        if(!IsPlayerConnected(params[0])) return
                SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Игрока нет в сети.");
        if(params[1] < 1 || params[1] > 5) return
                SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Уровень должен быть не менее 1 и не более 5!");
        PlayerInfo[params[0]][pAdmin] = params[1];
        static const fmt_str[] = "Вы были назначены администратором %d уровня. Назначил: %s.";
        new string[sizeof(fmt_str)-2+2-2+MAX_PLAYER_NAME];
        format(string, sizeof(string), fmt_str, params[1], PlayerInfo[playerid][pName]);
        SCM(params[0], COLOR_GREEN, string);
        static const fmt_str_2[] = "Вы назначили игрока %s, администратором %d уровня.";
        new string_2[sizeof(fmt_str_2)-2+MAX_PLAYER_NAME-2+2];
        format(string_2, sizeof(string_2), fmt_str_2, PlayerInfo[params[0]][pName], params[1]);
        SCM(playerid, COLOR_GREEN, string_2);
        return true;
}

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
46 минут назад, Tera HammerYT сказал:

Кто даст чтобы не ID надо было а НИК?

 

Для оффлайн выдачи ? 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
if(PlayerInfo[params[0]][pAdmin] >= 5)
		return SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Нельзя повышать/понижать Гл.Админа!");

Было бы неплохо добавить такую проверку. А также разнообразить выдачу, типа если админ уже администратор и выдаешь ему ранг выше ,то выводить сообщение "вас повысили в ранге" и шото такое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Tera HammerYT тут нужно уже будет действия с базой данных производить. Без указания версии mySQL и структуры базы данных не обойтись. Проще будет, если вы назовете основу вашего мода. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C:\Users\qq226\OneDrive\Ðàáî÷èé ñòîë\server\gamemodes\bare.pwn(788) : warning 203: symbol is never used: "makeadmin"

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Gamer Boom возможно есть такая же команда, попробуйте изменить

 

Заметка от DEST , создано

Вы уже не модератор, поэтому не выполняйте его функции.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

C:\Users\Ðîñòèê\Desktop\Ñåðâåð Arzamas RP\gamemodes\JRP.pwn(24870) : error 017: undefined symbol "PlayerInfo"
C:\Users\Ðîñòèê\Desktop\Ñåðâåð Arzamas RP\gamemodes\JRP.pwn(24870) : warning 215: expression has no effect
C:\Users\Ðîñòèê\Desktop\Ñåðâåð Arzamas RP\gamemodes\JRP.pwn(24870) : error 001: expected token: ";", but found "]"
C:\Users\Ðîñòèê\Desktop\Ñåðâåð Arzamas RP\gamemodes\JRP.pwn(24870) : error 029: invalid expression, assumed zero
C:\Users\Ðîñòèê\Desktop\Ñåðâåð Arzamas RP\gamemodes\JRP.pwn(24870) : fatal error 107: too many error messages on one line

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@Карлос Сименсон PlayerInfo - меняй на свое, например PI, pData, Player.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Куда вводить эти команды???Я просто пока что не особо разбираюсь)

 

@Shakoladka Не помогло

Заметка от Shakoladka , создано

Объединил сообщения

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
Спойлер

CMD:makeadmin(playerid, params[])
{
	if (PlayerInfo[playerid][pAdmin] < 5)
		return SendClientMessage(playerid, 0xFFFF00FF, !"Команда доступна с 5 уровня администратора");
	extract params -> new id, lvl; else
		return SendClientMessage(playerid, 0xFFFF00FF, !"[!]{DEDEDE} Используйте: /makeadmin [playerid] [уровень]");
	if (!IsPlayerConnected(id))
		return SendClientMessage(playerid, 0xFF6347FF, !"[X]{DEDEDE} Игрока нет в сети.");
	if (!(1 <= lvl <= 5))
		return SendClientMessage(playerid, 0xFF6347FF, !"[X]{DEDEDE} Уровень должен быть не менее 1 и не более 5!");

	PlayerInfo[id][pAdmin] = lvl;

	static const 
		fmt_str[] = "Вы были назначены администратором %d уровня. Назначил: %s.",
		fmt_str_2[] = "Вы назначили игрока %s, администратором %d уровня.";
	static
		string[sizeof fmt_str + MAX_PLAYER_NAME + 2 - 2*2];

	format(string, sizeof string, fmt_str, lvl, PlayerInfo[playerid][pName]);
	SendClientMessage(id, 0x9EC73DAA, string);
	format(string, sizeof string, fmt_str_2, PlayerInfo[id][pName], lvl);
	SendClientMessage(playerid, 0x9EC73DAA, string);

	return 1;
}

 

 

Отредактировано пользователем m1n1vv

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 04.01.2018 в 18:56, Гость сказал:

Кто даст чтобы не ID надо было а НИК?

 

Спойлер

CMD:setadmin(playerid, params[])
{
    if(GetString(GetName(playerid), NAME_DEVELOPER_ONE))
    {
        if(AdminLogged[playerid] == false) return SendClientMessage(playerid, COLOR_GREY, YouAreNotLoggedInAsAdmin);
        new playername[24], admin_level;
        if(sscanf(params, "s[24]i", playername, admin_level)) return SendClientMessage(playerid, COLOR_WHITE, "{FD3D28}[Ошибка] {FCFDFD}Введите: /setadmin [ник игрока] [уровень админа]");
        new string[128];
        format(string, sizeof(string), "SELECT * FROM "T_ADMIN" WHERE `name` = '%s'", playername);
        mysql_tquery(dbHandle, string, "SetAdmin", "isi", playerid, playername, admin_level);
    }
    return true;
}

 

 

Отредактировано пользователем DEST

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как занести это в базу данных?

CMD:makeadmin(playerid, params[])
{
    	if(player_info[playerid][ADMIN] < 5) return true;
        if(sscanf(params, "ui", params[0], params[1])) return
                SCM(playerid, -1, "{FFFF00}[!]{DEDEDE} ???????????: /makeadmin [playerid] [???????]");
        if(!IsPlayerConnected(params[0])) return
                SCM(playerid, -1, "{FF6347}[X]{DEDEDE} ?????? ??? ? ????.");
        if(params[1] < 1 || params[1] > 5) return
                SCM(playerid, -1, "{FF6347}[X]{DEDEDE} ??????? ?????? ???? ?? ????? 1 ? ?? ????? 5!");
        player_info[params[0]][ADMIN] = params[1];
        static const fmt_str[] = "?? ???? ????????? ??????????????? %d ??????. ????????: %s.";
        new string[sizeof(fmt_str)-2+2-2+MAX_PLAYER_NAME];
        format(string, sizeof(string), fmt_str, params[1], player_info[playerid][NAME]);
        SCM(params[0], COLOR_WHITE, string);
        static const fmt_str_2[] = "?? ????????? ?????? %s, ??????????????? %d ??????.";
        new string_2[sizeof(fmt_str_2)-2+MAX_PLAYER_NAME-2+2];
        format(string_2, sizeof(string_2), fmt_str_2, player_info[params[0]][NAME], params[1]);
        SCM(playerid, COLOR_WHITE, string_2);
        return true;
}

вот код такой как у меня нет ошибок 

 

enum player
{
	ID,
	NAME[MAX_PLAYER_NAME],
	PASSWORD[65],
	SALT[11],
	EMAIL[65],
	REF,
	REFMONEY,
	SEX,
	RACE,
	AGE,
	SKIN,
	REGDATA[13],
	REGIP[16],
	ADMIN,
	MONEY,
	LVL,
	EXP,
	MINS,
	PIN[2],
	LASTIP[16],
	tempPINCHECK[4],
	tempENTEREDPIN[4],
	GOOGLEAUTH[17],
	GOOGLEAUTHSETTING,
	tempQUESTION[98],
	LOWWORKSKILL[2],
}

Так выглядит мой enum

 

Мне надо в базе изменить ADMIN 0-8 (у меня 8 лвл адм) так чтобы сохранилось. помогите пожалуйста

База хот пхп май админ через open server

Сделал всё по видео урокам (Мод с нуля SAMP #1 | Первоначальная настройка и MySQL [PAWN/PAWNO] - Мод с нуля SAMP #41 | Оптимизация, фикс багов, доработки [PAWN/PAWNO]

Если вы мне поможете буду благодарен

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

@#User6020, ахахах ты по уроку леона делал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
В 03.08.2017 в 23:10, RASTAMAN сказал:

CMD:makeadmin(playerid, params[]) { if(PlayerInfo[playerid][pAdmin] < 5) return true; if(sscanf(params, "ui", params[0], params[1])) return SCM(playerid, -1, "{FFFF00}[!]{DEDEDE} Используйте: /makeadmin [playerid] [уровень]"); if(!IsPlayerConnected(params[0])) return SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Игрока нет в сети."); if(params[1] < 1 || params[1] > 5) return SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Уровень должен быть не менее 1 и не более 5!"); PlayerInfo[params[0]][pAdmin] = params[1]; static const fmt_str[] = "Вы были назначены администратором %d уровня. Назначил: %s."; new string[sizeof(fmt_str)-2+2-2+MAX_PLAYER_NAME]; format(string, sizeof(string), fmt_str, params[1], PlayerInfo[playerid][pName]); SCM(params[0], COLOR_GREEN, string); static const fmt_str_2[] = "Вы назначили игрока %s, администратором %d уровня."; new string_2[sizeof(fmt_str_2)-2+MAX_PLAYER_NAME-2+2]; format(string_2, sizeof(string_2), fmt_str_2, PlayerInfo[params[0]][pName], params[1]); SCM(playerid, COLOR_GREEN, string_2);

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!


Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.


Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Похожий контент

    • От Mason
      Всех Приветствую! У меня есть вот такая дверь, мне нужно сделать так чтобы она открывалась на кнопку, дело в том что я знаю про функцию MoveObject и даже попытался сделать так чтобы она открывалась, но когда я захожу в игру и нажимаю на кнопку то ничего не происходит.
      На всякий случай прикладываю код
       
       

    • От MrNARTI
      всем привет помогите пожалуйста решить ошибку
      ошибки
       
    • От MrNARTI
      делал дополнение для организации что бы при повторном взятии авто не вводить /unfcar.
       
      код
       
      ошибки
       
      обьясните пожалуйста понятным языком даже для тупых пожалуйста)