Array must be indexed

Wichtiger Hinweis: Bitte ändert nicht manuell die Schriftfarbe auf schwarz sondern belasst es bei der Standardeinstellung. Somit tragt ihr dazu bei dass euer Text auch bei Verwendung unseren dunklen Forenstils noch lesbar ist!

Tipp: Ihr wollt längere Codeausschnitte oder Logfiles bereitstellen? Benutzt unseren eigenen PasteBin-Dienst Link
  • Hi,
    hier


    if(GetPlayerWeapon(i) == BadWeap && !IsPlayerAdmin)


    kommt das


    F:\imaczeuch\Rockstar Games\Grand Theft Auto San Andreas\filterscripts\zAnti.pwn(50) : error 033: array must be indexed (variable "BadWeap")



    Oben habe ich


    new BadWeap[5] = {35,36,37,38,};


    Was ist denn hier falsch :) ?


    MfG

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • new BadWeap[5] = {35,36,37,38,};


    Das hier.
    BadWeap[0] ist 35, BadWeap[1] ist 36, BadWeap[2] ist 37, BadWeap[3] ist 38, nur was ist mit BadWeap[4] und BadWeap[5]?

  • ne glaub das lieg wo anders dran gib ma gesamten code wahrscheinich irgendein return falsch oder so zumindest kam dass dann immer bei mir
    aber eig müsste das BetWea[variable] sein, die variable ist ja der string so weit ich weiß und der kann nur ein limit in die höhe haben, das heißt bei [3] nutzt du diesen voll aus aber kp warum exe

  • public illegalweapon()
    {
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    new string[MAX_STRING];
    new playername[MAX_PLAYER_NAME];
    GetPlayerName(i, playername, sizeof(playername));
    if(GetPlayerWeapon(i) == BadWeap && !IsPlayerAdmin)
    {
    format(string, sizeof(string), "%s wurde vom Anti Cheat gekickt, Grund: Illegale Waffe.", playername);
    SendClientMessage(i, 0x660000AA, string);
    Kick(i);
    }
    }
    return 1;
    }

    ^^

    Zitat

    Nimm die Dinge wie sie sind: schlag, wenn du schlagen musst, tritt, wenn du Treten musst
    -Bruce Lee

  • Ich weiß nicht, wie du BadWeap deklariert hast, kann dir also auch nicht genau sagen, wies bei dir aussieht
    Das wäre eine Möglichkeit:
    stock BadWeap(wid) {
    new wids[]= { 35,36,37,38 }, i, j=sizeof(wids);
    for(; i<j; i++) {
    if(wid==wids[i]) { return 1; }}
    return 0;
    }
    //damit würde das dann so aussehen:
    if(BadWeap(GetPlayerWeapon(i)) && !IsPlayerAdmin(i))
    {
    format(string, sizeof(string),
    [...]
    PS: Frag ma auuch ab, ob der Spieler connected ist
    for(new i = 0; i < MAX_PLAYERS; i++)
    {
    if(IsPlayerConnected(i)) {