Object wird nicht an Fahrzeug attached..

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
  • Ich versuche hier ein Object an ein Fahrzeug zu attachen, leider bekomme ich kein object zu gesicht.. sehe leider auch nicht ob es überhaupt attached wird..
    Kann wer helfen ?


    COMMAND:attach(playerid,params[])
    {
    new Float:Pos[6],ob,Car;
    if(sscanf(params,"ffffff",Pos[0],Pos[1],Pos[2],Pos[3],Pos[4],Pos[5]))return SendClientMessage(playerid,-1,"/attach f f f f f f");
    DestroyObject(ob);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    Car = CreateVehicle(408,2118.9387,-2077.9573,14.1000,130.9863,1,1,-1);
    ob = CreateObject(1337,2118.9387,-2077.9573,15.1000,0.0,0.0,0.0);
    PutPlayerInVehicle(playerid,Car,0);
    AttachObjectToVehicle(ob, Car,Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
    printf("%f %f %f %f %f %f",Pos[0],Pos[1],Pos[2],Pos[3],Pos[4],Pos[5]);
    return 1;
    }

  • Doch, weil ich das alte Object dann beim erneuten eingeben gelöscht wird ^^


    Dafür musst du "ob" global deklarieren, oder als static-Variable anlegen:
    COMMAND:attach(playerid,params[])
    {
    new Float:Pos[6],Car;
    static ob = -1;
    if(sscanf(params,"ffffff",Pos[0],Pos[1],Pos[2],Pos[3],Pos[4],Pos[5]))return SendClientMessage(playerid,-1,"/attach f f f f f f");
    if(ob != -1) DestroyObject(ob);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    Car = CreateVehicle(408,2118.9387,-2077.9573,14.1000,130.9863,1,1,-1);
    ob = CreateObject(1337,0.0,0.0,0.0,0.0,0.0,0.0);
    PutPlayerInVehicle(playerid,Car,0);
    AttachObjectToVehicle(ob, Car,Pos[0], Pos[1], Pos[2], Pos[3], Pos[4], Pos[5]);
    printf("%f %f %f %f %f %f",Pos[0],Pos[1],Pos[2],Pos[3],Pos[4],Pos[5]);
    return 1;
    }


    Versuchs mal so.

  • Der Code funktioniert, wenn du die 5 eingibst.
    Dann sieht es so aus:

    (Quelle: Eigener Screenshot)


    Verwendeter Code, zum Test:
    new Float:Pos[6],Car;
    static ob = -1;
    if(ob != -1) DestroyObject(ob);
    DestroyVehicle(GetPlayerVehicleID(playerid));
    Car = CreateVehicle(408,2118.9387,-2077.9573,14.1000,130.9863,1,1,-1);
    ob = CreateObject(1337,0.0,0.0,0.0,0.0,0.0,0.0);
    PutPlayerInVehicle(playerid,Car,0);
    AttachObjectToVehicle(ob, Car,Pos[0], Pos[1], Pos[2]+5.0, Pos[3], Pos[4], Pos[5]);
    printf("%f %f %f %f %f %f",Pos[0],Pos[1],Pos[2],Pos[3],Pos[4],Pos[5]);