Object Problem

In 10 Minuten startet der nächtliche Backupvorgang! Es kann währenddessen (ca. 10 Minuten) zu Einschränkungen bei der Nutzung des Forums kommen
Weitere Infos findet ihr im Thema Backup des Forums
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 Tag.


    Habe ein kleines Problem mit meinen Neon-Röhren.
    Wenn ich nun per CreateDynamicObject eine Neon-Röhre erstelle, und dann per AttachDynamicObjectToVehicle an ein Fahrzeug anhefte, und der Spieler sein Fahrzeug verkauft, und ich ihm ein neues gebe, bleiben die Röhren dran auch wenn ich garkeine auswähle.
    Ich hoffe ihr könnt helfen. Ich weiß nicht welchen Code ich euch senden soll, von daher sende ich euch den Code mit dem Neon-Fahrzeug-Geben. ;)


    CMD:givecar(playerid, params[])
    {
    if(Spieler[playerid][pAdmin] < 5)return SendClientMessage(playerid, COLOR_GREY, "Du besitzt nicht die benötigten Rechte.");
    new pID, vID, color1, color2, neon;
    if(sscanf(params, "uiiii", pID, vID, color1, color2, neon)){SendClientMessage(playerid, COLOR_GREY, "* Benutze /givecar [SpielerID/Name] [Vehicle-ID] [Color-1] [Color-2] [Neon]"); SendClientMessage(playerid, COLOR_GREY, "Neon-Farben: 0 = Keins, 1 = Blau, 2 = Rot, 3 = Grün, 4 = Weiß, 5 = Pink, 6 = Gelb"); return 1;}
    if(!IsPlayerConnected(pID))return SendClientMessage(playerid, COLOR_GREY, "Der Spieler ist nicht online.");
    new Float:x, Float:y, Float:z;
    GetPlayerPos(pID, x,y,z);
    if(!PlayerHaveCar[pID][PlayerKey[pID]])
    {
    new str[64];
    format(str, sizeof(str), "/Autos/%s_Car_%d.ini", GetName(pID), PlayerKey[pID]);
    new File: hFile = fopen(str, io_write);
    if(hFile)
    {
    new var[32];
    format(var, 32, "CarId=%d\n", 0);fwrite(hFile, var);
    format(var, 32, "CarModel=%d\n",vID);fwrite(hFile, var);
    format(var, 32, "CarPos_x=%.3f\n",x);fwrite(hFile, var);
    format(var, 32, "CarPos_y=%.3f\n",y);fwrite(hFile, var);
    format(var, 32, "CarPos_z=%.3f\n",z);fwrite(hFile, var);
    format(var, 32, "CarRotate=%.3f\n",0.0);fwrite(hFile, var);
    format(var, 32, "CarNitro=0\n");fwrite(hFile, var);
    format(var, 32, "CarHyd=0\n");fwrite(hFile, var);
    format(var, 32, "CarWheel=0\n");fwrite(hFile, var);
    format(var, 32, "CarAusp=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideL=0\n");fwrite(hFile, var);
    format(var, 32, "CarSideR=0\n");fwrite(hFile, var);
    format(var, 32, "CarFB=0\n");fwrite(hFile, var);
    format(var, 32, "CarRB=0\n");fwrite(hFile, var);
    format(var, 32, "CarSpoiler=0\n");fwrite(hFile, var);
    format(var, 32, "CarRoof=0\n");fwrite(hFile, var);
    format(var, 32, "CarHood=0\n");fwrite(hFile, var);
    format(var, 32, "CarVents=0\n");fwrite(hFile, var);
    format(var, 32, "CarLamps=0\n");fwrite(hFile, var);
    format(var, 32, "CarPJ=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC1=-1\n");fwrite(hFile, var);
    format(var, 32, "CarC2=-1\n");fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",0);fwrite(hFile, var);
    format(var, 32, "Tank=%d\n", 60); fwrite(hFile, var);
    format(var, 32, "MaxTank=%d\n", 60); fwrite(hFile, var);
    format(var, 32, "CarState=%d\n", PlayerCar[pID][PlayerKey[pID]][CarState]);fwrite(hFile, var);
    fclose(hFile);
    }
    PlayerCar[pID][PlayerKey[pID]][CarId]=0;
    PlayerCar[pID][PlayerKey[pID]][CarModel]=vID;
    PlayerCar[pID][PlayerKey[pID]][CarPos_x]=x;
    PlayerCar[pID][PlayerKey[pID]][CarPos_y]=y;
    PlayerCar[pID][PlayerKey[pID]][CarPos_z]=z;
    PlayerCar[pID][PlayerKey[pID]][CarRotate]=0.0;
    PlayerCar[pID][PlayerKey[pID]][CarNitro]=0;
    PlayerCar[pID][PlayerKey[pID]][CarHyd]=0;
    PlayerCar[pID][PlayerKey[pID]][CarWheel]=0;
    PlayerCar[pID][PlayerKey[pID]][CarAusp]=0;
    PlayerCar[pID][PlayerKey[pID]][CarSideL]=0;
    PlayerCar[pID][PlayerKey[pID]][CarSideR]=0;
    PlayerCar[pID][PlayerKey[pID]][CarFB]=0;
    PlayerCar[pID][PlayerKey[pID]][CarRB]=0;
    PlayerCar[pID][PlayerKey[pID]][CarSpoiler]=0;
    PlayerCar[pID][PlayerKey[pID]][CarRoof]=0;
    PlayerCar[pID][PlayerKey[pID]][CarHood]=0;
    PlayerCar[pID][PlayerKey[pID]][CarVents]=0;
    PlayerCar[pID][PlayerKey[pID]][CarLamps]=0;
    PlayerCar[pID][PlayerKey[pID]][CarPJ]=-1;
    PlayerCar[pID][PlayerKey[pID]][CarC1]=color1;
    PlayerCar[pID][PlayerKey[pID]][CarC2]=color2;
    PlayerCar[pID][PlayerKey[pID]][CarPreis]=0;
    PlayerCar[pID][PlayerKey[pID]][CarTank]=60;
    PlayerCar[pID][PlayerKey[pID]][CarMaxTank]=60;
    PlayerCar[pID][PlayerKey[pID]][CarState]=0;
    PlayerCar[pID][PlayerKey[pID]][CarId] = CreateVehicle(PlayerCar[pID][PlayerKey[pID]][CarModel],PlayerCar[pID][PlayerKey[pID]][CarPos_x],PlayerCar[pID][PlayerKey[pID]][CarPos_y],PlayerCar[pID][PlayerKey[pID]][CarPos_z],PlayerCar[pID][PlayerKey[pID]][CarRotate],PlayerCar[pID][PlayerKey[pID]][CarC1],PlayerCar[pID][PlayerKey[pID]][CarC2], -1);/*vehicle spawn*/
    SetVehicleNumberPlate(PlayerCar[pID][PlayerKey[pID]][CarId], GetName(pID));
    PlayerHaveCar[pID][PlayerKey[pID]] = 1;
    gGas[PlayerCar[pID][PlayerKey[pID]][CarId]] = 100;
    gMaxGas[PlayerCar[pID][PlayerKey[pID]][CarId]] = 100;
    if(neon == 0)
    {
    SendClientMessage(playerid, COLOR_GREY, "Kein Neon ausgewählt!");
    }
    else if(neon == 1)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18648;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18648;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    }
    else if(neon == 2)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18647;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18647;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    }
    else if(neon == 3)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18649;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18649;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);
    }
    else if(neon == 4)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18652;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18652;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);print("Object1 erstellt");
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);print("Object2 erstellt");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object1 angeheftet");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object2 angeheftet");
    }
    else if(neon == 5)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18651;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18651;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);print("Object1 erstellt");
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);print("Object2 erstellt");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object1 angeheftet");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object2 angeheftet");
    }
    else if(neon == 6)
    {
    PlayerCar[pID][PlayerKey[pID]][CarNeon1] = 18650;
    PlayerCar[pID][PlayerKey[pID]][CarNeon2] = 18650;
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1] = CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon1], 0,0,0,0,0,0,0);print("Object1 erstellt");
    PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2] =CreateDynamicObject(PlayerCar[pID][PlayerKey[pID]][CarNeon2], 0,0,0,0,0,0,0);print("Object2 erstellt");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon1], PlayerCar[pID][PlayerKey[pID]][CarId], -0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object1 angeheftet");
    AttachDynamicObjectToVehicle(PlayerCar[pID][PlayerKey[pID]][ObjectIDNeon2], PlayerCar[pID][PlayerKey[pID]][CarId], 0.8, 0.0, -0.70, 0.0, 0.0, 0.0);print("Object2 angeheftet");
    }


    }
    else
    {
    SendClientMessage(playerid, COLOR_GREY, "* Der Spieler hat auf dem Autoschlüssel bereits ein Fahrzeug.");
    return 1;
    }
    return 1;
    }


    //Edit
    Habs schon so probiert, aus dem Dynamic zeug mal ohne zu machen.
    Derzeit ist das Problem so, dass das Neon nicht richtig gelöscht wird beim Disconnect. Das wird es aber:


    public OnPlayerCarUpdate(playerid)
    {
    if(IsPlayerConnected(playerid))
    {
    for(new x=0;x<MaxVeh;x++)
    {
    if(PlayerHaveCar[playerid][x])
    {
    DestroyVehicle(PlayerCar[playerid][x][CarId]);
    LockCar(PlayerCar[playerid][x][CarId]);
    new string3[128];
    new playername3[MAX_PLAYER_NAME];
    GetPlayerName(playerid, playername3, sizeof(playername3));
    format(string3, sizeof(string3), "/Autos/%s_Car_%d.ini", playername3, x);
    new File: hFile = fopen(string3, io_write);
    if (hFile)
    {
    new var[32];
    format(var, 32, "CarId=%d\n",PlayerCar[playerid][x][CarId]);fwrite(hFile, var);
    format(var, 32, "CarModel=%d\n",PlayerCar[playerid][x][CarModel]);fwrite(hFile, var);
    format(var, 32, "CarPos_x=%.3f\n",PlayerCar[playerid][x][CarPos_x]);fwrite(hFile, var);
    format(var, 32, "CarPos_y=%.3f\n",PlayerCar[playerid][x][CarPos_y]);fwrite(hFile, var);
    format(var, 32, "CarPos_z=%.3f\n",PlayerCar[playerid][x][CarPos_z]);fwrite(hFile, var);
    format(var, 32, "CarRotate=%.3f\n",PlayerCar[playerid][x][CarRotate]);fwrite(hFile, var);
    format(var, 32, "CarNitro=%d\n",PlayerCar[playerid][x][CarNitro]);fwrite(hFile, var);
    format(var, 32, "CarHyd=%d\n",PlayerCar[playerid][x][CarHyd]);fwrite(hFile, var);
    format(var, 32, "CarWheel=%d\n",PlayerCar[playerid][x][CarWheel]);fwrite(hFile, var);
    format(var, 32, "CarAusp=%d\n",PlayerCar[playerid][x][CarAusp]);fwrite(hFile, var);
    format(var, 32, "CarSideL=%d\n",PlayerCar[playerid][x][CarSideL]);fwrite(hFile, var);
    format(var, 32, "CarSideR=%d\n",PlayerCar[playerid][x][CarSideR]);fwrite(hFile, var);
    format(var, 32, "CarFB=%d\n",PlayerCar[playerid][x][CarFB]);fwrite(hFile, var);
    format(var, 32, "CarRB=%d\n",PlayerCar[playerid][x][CarRB]);fwrite(hFile, var);
    format(var, 32, "CarSpoiler=%d\n",PlayerCar[playerid][x][CarSpoiler]);fwrite(hFile, var);
    format(var, 32, "CarRoof=%d\n",PlayerCar[playerid][x][CarRoof]);fwrite(hFile, var);
    format(var, 32, "CarHood=%d\n",PlayerCar[playerid][x][CarHood]);fwrite(hFile, var);
    format(var, 32, "CarVents=%d\n",PlayerCar[playerid][x][CarVents]);fwrite(hFile, var);
    format(var, 32, "CarLamps=%d\n",PlayerCar[playerid][x][CarLamps]);fwrite(hFile, var);
    format(var, 32, "CarPJ=%d\n",PlayerCar[playerid][x][CarPJ]);fwrite(hFile, var);
    format(var, 32, "CarC1=%d\n",PlayerCar[playerid][x][CarC1]);fwrite(hFile, var);
    format(var, 32, "CarC2=%d\n",PlayerCar[playerid][x][CarC2]);fwrite(hFile, var);
    format(var, 32, "Preis=%d\n",PlayerCar[playerid][x][CarPreis]);fwrite(hFile, var);
    format(var, 32, "CarTank=%d\n", gGas[PlayerCar[playerid][x][CarId]]); fwrite(hFile, var);
    format(var, 32, "CarMaxTank=%d\n", gMaxGas[PlayerCar[playerid][x][CarId]]); fwrite(hFile, var);
    format(var, 32, "CarState=%d\n", PlayerCar[playerid][x][CarState]); fwrite(hFile, var);
    format(var, 32, "CarNeon1=%d\n", PlayerCar[playerid][x][CarNeon1]); fwrite(hFile, var);
    format(var, 32, "CarNeon2=%d\n", PlayerCar[playerid][x][CarNeon2]); fwrite(hFile, var);
    fclose(hFile);
    }
    DestroyObject(PlayerCar[playerid][x][ObjectIDNeon1]);
    DestroyObject(PlayerCar[playerid][x][ObjectIDNeon1]);
    }
    }
    }
    }


    Hoffe ihr könnt helfen. <.<


    //Edit
    Die Neonröhren kommen manchmal auch doppelt -.-