Admin Sytem -
BlackBlood's - 07.12.2011
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.
Re: Admin Sytem -
BlackBlood's - 07.12.2011
Plz Help Me
Re: Admin Sytem -
Thresholdold - 07.12.2011
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.
Re: Admin Sytem -
BlackBlood's - 07.12.2011
Oh This Cmds Is Not Working
Re: Admin Sytem -
BlackBlood's - 07.12.2011
Plz Help Guys
AW: Admin Sytem -
BigETI - 07.12.2011
Do you use any command processors?
Re: Admin Sytem -
BlackBlood's - 08.12.2011
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
Re: Admin Sytem -
xMichaelx - 08.12.2011
Dude.... You are trying to create a command inside of your OnPlayerText, this can't have a "/".
Re: Admin Sytem -
[ABK]Antonio - 08.12.2011
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
Re: Admin Sytem -
BlackBlood's - 08.12.2011
Код:
: 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