Dynamisches Fraktionssystem Cars werden nicht mehr gespeichert

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 Abend Breadfish,


    habe eine kleine Frage zu dem /fpark
    ich nutze die Dynamischen Fraktionscars


    nun zu meinem Problem ich erstelle eins parke es
    und Respawn die cars nun steht das neu erstellte car
    wieder da wo ich es erstellt habe also es speichert nicht.


    dcmd(efa,3,cmdtext);
    if(strcmp(cmdtext,"/fpark",true)==0){
    if(GetPlayerState(playerid) == PLAYER_STATE_DRIVER){
    new fc;while(fc<sizeof(FactionCars)){
    if(FactionCars[fc][fVehid] >= 400 && FactionCars[fc][fVehid] <= 611){
    if(GetPlayerVehicleID(playerid) == FactionCars[fc][fCarid]){
    if(GetPlayerAdmin(playerid) >= NEEDED_ADMINLEVEL || GetPlayerLeader(playerid) == FactionCars[fc][fFaction][0]){
    GetVehiclePos(FactionCars[fc][fCarid],FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    GetVehicleZAngle(FactionCars[fc][fCarid],FactionCars[fc][fPos][3]);
    SendClientMessage(playerid,FACTION_COL_YELLOW,"Du hast das Fraktionsfahrzeug erfolgreich umgeparkt.");
    }else SendClientMessage(playerid,COLOR_RED,"Du bist dazu nicht berechtigt.");
    return true;
    }
    }fc++;
    }SendClientMessage(playerid,COLOR_RED,"Du sitzt in keinem Fraktionsfahrzeug.");
    }else SendClientMessage(playerid,COLOR_RED,"Du sitzt in keinem Fahrzeug oder bist nicht der Fahrer.");
    return true;
    }


    hoffe mir kann da jemand helfen ^^


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    Einmal editiert, zuletzt von XDFanta ()

  • Respawn befehl her geben^^



    if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
    return 1;
    }
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= 450; car++)
    {
    if(!unwanted[car]) SetVehicleToRespawn(car);
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • if(!unwanted[car]) SetVehicleToRespawn(car);
    ^ Das setzt das Auto an den Spawn-Ort zurück, nicht an den gespeicherten Ort.


    Du musst danach SetVehiclePos benutzen, zu der Position die du gespeichert hast.



    Also liegt es nicht an fpark sondern an dem carrespawn ? D:


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    Einmal editiert, zuletzt von XDFanta ()

  • if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
    return 1;
    }
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= 450; car++)
    {
    if(!unwanted[car]) {
    SetVehicleToRespawn(car);
    SetVehiclePos(car,FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    SetVehicleZAngle(car,FactionCars[fc][fPos][3]);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


    Müsste so stimmen.

  • index.php?page=Thread&postID=1890652#post1890652">

    if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
    return 1;
    }
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player)) { unwanted[GetPlayerVehicleID(player)]=true; }
    }
    for(new car = 1; car <= 450; car++)
    {
    if(!unwanted[car]) {
    SetVehicleToRespawn(car);
    SetVehiclePos(car,FactionCars[fc][fPos][0],FactionCars[fc][fPos][1],FactionCars[fc][fPos][2]);
    SetVehicleZAngle(car,FactionCars[fc][fPos][3]);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


    Habe es getestet liegt nicht am respawn befehl :/




    //Edit
    Die Cars werden anscheinend nicht mehr in der Fraktionsautos.cfg gespeichert


    //Edit²
    Ich habe es nochmal getestet die Cars werden nichtmehr in der CFG gespeichert.


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

    Einmal editiert, zuletzt von XDFanta ()

  • Wenn du die Variable änderst, heißt das nicht, dass automatisch die Werte in deiner .cfg geändert werden! Du musst nach dem /fpark sowas wie "SpeichereAuto(autoID)" aufrufen, wo das Auto gespeichert (=in die .cfg geschrieben) wird.
    Und ja, es liegt an dem Respawn Befehl.


    if(strcmp(cmd, "/respawncars", true) == 0 || strcmp(cmd, "/rc", true) == 0)
    {
    if(IsPlayerConnected(playerid))
    {
    if(PlayerInfo[playerid][pAdmin] < 4)
    {
    SendClientMessage(playerid, COLOR_RED, "Du bist kein Supporter/Administrator.");
    return 1;
    }
    new bool:unwanted[CAR_AMOUNT];
    for(new player=0; player<MAX_PLAYERS; player++)
    {
    if(IsPlayerInAnyVehicle(player))
    {
    unwanted[GetPlayerVehicleID(player)]=true;
    }
    }
    for(new car = 0; car <= CAR_AMOUNT; car++)
    {
    if(!unwanted[car])
    {
    SetVehicleToRespawn(car); //Alternativ kannst du das auch mal entfernen, falls die Autos am Spawn stehen und nicht an der gespeicherten Pos.
    new id;
    for(new i=0; i<sizeof(FractionCars); i++)
    {
    if(car == FactionCars[i][fCarid])
    {
    id = i;
    break;
    }
    }
    SetVehiclePos(car,FactionCars[id][fPos][0],FactionCars[id][fPos][1],FactionCars[id][fPos][2]);
    SetVehicleZAngle(car,FactionCars[id][fPos][3]);
    }
    }
    GetPlayerName(playerid, sendername, sizeof(sendername));
    format(string, sizeof(string), "Alle unbesetzen Fahrzeuge wurden von %s respawnt.", sendername);
    BroadCast(COLOR_WHITE,string);
    }
    return 1;
    }


  • Danke


    Finde es nur bissel komisch weil das iwie ging nur eigentlich ist es ja so das die neuen Cars in die cfg eingetragen werden
    nur jetzt ist das nichtmehr so Oo


    Jeder hat hier nen geilen Text stehen außer mir ._. <3

  • Ich schätze mal du hast unbewusst was weggemacht, oder es läuft ein Timer der das speichert, der aber nur alle 5 Minuten aufgerufen wird und du bist einfach nur zu schnell im Server-Neu-Starten.
    Da musst du halt mal schauen wo was fehlt, oder ob das mit dem Timer der Fall ist.