error 033: 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
  • Sers com.
    Ich habe diesen fehler bei meinem fahrschulsys, also bei der "Checkpointliste".
    Hier mal der error:
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(641) : error 033: array must be indexed (variable "CheckpointCount")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.


    Hier die Zeilen:
    enum Checkpoint
    {
    Float:X,
    Float:Y,
    Float:Z,
    Float:R // Radius
    }
    new CPInfo[][Checkpoint]=
    {
    {1280.9387,-1799.3966,13.3849,3.0},//1.
    {1796.2412,-2168.8850,13.3828,3.0},//2.
    {1963.9427,-2053.8076,13.4550,3.0},//3.
    {1824.7738,-1830.5153,13.4141,3.0},//4.
    {1404.1343,-1869.7872,13.3828,3.0},//5.
    {1280.9387,-1799.3966,13.3849,3.0}//6.
    };
    new CheckpointCount[MAX_PLAYERS];
    Und er wird da verwendet:
    1.
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(newstate == PLAYER_STATE_DRIVER && GetPlayerVehicleID(playerid) == Fsauto[i])//fragt ab ob er fahrer ist und das auto Fsauto[i] ist
    {
    if(GetPVarInt(playerid,"Autolic") == 0)
    {
    SendClientMessage(playerid,Blau,"Willkommen zur Fahrprüfung. Hier erstmal die Regeln:");
    SendClientMessage(playerid,Blau,"75Km/h in der City und 100 auf der Autobahn.");
    SendClientMessage(playerid,Blau,"Rote Ampeln sind zu beachten.");
    SendClientMessage(playerid,Blau,"Ausserdem wird rechts gefahren.");
    SendClientMessage(playerid,Blau,"Ansonsten gelten alle Regeln der normalen STVO.");
    SendClientMessage(playerid,Blau,"");
    SendClientMessage(playerid,Blau,"");
    SendClientMessage(playerid,Blau,"Bitte fahren sie die Checkpunkte entlang, ohne das Fahrzeug zu demolieren(700HP)!");
    CheckpointCount[playerid]=1;
    SetPlayerCheckpoint(playerid,CPInfo[0][X],CPInfo[0][Y],CPInfo[0][Z],CPInfo[0][R]);
    }
    else if(GetPVarInt(playerid,"Autolic") == 1)
    {
    SendClientMessage(playerid,Rot,"Du hast schon einen Führerschein!");
    RemovePlayerFromVehicle(playerid);
    }
    }
    }
    und 2.
    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(CheckpointCount[playerid]!=0)
    {
    DisablePlayerCheckpoint(playerid);
    CheckpointCount[playerid]++;
    SetPlayerCheckpoint(playerid,CPInfo[CheckpointCount][X],CPInfo[CheckpointCount][Y],CPInfo[CheckpointCount][Z],CPInfo[CheckpointCount][R]); //Hier ist der Fehler
    }
    }
    }
    MFG: Luca


    //edit: Fehler

    Einmal editiert, zuletzt von Flat_Hack ()

  • Themen Pushen ist Verboten und wird verwarnt, unterlasse das.


    Was soll das denn bringen?
    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(CheckpointCount[playerid]!=0)
    {
    DisablePlayerCheckpoint(playerid);
    CheckpointCount[playerid]++;
    SetPlayerCheckpoint(playerid,CPInfo[CheckpointCount][X],CPInfo[CheckpointCount][Y],CPInfo[CheckpointCount][Z],CPInfo[CheckpointCount][R]); //Hier ist der Fehler
    }
    }
    }

    Wenn man in einen CP fährt und in einem Fahrschulauto ist, soll dann der nächste CP erscheinen?

  • Hier mal etwas logischer gestaltet:

    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(CheckpointCount[playerid]>0 && IsPlayerInVehicle(Fsauto[i]) && GetPlayerVehicleSeat(playerid) == 0)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,CPInfo[CheckpointCount[playerid]][X],CPInfo[CheckpointCount[playerid]][Y],CPInfo[CheckpointCount[playerid]][Z],CPInfo[CheckpointCount[playerid]][R])
    CheckpointCount[playerid]++;
    return 1;
    }
    }
    return 1;
    }


    So müsste es besser gehen.


    MFG Piet

  • do.de - Domain-Offensive - Domains für alle und zu super Preisen
  • Geht nicht,
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(637) : warning 202: number of arguments does not match definition
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(641) : error 001: expected token: ";", but found "-identifier-"
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(645) : warning 209: function "Streamer_OnPlayerEnterCP" should return a value
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(646) : error 010: invalid function or declaration
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(655) : error 010: invalid function or declaration
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.

    Mein OnPlayerEnterCheckpoint:
    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(CheckpointCount[playerid]>0 && IsPlayerInVehicle(Fsauto[i]) && GetPlayerVehicleSeat(playerid) == 0)
    {
    DisablePlayerCheckpoint(playerid);
    SetPlayerCheckpoint(playerid,CPInfo[CheckpointCount[playerid]][X],CPInfo[CheckpointCount[playerid]][Y],CPInfo[CheckpointCount[playerid]][Z],CPInfo[CheckpointCount[playerid]][R])
    CheckpointCount[playerid]++;
    return 1;
    }
    }
    }
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    DisablePlayerCheckpoint(playerid);
    GivePlayerMoney(playerid,-7000);
    sInfo[playerid][pAutolic] = 1;
    SendClientMessage(playerid,Rot,"Du hast den Autoführerschein erfolgreich bestanden!");
    SendClientMessage(playerid,Rot,"Herzlichen Glückwunsch, fahr bitte vorsichtig und beachte alle Regeln der STVO!");
    RemovePlayerFromVehicle(playerid);
    }
    return 1;
    }


    Und das von InternetInk aka Benjamin geht auch nicht.
    Dann kommt:
    K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(642) : error 033: array must be indexed (variable "CheckpointCount")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Error.

  • 1. Wieso hast du oben eine Abfrage mit PVar und hier mit Enum?
    2. Was du gemacht hast ist schwachsinn
    3. Versuch mal dass:

    public OnPlayerEnterCheckpoint(playerid)
    {
    for(new i = 0; i < sizeof(Fsauto); i++)
    {
    if(CheckpointCount[playerid]>0 && IsPlayerInVehicle(playerid, Fsauto[i]) && GetPlayerVehicleSeat(playerid) == 0)
    {
    DisablePlayerCheckpoint(playerid);
    if(CheckpointCount[playerid] == sizeof(CPInfo)-1)
    {
    new Float:H;
    GetVehicleHealth(GetPlayerVehicleID(playerid), H);
    if(H < 700.0)//weniger als 700 HP vom Auto.
    {
    SendClientMessage(playerid,Rot,"Du hast es nicht geschafft, da dein Auto demoliert ist!");
    RemovePlayerFromVehicle(playerid);
    }
    GivePlayerMoney(playerid,-7000);
    sInfo[playerid][pAutolic] = 1;
    SetPVarInt(playerid,"Autolic", 1);
    CheckpointCount[playerid]=0;
    SendClientMessage(playerid,Rot,"Du hast den Autoführerschein erfolgreich bestanden!");
    SendClientMessage(playerid,Rot,"Herzlichen Glückwunsch, fahr bitte vorsichtig und beachte alle Regeln der STVO!");
    RemovePlayerFromVehicle(playerid);
    return 1;
    }
    SetPlayerCheckpoint(playerid,CPInfo[CheckpointCount[playerid]][X],CPInfo[CheckpointCount[playerid]][Y],CPInfo[CheckpointCount[playerid]][Z],CPInfo[CheckpointCount[playerid]][R]);
    CheckpointCount[playerid]++;
    return 1;
    }
    }
    return 1;
    }


    /e
    Fixxes und erweiterung


    /e2
    habe wat vergessen


    MFG Piet


  • K:\SA-MP\Pawno&Scripts\Scripts\Selfmadeluca.pwn(637) : warning 202: number of arguments does not match definition
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.

    Bei der 5. zeile beim pawn code hier im forum