Richtiges Licht beim Towtruck geht nicht

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
  • Hallo, ich wollte das Originale Licht von einen TowTruck (Abschlepper) als Sirene einbauen.
    Ich habe es auf einen Server gesehen und würde es gerne selber drauf setzen.
    Ich habe es bereits versucht, es hat nicht geklappt.



    ocmd:testlicht(playerid)
    {
    new vehicleid=GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid)!=525)return ErrorMsg(playerid,"Du kannst das Warnlicht nur in einem Tow-Truck einschalten.");
    new Float:lf_v_X,Float:lf_v_Y,Float:lf_v_Z;
    GetVehiclePos(vehicleid,lf_v_X,lf_v_Y,lf_v_Z );
    sirene[0][vehicleid]=CreateDynamicObject(19803, lf_v_X, lf_v_Y, lf_v_Z, 0.0, 0.0, 0.0 );
    AttachDynamicObjectToVehicle(sirene[0][vehicleid],vehicleid,lf_v_X, lf_v_Y, lf_v_Z+5, 0.0, 0.0, 0.0 );
    return 1;
    }


    Die +5 habe ich gemacht, weil ich dachte, das Objekt wäre zu tief. Doch daran hat es nicht gelegen.
    Es geht einfach nicht, wie ich gedacht habe. Objekt ist nicht sichtbar, ich habe auch das Wetter angepasst, nichts klappt.
    Es lässt mich einfach nicht in frieden.


    Auf einen Test-Server habe ich versucht, mittels AttachObjectVehicle Programm (Filterscript) es zu attachen,
    aber auch das klappt nicht, da habe ich dann immer Server Unknown Command, deshalb habe ich gedacht es so raufzusetzen, ohne Programm,
    tja Hustekuchen...

  • AttachDynamicObjectToVehicle da musst du die relative Position vom Auto angeben und nicht die absolute.


    Bei dir ist das Licht um die x,y,z achse vom Auto versetzt :D


    Mach es einfach so:


    AttachDynamicObjectToVehicle(sirene[0][vehicleid],vehicleid, 0,0,0, 0.0, 0.0, 0.0 );

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Die Sirene ist neben den Tow Truck und nicht in der Sirene eingebaut.
    Mein Code sieht so aus.



    ocmd:testlicht(playerid)
    {
    new vehicleid=GetPlayerVehicleID(playerid);
    if(GetVehicleModel(vehicleid)!=525)return ErrorMsg(playerid,"Du kannst das Warnlicht nur in einem Tow-Truck einschalten.");
    new Float:lf_v_X,Float:lf_v_Y,Float:lf_v_Z;
    GetVehiclePos(vehicleid,lf_v_X,lf_v_Y,lf_v_Z );
    sirene[0][vehicleid]=CreateDynamicObject(19803, lf_v_X, lf_v_Y, lf_v_Z, 0.0, 0.0, 0.0 );
    AttachDynamicObjectToVehicle(sirene[0][vehicleid],vehicleid, 0,0,0, 0.0, 0.0, 0.0 );
    return 1;
    }

  • Ja es funktioniert,
    Warum funktioniert das so gut? Das Script weiß doch gar nicht wo das Objekt hin soll?


    Meine nächste Herausforderung ist das Polizei-Blaulicht zu verwenden, es hinten an den Spoiler vom Infernus zu setzen und auch mit dem Lichtern,
    zum leuchten bringen. Aber das wird wohl nicht so einfach sein wa?


    Danke für deine Hilfe

  • Das Script weiß doch gar nicht wo das Objekt hin soll?

    Doch, das "Skript" weiß ganz genau wo das Objekt hin soll :D


    Schau das Bild an:



    Stell dir vor der 0 Punkt, also da wo alle Achsen sich schneiden ist der Mittelpunkt des Autos :)


    Und wenn du als Achse 0,0,0 angibst, ist das genau da. Zufälligerweise ist das Objekt so designt (mit der höhe und so), dass es genau da beim Truck sitzt :)
    Wenn du jetzt eine Achse veränderst, also 1,0,0 schreiben würdest, dann würdest du es auf der X Achse relativ zu dem Auto-Mittelpunkt verschieben.


    Und da die Achsen immer am Mittelpunkt des Autos sind und das geupdatet wird, funktioniert das immer perfekt :)



    Meine nächste Herausforderung ist das Polizei-Blaulicht zu verwenden, es hinten an den Spoiler vom Infernus zu setzen und auch mit dem Lichtern,
    zum leuchten bringen. Aber das wird wohl nicht so einfach sein wa?

    Es gibt dafür glaube Editoren oder du nimmst ein Filterscript wo du das Objekt verstellst und probierst ein wenig einfach mit den Achsen zu spielen und lädst das immer neu, dann brauchst du nicht immer einen Server restart oder du machst einen command, wo das Objekt erstellt und immer zerstört wird und wo du als Parameter immer angeben kannst wie die Achsen sein sollen, bis es passt ;)

    ast2ufdyxkb1.png


    Leute, lernt scripten und versucht mal lieber etwas selber zu schreiben, als es aus einem GF zu kopieren. :S

  • Beitrag von _Sasuke_ ()

    Dieser Beitrag wurde vom Autor aus folgendem Grund gelöscht: Hat sich erledigt ().