Admin Sytem
#1

I Have A Small Promblem In My admin system a small promblem for admin chat using #
i wannt to make it /a and i put /a in the place of # then it shoing error
Usin This Code
Код:
//==============================OnPlayerText====================================
public OnPlayerText(playerid, text[])
{
	if(IsIPInText(text)) {
	    SendClientMessage(playerid,RED,"You are not allowed to use IP adresses in your chat!");
		return 1;
	}
	if(text[0] == '#' && PlayerInfo[playerid][Level] >= 1) {
	    new string[128]; GetPlayerName(playerid,string,sizeof(string));
		format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]);
		MessageToAdmins(green,string);
	    return 0;
	}
	if(text[0] == '@' && PlayerInfo[playerid][Level] >= 1) {
		new to_others[MAX_CHATBUBBLE_LENGTH+1];
		format(to_others,MAX_CHATBUBBLE_LENGTH,"Says: %s",text);
		SetPlayerChatBubble(playerid,to_others,MESSAGE_COLOR,35.0,10000);
	    return 0;
	}
	if(text[0] == '!') {
		new gangChat[128];
		new senderName[MAX_PLAYER_NAME];
		new string[128];
		strmid(gangChat,text,1,strlen(text));
		GetPlayerName(playerid, senderName, sizeof(senderName));
		format(string, sizeof(string),"%s: %s", senderName, gangChat);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		    if(PlayerInfo[i][team] == PlayerInfo[playerid][team]) {
				SendClientMessage(i, COLOR_YELLOW, string);
			}
		}
		return 0;
	}
	for(new i = 1; i < MAX_CHAT_LINES-1; i++) Chat[i] = Chat[i+1];
 	new ChatSTR[128]; GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR)); format(ChatSTR,128,"[lchat]%s: %s",ChatSTR, text[0] );
	Chat[MAX_CHAT_LINES-1] = ChatSTR;
	if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
	if(ServerInfo[NoCaps] == 1) UpperToLower(text);
	if(ServerInfo[DisableChat] == 1) {
		SendClientMessage(playerid,red,"Chat has been disabled");
	 	return 0;
	}
 	if(PlayerInfo[playerid][Muted] == 1)
	{
 		PlayerInfo[playerid][MuteWarnings]++;
 		new string[128];
		if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
			format(string, sizeof(string),"WARNING: You are muted, if you continue to speak you will be kicked. (%d / %d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
			SendClientMessage(playerid,red,string);
		} else {
			SendClientMessage(playerid,red,"You have been warned ! Now you have been kicked");
			format(string, sizeof(string),"***%s (ID %d) was kicked for exceeding mute warnings", PlayerName2(playerid), playerid);
			SendClientMessageToAll(grey,string);
			SaveToFile("KickLog",string); Kick(playerid);
		}
		return 0;
	}

	if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
	{
		if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();

	    PlayerInfo[playerid][SpamCount]++;
		if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
			PlayerInfo[playerid][SpamCount] = 0;
			PlayerInfo[playerid][SpamTime] = TimeStamp();
		}
		else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
			new string[64]; format(string,sizeof(string),"%s has been kicked (Flood/Spam Protection)", PlayerName2(playerid));
			SendClientMessageToAll(grey,string); print(string);
			SaveToFile("KickLog",string);
			Kick(playerid);
		}
		else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
			SendClientMessage(playerid,red,"Anti Spam Warning! Next is a kick.");
			return 0;
		}
	}
	if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
	for(new s = 0; s < ForbiddenWordCount; s++)
    {
		new pos;
		while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
	}
	
	if (Calling[playerid] > -1 && Answered[playerid] == 1)
	{
		new string[128];
		new sendername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(Calling[playerid], COLOR_YELLOW, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		return 0;
	}
	else
	{
		new to_others[MAX_CHATBUBBLE_LENGTH+1];
		format(to_others,MAX_CHATBUBBLE_LENGTH,"Says: %s",text);
		SetPlayerChatBubble(playerid,to_others,MESSAGE_COLOR,35.0,10000);
	}
	return 1;
}
And I changed the code to
Код:
//==============================OnPlayerText====================================
public OnPlayerText(playerid, text[])
{
	if(IsIPInText(text)) {
	    SendClientMessage(playerid,RED,"You are not allowed to use IP adresses in your chat!");
		return 1;
	}
	if(text[0] == '/a' && PlayerInfo[playerid][Level] >= 1) {
	    new string[128]; GetPlayerName(playerid,string,sizeof(string));
		format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]);
		MessageToAdmins(green,string);
	    return 0;
	}
	if(text[0] == '@' && PlayerInfo[playerid][Level] >= 1) {
		new to_others[MAX_CHATBUBBLE_LENGTH+1];
		format(to_others,MAX_CHATBUBBLE_LENGTH,"Says: %s",text);
		SetPlayerChatBubble(playerid,to_others,MESSAGE_COLOR,35.0,10000);
	    return 0;
	}
	if(text[0] == '!') {
		new gangChat[128];
		new senderName[MAX_PLAYER_NAME];
		new string[128];
		strmid(gangChat,text,1,strlen(text));
		GetPlayerName(playerid, senderName, sizeof(senderName));
		format(string, sizeof(string),"%s: %s", senderName, gangChat);
		for(new i = 0; i < MAX_PLAYERS; i++) {
		    if(PlayerInfo[i][team] == PlayerInfo[playerid][team]) {
				SendClientMessage(i, COLOR_YELLOW, string);
			}
		}
		return 0;
	}
	for(new i = 1; i < MAX_CHAT_LINES-1; i++) Chat[i] = Chat[i+1];
 	new ChatSTR[128]; GetPlayerName(playerid,ChatSTR,sizeof(ChatSTR)); format(ChatSTR,128,"[lchat]%s: %s",ChatSTR, text[0] );
	Chat[MAX_CHAT_LINES-1] = ChatSTR;
	if(PlayerInfo[playerid][Caps] == 1) UpperToLower(text);
	if(ServerInfo[NoCaps] == 1) UpperToLower(text);
	if(ServerInfo[DisableChat] == 1) {
		SendClientMessage(playerid,red,"Chat has been disabled");
	 	return 0;
	}
 	if(PlayerInfo[playerid][Muted] == 1)
	{
 		PlayerInfo[playerid][MuteWarnings]++;
 		new string[128];
		if(PlayerInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings]) {
			format(string, sizeof(string),"WARNING: You are muted, if you continue to speak you will be kicked. (%d / %d)", PlayerInfo[playerid][MuteWarnings], ServerInfo[MaxMuteWarnings] );
			SendClientMessage(playerid,red,string);
		} else {
			SendClientMessage(playerid,red,"You have been warned ! Now you have been kicked");
			format(string, sizeof(string),"***%s (ID %d) was kicked for exceeding mute warnings", PlayerName2(playerid), playerid);
			SendClientMessageToAll(grey,string);
			SaveToFile("KickLog",string); Kick(playerid);
		}
		return 0;
	}

	if(ServerInfo[AntiSpam] == 1 && (PlayerInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)) )
	{
		if(PlayerInfo[playerid][SpamCount] == 0) PlayerInfo[playerid][SpamTime] = TimeStamp();

	    PlayerInfo[playerid][SpamCount]++;
		if(TimeStamp() - PlayerInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
			PlayerInfo[playerid][SpamCount] = 0;
			PlayerInfo[playerid][SpamTime] = TimeStamp();
		}
		else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
			new string[64]; format(string,sizeof(string),"%s has been kicked (Flood/Spam Protection)", PlayerName2(playerid));
			SendClientMessageToAll(grey,string); print(string);
			SaveToFile("KickLog",string);
			Kick(playerid);
		}
		else if(PlayerInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
			SendClientMessage(playerid,red,"Anti Spam Warning! Next is a kick.");
			return 0;
		}
	}
	if(ServerInfo[AntiSwear] == 1 && PlayerInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
	for(new s = 0; s < ForbiddenWordCount; s++)
    {
		new pos;
		while((pos = strfind(text,ForbiddenWords[s],true)) != -1) for(new i = pos, j = pos + strlen(ForbiddenWords[s]); i < j; i++) text[i] = '*';
	}
	
	if (Calling[playerid] > -1 && Answered[playerid] == 1)
	{
		new string[128];
		new sendername[MAX_PLAYER_NAME];
		GetPlayerName(playerid, sendername, sizeof(sendername));
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(Calling[playerid], COLOR_YELLOW, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		SendClientMessage(playerid, COLOR_LIGHTBLUE, string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		format(string, sizeof(string), "%s: %s", sendername, text);
		print(string);
		return 0;
	}
	else
	{
		new to_others[MAX_CHATBUBBLE_LENGTH+1];
		format(to_others,MAX_CHATBUBBLE_LENGTH,"Says: %s",text);
		SetPlayerChatBubble(playerid,to_others,MESSAGE_COLOR,35.0,10000);
	}
	return 1;
}
Warning
Код:
: error 027: invalid character constant
: error 017: undefined symbol "a"
: warning 215: expression has no effect
: error 001: expected token: ";", but found ")"
: fatal error 107: too many error messages on one line

Compilation aborted.Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


4 Errors.
Reply
#2

Plz Help Me
Reply
#3

pawn Код:
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext, "/a", true) == 0)
{
 if(PlayerInfo[playerid][Level] >= 1) {
        new string[128]; GetPlayerName(playerid,string,sizeof(string));
        format(string,sizeof(string),"Admin Chat: %s: %s",string,text[1]);
        MessageToAdmins(green,string);
        return 0;
    }
else return SendClientMessage(playerid, 0xFF0000AA, "You can't use this command.");
return 1;
}
return 1;
}
Untested.
Reply
#4

Oh This Cmds Is Not Working
Reply
#5

Plz Help Guys
Reply
#6

Do you use any command processors?
Reply
#7

Oh I am Sorry I am Using Satdm I Forget To Say This One
I Dont Know Any Command Process Used In Satdm Admin System
Reply
#8

Dude.... You are trying to create a command inside of your OnPlayerText, this can't have a "/".
Reply
#9

if it uses ZCMD & sscanf2...
pawn Код:
CMD:achat(playerid, params[])
{
    new str[256], pName[MAX_PLAYER_NAME],msg[170];  //(128 is kinda a small string for chatting with..)
    GetPlayerName(playerid, pName, sizeof(pName)); //Get's their name
    if(level >= 1) //Use your admin level system variables here instead of what i'm using.
    {
        if(sscanf(params, "s", msg)) return SendClientMessage(playerid, COLOR_RED, "USAGE: /a(chat) <message>"); //checks if the params are filled.
        format(str, sizeof(str), "ADMIN CHAT: %s: %s", pName, msg); //formats the str so we can ready it for sending.
        MessageToAdmins(green,str); //sends to admins
    }
    return 1;
}
CMD:a(playerid, params[]) return cmd_achat(playerid, params); //if they type /a returns the cmd /achat
Reply
#10

Код:
: warning 219: local variable "pName" shadows a variable at a preceding level
: error 017: undefined symbol "level"
Pawn compiler 3.2.3664	 	 	Copyright © 1997-2006, ITB CompuPhase


1 Error.
Error
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)