Globale Variable setzen, so dass sie immer..

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
  • enum standard{
    Krieg = 1,
    Frieden = 0
    }
    new Global[standard];
    Verwendung: Global[Krieg] = 0;



    Oder auch mit new


    new Krieg = 1; oben.


  • Yo hab das jetzt so gemacht..
    Nun habe ich folgendes Prob.:



    ocmd:krieg(playerid, params[])
    {
    if(Spieler[playerid][Leader] == 2 || Spieler[playerid][Leader] == 3)
    {
    new name[MAX_PLAYERS],string[50],grund,KriegOrdner[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(sscanf(params,"s",grund))return SendClientMessage(playerid,ROT,"FEHLER: /krieg [Grund]");
    SendClientMessageToAll(ORANGE,"Achtung: Der Krieg zwischen den Los BastardZ MC & den Hell Drivers MC hat gestartet.");
    if(Spieler[playerid][Leader] == 2)
    {
    format(string,sizeof(string),"Der Starter des Kriegs sind die Hell Driver (Leader: %s)",name);
    }
    else if(Spieler[playerid][Leader] == 3)
    {
    format(string,sizeof(string),"Der Starter des Kriegs sind die Los BastardZ (Leader: %s)",name);
    SendClientMessageToAll(ORANGE,string);
    }
    if(fexist(KriegOrdner))
    {
    Kriegdaten[Fraktion][gestartet] = 1;
    }
    else
    {
    dini_Create(KriegOrdner);
    Kriegdaten[Fraktion][gestartet] = 1;
    }
    }
    return 1;
    }


    Errors:


    C:\Users\TOLGAHAN\Desktop\Unntig\script\gamemodes\Selfmade.pwn(345) : error 032: array index out of bounds (variable "Kriegdaten")
    C:\Users\TOLGAHAN\Desktop\Unntig\script\gamemodes\Selfmade.pwn(350) : error 032: array index out of bounds (variable "Kriegdaten")
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    2 Errors.


    Mein Enum:
    enum Krieg
    {
    gestartet,
    kills
    }
    new Kriegdaten[Fraktion][Krieg];

  • wo zum Teufel kommt bei dir Fraktion her????
    Facepalm -.-

  • enum spieler_daten
    {
    wanted,
    skin,
    Geld,
    Fraktion, //Fraktionen: 0 = Zivilist | 1 = Polizei | 2 = Hell Driver MC(Bikergang) | 3 = Los BastardZ MC(Bikergang)
    Leader, //Leader: 1 = Polizeileader | 2 = Hell Driver Leader | 3 = BastardZ Leader
    eingeloggt
    }
    new Spieler[MAX_PLAYERS][spieler_daten];
    Kann man das nicht iwie miteinander verknüpfen?

  • new Kriegdaten[8][Krieg]; // 8 = Anzahl der Fraks
    Kriegdaten[Spieler[playerid][Fraktion]][Krieg] = 1;

  • Dankeschön..
    Nun hab ich ne Frage..


    C:\Users\TOLGAHAN\Desktop\Unntig\script\gamemodes\Selfmade.pwn(355) : warning 203: symbol is never used: "Kriegdaten"
    Pawn compiler 3.2.3664 Copyright (c) 1997-2006, ITB CompuPhase



    1 Warning.


    Zeile ist nicht vorhanden..
    __________
    new Spieler[MAX_PLAYERS][spieler_daten];


    enum Krieg
    {
    gestartet,
    kills
    }
    new Kriegdaten[Fraktion][Krieg];



    &
    //NEWS
    new Anzahlfrak[4][Krieg]; // [ ] Anzahl der Fraktionen


    Dann noch der Befehl:
    ocmd:krieg(playerid, params[])
    {
    if(Spieler[playerid][Leader] == 2 || Spieler[playerid][Leader] == 3)
    {
    new name[MAX_PLAYERS],string[50],grund,KriegOrdner[128];
    GetPlayerName(playerid,name,sizeof(name));
    if(sscanf(params,"s",grund))return SendClientMessage(playerid,ROT,"FEHLER: /krieg [Grund]");
    SendClientMessageToAll(ORANGE,"Achtung: Der Krieg zwischen den Los BastardZ MC & den Hell Drivers MC hat gestartet.");
    if(Spieler[playerid][Leader] == 2)
    {
    format(string,sizeof(string),"Der Starter des Kriegs sind die Hell Driver (Leader: %s)",name);
    }
    else if(Spieler[playerid][Leader] == 3)
    {
    format(string,sizeof(string),"Der Starter des Kriegs sind die Los BastardZ (Leader: %s)",name);
    SendClientMessageToAll(ORANGE,string);
    }
    if(fexist(KriegOrdner))
    {
    Anzahlfrak[Spieler[playerid][Fraktion]][gestartet] = 1;
    }
    else
    {
    dini_Create(KriegOrdner);
    Anzahlfrak[Spieler[playerid][Fraktion]][gestartet] = 1;
    }
    }
    return 1;
    }


    Hier wird der Enum doch garnicht gebraucht oder??
    Denn ich muss ja noch die kills abfragen.. welche im enum drin sind?
    Hab nicht mehr soviel ahnung 2Jahre Pause :D

  • was zum Teufel machst du da? wenn du schon Anzahlfrak benutzt und nirgend new Kriegdaten[Fraktion][Krieg]; benutzt, dann lösch es einfach -.-