Was ist da falsch? :S

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
  • Hey, ich bin grade mein Tersorrob am machen...


    Doch irgendwie funktoniert das nicht so ganz wie ich das will :O


    //oben
    new Tresorzeit[MAX_PLAYERS];


    //im befehl
    if(Tresorzeit[MAX_PLAYERS] == 0)
    {
    //wenn tresor ausgeraubt wurde
    Tresorzeit[MAX_PLAYERS] = 1;


    //wenn timer zu ende ist
    public Tresorauslauf()
    {
    Tresorzeit[MAX_PLAYERS] = 0;
    return 1;
    }


    & das sind die Errors:



    C:\Users\Felix\Desktop\***\gamemodes\***.pwn(21995) : error 032: array index out of bounds (variable "Tresorzeit")
    C:\Users\Felix\Desktop\***\gamemodes\***.pwn(22004) : error 032: array index out of bounds (variable "Tresorzeit")
    C:\Users\Felix\Desktop\***\gamemodes\***.pwn(64968) : error 032: array index out of bounds (variable "Tresorzeit")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    3 Errors.


    Ist immer die Zeile mit dem Tresorzeit[MAX_PLAYERS]

  • Du kannst nur bei new Tresorzeit
    [MAX_PLAYERS]; machen


    das heißt dass du die Variable einem Spieler zuordnest,


    du musst also beim Abfragen eine Spielerid einbauen,


    if(Tresorzeit[playerid] == 0)
    Nur ein Beispiel, da ich nicht weiß wie du das gemacht hast

  • Ja, aber das soll halt die abfrage dafür sein, ob man den Tresor wieder ausrauben kann oder ob man noch 2std. warten muss...


    Und der soll ja für alle Spieler laufen oder?


    Oder wie kann ich das am besten machen?

  • Dann das MAX_PLAYERS wegmachen :D dann ist es eine Servervariable, die für alle gilt,


    new Tresorzeit;


    if(Tresorzeit == 0)
    {
    //wenn tresor ausgeraubt wurde
    Tresorzeit = 1;


    //wenn timer zu ende ist
    public Tresorauslauf()
    {
    Tresorzeit = 0;
    return 1;
    }