PM ADV BAN [HELP]
#1

Hello guys so i'm trying to Add Anti-ADV to my PM Command, i tried a lot of ways but it isn't working and getting errors.

PM System:
PHP код:

COMMAND
:pm(playeridparams[])
{
 if(
playerData[playerid][playerLoggedIn])
 {
  new 
input[120], message[250], message2[250], otherPlayer;
  if(
sscanf(params"us[100]"otherPlayerinput))
  {
   
SendClientMessage(playeridCOLOR_WHITE"{B7B7B7}[SERVER] {FFFF00}Usage: \"pm <player> <message>\"");
  }
  else
  {
   if (
playerid == otherPlayer)
   {
    
// Cannot send yourself a PM
    
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}You cannot send yourself a PM.");
   }
   else
   {
    
// Check if player is connected
    
if(IsPlayerConnected(otherPlayer))
    {
     if(
playerData[otherPlayer][playerLoggedIn])
     {
      if(!
playerData[otherPlayer][playerBlockPMs] || playerData[otherPlayer][playerBlockPMs] && playerData[playerid][playerLevel] >= 1)
      {
       new 
from[24], otherName[24];
       
GetPlayerName(otherPlayerotherNamesizeof(otherName));
       
format(messagesizeof(message), "{FFBF00}[PM] {FFFFFF}To %s(%i): %s"otherNameotherPlayerinput);
       
SendClientMessage(playeridCOLOR_WHITEmessage);
       
GetPlayerName(playeridfromsizeof(from));
       
format(message2sizeof(message2), "{FFBF00}[PM] {FFFFFF}From %s(%i): %s"fromplayeridinput);
       
SendClientMessage(otherPlayerCOLOR_WHITEmessage2);
             
PlayerPlaySound(otherPlayer1139,0.0,0.0,0.0);
       
playerData[playerid][lastRecipient] = otherPlayer;
       for(new 
0<= MAX_PLAYERSi++)
       {
        if(
IsPlayerConnected(i))
        {
         if(
playerData[i][playerLoggedIn])
         {
          if (
playerData[i][playerLevel] >= 4)
          {
           if (
playerData[i][pmSpy])
           {
            new 
spyText[200];
            
format(spyTextsizeof(spyText), "{FFBF00}[PM SPY] {FFFFFF}From %s(%i) to %s(%i): %s"playerData[playerid][playerNamee], playeridplayerData[otherPlayer][playerNamee], otherPlayerinput);
            
SendClientMessage(iCOLOR_WHITEspyText);
           }
          }
         }
        }
       }
       new 
loggingString[256];
       
format(loggingStringsizeof(loggingString), "%s PM'd %s: %s"playerData[playerid][playerNamee], playerData[otherPlayer][playerNamee], input);
       
writeInLog("privateMessages.html"loggingString);
      }
      else
      {
       
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM has disabled private messages.");
      }
     }
     else
     {
      
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM is not logged in.");
     }
    }
    else
    {
     
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM isn't connected.");
    }
   }
  }
 }
 return 
1;

Thanks Very much in Advance!
Reply
#2

PHP код:

new InvalidWords[][100] =
{
     
"0.",
     
"1.",
     
"2.",
     
"3.",
     
"4.",
     
"5.",
     
"6.",
     
"7.",
     
"8.",
     
"9."
};
COMMAND:pm(playeridparams[])
{
 if(
playerData[playerid][playerLoggedIn])
 {
  new 
input[120], message[250], message2[250], otherPlayer;
  if(
sscanf(params"us[100]"otherPlayerinput))
  {
   
SendClientMessage(playeridCOLOR_WHITE"{B7B7B7}[SERVER] {FFFF00}Usage: \"pm <player> <message>\"");
  }
  else
  {
   if(
strfind(inputInvalidWords[playerid], true) != -1) return SendClientMessage(playeridCOLOR_RED" Sharing Ip's is Adv and this isn't allowed !");
   if (
playerid == otherPlayer)
   {
    
// Cannot send yourself a PM
    
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}You cannot send yourself a PM.");
   }
   else
   {
    
// Check if player is connected
    
if(IsPlayerConnected(otherPlayer))
    {
     if(
playerData[otherPlayer][playerLoggedIn])
     {
      if(!
playerData[otherPlayer][playerBlockPMs] || playerData[otherPlayer][playerBlockPMs] && playerData[playerid][playerLevel] >= 1)
      {
       new 
from[24], otherName[24];
       
GetPlayerName(otherPlayerotherNamesizeof(otherName));
       
format(messagesizeof(message), "{FFBF00}[PM] {FFFFFF}To %s(%i): %s"otherNameotherPlayerinput);
       
SendClientMessage(playeridCOLOR_WHITEmessage);
       
GetPlayerName(playeridfromsizeof(from));
       
format(message2sizeof(message2), "{FFBF00}[PM] {FFFFFF}From %s(%i): %s"fromplayeridinput);
       
SendClientMessage(otherPlayerCOLOR_WHITEmessage2);
             
PlayerPlaySound(otherPlayer1139,0.0,0.0,0.0);
       
playerData[playerid][lastRecipient] = otherPlayer;
       for(new 
0<= MAX_PLAYERSi++)
       {
        if(
IsPlayerConnected(i))
        {
         if(
playerData[i][playerLoggedIn])
         {
          if (
playerData[i][playerLevel] >= 4)
          {
           if (
playerData[i][pmSpy])
           {
            new 
spyText[200];
            
format(spyTextsizeof(spyText), "{FFBF00}[PM SPY] {FFFFFF}From %s(%i) to %s(%i): %s"playerData[playerid][playerNamee], playeridplayerData[otherPlayer][playerNamee], otherPlayerinput);
            
SendClientMessage(iCOLOR_WHITEspyText);
           }
          }
         }
        }
       }
       new 
loggingString[256];
       
format(loggingStringsizeof(loggingString), "%s PM'd %s: %s"playerData[playerid][playerNamee], playerData[otherPlayer][playerNamee], input);
       
writeInLog("privateMessages.html"loggingString);
      }
      else
      {
       
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM has disabled private messages.");
      }
     }
     else
     {
      
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM is not logged in.");
     }
    }
    else
    {
     
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM isn't connected.");
    }
   }
  }
 }
 return 
1;

Reply
#3

Care to fix the indentation and re-writing it from scratch?

Use this: https://sampforum.blast.hk/showthread.php?tid=568668 (use any other function)
and look at my code as a example of a good code.

EXAMPLE
PHP код:
CMD:pm(playeridparams[])
{
    new 
targetidmsg[75]; // 75 is enough
    
if(sscanf(params"us[75]"targetidmsg)) return SendClientMessage(playerid, -1"ERROR");
    if(
targetid == INVALID_PLAYER_ID) return SendClientMessage(playerid, -1"ERORR"); // faster than IsPlayerConnected
    
if(targetid == /* Blocking PM */) return SendClientMessage(playerid, -1"ERROR");
    if(
IsAdv(msg)) return SendClientMessage(playerid, -1"ERROR"); // use Anti Adv function here
    
new string[75 MAX_PLAYER_NAME 1]; // 75 + 24 + 1 = 100 (75 for the msg, 24 for the name, 1 for the null)
    
format(stringsizeof string"%s"your function);
    
SendClientMessage(playerid, -1string);
    
format(stringsizeof string"%s"your function);
    
SendClientMessage(targetid, -1string);
    return 
1;

Reply
#4

Quote:
Originally Posted by Yaa
Посмотреть сообщение
PHP код:

new InvalidWords[][100] =
{
     
"0.",
     
"1.",
     
"2.",
     
"3.",
     
"4.",
     
"5.",
     
"6.",
     
"7.",
     
"8.",
     
"9."
};
COMMAND:pm(playeridparams[])
{
 if(
playerData[playerid][playerLoggedIn])
 {
  new 
input[120], message[250], message2[250], otherPlayer;
  if(
sscanf(params"us[100]"otherPlayerinput))
  {
   
SendClientMessage(playeridCOLOR_WHITE"{B7B7B7}[SERVER] {FFFF00}Usage: \"pm <player> <message>\"");
  }
  else
  {
   if(
strfind(inputInvalidWords[playerid], true) != -1) return SendClientMessage(playeridCOLOR_RED" Sharing Ip's is Adv and this isn't allowed !");
   if (
playerid == otherPlayer)
   {
    
// Cannot send yourself a PM
    
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}You cannot send yourself a PM.");
   }
   else
   {
    
// Check if player is connected
    
if(IsPlayerConnected(otherPlayer))
    {
     if(
playerData[otherPlayer][playerLoggedIn])
     {
      if(!
playerData[otherPlayer][playerBlockPMs] || playerData[otherPlayer][playerBlockPMs] && playerData[playerid][playerLevel] >= 1)
      {
       new 
from[24], otherName[24];
       
GetPlayerName(otherPlayerotherNamesizeof(otherName));
       
format(messagesizeof(message), "{FFBF00}[PM] {FFFFFF}To %s(%i): %s"otherNameotherPlayerinput);
       
SendClientMessage(playeridCOLOR_WHITEmessage);
       
GetPlayerName(playeridfromsizeof(from));
       
format(message2sizeof(message2), "{FFBF00}[PM] {FFFFFF}From %s(%i): %s"fromplayeridinput);
       
SendClientMessage(otherPlayerCOLOR_WHITEmessage2);
             
PlayerPlaySound(otherPlayer1139,0.0,0.0,0.0);
       
playerData[playerid][lastRecipient] = otherPlayer;
       for(new 
0<= MAX_PLAYERSi++)
       {
        if(
IsPlayerConnected(i))
        {
         if(
playerData[i][playerLoggedIn])
         {
          if (
playerData[i][playerLevel] >= 4)
          {
           if (
playerData[i][pmSpy])
           {
            new 
spyText[200];
            
format(spyTextsizeof(spyText), "{FFBF00}[PM SPY] {FFFFFF}From %s(%i) to %s(%i): %s"playerData[playerid][playerNamee], playeridplayerData[otherPlayer][playerNamee], otherPlayerinput);
            
SendClientMessage(iCOLOR_WHITEspyText);
           }
          }
         }
        }
       }
       new 
loggingString[256];
       
format(loggingStringsizeof(loggingString), "%s PM'd %s: %s"playerData[playerid][playerNamee], playerData[otherPlayer][playerNamee], input);
       
writeInLog("privateMessages.html"loggingString);
      }
      else
      {
       
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM has disabled private messages.");
      }
     }
     else
     {
      
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM is not logged in.");
     }
    }
    else
    {
     
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM isn't connected.");
    }
   }
  }
 }
 return 
1;

And you're sure that's it, and that it will work ?
Reply
#5

Quote:
Originally Posted by Scripter18
Посмотреть сообщение
And you're sure that's it, and that it will work ?
not tested but i think it's will work :P
Reply
#6

There was a shit function for checking advertisements, just use it to check params.
Reply
#7

Quote:
Originally Posted by Yaa
Посмотреть сообщение
PHP код:

new InvalidWords[][100] =
{
     
"0.",
     
"1.",
     
"2.",
     
"3.",
     
"4.",
     
"5.",
     
"6.",
     
"7.",
     
"8.",
     
"9."
};
COMMAND:pm(playeridparams[])
{
 if(
playerData[playerid][playerLoggedIn])
 {
  new 
input[120], message[250], message2[250], otherPlayer;
  if(
sscanf(params"us[100]"otherPlayerinput))
  {
   
SendClientMessage(playeridCOLOR_WHITE"{B7B7B7}[SERVER] {FFFF00}Usage: \"pm <player> <message>\"");
  }
  else
  {
   if(
strfind(inputInvalidWords[playerid], true) != -1) return SendClientMessage(playeridCOLOR_RED" Sharing Ip's is Adv and this isn't allowed !");
   if (
playerid == otherPlayer)
   {
    
// Cannot send yourself a PM
    
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}You cannot send yourself a PM.");
   }
   else
   {
    
// Check if player is connected
    
if(IsPlayerConnected(otherPlayer))
    {
     if(
playerData[otherPlayer][playerLoggedIn])
     {
      if(!
playerData[otherPlayer][playerBlockPMs] || playerData[otherPlayer][playerBlockPMs] && playerData[playerid][playerLevel] >= 1)
      {
       new 
from[24], otherName[24];
       
GetPlayerName(otherPlayerotherNamesizeof(otherName));
       
format(messagesizeof(message), "{FFBF00}[PM] {FFFFFF}To %s(%i): %s"otherNameotherPlayerinput);
       
SendClientMessage(playeridCOLOR_WHITEmessage);
       
GetPlayerName(playeridfromsizeof(from));
       
format(message2sizeof(message2), "{FFBF00}[PM] {FFFFFF}From %s(%i): %s"fromplayeridinput);
       
SendClientMessage(otherPlayerCOLOR_WHITEmessage2);
             
PlayerPlaySound(otherPlayer1139,0.0,0.0,0.0);
       
playerData[playerid][lastRecipient] = otherPlayer;
       for(new 
0<= MAX_PLAYERSi++)
       {
        if(
IsPlayerConnected(i))
        {
         if(
playerData[i][playerLoggedIn])
         {
          if (
playerData[i][playerLevel] >= 4)
          {
           if (
playerData[i][pmSpy])
           {
            new 
spyText[200];
            
format(spyTextsizeof(spyText), "{FFBF00}[PM SPY] {FFFFFF}From %s(%i) to %s(%i): %s"playerData[playerid][playerNamee], playeridplayerData[otherPlayer][playerNamee], otherPlayerinput);
            
SendClientMessage(iCOLOR_WHITEspyText);
           }
          }
         }
        }
       }
       new 
loggingString[256];
       
format(loggingStringsizeof(loggingString), "%s PM'd %s: %s"playerData[playerid][playerNamee], playerData[otherPlayer][playerNamee], input);
       
writeInLog("privateMessages.html"loggingString);
      }
      else
      {
       
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM has disabled private messages.");
      }
     }
     else
     {
      
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM is not logged in.");
     }
    }
    else
    {
     
SendClientMessage(playeridCOLOR_WHITE"{FF0404}[ERROR] {FFFF00}The player your trying to PM isn't connected.");
    }
   }
  }
 }
 return 
1;

Thank you it works 100/100 .
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)