21.05.2010, 10:54
Okay.. So; When i go in game, and type /pm <id> <message>, it disables pming for some reason, though, when i type /togglepm it enables it fine.
Help? Thanks!
Help? Thanks!
Код:
#include <a_samp>
#define PM_WAIT 2 // How many seconds between PM's
#define MAX_WARNS 5 // How many warnings before the player is kicked
#define MAX_PLAY 32 // How many slots your server has
#define PM_SOUND 1 //0 - disabled 1 - enabled
#define COLOR_RED 0xFF0000AA
#define COLOR_ORANGE 0xFF9900AA
#define COLOR_GREEN 0x33AA33AA
new PMspam[MAX_PLAY];
new PMspammer[MAX_PLAY];
new pmon[MAX_PLAY];
#if PM_SOUND == 1
new pmallowed[MAX_PLAY];
#endif
forward PMunspam(playerid);
public OnFilterScriptInit()
{
for(new i=0; i<MAX_PLAY; i++) PMspam[i] = 0;
return 1;
}
public OnPlayerRequestClass(playerid, classid)
{
PMspam[playerid] = 0;
pmon[playerid] = 1;
return 1;
}
public OnPlayerPrivmsg(playerid, recieverid, text[])
{
if(PMspam[playerid] == MAX_WARNS+1)
{
new pName[MAX_PLAYER_NAME];
new string[128];
GetPlayerName(playerid,pName,sizeof(pName));
format(string, sizeof(string), "NG-RP SYSTEM:%s has been kicked from the server (Reason: Spamming Via PM)",pName);
SendClientMessageToAll(COLOR_ORANGE,string);
SendClientMessage(playerid,COLOR_RED, "You have been kicked for spamming via PM!");
Kick(playerid);
}
if(PMspam[playerid] < MAX_WARNS && PMspam[playerid] > 0)
{
PMspam[playerid]++;
KillTimer(PMspammer[playerid]);
SendClientMessage(playerid,COLOR_RED,"Don't Spam!");
PMspammer[playerid] = SetTimerEx("PMunspam",PM_WAIT*1000, false, "i", playerid);
return 0;
}
if(PMspam[playerid] == 0)
{
PMspam[playerid]++;
KillTimer(PMspammer[playerid]);
PMspammer[playerid] = SetTimerEx("PMunspam",PM_WAIT*1000, false, "i", playerid);
}
if(pmon[recieverid] == 0)
{
SendClientMessage(playerid,COLOR_RED,"NG-RP System: This player has PMs disabled.");
return 0;
}
#if PM_SOUND == 1
if(pmallowed[recieverid] == 1)
{
PlayerPlaySound(recieverid,1085,0.0,0.0,0.0);
PlayerPlaySound(recieverid,1085,0.0,0.0,0.0);
PlayerPlaySound(recieverid,1085,0.0,0.0,0.0);
}
#endif
return 1;
}
public OnPlayerCommandText(playerid, cmdtext[])
{
if(strcmp(cmdtext,"/togglepm",true)==0)
{
SendClientMessage(playerid,COLOR_GREEN,"Private Messages enabled!");
pmon[playerid] = 1;
return 0;
}
else
{
SendClientMessage(playerid,COLOR_RED,"Private Messages disabled!");
pmon[playerid] = 0;
return 1;
}
return 0;
}

