Tuningsystem

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 in meinem Carsystem mal versucht, ein Tuningsystem einzubauen, jedoch geht das nicht und ich habe wohl sehr peinliche Fehler drin. Wäre es möglich, dass mir einer helfen könnte oder Tipps geben kann.


    forward PrivatCarTuneUp(id);
    forward SaveTuner(id);

    //OnVehicleDeath
    public OnVehicleDeath(vehicleid, killerid)
    {
    SaveTuner(vehicleid);
    return 1;
    }


    //OnVehicleSpawn
    public OnVehicleSpawn(vehicleid)
    {
    for(new i = 0;i<_cache_fahrzeug;i++)
    {
    PrivatCarTuneUp(vehicleid);
    break;
    }
    return 1;
    }
    //OnGameModeExit
    SaveTuner();


    public PrivatCarTuneUp(id)
    {
    for(new i = 0;i<_cache_fahrzeug;i++)
    {
    if(FDaten[id][fTunbar] == 1)
    {
    new component[14];
    FDaten[id][fTuningteil0] = component[0];
    FDaten[id][fTuningteil1] = component[1];
    FDaten[id][fTuningteil2] = component[2];
    FDaten[id][fTuningteil3] = component[3];
    FDaten[id][fTuningteil4] = component[4];
    FDaten[id][fTuningteil5] = component[5];
    FDaten[id][fTuningteil6] = component[6];
    FDaten[id][fTuningteil7] = component[7];
    FDaten[id][fTuningteil8] = component[8];
    FDaten[id][fTuningteil9] = component[9];
    FDaten[id][fTuningteil10] = component[10];
    FDaten[id][fTuningteil11] = component[11];
    FDaten[id][fTuningteil12] = component[12];
    FDaten[id][fTuningteil13] = component[13];
    if(FDaten[id][fTuningteil0] != 0) {AddVehicleComponent(id, component[0]);}
    if(FDaten[id][fTuningteil1] != 0) {AddVehicleComponent(id, component[1]);}
    if(FDaten[id][fTuningteil2] != 0) {AddVehicleComponent(id, component[2]);}
    if(FDaten[id][fTuningteil3] != 0) {AddVehicleComponent(id, component[3]);}
    if(FDaten[id][fTuningteil4] != 0) {AddVehicleComponent(id, component[4]);}
    if(FDaten[id][fTuningteil5] != 0) {AddVehicleComponent(id, component[5]);}
    if(FDaten[id][fTuningteil6] != 0) {AddVehicleComponent(id, component[6]);}
    if(FDaten[id][fTuningteil7] != 0) {AddVehicleComponent(id, component[7]);}
    if(FDaten[id][fTuningteil8] != 0) {AddVehicleComponent(id, component[8]);}
    if(FDaten[id][fTuningteil9] != 0) {AddVehicleComponent(id, component[9]);}
    if(FDaten[id][fTuningteil10] != 0) {AddVehicleComponent(id, component[10]);}
    if(FDaten[id][fTuningteil11] != 0) {AddVehicleComponent(id, component[11]);}
    if(FDaten[id][fTuningteil12] != 0) {AddVehicleComponent(id, component[12]);}
    if(FDaten[id][fTuningteil13] != 0) {AddVehicleComponent(id, component[13]);}
    }
    }
    return 1;
    }


    public SaveTuner(id)
    {
    new component[14];
    for(new i = 0;i<_cache_fahrzeug;i++)
    {
    component[0] = GetVehicleComponentInSlot(id, CARMODTYPE_SPOILER);
    component[1] = GetVehicleComponentInSlot(id, CARMODTYPE_HOOD);
    component[2] = GetVehicleComponentInSlot(id, CARMODTYPE_ROOF);
    component[3] = GetVehicleComponentInSlot(id, CARMODTYPE_SIDESKIRT);
    component[4] = GetVehicleComponentInSlot(id, CARMODTYPE_LAMPS);
    component[5] = GetVehicleComponentInSlot(id, CARMODTYPE_NITRO);
    component[6] = GetVehicleComponentInSlot(id, CARMODTYPE_EXHAUST);
    component[7] = GetVehicleComponentInSlot(id, CARMODTYPE_WHEELS);
    component[8] = GetVehicleComponentInSlot(id, CARMODTYPE_STEREO);
    component[9] = GetVehicleComponentInSlot(id, CARMODTYPE_HYDRAULICS);
    component[10] = GetVehicleComponentInSlot(id, CARMODTYPE_FRONT_BUMPER);
    component[11] = GetVehicleComponentInSlot(id, CARMODTYPE_REAR_BUMPER);
    component[12] = GetVehicleComponentInSlot(id, CARMODTYPE_VENT_RIGHT);
    component[13] = GetVehicleComponentInSlot(id, CARMODTYPE_VENT_LEFT);
    FDaten[i][fTuningteil0] = component[0];
    FDaten[i][fTuningteil1] = component[1];
    FDaten[i][fTuningteil2] = component[2];
    FDaten[i][fTuningteil3] = component[3];
    FDaten[i][fTuningteil4] = component[4];
    FDaten[i][fTuningteil5] = component[5];
    FDaten[i][fTuningteil6] = component[6];
    FDaten[i][fTuningteil7] = component[7];
    FDaten[i][fTuningteil8] = component[8];
    FDaten[i][fTuningteil9] = component[9];
    FDaten[i][fTuningteil10] = component[10];
    FDaten[i][fTuningteil11] = component[11];
    FDaten[i][fTuningteil12] = component[12];
    FDaten[i][fTuningteil13] = component[13];
    SaveCache();
    break;
    }
    return 1;
    }


    Beim Auslesen der Infos aus der Carfile wird PrivatCarTuneUp aufgerufen und bei OnVehicleDeath abgespeichert (SaveCache(); , denn ich jetzt nicht poste, da er geht).


    MfG dUDA

  • Dudalus, was is mit dir los? Das ist ja schon zum schämen ^^ Ich glaube du hast nichtmehr den Überblick was, wie ist ^^... Jetzt weißte sicher nochmehr, warum ich damals dir von FDaten[MAX_VEHICLES] abgeraten hab, oder? ^^ Nagut hier die Lösung..


    Nebenbei noch, es reicht vollkommen aus SaveTuner bei OnVehicleMod aufzurufen ^^.


    stock GetPrivatCarID(vehicleid)
    {
    for(new pid = 0; pid < _cache_fahrzeug; pid++)
    {
    if(vehicleid == FDaten[pid][fCarID]) return pid;
    }
    return -1;
    }


    //OnVehicleDeath
    public OnVehicleDeath(vehicleid, killerid)
    {
    SaveTuner(GetPrivatCarID(vehicleid));
    return 1;
    }


    //OnVehicleSpawn
    public OnVehicleSpawn(vehicleid)
    {
    PrivatCarTuneUp(GetPrivatCarID(vehicleid));
    return 1;
    }


    public PrivatCarTuneUp(id)
    {
    if(FDaten[id][fTunbar] == 1)
    {
    new vehicleid = FDaten[id][fCarID];
    if(FDaten[id][fTuningteil0] != 0) {AddVehicleComponent(vehicleid, component[0]);}
    if(FDaten[id][fTuningteil1] != 0) {AddVehicleComponent(vehicleid, component[1]);}
    if(FDaten[id][fTuningteil2] != 0) {AddVehicleComponent(vehicleid, component[2]);}
    if(FDaten[id][fTuningteil3] != 0) {AddVehicleComponent(vehicleid, component[3]);}
    if(FDaten[id][fTuningteil4] != 0) {AddVehicleComponent(vehicleid, component[4]);}
    if(FDaten[id][fTuningteil5] != 0) {AddVehicleComponent(vehicleid, component[5]);}
    if(FDaten[id][fTuningteil6] != 0) {AddVehicleComponent(vehicleid, component[6]);}
    if(FDaten[id][fTuningteil7] != 0) {AddVehicleComponent(vehicleid, component[7]);}
    if(FDaten[id][fTuningteil8] != 0) {AddVehicleComponent(vehicleid, component[8]);}
    if(FDaten[id][fTuningteil9] != 0) {AddVehicleComponent(vehicleid, component[9]);}
    if(FDaten[id][fTuningteil10] != 0) {AddVehicleComponent(vehicleid, component[10]);}
    if(FDaten[id][fTuningteil11] != 0) {AddVehicleComponent(vehicleid, component[11]);}
    if(FDaten[id][fTuningteil12] != 0) {AddVehicleComponent(vehicleid, component[12]);}
    if(FDaten[id][fTuningteil13] != 0) {AddVehicleComponent(vehicleid, component[13]);}
    }
    return 1;
    }


    public SaveTuner(id)
    {
    new vehicleid = FDaten[id][fCarID];
    FDaten[i][fTuningteil0] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SPOILER);
    FDaten[i][fTuningteil1] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HOOD);
    FDaten[i][fTuningteil2] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_ROOF);
    FDaten[i][fTuningteil3] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SIDESKIRT);
    FDaten[i][fTuningteil4] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_LAMPS);
    FDaten[i][fTuningteil5] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO);
    FDaten[i][fTuningteil6] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_EXHAUST);
    FDaten[i][fTuningteil7] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_WHEELS);
    FDaten[i][fTuningteil8] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_STEREO);
    FDaten[i][fTuningteil9] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HYDRAULICS);
    FDaten[i][fTuningteil10] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_FRONT_BUMPER);
    FDaten[i][fTuningteil11] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_REAR_BUMPER);
    FDaten[i][fTuningteil12] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_RIGHT);
    FDaten[i][fTuningteil13] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_LEFT);
    SaveCache();
    return 1;
    }

    Mfg Templer


    >>Dein Breadfish-Thema im Unterforum ScriptingBase / Scriptingwünsche wurde nicht richtig beantworter?<<
    >>Es handelt sich um ein Programmier Problem und du nicht einfach weiter kommst wo der Fehler sein könnte?<<
    Dann melde dich bei mir über die PN-Funktion indem du den Link zu deinem Breadfish-Themen Problem schickst.
    Voraussetzung:
    Thema älter als 1 Tag und im Breadfish Forum gespostet!

  • Hallo


    Naja, ok, wenn ich die VehicleID abfragen könnte, ohne dass ein Player im Car sitzt wäre es ja recht einfach. Aberda es das ja leider nicht gibt, kann VehicleID != fCarID continue nicht gelten ;)
    Dank dir aber.


    //Edit
    Leider geht es nicht ;)


    //Edit 2


    public PrivatCarTuneUp(id)
    {
    if(FDaten[id][fTunbar] == 1)
    {
    new vehicleid = FDaten[id][fCarID];
    new component[14];
    FDaten[id][fTuningteil0] = component[0];
    FDaten[id][fTuningteil1] = component[1];
    FDaten[id][fTuningteil2] = component[2];
    FDaten[id][fTuningteil3] = component[3];
    FDaten[id][fTuningteil4] = component[4];
    FDaten[id][fTuningteil5] = component[5];
    FDaten[id][fTuningteil6] = component[6];
    FDaten[id][fTuningteil7] = component[7];
    FDaten[id][fTuningteil8] = component[8];
    FDaten[id][fTuningteil9] = component[9];
    FDaten[id][fTuningteil10] = component[10];
    FDaten[id][fTuningteil11] = component[11];
    FDaten[id][fTuningteil12] = component[12];
    FDaten[id][fTuningteil13] = component[13];
    if(FDaten[id][fTuningteil0] != 0) {AddVehicleComponent(vehicleid, component[0]);}
    if(FDaten[id][fTuningteil1] != 0) {AddVehicleComponent(vehicleid, component[1]);}
    if(FDaten[id][fTuningteil2] != 0) {AddVehicleComponent(vehicleid, component[2]);}
    if(FDaten[id][fTuningteil3] != 0) {AddVehicleComponent(vehicleid, component[3]);}
    if(FDaten[id][fTuningteil4] != 0) {AddVehicleComponent(vehicleid, component[4]);}
    if(FDaten[id][fTuningteil5] != 0) {AddVehicleComponent(vehicleid, component[5]);}
    if(FDaten[id][fTuningteil6] != 0) {AddVehicleComponent(vehicleid, component[6]);}
    if(FDaten[id][fTuningteil7] != 0) {AddVehicleComponent(vehicleid, component[7]);}
    if(FDaten[id][fTuningteil8] != 0) {AddVehicleComponent(vehicleid, component[8]);}
    if(FDaten[id][fTuningteil9] != 0) {AddVehicleComponent(vehicleid, component[9]);}
    if(FDaten[id][fTuningteil10] != 0) {AddVehicleComponent(vehicleid, component[10]);}
    if(FDaten[id][fTuningteil11] != 0) {AddVehicleComponent(vehicleid, component[11]);}
    if(FDaten[id][fTuningteil12] != 0) {AddVehicleComponent(vehicleid, component[12]);}
    if(FDaten[id][fTuningteil13] != 0) {AddVehicleComponent(vehicleid, component[13]);}
    }
    return 1;
    }


    public SaveTuner(id)
    {
    new vehicleid = FDaten[id][fCarID];
    FDaten[id][fTuningteil0] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SPOILER);
    FDaten[id][fTuningteil1] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HOOD);
    FDaten[id][fTuningteil2] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_ROOF);
    FDaten[id][fTuningteil3] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_SIDESKIRT);
    FDaten[id][fTuningteil4] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_LAMPS);
    FDaten[id][fTuningteil5] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_NITRO);
    FDaten[id][fTuningteil6] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_EXHAUST);
    FDaten[id][fTuningteil7] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_WHEELS);
    FDaten[id][fTuningteil8] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_STEREO);
    FDaten[id][fTuningteil9] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_HYDRAULICS);
    FDaten[id][fTuningteil10] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_FRONT_BUMPER);
    FDaten[id][fTuningteil11] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_REAR_BUMPER);
    FDaten[id][fTuningteil12] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_RIGHT);
    FDaten[id][fTuningteil13] = GetVehicleComponentInSlot(vehicleid, CARMODTYPE_VENT_LEFT);
    SaveCache();
    return 1;
    }


    stock GetPrivatCarID(vehicleid)
    {
    for(new pid = 0; pid < _cache_fahrzeug; pid++)
    {
    if(vehicleid == FDaten[pid][fCarID]) return pid;
    }
    return -1;
    }



    dUDA