A Little Help!
#1

Hello guys, Since im working on my SAMP RP Server Script. I was adding/making the RangeBan CMD. So, I am getting a bug. First this is my RangeBan CMD:
pawn Код:
CMD:rangeban(playerid, params[])
{
    if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, -1, "You must be on Admin Duty to use this Command!");
    if (PlayerInfo[playerid][pAdmin] >= 1338)
    {
            new Target;
            new Reason[100];
            if(!sscanf(params, "us[100]", Target,Reason))
            {
                if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ERROR: Wrong player ID");
                if(Target == playerid) return SendClientMessage(playerid,-1,"ERROR: You cant ban yourself!");
                new tname[MAX_PLAYER_NAME];
                GetPlayerName(Target,tname,sizeof(tname));
                new pname[MAX_PLAYER_NAME];
                GetPlayerName(playerid,pname,sizeof(pname));
                new MyString[256];
                new TargetString[256];
                new rbandate[3];
                getdate(rbandate[0], rbandate[1], rbandate[2]);
                format(MyString,sizeof(MyString),"You have range banned %s(%d)! (Reason: %s)",tname, Target, Reason);
                format(TargetString,sizeof(TargetString),"{FF002B}Range banned by: {FFFFFF}%s\n\n{FF002B}Reason: {FFFFFF}%s\n\n{FF002B}Date: {FFFFFF}%02d/%02d/%04d\n\n{FFFFFF}Press F8 to take a screenshot and use this in unban appeal!", pname, playerid,Reason, rbandate[2], rbandate[1], rbandate[0]);
                ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF002B}RANGE BANNED!", TargetString, "OK", "");
                SendClientMessage(playerid,-1,MyString);
                new AllString[256];
                format(AllString,sizeof(AllString),"Administrator %s range banned player %s(%d)! (Reason: %s)",pname,tname,Target,Reason);
                SendClientMessageToAll(-1,AllString);
                new ip[50];
                GetPlayerIp(Target,ip,sizeof(ip));
                strdel(ip,strlen(ip)-4,strlen(ip));
                format(ip,sizeof(ip),"%s**.**",ip);
                format(ip,sizeof(ip),"banip %s",ip);
                SendRconCommand(ip);
                Kick(Target);
            }
            else SendClientMessage(playerid, -1, "USAGE: /rangeban <playerid> <reason>");
            return 1;
}
Then When I Compile it, I get this ERROR:
pawn Код:
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3178) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3186) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3193) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3202) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3216) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3223) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3227) : error 017: undefined symbol "GivePlayerCash"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3230) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3237) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3245) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3252) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3259) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3267) : error 017: undefined symbol "GivePlayerCash"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3270) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3277) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3284) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3306) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3315) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3327) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3342) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3350) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3358) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3376) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3398) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3406) : error 017: undefined symbol "ProxDetector"
F:\UP COMPUTER\HARSHPREET SINGH NIJHAR\SA-MP (SERVER)\CG-RP - LINUX\CG-RP\gamemodes\CG-RP.pwn(3414) : error 017: undefined symbol "GivePlayerCash"

Compilation aborted.Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


26 Errors.
But, If I remove the Range Ban CMD, it works.

I dunno' why is that happening, but I have all latest plugins and I don't think its my plugins affecting me! Also, I created some other cmds like: /banaccount or /permaban or /ban and they work fine.

So, please can you guys help me ?
Reply
#2

You're missing a bracket just before return 1;
Properly indent your code.

Код:
CMD:rangeban(playerid, params[])
{
	if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, -1, "You must be on Admin Duty to use this Command!");
	if (PlayerInfo[playerid][pAdmin] >= 1338)
	{
		new Target;
		new Reason[100];
		if(!sscanf(params, "us[100]", Target,Reason))
		{
			if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ERROR: Wrong player ID");
			if(Target == playerid) return SendClientMessage(playerid,-1,"ERROR: You cant ban yourself!");
			new tname[MAX_PLAYER_NAME];
			GetPlayerName(Target,tname,sizeof(tname));
			new pname[MAX_PLAYER_NAME];
			GetPlayerName(playerid,pname,sizeof(pname));
			new MyString[256];
			new TargetString[256];
			new rbandate[3];
			getdate(rbandate[0], rbandate[1], rbandate[2]);
			format(MyString,sizeof(MyString),"You have range banned %s(%d)! (Reason: %s)",tname, Target, Reason);
			format(TargetString,sizeof(TargetString),"{FF002B}Range banned by: {FFFFFF}%s\n\n{FF002B}Reason: {FFFFFF}%s\n\n{FF002B}Date: {FFFFFF}%02d/%02d/%04d\n\n{FFFFFF}Press F8 to take a screenshot and use this in unban appeal!", pname, playerid,Reason, rbandate[2], rbandate[1], rbandate[0]);
			ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF002B}RANGE BANNED!", TargetString, "OK", "");
			SendClientMessage(playerid,-1,MyString);
			new AllString[256];
			format(AllString,sizeof(AllString),"Administrator %s range banned player %s(%d)! (Reason: %s)",pname,tname,Target,Reason);
			SendClientMessageToAll(-1,AllString);
			new ip[50];
			GetPlayerIp(Target,ip,sizeof(ip));
			strdel(ip,strlen(ip)-4,strlen(ip));
			format(ip,sizeof(ip),"%s**.**",ip);
			format(ip,sizeof(ip),"banip %s",ip);
			SendRconCommand(ip);
			Kick(Target);
		}
		else SendClientMessage(playerid, -1, "USAGE: /rangeban <playerid> <reason>");
	}
	return 1;
}
*Mental Note*
You're not properly range banning the player.
banip will save the ip ban into the samp's ban logs, but the way you're saving it, the player can just reconnect.
To fix this you need to save the range ip into the player's save file and check it on connect.

Besides you're:
Saving the rangeban ip as 000.000.00**.** not 000.000.00*.*** which is what I think you were trying to do.
Reply
#3

Adding the } doesn't work...I did just what you showed.
What I did:
pawn Код:
CMD:rangeban(playerid, params[])
{
    if(PlayerInfo[playerid][pAdminDuty] == 0) return SendClientMessage(playerid, -1, "You must be on Admin Duty to use this Command!");
    if (PlayerInfo[playerid][pAdmin] >= 1338)
    {
        new Target;
        new Reason[100];
        if(!sscanf(params, "us[100]", Target,Reason))
        {
            if(Target == INVALID_PLAYER_ID) return SendClientMessage(playerid,-1,"ERROR: Wrong player ID");
            if(Target == playerid) return SendClientMessage(playerid,-1,"ERROR: You cant ban yourself!");
            new tname[MAX_PLAYER_NAME];
            GetPlayerName(Target,tname,sizeof(tname));
            new pname[MAX_PLAYER_NAME];
            GetPlayerName(playerid,pname,sizeof(pname));
            new MyString[256];
            new TargetString[256];
            new rbandate[3];
            getdate(rbandate[0], rbandate[1], rbandate[2]);
            format(MyString,sizeof(MyString),"You have range banned %s(%d)! (Reason: %s)",tname, Target, Reason);
            format(TargetString,sizeof(TargetString),"{FF002B}Range banned by: {FFFFFF}%s\n\n{FF002B}Reason: {FFFFFF}%s\n\n{FF002B}Date: {FFFFFF}%02d/%02d/%04d\n\n{FFFFFF}Press F8 to take a screenshot and use this in unban appeal!", pname, playerid,Reason, rbandate[2], rbandate[1], rbandate[0]);
            ShowPlayerDialog(playerid, 0, DIALOG_STYLE_MSGBOX, "{FF002B}RANGE BANNED!", TargetString, "OK", "");
            SendClientMessage(playerid,-1,MyString);
            new AllString[256];
            format(AllString,sizeof(AllString),"Administrator %s range banned player %s(%d)! (Reason: %s)",pname,tname,Target,Reason);
            SendClientMessageToAll(-1,AllString);
            new ip[50];
            GetPlayerIp(Target,ip,sizeof(ip));
            strdel(ip,strlen(ip)-4,strlen(ip));
            format(ip,sizeof(ip),"%s.***",ip);
            format(ip,sizeof(ip),"banip %s",ip);
            SendRconCommand(ip);
            Kick(Target);
        }
        else SendClientMessage(playerid, -1, "USAGE: /rangeban [playerid] [reason]");
    }
    return 1;
Reply
#4

Now you're missing the bracket after return 1;
Reply
#5

Thank you! +REPed you and this thread may now be closed.
Reply
#6

You're welcome and thanks.
Reply


Forum Jump:


Users browsing this thread: 2 Guest(s)