SA-MP Forums Archive
Is this command right ? - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: SA-MP Scripting and Plugins (https://sampforum.blast.hk/forumdisplay.php?fid=8)
+--- Forum: Scripting Help (https://sampforum.blast.hk/forumdisplay.php?fid=12)
+--- Thread: Is this command right ? (/showthread.php?tid=379512)



Is this command right ? - Glint - 22.09.2012

Hello guys can someone check this command and tell me if it is right or not :
pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            new Weapon = GetPlayerWeapon(i);
            new pName[MAX_PLAYER_NAME], Str[128];
            GetPlayerName(i, pName, sizeof(pName));
            if(Weapon == 16)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 39)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 38)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 37)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 36)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 35)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            else
            {
                SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
            }
        }
    }
    else return 0;
    return 1;
}
It is supposed to check if any player is weapon hacking however what it does it spams my screen with No Weapon Hackers Detected.


Re: Is this command right ? - InfinityCOD - 22.09.2012

What are you using for the cmds to run? ZCMD?


Re: Is this command right ? - antonio112 - 22.09.2012

pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        new count = 0, str[128];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            new Weapon = GetPlayerWeapon(i);
            new pName[MAX_PLAYER_NAME];
            if(Weapon == 16 || Weapon > 34 || Weapon < 40)
            {
                GetPlayerName(i, pName, sizeof(pName));
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
                count ++;
            }
        }
        if(count == 0) SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
    }
    else return 0;
    return 1;
}
Of course your version spammed that there are no weapon hackers, since you used SendClientMessage inside the loop and for every i (500 in this case) it loops, you get no weapon hackers.


Re: Is this command right ? - mobiliz - 22.09.2012

try

pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            new Weapon = GetPlayerWeapon(i);
            }
            new pName[MAX_PLAYER_NAME], Str[128];
            GetPlayerName(i, pName, sizeof(pName));
            if(Weapon == 16)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 39)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 38)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 37)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 36)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 35)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            else
            {
                SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
            }
        }
    else return 0;
    return 1;
}



Re: Is this command right ? - antonio112 - 22.09.2012

Quote:
Originally Posted by mobiliz
Посмотреть сообщение
try

pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            new Weapon = GetPlayerWeapon(i);
            }
            new pName[MAX_PLAYER_NAME], Str[128];
            GetPlayerName(i, pName, sizeof(pName));
            if(Weapon == 16)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 39)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 38)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 37)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 36)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            if(Weapon == 35)
            {
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
            }
            else
            {
                SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
            }
        }
    else return 0;
    return 1;
}
You have no idea what you're doing, do you ?


Re: Is this command right ? - Glint - 22.09.2012

Quote:
Originally Posted by antonio112
Посмотреть сообщение
pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        new count = 0, str[128];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            new Weapon = GetPlayerWeapon(i);
            new pName[MAX_PLAYER_NAME];
            if(Weapon == 16 || Weapon > 34 || Weapon < 40)
            {
                GetPlayerName(i, pName, sizeof(pName));
                format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                SendClientMessage(playerid, -1, Str);
                count ++;
            }
        }
        if(count == 0) SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
    }
    else return 0;
    return 1;
}
Of course your version spammed that there are no weapon hackers, since you used SendClientMessage inside the loop and for every i (500 in this case) it loops, you get no weapon hackers.
I tried it your way and it spams my screen with



Re: Is this command right ? - antonio112 - 22.09.2012

Try it this way:
pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        new count = 0, str[128];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                new Weapon = GetPlayerWeapon(i);
                new pName[MAX_PLAYER_NAME];
                if(Weapon == 16 || Weapon == 35 || Weapon == 36 || Weapon == 37 || Weapon == 38 || Weapon == 39)
                {
                    GetPlayerName(i, pName, sizeof(pName));
                    format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                    SendClientMessage(playerid, -1, Str);
                    count ++;
                }
             }
        }
        if(count == 0) SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
    }
    else return 0;
    return 1;
}



Re: Is this command right ? - mobiliz - 22.09.2012

Try it my one, One time, I'll be surprised if it works.


Re: Is this command right ? - Glint - 22.09.2012

Quote:
Originally Posted by antonio112
Посмотреть сообщение
Try it this way:
pawn Код:
CMD:cpw(playerid, params[])
{
    if(pInfo[playerid][Adminlevel] <= 2)
    {
        new count = 0, str[128];
        for(new i = 0; i < MAX_PLAYERS; i++)
        {
            if(IsPlayerConnected(i))
            {
                new Weapon = GetPlayerWeapon(i);
                new pName[MAX_PLAYER_NAME];
                if(Weapon == 16 || Weapon == 35 || Weapon == 36 || Weapon == 37 || Weapon == 38 || Weapon == 39)
                {
                    GetPlayerName(i, pName, sizeof(pName));
                    format(Str, sizeof(Str), "{FF8000}>>{FFFFFF} Player {FF0000}(%s[%d]){FFFFFF} Possible Weapon Hacking", pName, playerid);
                    SendClientMessage(playerid, -1, Str);
                    count ++;
                }
             }
        }
        if(count == 0) SendClientMessage(playerid, -1, "{FF8000}>>{FFFFFF} No Weapon Hackers Detected");
    }
    else return 0;
    return 1;
}
Thanks it worked like a charm.