Problem mit dynamischen Fraktionssystem

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
  • Guten Tag,


    ich arbeite derzeit an einem dynamischen Fraktionsfahrzeugsystem.
    Ist der Code hier richtig?
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsdaten/SAPD/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    Fraktautos[i][1][modelid] = dini_Int(Fraktauto,"modelid");
    Fraktautos[i][1][fposx] = dini_Float(Fraktauto,"FPosX");
    Fraktautos[i][1][fposy] = dini_Float(Fraktauto,"FPosY");
    Fraktautos[i][1][fposz] = dini_Float(Fraktauto,"FPosZ");
    Fraktautos[i][1][fposa] = dini_Float(Fraktauto,"FPosA");
    Fraktautos[i][1][Spoiler] = dini_Int(Fraktauto,"Spoiler");
    Fraktautos[i][1][Hood] = dini_Int(Fraktauto,"Hood");
    Fraktautos[i][1][Roof] = dini_Int(Fraktauto,"Roof");
    Fraktautos[i][1][Sideskirt] = dini_Int(Fraktauto,"Sideskirt");
    Fraktautos[i][1][Lamps] = dini_Int(Fraktauto,"Lamps");
    Fraktautos[i][1][Nitro] = dini_Int(Fraktauto,"Nitro");
    Fraktautos[i][1][Exhaust] = dini_Int(Fraktauto,"Exhaust");
    Fraktautos[i][1][Wheels] = dini_Int(Fraktauto,"Wheels");
    Fraktautos[i][1][Stereo] = dini_Int(Fraktauto,"Stereo");
    Fraktautos[i][1][Hydraulics] = dini_Int(Fraktauto,"Hydraulics");
    Fraktautos[i][1][FrontBumper] = dini_Int(Fraktauto,"FrontBumper");
    Fraktautos[i][1][RearBumper] = dini_Int(Fraktauto,"RearBumper");
    Fraktautos[i][1][VentRight] = dini_Int(Fraktauto,"VentRight");
    Fraktautos[i][1][VentLeft] = dini_Int(Fraktauto,"VentLeft");
    SAPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],0,1,-1);
    SetVehicleNumberPlate(SAPDcar[i],"SAPD");
    }
    }

  • Code
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(64) : error 017: undefined symbol "MAX_FRAKTCARS"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 017: undefined symbol "Fraktautos"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : warning 215: expression has no effect
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 001: expected token: ";", but found "]"
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 029: invalid expression, assumed zero
    C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : fatal error 107: too many error messages on one line
  • Schreib mal oben ins Script #define MAX_FRAKTCARS 50
    Also bei der 50 musst du deine zahl angeben.


    Und bei dem Fehler C:\Users\Alexander\Desktop\Script Alex!\gamemodes\Script.pwn(193) : error 017: undefined symbol "Fraktautos"
    musst du oben im Script höchstwahrscheinlich das enum erstellen.

  • Ein Fehler in dem Code ist das AddStaticVehicleEx, dass kannst du nicht verwenden, da das nur unter OnGameModeInit verwendet wird.
    Verwende besser CreateVehicle.

    /ironie/ Wäre ja auch sinnvoll, wenn er Fraktionsfahrzeuge unter OnGameModeInit mit AddStaticVehicleEx lädt./ironie/ Dennoch würde ich aus prinzip immer alle Fahrzeuge mit CreateVehicle erstellen. So kannst Du das Fahrzeug auch zerstören und/oder Änderungen vorzunehmen am Fahrzeug.