SA-MP Forums Archive
Bug in weaponall - Printable Version

+- SA-MP Forums Archive (https://sampforum.blast.hk)
+-- Forum: Non-English (https://sampforum.blast.hk/forumdisplay.php?fid=9)
+--- Forum: Languages (https://sampforum.blast.hk/forumdisplay.php?fid=33)
+---- Forum: Nederlands/Dutch (https://sampforum.blast.hk/forumdisplay.php?fid=31)
+---- Thread: Bug in weaponall (/showthread.php?tid=489574)



Bug in weaponall - mickos - 23.01.2014

Hallo allemaal,

Ik heb een command voor admins: /minigunall maar niet niemand krijgt de minigun, behalve de admin zelf die de command gebruikte. Wat is er fout aan dan? Hier is het command gedeelte:

pawn Code:
CMD:minigunall(playerid, params[])
{
    new str[128];
    if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, only admins level 4+ can do that command.");
    if(PlayerAcc[playerid][Admin] >= 4)
    {
        GivePlayerWeapon(playerid, 38, 9000);
        format(str, sizeof(str), "~y~minigun ~r~kill ~y~time!");
        GameTextForAll(str, 4000, 3);
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        foreach(Player, i)
        {
            if(IsPlayerConnected(i) && (i != playerid) && (PlayerAcc[playerid][Admin] < PlayerAcc[i][Admin]))
            {
                GivePlayerWeapon(playerid, 38, 9000);
            }
        }
        format(str, sizeof(str), "** Admin %s(ID:%d) gave everyone a minigun.", GetName(playerid), playerid);
        SendClientMessageToAll(COLOR_YELLOW, str);
        format(str, sizeof(str), "** You gave everyone a minigun.");
        SendClientMessage(playerid, COLOR_YELLOW, str);
    }
    else return ErrorMessages(playerid, 5);
    return 1;
}
//----



Re: Bug in weaponall - Rzzr - 23.01.2014

Code:
&& (PlayerAcc[playerid][Admin] < PlayerAcc[i][Admin])
Als ik het zo ff snel lees zou het moeten werken als je dat stukje er uit haalt.


Re: Bug in weaponall - mamorunl - 23.01.2014

Code geeft inderdaad aan iedereen die een hoger administratorlevel heeft dan hemzelf een minigun, de rest niet.


Re: Bug in weaponall - Henkie - 23.01.2014

Code:
GivePlayerWeapon(playerid, 38, 9000);
Dit staat binnen je foreach loop. Zou je niet playerid vervangen naar i?


Re: Bug in weaponall - Danny - 23.01.2014

Henkie doet 't m waarschijnlijk, ik wil alleen even toevoegen dat je nooit IsPlayerConnected hoeft te gebruiken bij foreach looping.


Re: Bug in weaponall - mickos - 23.01.2014

Ahh okee, ik heb verwijderd wat Rzzr zei, en heb playerid vervangen naar " i " Dus het ziet er nu zo uit:

pawn Code:
CMD:minigunall(playerid, params[])
{
    new str[128];
    if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, only admins level 4+ can do that command.");
    if(PlayerAcc[playerid][Admin] >= 4)
    {
        GivePlayerWeapon(i, 38, 9000);
        format(str, sizeof(str), "~y~minigun ~r~kill ~y~time!");
        GameTextForAll(str, 4000, 3);
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        foreach(Player, i)
        {
            if(IsPlayerConnected(i) && (i != playerid) )
            {
                GivePlayerWeapon(playerid, 38, 9000);
            }
        }
        format(str, sizeof(str), "** Admin %s(ID:%d) gave everyone a minigun.", GetName(playerid), playerid);
        SendClientMessageToAll(COLOR_YELLOW, str);
        format(str, sizeof(str), "** You gave everyone a minigun.");
        SendClientMessage(playerid, COLOR_YELLOW, str);
    }
    else return ErrorMessages(playerid, 5);
    return 1;
}
Alleen deze error:

pawn Code:
D:\PlanetS 0.3x [Euro] Server 8\pawno\systemadmin.pwn(103) : warning 201: redefinition of constant/macro (symbol "pInfo")
D:\PlanetS 0.3x [Euro] Server 8\pawno\systemadmin.pwn(3314) : error 017: undefined symbol "i"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Waar moet ik ' i ' laten define?


Re: Bug in weaponall - mamorunl - 23.01.2014

pawn Code:
if(PlayerAcc[playerid][Admin] >= 4)
    {
        GivePlayerWeapon(i, 38, 9000);
Deze GivePlayerWeapon moet weg. Vervang die in de foreach met bovenstaande GivePlayerWeapon, dan issie goed


Re: Bug in weaponall - Hiddos - 23.01.2014

Overigens is het niet nodig IsPlayerConnected the gebruiken als je foreach gebruikt, die check zit daar al zelf ingebouwd


Re: Bug in weaponall - Henkie - 23.01.2014

Quote:
Originally Posted by mickos
View Post
Ahh okee, ik heb verwijderd wat Rzzr zei, en heb playerid vervangen naar " i " Dus het ziet er nu zo uit:

pawn Code:
CMD:minigunall(playerid, params[])
{
    new str[128];
    if(PlayerAcc[playerid][Log] == 0) return SendClientMessage(playerid, COLOR_ORANGE, "** You are not logged in, please login first.");
    if(PlayerAcc[playerid][Admin] == 0) return SendClientMessage(playerid, -1,""orange"** Sorry, only admins level 4+ can do that command.");
    if(PlayerAcc[playerid][Admin] >= 4)
    {
        GivePlayerWeapon(i, 38, 9000);
        format(str, sizeof(str), "~y~minigun ~r~kill ~y~time!");
        GameTextForAll(str, 4000, 3);
        PlayerPlaySound(playerid,1057,0.0,0.0,0.0);
        foreach(Player, i)
        {
            if(IsPlayerConnected(i) && (i != playerid) )
            {
                GivePlayerWeapon(playerid, 38, 9000);
            }
        }
        format(str, sizeof(str), "** Admin %s(ID:%d) gave everyone a minigun.", GetName(playerid), playerid);
        SendClientMessageToAll(COLOR_YELLOW, str);
        format(str, sizeof(str), "** You gave everyone a minigun.");
        SendClientMessage(playerid, COLOR_YELLOW, str);
    }
    else return ErrorMessages(playerid, 5);
    return 1;
}
Alleen deze error:

pawn Code:
D:\PlanetS 0.3x [Euro] Server 8\pawno\systemadmin.pwn(103) : warning 201: redefinition of constant/macro (symbol "pInfo")
D:\PlanetS 0.3x [Euro] Server 8\pawno\systemadmin.pwn(3314) : error 017: undefined symbol "i"
Pawn compiler 3.2.3664          Copyright (c) 1997-2006, ITB CompuPhase


1 Error.
Waar moet ik ' i ' laten define?
Code:
GivePlayerWeapon(playerid, 38, 9000);
Dit staat binnen je foreach loop. Zou je niet playerid vervangen naar i?

Begrijpend lezen blijft lastig, ik wist gewoon dat je die andere ging veranderen xd


Quote:
Originally Posted by Danny.
View Post
Ik wil alleen even toevoegen dat je nooit IsPlayerConnected hoeft te gebruiken bij foreach looping.
Quote:
Originally Posted by Hiddos
View Post
Overigens is het niet nodig IsPlayerConnected the gebruiken als je foreach gebruikt, die check zit daar al zelf ingebouwd
Ook hier blijft begrijpend lezen moeilijk, toch Hiddos?:P


Re: Bug in weaponall - Hiddos - 23.01.2014

Quote:
Originally Posted by Henkie
View Post
Ook hier blijft begrijpend lezen moeilijk, toch Hiddos?:P
-begrijpend