Problem mit Fraktionscarsystem.. -.-

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
  • Abend.. ich hab mal wieder ein Problem, und weiß nicht weiter..


    Ich hab n "Dynamisches" Frakcarsystem, und kann Autos auch erstellen, Speichern und Parken..


    Problem ist jetzt.. ich hab 15 Fraktionen. von 1-9 kann ich alle Autos soweit gut parken und alles.. sobald ich aber mit 10-15 anfang, kommen einige Autos auf einen gleichen punkt, oder verdoppeln sich..


    ich schick euch mal EINIGE codes..


    #define MAX_FRAKTION 30
    #define MAX_FRAKTCARS 50


    new LSPDcar[MAX_FRAKTCARS];
    new SecretServicecar[MAX_FRAKTCARS];
    new Cripzcar[MAX_FRAKTCARS];
    new Bloodzcar[MAX_FRAKTCARS];
    new Vagoscar[MAX_FRAKTCARS];
    new Aztecascar[MAX_FRAKTCARS];
    new Yakuzacar[MAX_FRAKTCARS];
    new Terrorcar[MAX_FRAKTCARS];
    new LCNcar[MAX_FRAKTCARS];
    new Armycar[MAX_FRAKTCARS];
    new Hitmancar[MAX_FRAKTCARS];
    new FBIcar[MAX_FRAKTCARS];
    new Mediccar[MAX_FRAKTCARS];
    new SRFcar[MAX_FRAKTCARS];
    new Newscar[MAX_FRAKTCARS];


    enum Fraktcars
    {
    modelid,
    Float:fposx,
    Float:fposy,
    Float:fposz,
    Float:fposa,
    cc1,
    cc2,
    }
    new Fraktautos[MAX_FRAKTCARS][50][Fraktcars];


    bei OnGameModInit..


    for(new i=0;i<MAX_FRAKTCARS;i++) //Geht alle Zahlen von 0 bis die zahl die bei MAX_FRAKTCARS steht
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/LSPD/%d.ini",i); //Solltet ihr wissen ;)
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    LSPDcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
    SetVehicleNumberPlate(LSPDcar[i],"LSPD");
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i); //Solltet ihr wissen ;)
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    SecretServicecar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
    SetVehicleNumberPlate(SecretServicecar[i],"SeSe");
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i); //Solltet ihr wissen ;)
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    Cripzcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
    SetVehicleNumberPlate(Cripzcar[i],"Cripz");
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Bloodz/%d.ini",i); //Solltet ihr wissen ;)
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    Bloodzcar[i] = AddStaticVehicleEx(Fraktautos[i][1][modelid],Fraktautos[i][1][fposx],Fraktautos[i][1][fposy],Fraktautos[i][1][fposz],Fraktautos[i][1][fposa],Fraktautos[i][1][cc1],Fraktautos[i][1][cc2],-1);
    SetVehicleNumberPlate(Bloodzcar[i],"Bloodz");
    }
    }und so weiter


    OnGameModeExit


    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SAPD/%d.ini",i);
    if(dini_Exists(Fraktauto))
    {
    dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
    dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i); //Solltet ihr wissen ;)
    if(dini_Exists(Fraktauto))
    {
    dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
    dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i); //Solltet ihr wissen ;)
    if(dini_Exists(Fraktauto))
    {
    dini_IntSet(Fraktauto,"modelid",Fraktautos[i][1][modelid]);
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    dini_IntSet(Fraktauto,"cc1",Fraktautos[i][1][cc1]);
    dini_IntSet(Fraktauto,"cc2",Fraktautos[i][1][cc2]);
    }
    } und so weiter..


    if(strcmp(cmdtext,"/fpark",true) == 0 || strcmp(cmdtext,"/fparken",true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new veh=GetPlayerVehicleID(playerid);
    new Float:x,Float:y,Float:z,Float:a;
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    if(veh==LSPDcar[i])
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/LSPD/%d.ini",i);
    GetVehiclePos(LSPDcar[i],x,y,z);
    GetVehicleZAngle(LSPDcar[i],a);
    Fraktautos[i][1][fposx]=x;
    Fraktautos[i][1][fposy]=y;
    Fraktautos[i][1][fposz]=z;
    Fraktautos[i][1][fposa]=a;
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    if(veh==SecretServicecar[i])
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i);
    GetVehiclePos(SecretServicecar[i],x,y,z);
    GetVehicleZAngle(SecretServicecar[i],a);
    Fraktautos[i][1][fposx]=x;
    Fraktautos[i][1][fposy]=y;
    Fraktautos[i][1][fposz]=z;
    Fraktautos[i][1][fposa]=a;
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    }
    }
    for(new i=0;i<MAX_FRAKTCARS;i++)
    {
    if(veh==Cripzcar[i])
    {
    new Fraktauto[200];
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i);
    GetVehiclePos(Cripzcar[i],x,y,z);
    GetVehicleZAngle(Cripzcar[i],a);
    Fraktautos[i][1][fposx]=x;
    Fraktautos[i][1][fposy]=y;
    Fraktautos[i][1][fposz]=z;
    Fraktautos[i][1][fposa]=a;
    dini_FloatSet(Fraktauto,"FPosX",Fraktautos[i][1][fposx]);
    dini_FloatSet(Fraktauto,"FPosY",Fraktautos[i][1][fposy]);
    dini_FloatSet(Fraktauto,"FPosZ",Fraktautos[i][1][fposz]);
    dini_FloatSet(Fraktauto,"FPosA",Fraktautos[i][1][fposa]);
    }
    } Und so weiter


    ocmd:createfcar(playerid,params[])
    {
    new fraktid;
    new mid;
    new c1,c2;
    if(sscanf(params,"iiii",fraktid,mid,c1,c2)) //Wenn der z.b. nur "/createfcar" eingibt
    {
    SendClientMessage(playerid,COLOR_GRAU,"/createfcar [Frakt-ID][Model-ID][Farbe][Farbe]"); //Müsst ihr für euren Server ändern
    SendClientMessage(playerid,COLOR_GRAU,"Fraktion 1:LSPD, Fraktion 2:SecretService, Fraktion 3:Cripz, Fraktion 4:Bloodz, Fraktion 5:Vagos");
    SendClientMessage(playerid,COLOR_GRAU,"Fraktion 6:Aztecas, Fraktion 7:Yakuza, Fraktion 8:Terroristen, Fraktion 9:LCN, Fraktion 10: Army");
    SendClientMessage(playerid,COLOR_GRAU,"Fraktion 11:Hitman, Fraktion 12:FBI, Fraktion 13:Medic, Fraktion 14:SRF, Fraktion 15:News");
    }
    else
    {
    if(fraktid < 1 || fraktid > 15)return SendClientMessage(playerid,COLOR_GRAU,"Frakt-ID kann nicht über 6 oder unter 1 sein.");
    if(mid < 400 || mid > 611)return SendClientMessage(playerid,COLOR_GRAU,"Model-ID kann nicht über 611 oder unter 400 sein."); //Da die Vehicles nur von 400-611 gehen
    CreateFCar(playerid,fraktid,mid,c1,c2); //wird gleich gezeigt was das ist...
    }
    return 1;
    }


    {
    dini_Create(Fraktauto); //Er Createt die Datei
    dini_IntSet(Fraktauto,"modelid",mid);
    dini_FloatSet(Fraktauto,"FPosX",x);
    dini_FloatSet(Fraktauto,"FPosY",y);
    dini_FloatSet(Fraktauto,"FPosZ",z);
    dini_FloatSet(Fraktauto,"FPosA",a);
    dini_IntSet(Fraktauto,"cc1",c1);
    dini_IntSet(Fraktauto,"cc2",c2);
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    LSPDcar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
    PutPlayerInVehicle(playerid,LSPDcar[i],0);
    return 1;
    }
    }
    else if(fraktid==2)
    {
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/SecretService/%d.ini",i);
    if(!dini_Exists(Fraktauto))
    {
    dini_Create(Fraktauto); //Er Createt die Datei
    dini_IntSet(Fraktauto,"modelid",mid);
    dini_FloatSet(Fraktauto,"FPosX",x);
    dini_FloatSet(Fraktauto,"FPosY",y);
    dini_FloatSet(Fraktauto,"FPosZ",z);
    dini_FloatSet(Fraktauto,"FPosA",a);
    dini_IntSet(Fraktauto,"cc1",c1);
    dini_IntSet(Fraktauto,"cc2",c2);
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    SecretServicecar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
    PutPlayerInVehicle(playerid,SecretServicecar[i],0);
    return 1;
    }
    }
    else if(fraktid==3)
    {
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i);
    if(!dini_Exists(Fraktauto))
    {
    dini_Create(Fraktauto); //Er Createt die Datei
    dini_IntSet(Fraktauto,"modelid",mid);
    dini_FloatSet(Fraktauto,"FPosX",x);
    dini_FloatSet(Fraktauto,"FPosY",y);
    dini_FloatSet(Fraktauto,"FPosZ",z);
    dini_FloatSet(Fraktauto,"FPosA",a);
    dini_IntSet(Fraktauto,"cc1",c1);
    dini_IntSet(Fraktauto,"cc2",c2);
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    Cripzcar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
    PutPlayerInVehicle(playerid,Cripzcar[i],0);
    return 1;
    }
    } Und so weiter..



    Seht ihr da irgendwo n fatalen fehler?? ich find nämlich nach 2 stunden keinen..



    edit: Einige Sachen entfernt. (anfragen wegen Copy&Paste fehler -.-!, versuchts slbst)

    Einmal editiert, zuletzt von JuliensBlog ()

  • Dann zeig mal von
    else if(fraktid==3)
    {
    format(Fraktauto,sizeof(Fraktauto),"/Fraktionsautos/Cripz/%d.ini",i);
    if(!dini_Exists(Fraktauto))
    {
    dini_Create(Fraktauto); //Er Createt die Datei
    dini_IntSet(Fraktauto,"modelid",mid);
    dini_FloatSet(Fraktauto,"FPosX",x);
    dini_FloatSet(Fraktauto,"FPosY",y);
    dini_FloatSet(Fraktauto,"FPosZ",z);
    dini_FloatSet(Fraktauto,"FPosA",a);
    dini_IntSet(Fraktauto,"cc1",c1);
    dini_IntSet(Fraktauto,"cc2",c2);
    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][cc1] = dini_Int(Fraktauto,"cc1");
    Fraktautos[i][1][cc2] = dini_Int(Fraktauto,"cc2");
    Cripzcar[i] = CreateVehicle(mid,x,y,z,a,c1,c2,-1);
    PutPlayerInVehicle(playerid,Cripzcar[i],0);
    return 1;
    }
    } Und so weiter..
    Das wo es bei 10 losgeht.