• 0
Sign in to follow this  
Followers 0
Guest reb00t

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

Question

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 работала у меня всегда даже если у меня нет админки но есть фд вписанная в мод.

Share this post


Link to post
Share on other sites

3 answers to this question

  • 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);

Edited by glvde.

Share this post


Link to post
Share on other sites
  • 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;
}

 

Share this post


Link to post
Share on other sites
  • 0

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

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

 

Share this post


Link to post
Share on other sites
Guest
This topic is now closed to further replies.
Sign in to follow this  
Followers 0