15 posts in this topic

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

Автор команды: 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
46 минут назад, Tera HammerYT сказал:

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

 

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

Share this post


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

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

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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

@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

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

Share this post


Link to post
Share on other sites

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

 

@Shakoladka Не помогло

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

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

Share this post


Link to post
Share on other sites
Спойлер

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
В 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

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

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

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

Share this post


Link to post
Share on other sites
В 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

    • Tony_Cannabis
      By Tony_Cannabis
      Нужна мне собственно проверка на гараж, я хочу чтобы дом N класса не имел гаража, куда только я проверку эту не сувал, но немогу понять как это работает
       
      Имеем код
      Куда мне ее засунуть просто ума не приложу, думал будет легко но понимаю что без вас не разобратся, проверку которую хотел закинуть см. ниже
      if(gHouses[houseid][houseClass] == 0) return ErrorMessage(playerid, "Недоступно для класса Вашего дома");