warning 219: local variable "Admin" shadows a variable at a preceding level
#1

Hello, I was making my own ban system, but, suddenly, I found a weird warning message.

Error Message:
pawn Код:
E:\Programming\gamemodes\swf.pwn(531) : warning 219: local variable "Admin" shadows a variable at a preceding level
Line of the error message:
pawn Код:
IP[16];
Code of the function/stock:
pawn Код:
stock CheckBans(playerid)
{
    new
        banned_pname[24],
        MySQLQuery[255],
        Year,
        Month,
        Day,
        Hour,
        Min,
        Sec,
        IP[16];

    getdate(Year, Month, Day);
    gettime(Hour,Min,Sec);

    GetPlayerName(playerid,banned_pname,sizeof(banned_pname));
    GetPlayerIp(playerid, IP, sizeof IP);
    format(MySQLQuery, sizeof(MySQLQuery), "SELECT * FROM `bans` WHERE `Player` = '%s' OR `IP` = '%s'", banned_pname, IP);
    mysql_query(MySQLQuery);
    mysql_store_result();

    if(mysql_num_rows() != 0)
    {
        SendClientMessage(playerid, COLOR_RED, "*****************************************************************************");
        SendClientMessage(playerid, COLOR_RED, "- YOU HAVE BEEN KICKED, BECAUSE YOU ARE BANNED -");
        format(TempStr, sizeof TempStr, "Name: %s", banned_pname);
        SendClientMessage(playerid, COLOR_RED, TempStr);
        format(TempStr, sizeof TempStr, "IP: %s", IP);
        SendClientMessage(playerid, COLOR_RED, TempStr);
        SendClientMessage(playerid, COLOR_RED, "Reason: Ban Evasion");
        format(TempStr, sizeof TempStr, "Date: %d-%d-%d %d:%d:%d", Year, Month, Day, Hour, Min, Sec);
        SendClientMessage(playerid, COLOR_RED, TempStr);
        SendClientMessage(playerid, COLOR_RED, "Admin: JaKe the Ban Hammer");
        SendClientMessage(playerid, COLOR_RED, "*****************************************************************************");
        format(TempStr, sizeof (TempStr), "{375FFF}[Ban System]{FFDD00} %s (ID: %d) has been kicked by admin Advanced Kick(automatic) (Reason: Ban Evasion)", banned_pname, playerid);
        SendClientMessageToAll(COLOR_RED, TempStr);
        Kick(playerid);
    }
    mysql_free_result();
    return 1;
}
P.S: It's not a MySQL Error, it's a normal warning.
Reply
#2

Try it
Код:
stock CheckBans(playerid)
{
	new
		banned_pname[24],
		MySQLQuery[255],
		Year,
		Month,
		Day,
		Hour,
		Min,
		Sec,
		IP[16];

	getdate(Year, Month, Day);
	gettime(Hour,Min,Sec);

	GetPlayerName(playerid,banned_pname,sizeof(banned_pname));
	GetPlayerIp(playerid, IP, sizeof(IP));
    format(MySQLQuery, sizeof(MySQLQuery), "SELECT * FROM `bans` WHERE `Player` = '%s' OR `IP` = '%s'", banned_pname, IP);
    mysql_query(MySQLQuery);
    mysql_store_result();

    if(mysql_num_rows() != 0)
	{
		SendClientMessage(playerid, COLOR_RED, "*****************************************************************************");
		SendClientMessage(playerid, COLOR_RED, "- YOU HAVE BEEN KICKED, BECAUSE YOU ARE BANNED -");
		format(TempStr, sizeof(TempStr), "Name: %s", banned_pname);
		SendClientMessage(playerid, COLOR_RED, TempStr);
		format(TempStr, sizeof(TempStr), "IP: %s", IP);
		SendClientMessage(playerid, COLOR_RED, TempStr);
		SendClientMessage(playerid, COLOR_RED, "Reason: Ban Evasion");
		format(TempStr, sizeof(TempStr), "Date: %d-%d-%d %d:%d:%d", Year, Month, Day, Hour, Min, Sec);
		SendClientMessage(playerid, COLOR_RED, TempStr);
		SendClientMessage(playerid, COLOR_RED, "Admin: JaKe the Ban Hammer");
		SendClientMessage(playerid, COLOR_RED, "*****************************************************************************");
		format(TempStr, sizeof(TempStr), "{375FFF}[Ban System]{FFDD00} %s (ID: %d) has been kicked by admin Advanced Kick(automatic) (Reason: Ban Evasion)", banned_pname, playerid);
	    SendClientMessageToAll(COLOR_RED, TempStr);
		Kick(playerid);
	}
    mysql_free_result();
	return 1;
}
and if doesn't work bold the line which shows the error I find everything fine anyway.
Reply
#3

It's still the same, I don't know where is this warning comes from, Pending other users to post their opinions or help me.
Reply
#4

It may be occurring because of 2 cases.
1) You make the Admin variable anywhere.
2) Or you have used it at multiple places.
Reply
#5

https://sampwiki.blast.hk/wiki/Errors_Li...receding_level
Reply
#6

replace "Admin" with "AAdmin" or any other name as you like.
Reply
#7

I decided to re-code it due to I made some shits in the script, Thanks you guys for helping me.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)