SA-MP Forums Archive
Command available only for rcon admin - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Command available only for rcon admin (/showthread.php?tid=526462)



Command available only for rcon admin - flamur2012 - 17.07.2014

So yeah as the title tells i have a problem with this command which only works with rcon, wonder if this command could be changed so only normal admins could use it and remove all the rcon thing from the script. if someone would solve my problem much respect for him +rep <3

Код:
COMMAND:ask(playerid, params[])
{
    if (sscanf(params, "s[256]", Question[playerid])) return SendClientMessage(playerid, COLOR_RED, "USAGE: /ask [Question]");
	if(QuestionAsked[playerid] == true) return SendClientMessage(playerid, COLOR_RED, "ERROR: Wait for the response of your previous question!");
	new string[128], string2[256], name[MAX_PLAYER_NAME];
	GetPlayerName(playerid, name, sizeof(name));
	format(string2, sizeof(string2), "QUESTION: %s", Question[playerid]);
	SendClientMessageToAdmins(COLOR_GREEN, string2);
	format(string, sizeof(string), "INFO: %s has asked a question, use /answer %d to answer it!", name, playerid);
	SendClientMessageToAdmins(COLOR_GREEN, string);
	QuestionAsked[playerid] = true;
	return 1;
}

COMMAND:answer(playerid, params[])
{
	new ID, string[256], string2[256];
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This command is only available for RCON admins!");
	if (sscanf(params, "is[256]", ID, string)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /answer [ID] [Answer]");
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This player is not connected!");
	if(QuestionAsked[ID] != true) return SendClientMessage(playerid, COLOR_RED, "ERROR: This player has not asked a question!");
	QuestionAsked[ID] = false;
	format(string2, sizeof(string2), "ANSWER: %s", string);
	SendClientMessage(ID, COLOR_GREEN, string2);
	return 1;
}

COMMAND:qdelete(playerid, params[])
{
	new ID;
	if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This command is only available for RCON admins!");
	if (sscanf(params, "i", ID)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /qdelete [ID]");
	if(!IsPlayerConnected(ID)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This player is not connected!");
	if(QuestionAsked[ID] != true) return SendClientMessage(playerid, COLOR_RED, "ERROR: This player has not asked a question!");
        QuestionAsked[ID] = false;
        SendClientMessage(ID, COLOR_GREEN, "INFO: Your question has been deleted!");
	return 1;
}
one of my fine working commands (just an example)
Код:
CMD:kick(playerid,params[])
{
	if(pInfo[playerid][pLogged] == 1)
	{
		if(pInfo[playerid][pAdminLevel] >= 1)
		{
			new targetid,reason[105],string[256];
			if(sscanf(params, "us[105]", targetid,reason)) return SendClientMessage(playerid,-1,""chat" /kick [playerid] [reason]");
			if(!IsPlayerConnected(targetid)) return SendClientMessage(playerid,-1,""chat" Player is not online");
			format(string, sizeof(string), ""chat""COL_LIGHTBLUE" %s %s has kicked %s [Reason: %s]",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
			SCMTA(-1,string);
			printf("%s %s has kicked %s [Reason: %s]",GetAdminName(playerid),PlayerName(playerid),PlayerName(targetid),reason);
			Kick(targetid);

		}
		else {
			SendClientMessage(playerid,-1,""chat""COL_LIGHTBLUE" You do not have the right admin permissions for this command!");
		}
	}
    else if(pInfo[playerid][pLogged] == 0)
	{
		SendClientMessage(playerid,-1,""chat""COL_LIGHTBLUE" Nice try u fucking fag gay!");
		printf("%s has been kicked for trying to use a command without being logged in!", PlayerName(playerid));
		Kick(playerid);
	}
	return 1;
}



Re: Command available only for rcon admin - Miguel - 17.07.2014

Hi. This is the line that asks for RCon admin:
pawn Код:
if(!IsPlayerAdmin(playerid)) return SendClientMessage(playerid, COLOR_RED, "ERROR: This command is only available for RCON admins!");
All you have to do is replace the condition with
pawn Код:
pInfo[playerid][pAdminLevel] < 1
So if player admin level is less than "1" it will send an error message.


Re: Command available only for rcon admin - GeekSiMo - 17.07.2014

Yes !!! Use IsPlayerAdmin


Re: Command available only for rcon admin - flamur2012 - 17.07.2014

Thanks to both of you really helped me.