Bug in weaponall
#1

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;
}
//----
Reply
#2

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.
Reply
#3

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

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

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

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?
Reply
#7

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
Reply
#8

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

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
Reply
#10

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


Forum Jump:


Users browsing this thread: 1 Guest(s)