Hello, I'm having a problem with LuxAdmin.
This problem is not allowing my users to be able to chat. They are able to PM. Admins, though can chat and I don't know why they can, and users can't.
Код:
public OnPlayerText(playerid, text[])
{
//==============================================================================
// Vip Chat
//==============================================================================
if(text[0] == '*' && AccInfo[playerid][pVip] >= 1)
{
new string[128]; GetPlayerName(playerid,string,sizeof(string));
format(string,sizeof(string),"|ChatVip| %s: %s",string,text[1]);
MessageToPlayerVIP(0xDC686BAA,string);
SaveIn("ChatVipLog",string);
return 0;
}
//==============================================================================
// Administration Chat
//==============================================================================
if(text[0] == '#' && AccInfo[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);
#if ADM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
return 0;
}
//==============================================================================
// Chat Disabled
//==============================================================================
if(ServerInfo[DisableChat] == 1)
{
SendClientMessage(playerid,red,"|- Chat has been Disabled! -|");
return 0;
}
//==============================================================================
// Player Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
AccInfo[playerid][MuteWarnings]++;
new string[128];
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATTENTION: You are Muted! Cannot talk (Warnings: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- You have been Automatically Kicked. | Reason: Exceeding Mute Warnings -|");
format(string, sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings -|",PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string);
SaveIn("KickLog",string); Kick(playerid);
} return 0;
}
//==============================================================================
// Flood/Spam Protection
//==============================================================================
if(ServerInfo[AntiSpam] == 1 && (AccInfo[playerid][Level] == 0 && !IsPlayerAdmin(playerid)))
{
if(AccInfo[playerid][SpamCount] == 0) AccInfo[playerid][SpamTime] = TimeStamp();
AccInfo[playerid][SpamCount]++;
if(TimeStamp() - AccInfo[playerid][SpamTime] > SPAM_TIMELIMIT) { // Its OK your messages were far enough apart
AccInfo[playerid][SpamCount] = 0;
AccInfo[playerid][SpamTime] = TimeStamp();
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS) {
new string[64]; format(string,sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Flood/Spam Protection", PlayerName2(playerid),playerid);
SendClientMessageToAll(grey,string); print(string);
SaveIn("KickLog",string);
Kick(playerid);
}
else if(AccInfo[playerid][SpamCount] == SPAM_MAX_MSGS-1) {
SendClientMessage(playerid,red,"ATTENTION: Anti Spam Warning! Next is a Kick!");
return 0;
}
}
//==============================================================================
// Send Admin in front of name
//==============================================================================
#if ADM_InMSG == true
if (AccInfo[playerid][Hide] == 0)
{
if(AccInfo[playerid][Level] > 0)
{
new str3[256];
format(str3, 256, "(Admin): %s", text);
for(new gz=0;gz<200;gz++)
if(IsPlayerConnected(gz))
SendPlayerMessageToPlayer(gz, playerid, str3);
else SendPlayerMessageToPlayer(gz, playerid, text);
}
return 0;
}
#endif
//==============================================================================
// Forbidden Words
//==============================================================================
if(ServerInfo[AntiSwear] == 1 && AccInfo[playerid][Level] < ServerInfo[MaxAdminLevel])
for(new s = 0; s < BadWordsCount; s++)
{
new pos;
while((pos = strfind(text,BadWords[s],true)) != -1)
for(new i = pos, j = pos + strlen(BadWords[s]); i < j; i++) text[i] = '*';
}
//==============================================================================
// Anti Advertisements
//==============================================================================
if(ServerInfo[AntiAds] == 1)
{
if(AdvertisementCheck(text) && AccInfo[playerid][Level] < 3)
{
AccInfo[playerid][MaxAdv]++;
new string[128];
format(string,sizeof(string),"|- Warning! Suspected ads in your message! (Warnings: %d/%d)",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, grey,string);
if(AccInfo[playerid][MaxAdv] == MAX_ADV_WARNINGS)
{
format(string,sizeof(string),"|- You is Automatically Kicked. | Reason: Many ads in your Messages (%d/%d) -|",AccInfo[playerid][MaxAdv], MAX_ADV_WARNINGS);
SendClientMessage(playerid, lightred,string);
format(string,sizeof(string),"|- Player %s (Id:%d) has beenAutomatically Kicked. | Reason: Many Advertisements! (%d) -|",PlayerName2(playerid),playerid, MAX_ADV_WARNINGS);
SaveIn("KickLog",string); Kick(playerid);
SendClientMessageToAll(lightred, string);
print(string);
}
return 0;
}
}
//==============================================================================
// Block CapsLock
//==============================================================================
if(AccInfo[playerid][Caps] == 1)
UpperToLower(text);
if(ServerInfo[NoCaps] == 1)
UpperToLower(text);
//==============================================================================
// Chat Lines (Console)
//==============================================================================
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,"[CHAT]%s: %s",ChatSTR, text[0]);
Chat[MAX_CHAT_LINES-1] = ChatSTR;
return 1;
}
//==============================================================================
//-------------------------------------------------
// Private Message (PM)
//-------------------------------------------------
//==============================================================================
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if(ServerInfo[ReadPMs] == 1 && AccInfo[playerid][Level] != ServerInfo[MaxAdminLevel])
{
//==============================================================================
// Send PM
//==============================================================================
new string[128];
new pReciever[MAX_PLAYER_NAME];
GetPlayerName(playerid, string, sizeof(string));
GetPlayerName(recieverid, pReciever, sizeof(pReciever));
format(string, sizeof(string), "|- PM: %s To %s: %s", string, pReciever, text);
for (new a = 0; a < MAX_PLAYERS; a++)
if(IsPlayerConnected(a) && (AccInfo[a][Level] >= ServerInfo[MaxAdminLevel]) && a != playerid)
SendClientMessage(a, grey, string);
#if PM_CHAT_LOG == true
SaveIn("AdmChatLog",string);
#endif
}
//==============================================================================
// Muted
//==============================================================================
if(AccInfo[playerid][Muted] == 1)
{
new string[128];
AccInfo[playerid][MuteWarnings]++;
if(AccInfo[playerid][MuteWarnings] < ServerInfo[MaxMuteWarnings])
{
format(string, sizeof(string),"|- ATTENTION: You are Muted! Cannot talk (Warnings: %d/%d) -|",AccInfo[playerid][MuteWarnings],ServerInfo[MaxMuteWarnings]);
SendClientMessage(playerid,red,string);
}
else
{
SendClientMessage(playerid,red,"|- You have been Automatically Kicked. | Reason: Exceeding Mute Warnings -|");
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- Player %s (Id:%d) has been Automatically Kicked. | Reason: Exceeding Mute Warnings -|", string, playerid);
SendClientMessageToAll(lightred,string);
SaveIn("KickLog",string);
Kick(playerid);
}
return 0;
}
#if EnablePM_Cmd == true
new string[128];
format(string,256,"|- PM: Message to '%s(%d)': \"%s\" -|",PmReceiver,PMplayer1,text);
SendClientMessage(playerid,0x00A765AA,string);
PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
GetPlayerName(playerid, string, sizeof(string));
format(string, sizeof(string),"|- PM: Message from: %s: \"%s\" -|",string,text);
SendClientMessage(recieverid,0x00A765AA,string);
#endif
return 1;
}
//==============================================================================
//-------------------------------------------------
// ERROR Messages
//-------------------------------------------------
//==============================================================================
stock ErrorMessages(playerid, errorID)
{
if(errorID == 1) return SendClientMessage(playerid,red,"ERROR: You are not a high enough level to use this command");
if(errorID == 2) return SendClientMessage(playerid,red,"ERROR: Player is not connected");
if(errorID == 3) return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself or is the highest level admin");
if(errorID == 4) return SendClientMessage(playerid,red,"ERROR: Player is not connected or is yourself");
if(errorID == 5) return SendClientMessage(playerid,red,"ERROR: You need to be Level 4 to use this Command");
if(errorID == 6) return SendClientMessage(playerid,red,"ERROR: You need to be Level 3 to use this Command");
if(errorID == 7) return SendClientMessage(playerid,red,"ERROR: You need to be Level 2 to use this Command");
if(errorID == 8) return SendClientMessage(playerid,red,"ERROR: You need to be Level 1 to use this Command");
if(errorID == 9) return SendClientMessage(playerid,red,"ERROR: You need to be Level 5 to use this Command");
if(errorID == 10) return SendClientMessage(playerid,red,"ERROR: You are not in a vehicle");
return 1;
}
//==============================================================================
//-------------------------------------------------
// HighLight
//-------------------------------------------------
//==============================================================================
public HighLight(playerid)
{
if(!IsPlayerConnected(playerid))
return 1;
if(AccInfo[playerid][blipS] == 0)
{
SetPlayerColor(playerid, 0xFF0000AA);
AccInfo[playerid][blipS] = 1;
}
else
{
SetPlayerColor(playerid, 0xFFFF00AA);
AccInfo[playerid][blipS] = 0;
}
return 0;
}
Nope.
They're still able to PM though.
Hmm check your GM and other FS if the return of OnPlayerText not return 0; if it is 0 change it to 1
So if my other filterscripts on my server are no return 1; then change it to return 1?