Eigenes FraktionsCar System funktioniert nicht so ganz

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
  • Hallo,
    ich habe heute mit einem FraktionsAutohaus angefangen und bin in den letzten 30Minuten soweit gekommen:
    public OnFilterScriptInit()
    {
    for(new i=0;i<MAX_CARS;i++)
    {
    LFC(i);
    }
    }


    stock LFC(autoid)
    {
    new SDatei[64];
    format(SDatei,50,"/fcars/%d.txt",autoid);
    if(!fexist(SDatei))return 0;
    FCInfo[autoid][modelid] = dini_Int(SDatei,"Model");
    FCInfo[autoid][fcx] = dini_Float(SDatei,"X");
    FCInfo[autoid][fcy] = dini_Float(SDatei,"Y");
    FCInfo[autoid][fcz] = dini_Float(SDatei,"Z");
    FCInfo[autoid][fca] = dini_Float(SDatei,"A");
    FCInfo[autoid][Frakid] = dini_Int(SDatei,"Fraktion");
    FCInfo[autoid][fcc1] = dini_Int(SDatei,"Farbe1");
    FCInfo[autoid][fcc2] = dini_Int(SDatei,"Farbe2");
    FCInfo[autoid][open] = dini_Int(SDatei,"Open");
    FCInfo[autoid][Opark] = dini_Int(SDatei,"Opark");


    if(FCInfo[autoid][Frakid] == 1)
    {
    LSPDCar[autoid] = CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
    return 1;
    }
    if(FCInfo[autoid][Frakid] == 2)
    {
    LVPDCar[autoid] = CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
    return 1;
    }
    if(FCInfo[autoid][Frakid] == 3)
    {
    SFPDCar[autoid] = CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
    return 1;
    }
    if(FCInfo[autoid][Frakid] == 4)
    {
    FBICar[autoid] = CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
    return 1;
    }
    else
    {
    CreateVehicle(FCInfo[autoid][modelid],FCInfo[autoid][fcx],FCInfo[autoid][fcy],FCInfo[autoid][fcz],FCInfo[autoid][fca],FCInfo[autoid][fcc1],FCInfo[autoid][fcc2],-1);
    return 1;
    }
    }


    Als ich es dann aber testen wollte, hat es aber nicht funktioniert.
    Um es schnell zu sagen:

    • Den Ordner "fcars" in scriptfiles erstellt
    • Die Datei "1.txt
    • In die Datei folgendes geschrieben:Model=411
      X=0.0
      Y=0.0
      Z=10.0
      A=25.0
      Fraktion=1
      Farbe1=2
      Farbe2=2
      Open=1
      Opark=0
    • Das Filterscript InGame geladen (/rcon loadfs fcar)
    • Das Fahrzeug ist nicht an Position 0.0,0.0,10.0 erschienen...
    • Ich poste das hier

    ²txt ist nicht im Name mit drinnen sondern nur die Dateiendung
    Hat jemand eine Idee?


    /edit: Ich habe es auch schon mit "AddStaticVehicleEx" versucht :)

  • wofüt ein fs ? ich hab meins so:
    //Frakcarsnew Armycar[31];new Terrorcar[28];new SAPDcar[16];new Grovecar[6];new Ballascar[9];new IMcar[15];new RMcar[13];new Sanicar[20];new SWATcar[22];new HellsAngelcar[33];
    und dan noch:public OnPlayerStateChange(playerid, newstate, oldstate){ if(newstate==PLAYER_STATE_DRIVER) { for(new i=0; i<sizeof(Armycar); i++) { if(GetPlayerVehicleID(playerid)==Armycar[i]) { if(GetPVarInt(playerid,"Fraktion")!=11) { RemovePlayerFromVehicle(playerid); SendClientMessage(playerid,GRAU,"Du bist kein Bundeswehr Soldat!"); } } } }

  • da du in der schleife ein return machst wird ab 0 nicht weitergemacht da es 0 nicht gibt.
    probiers mal so:

    if(fexist(SDatei))
    {
    }


    habs bei mir so getestet und klappt :

    #define MAX_CARS 20


    enum autoenum
    {
    modelid,
    Float:fcx,
    Float:fcy,
    Float:fcz,
    Float:fca,
    Frakid,
    fcc1,
    fcc2,
    open,
    Opark
    }
    new FCInfo[MAX_CARS][autoenum];


    public OnFilterScriptInit()
    {
    LFC();
    }


    stock LFC()
    {
    for(new i=0;i<MAX_CARS;i++)
    {
    new SDatei[64];
    format(SDatei,50,"fcars/%d.txt",i);
    if(dini_Exists(SDatei))
    {
    FCInfo[i][modelid] = dini_Int(SDatei,"Model");
    FCInfo[i][fcx] = dini_Float(SDatei,"X");
    FCInfo[i][fcy] = dini_Float(SDatei,"Y");
    FCInfo[i][fcz] = dini_Float(SDatei,"Z");
    FCInfo[i][fca] = dini_Float(SDatei,"A");
    FCInfo[i][Frakid] = dini_Int(SDatei,"Fraktion");
    FCInfo[i][fcc1] = dini_Int(SDatei,"Farbe1");
    FCInfo[i][fcc2] = dini_Int(SDatei,"Farbe2");
    FCInfo[i][open] = dini_Int(SDatei,"Open");
    FCInfo[i][Opark] = dini_Int(SDatei,"Opark");
    CreateVehicle(FCInfo[i][modelid],FCInfo[i][fcx],FCInfo[i][fcy],FCInfo[i][fcz],FCInfo[i][fca],FCInfo[i][fcc1],FCInfo[i][fcc2],-1);
    }
    }
    return 1;
    }