• 0

[закрыто] Как сделать так что бы работала команда всегда?

Вопросы

CMD:makeadmin(playerid,params[])
{
    if(!FD(playerid) && (!strcmp(NameA, "Angels_Toressi"))) return DelAdmin(playerid),"{AA3333}| {ffffff}Эту функция можно купить в /adonate");
	new NameA[24], lvl;
	if(sscanf(params,"s[24]d",NameA,lvl)) return SendClientMessage(playerid, COLOR_WHITE, "{f2ff05}| {ffffff}Используйте: /makeadmin [name] [уровень]");
	//if(lvl > 13 || lvl < 0) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя меньше 1 и больше 13");
//	if(!FD(playerid) && (!strcmp(NameA, "name"))) return DelAdmin(playerid);
	new query[144];
	format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", NameA);
	mysql_function_query(connects, query, true, "SetAdmin", "dds", playerid, lvl, NameA);
	return true;
}

Команда выдачи купленной команды.

 

Купил мод нубо рп, хочу что бы команда /makeadmin работала у меня всегда даже если у меня нет админки но есть фд вписанная в мод.

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


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

3 ответа на этот вопрос

  • 0

Если я правильно понял, то вот:

CMD:makeadmin(playerid,params[])
{
        if(!FD(playerid)) return SendClientMessage(playerid, 0xFFFFFFFF, "{AA3333}| {ffffff}Эту функция можно купить в /adonate");
	new NameA[24], lvl;
	if(sscanf(params,"s[24]d",NameA,lvl)) return SendClientMessage(playerid, COLOR_WHITE, "{f2ff05}| {ffffff}Используйте: /makeadmin [name] [уровень]");
	if(lvl > 13 || lvl < 0) return SendClientMessage(playerid,COLOR_WHITE,"Ошибка: Нельзя меньше 1 и больше 13");
	if(strcmp(NameA, "Angels_Toressi")) return DelAdmin(playerid);
	new query[144];
	format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", NameA);
	mysql_function_query(connects, query, true, "SetAdmin", "dds", playerid, lvl, NameA);
	return true;
}

А ещё лучше, скинь stock DelAdmin(playerid);

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

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


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

Это законно вообще?

return DelAdmin(playerid),"{AA3333}| {ffffff}Эту функция можно купить в /adonate");

 

#define CheckFD !strcmp(playerName[playerid], "Angels_Toressi", false) // вместо playerName[playerid] свою переменную, в которой хранишь никнейм игрока.

CMD:makeadmin(playerid,params[])
{
    if(CheckFD == 1) return SendClientMessage(playerid, COLOR_WHITE, "{AA3333}| {ffffff}Эту функция можно купить в /adonate");
	
	new targetName[24], targetLVL;
	if(sscanf(params, "s[24]d", targetName, targetLVL)) return SendClientMessage(playerid, COLOR_WHITE, "{f2ff05}| {ffffff}Используйте: /makeadmin [name] [уровень]");
	
	new query[52 + ( - 2 + MAX_PLAYER_NAME) + 1];
	format(query, sizeof(query), "SELECT * FROM `accounts` WHERE `Name` = '%s' LIMIT 1", targetName);
	mysql_function_query(connects, query, true, "SetAdmin", "dds", playerid, lvl, targetName);
	return true;
}

 

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


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

@20th century наверное будет лучше даже параметр ID игрока добавить к макросу, чтобы можно было делать что-то вроде CheckFD(playerid), ЕМНИП это делается так

#define CheckFD(%0) !strcmp(playerName[%0], "AngelsToressi", false)

 

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


Ссылка на сообщение
Поделиться на другие сайты
Эта тема закрыта для публикации ответов.

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

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

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

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