15 posts in this topic

RASTAMAN
Великий Гуру

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

Автор команды: 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;
}

 

 

Share this post


Link to post
Share on other sites
LilPokemon
Гуру форума
46 минут назад, Tera HammerYT сказал:

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

 

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

Share this post


Link to post
Share on other sites
HAZZY
Свой человек
if(PlayerInfo[params[0]][pAdmin] >= 5)
		return SCM(playerid, -1, "{FF6347}[X]{DEDEDE} Нельзя повышать/понижать Гл.Админа!");

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

Share this post


Link to post
Share on other sites
DEST
Maintainer

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

Share this post


Link to post
Share on other sites
Gamer Boom
Новичок

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

Share this post


Link to post
Share on other sites
Guest
Новичок

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

 

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

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

Share this post


Link to post
Share on other sites
Карлос Сименсон
Новичок

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

 

 

Share this post


Link to post
Share on other sites
Вован123
Новичок

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

 

@Shakoladka Не помогло

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

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

Share this post


Link to post
Share on other sites
m1n1vv
Свой человек
Спойлер

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;
}

 

 

Edited by m1n1vv

Share this post


Link to post
Share on other sites
Guest SN1KE
Новичок
В 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;
}

 

 

Edited by DEST

Share this post


Link to post
Share on other sites
#User6020
Новичок

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

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]

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

 

Share this post


Link to post
Share on other sites
Rex
Новичок
В 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);

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now
Sign in to follow this  
Followers 0

  • Recently Browsing   0 members

    No registered users viewing this page.

  • Similar Content

    • LORDIKUS
      By LORDIKUS
      Уважаемые участники форума - всех приветствую, кто перешел в беседу моей темы обсуждения. В настоящее время у меня зарождается огромное желание и мысль создать собственный CR:MP проект, но столкнулся с единственной проблемой - с отсутствием команды людей, у которых будет искреннее желание ежедневно вкладывать свой труд на разработку проекта. Особого опыта в скриптинге, маппинге, дизайне или в моделировании у меня не имеется, поэтому такой критерий как опыт в определенной сфере для желающих вступить в команду я не рассматриваю. Так как проект не открыт и находится на начальной стадии создания, мое сотрудничество выстраивается на некоммерческой основе (без выплаты за проделанную работу и труд), однако я не собираюсь отрицать высокую ценность вложенного командой труд — труд, особенно на первой стадии разработки я рассматриваю превыше всего. После открытия проекта в зависимости от коммерции и чистой прибыли каждый участник будет получать настоящую выплату, однако это также может убить еще значительное время. Мне нужна команда, которая проявит искренний интерес в создании общего между командой CR:MP проекта, пожертвует свое время, а также вложит собственный труд благодаря заработанным навыкам. Если вас заинтересовала данная тема обсуждения, пожалуйста, свяжитесь со мной по любым возможным и удобным для вас контактам связи ниже. Спасибо всем, кто зашел в мою беседу!

      🔗 Спец. Связь:
      — DISCORD: https://discord.com/users/1452715348196589691 (перейти по ссылке и добавить в друзья) ИЛИ _shin833_ (ввести никнейм и отправить запрос дружбы)
      — VK: https://vk.com/shin833
      — TG: https://t.me/s_hin833
    • Korochansky
      By Korochansky
      Настало время объявить о скором выпуске первого релиза среды разработки под названием Spawn.

      В настоящее время программа находится на заключительных этапах доработки кода и локализации интерфейса.
      Таким образом, в течение следующей недели будет выпущена быстрая и современная среда разработки, обладающая следующими возможностями (о которых я расскажу сейчас, а о других — позже):
       
      Полнофункциональный локальный Git: 
      Индексирование, фиксации, индикаторы состояния и мягкий/жесткий сброс до любой точки сохранения одним щелчком мыши. Разрабатывайте свой игровой сервер, не боясь его сломать.
      Новички могут рассматривать это как историю кодовой базы вашего сервера (что и есть на самом деле).
       
      Чистый UTF-8 (без BOM): 
      Полный отказ от устаревшей кодировки Windows-1251 (CP1251) для абсолютной стабильности и идеальной совместимости с Git.
      Реализация поддержки CP1251 привела бы к нестабильному поведению программы и ухудшила бы пользовательский опыт.
       
      История изменений строк: Редактор выделяет измененные строки в реальном времени в полях рядом с номерами строк. Это позволяет мгновенно видеть границы изменений, внесенных с момента открытия файла.
       
      Сопоставление и выделение фигурных скобок: мгновенное выделение открывающих и закрывающих фигурных скобок для быстрой навигации по структуре кода и защиты от ошибок компиляции.
       
      Интеграция с SAMPCTL: готовая к использованию автоматизация процессов. Сборка, запуск сервера и менеджер зависимостей (управление библиотеками и плагинами) работают напрямую из интерфейса редактора.
       
      И многое другое...
       
      И самое главное: проект будет с открытым исходным кодом под лицензией GPLv3!
      Следите за новостями о выпуске в репозитории: https://github.com/daniilkorochansky/spawn
    • KodBi
      By KodBi
      шапка
      по одиночке работают
      нужны оба