Motorschade Bug wenn ich /savecarspawn mache aber warum?

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
  • Hir leute wenn ich /savecarspawn mache dann Bekomme ich motorschaden


    cod:


    if(strcmp(cmd, "/savecarspawn", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new vehicleid = GetPlayerVehicleID(playerid);
    new model = GetVehicleModel(vehicleid);
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(CarInfo[vehicleid][cOwner], pname, true) == 0 || PlayerInfo[playerid][pAdmin]>=3)
    {
    new szString[80], Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(vehicleid, x,y,z);
    GetVehicleZAngle(vehicleid, angle);
    CarInfo[vehicleid][cModel] = model;
    CarInfo[vehicleid][cX] = x;
    CarInfo[vehicleid][cY] = y;
    CarInfo[vehicleid][cZ] = z;
    CarInfo[vehicleid][cAngle] = angle;
    SaveCar(vehicleid);
    format(szString, sizeof(szString), "Der Spawnpunkt für dieses Fahrzeug wurde geändert!");
    SendClientMessage(playerid, COLOR_YELLOW, szString);
    DestroyVehicle(vehicleid);
    LoadCar(vehicleid);
    CreateStreamVehicle(CarInfo[vehicleid][cModel], CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ], CarInfo[vehicleid][cAngle], CarInfo[vehicleid][cColor1], CarInfo[vehicleid][cColor2], -1);
    SetVehicleNumberPlate(vehicleid, CarInfo[vehicleid][cKennzeichen]);
    SetVehicleToRespawn(vehicleid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nicht der Besitzer dieses Fahrzeuges!");
    }
    }
    return 1;
    }

  • mach es so
    if(strcmp(cmd, "/savecarspawn", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new vehicleid = GetPlayerVehicleID(playerid);
    new model = GetVehicleModel(vehicleid);
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(CarInfo[vehicleid][cOwner], pname, true) == 0 || PlayerInfo[playerid][pAdmin]>=3)
    {
    new szString[80], Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(vehicleid, x,y,z);
    GetVehicleZAngle(vehicleid, angle);
    CarInfo[vehicleid][cModel] = model;
    CarInfo[vehicleid][cX] = x;
    CarInfo[vehicleid][cY] = y;
    CarInfo[vehicleid][cZ] = z;
    CarInfo[vehicleid][cAngle] = angle;
    SaveCar(vehicleid);
    format(szString, sizeof(szString), "Der Spawnpunkt für dieses Fahrzeug wurde geändert!");
    SendClientMessage(playerid, COLOR_YELLOW, szString);
    LoadCar(vehicleid);
    CreateStreamVehicle(CarInfo[vehicleid][cModel], CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ], CarInfo[vehicleid][cAngle], CarInfo[vehicleid][cColor1], CarInfo[vehicleid][cColor2], -1);
    SetVehicleNumberPlate(vehicleid, CarInfo[vehicleid][cKennzeichen]);
    SetVehicleToRespawn(vehicleid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nicht der Besitzer dieses Fahrzeuges!");
    }
    }
    return 1;
    }


    DestroyVehicle(vehicleid); // das war dein fehler

  • No, Fahrzeug Respawnt wider -.-" Dann war es auf einaml anstadt eiN Fischer boot ein Polic Car? -.-"


    Cod:


    if(strcmp(cmd, "/savecarspawn", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new vehicleid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(CarInfo[vehicleid][cOwner], pname, true) == 0 || PlayerInfo[playerid][pAdmin]>=3)
    {
    new szString[80], Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(vehicleid, x,y,z);
    GetVehicleZAngle(vehicleid, angle);
    CarInfo[vehicleid][cX] = x;
    CarInfo[vehicleid][cY] = y;
    CarInfo[vehicleid][cZ] = z;
    CarInfo[vehicleid][cAngle] = angle;
    SaveCar(vehicleid);
    format(szString, sizeof(szString), "Der Spawnpunkt für dieses Fahrzeug wurde geändert!");
    SendClientMessage(playerid, COLOR_YELLOW, szString);
    //DestroyVehicle(vehicleid);
    LoadCar(vehicleid);
    CreateStreamVehicle(CarInfo[vehicleid][cModel], CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ], CarInfo[vehicleid][cAngle], CarInfo[vehicleid][cColor1], CarInfo[vehicleid][cColor2], -1);
    SetVehicleNumberPlate(vehicleid, CarInfo[vehicleid][cKennzeichen]);
    SetVehicleToRespawn(vehicleid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nicht der Besitzer dieses Fahrzeuges!");
    }
    }
    return 1;
    }


    Wenn du wissen wilst was : LoadCar(vehicleid); macht dan hir ist der cod:


    public LoadCar(carid)
    {
    new str[32];
    format(str, sizeof(str), "/cars/%d.car", carid);
    if(carid == 0)
    {
    return 1;
    }
    new File: cfile = fopen(str, io_read);
    if(fexist(str))
    {
    new farray[39][32];
    new fstr[256];
    fread(cfile, fstr);
    split(fstr, farray, '|');
    CarInfo[carid][cID] = strval(farray[0]);
    CarInfo[carid][cModel] = strval(farray[1]);
    strmid(CarInfo[carid][cOwner], farray[2], 0, strlen(farray[2]), 255);
    CarInfo[carid][cGas] = strval(farray[3]);
    CarInfo[carid][cMaxGas] = strval(farray[4]);
    CarInfo[carid][cHP] = floatstr(farray[5]);
    CarInfo[carid][cColor1] = strval(farray[6]);
    CarInfo[carid][cColor2] = strval(farray[7]);
    CarInfo[carid][cX] = floatstr(farray[8]);
    CarInfo[carid][cY] = floatstr(farray[9]);
    CarInfo[carid][cZ] = floatstr(farray[10]);
    CarInfo[carid][cAngle] = floatstr(farray[11]);
    strmid(CarInfo[carid][cKennzeichen], farray[12], 0 , strlen(farray[12]), 12);
    CarInfo[carid][cType] = strval(farray[13]);
    CarInfo[carid][carsfbumper] = strval(farray[14]);
    CarInfo[carid][carsfbbars] = strval(farray[15]);
    CarInfo[carid][carsrbumper] = strval(farray[16]);
    CarInfo[carid][carsrbbars] = strval(farray[17]);
    CarInfo[carid][carswheels] = strval(farray[18]);
    CarInfo[carid][carslskirt] = strval(farray[19]);
    CarInfo[carid][carsrskirt] = strval(farray[20]);
    CarInfo[carid][carshydros] = strval(farray[21]);
    CarInfo[carid][carsspoiler] = strval(farray[22]);
    CarInfo[carid][carsroof] = strval(farray[23]);
    CarInfo[carid][carshood] = strval(farray[24]);
    CarInfo[carid][carsexhaust] = strval(farray[25]);
    CarInfo[carid][carslights] = strval(farray[26]);
    CarInfo[carid][carsstereo] = strval(farray[27]);
    CarInfo[carid][carsnitro] = strval(farray[28]);
    CarInfo[carid][carslhood] = strval(farray[29]);
    CarInfo[carid][carsrhood] = strval(farray[30]);
    CarInfo[carid][cColor3] = strval(farray[31]);
    CarInfo[carid][cTuned] = strval(farray[32]);
    CarInfo[carid][cMeter] = strval(farray[33]);
    CarInfo[carid][cMSVerursacherOn] = strval(farray[34]);
    strmid(CarInfo[carid][cMSVerursacher], farray[35], 0 , strlen(farray[35]), 255);
    fclose(cfile);
    }
    if(CarInfo[carid][cModel]==0)
    {
    CarInfo[carid][cModel]=411;
    }
    return 1;
    }

    Einmal editiert, zuletzt von Matze_Bellic ()

  • so jetzt noch mal die selbe frage wie beim anderen Thema:


    ist dein Motorschadensystem und dein System mit /savecarspawn oder so im selben fs/gm?

  • if(strcmp(cmd, "/savecarspawn", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new vehicleid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(CarInfo[vehicleid][cOwner], pname, true) == 0 || PlayerInfo[playerid][pAdmin]>=3)
    {
    new szString[80], Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(vehicleid, x,y,z);
    GetVehicleZAngle(vehicleid, angle);
    CarInfo[vehicleid][cX] = x;
    CarInfo[vehicleid][cY] = y;
    CarInfo[vehicleid][cZ] = z;
    CarInfo[vehicleid][cAngle] = angle;
    SaveCar(vehicleid);
    format(szString, sizeof(szString), "Der Spawnpunkt für dieses Fahrzeug wurde geändert!");
    SendClientMessage(playerid, COLOR_YELLOW, szString);
    RemovePlayerFromVehicle(playerid);
    DestroyVehicle(vehicleid);
    LoadCar(vehicleid);
    CreateStreamVehicle(CarInfo[vehicleid][cModel], CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ], CarInfo[vehicleid][cAngle], CarInfo[vehicleid][cColor1], CarInfo[vehicleid][cColor2], -1);
    SetVehicleNumberPlate(vehicleid, CarInfo[vehicleid][cKennzeichen]);
    SetVehicleToRespawn(vehicleid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nicht der Besitzer dieses Fahrzeuges!");
    }
    }
    return 1;
    }


    Probiers mal so wenn nicht geht muss ichs komplizierter machen...

  • <,< Wider Motorschaden. das ist zum verzweifeln

    Einmal editiert, zuletzt von Matze_Bellic ()

  • if(IsPlayerInAnyVehicle(playerid) && newstate == PLAYER_STATE_DRIVER)
    {
    SaveCarZeit[vehicleid] = 0;
    new Float:vHP;
    GetVehicleHealth(vehicleid, vHP);
    if(CarInfo[vehicleid][cMeter]>=5000*500)
    {
    SendClientMessage(playerid, COLOR_RED, "Motor kaputt!(5000km)");
    SendClientMessage(playerid, COLOR_RED, "Rufe den ADAC um deinen Motor reparieren zu lassen!");
    TogglePlayerControllable(playerid, false);
    }
    if(vHP <= 300.9 && newstate == PLAYER_STATE_DRIVER)
    {
    SetVehicleHealth(vehicleid, 300.0);
    CarInfo[vehicleid][cHP] = 300.0;
    SaveCar(vehicleid);
    SendClientMessage(playerid, COLOR_RED, "Motorschaden!");
    TogglePlayerControllable(playerid, false);
    CanExit[playerid] = 1;
    CarInfo[GetPlayerVehicleID(playerid)][cMS] = 1;
    }


    hir bitte.


    Sollte sein :D

    Einmal editiert, zuletzt von Matze_Bellic ()

  • Nein Also ich hole auto mache dann /savecarspawn da wo es immer spawn soll und dann Gespawnt es 1 mal und dan steht da immer Motorschaden.

  • Wenn du ins auto reingehst oder bist du automatisch drin oder wenn du das kommando gemacht hast und du dann nicht im fahrzeug sitzt?
    Haste eine Ip vom server dann kann ich mirs mal selbst anschauen.

  • Warte


    //edit


    Kann den Keiner weiter helfen? :(

    Einmal editiert, zuletzt von Matze_Bellic ()

  • Nein ..



    Ich und Sniper haben raus gefunden das aber auhc nut an id 0 kommt ander id zb id 1-100 nicht nur id 0

  • DestroyVehicle bewirkt das das Auto kaputt gemacht wird.....
    also bekommst du einen Motoschaden

  • mach mal so...
    wenns errors gibt mach das wieder rein
    DestroyVehicle(vehicleid);
    und dann probiers nochmaöl
    if(strcmp(cmd, "/savecarspawn", true) == 0)
    {
    if(IsPlayerInAnyVehicle(playerid))
    {
    new pname[MAX_PLAYER_NAME];
    new vehicleid = GetPlayerVehicleID(playerid);
    GetPlayerName(playerid, pname, sizeof(pname));
    if(strcmp(CarInfo[vehicleid][cOwner], pname, true) == 1 || PlayerInfo[playerid][pAdmin]>=3)
    {
    new szString[80], Float:x, Float:y, Float:z, Float:angle;
    GetVehiclePos(vehicleid, x,y,z);
    GetVehicleZAngle(vehicleid, angle);
    CarInfo[vehicleid][cX] = x;
    CarInfo[vehicleid][cY] = y;
    CarInfo[vehicleid][cZ] = z;
    CarInfo[vehicleid][cAngle] = angle;
    SaveCar(vehicleid);
    format(szString, sizeof(szString), "Der Spawnpunkt für dieses Fahrzeug wurde geändert!");
    SendClientMessage(playerid, COLOR_YELLOW, szString);
    RemovePlayerFromVehicle(playerid);
    LoadCar(vehicleid);
    CreateStreamVehicle(CarInfo[vehicleid][cModel], CarInfo[vehicleid][cX], CarInfo[vehicleid][cY], CarInfo[vehicleid][cZ], CarInfo[vehicleid][cAngle], CarInfo[vehicleid][cColor1], CarInfo[vehicleid][cColor2], -1);
    SetVehicleNumberPlate(vehicleid, CarInfo[vehicleid][cKennzeichen]);
    SetVehicleToRespawn(vehicleid);
    }
    else
    {
    SendClientMessage(playerid, COLOR_YELLOW, "Du bist nicht der Besitzer dieses Fahrzeuges!");
    }
    }
    return 1;
    }