Haus mit Fenster etc erstellen

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
  • Servus liebe Community von Breadfish ,
    ich habe das Problem das ich ein Haus erstellen will mit Fenster , Schrank etc.
    Ich erstelle bis jetzt mit meinem Command ein Haus mit dem Interior wo man rein gehen kann.



    Bis jetzt kommt das aber ich will das da auch jetzt Fenster erstellt werden , Türen , Innen schränke etc.
    Kann mir da jemand helfen?


    Bisheriger Command

    new Float:px,Float:py,Float:pz,Float:pr;
    GetPlayerPos(playerid,Float:px,Float:py,Float:pz);
    GetPlayerFacingAngle(playerid,Float:pr);
    CreateObject(19491, px,py,pz+4, 0.0, 0.0, 0.0, 100.0);//Außen
    CreateObject(19492, px,py,pz+4, 0.0, 0.0, 0.0, 100.0);//Innen


    Hoffe da kann jemand helfen.


    MFG dreamer5655

  • Du solltest erst mal die Map machen. Danach kannst du die Map-Positionen berechnen.


    => Erstes Objekt nehmen, und dessen Position von allen anderen Objekten abziehen, dann hast du die Offsets von der Spielerposition die du brauchst.
    Falls du die Map schon hast aber nicht weißt wie das geht, poste die Map, dann zeige ich es dir.

    • Offizieller Beitrag

    Die Map wird dynamisch erstellt ;D

    Das ist ihm sicherlich bewusst, um die Positionen der Fenster etc. zu bekommen braucht er die Offset Cords. (Hat Jeffry schon erwähnt)
    Das kann man z.B auf die Weise von Jeffry machen oder ohne rechnen zu wollen:
    Mit dem Mapeditor (SAMP Map Construction finde ich gut) am 0 Punkt das Haus erstellen und alle Objekte drann mappen, dann hat man direkt die Offset Cords.


    Und dann die Position vom erstellten Gebäude nehmen + die Offset Cords. Und schon wurde alles an dem Punkt erstellt.

  • Du solltest erst mal die Map machen. Danach kannst du die Map-Positionen berechnen.


    => Erstes Objekt nehmen, und dessen Position von allen anderen Objekten abziehen, dann hast du die Offsets von der Spielerposition die du brauchst.
    Falls du die Map schon hast aber nicht weißt wie das geht, poste die Map, dann zeige ich es dir.


    Also das sind all die Objecte etc
    CreateObject(19491, 129.56030, 1723.13037, 21.44730, 0.00000, 0.00000, 0.00000);
    CreateObject(19492, 129.56802, 1723.08643, 21.44730, 0.00000, 0.00000, 0.00000);
    CreateObject(3260, 136.00462, 1725.62195, 18.26360, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 136.01131, 1723.18750, 18.26360, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 136.00462, 1725.62195, 20.96095, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 136.00084, 1721.78296, 20.96095, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 123.53154, 1722.59692, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.50445, 1726.76599, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.53154, 1722.59692, 18.28495, 0.00000, 90.00000, 270.00000);
    CreateObject(1491, 126.35200, 1726.66760, 16.63670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 135.97960, 1722.02246, 16.73670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 129.86740, 1719.71375, 19.31300, 0.00000, 0.00000, 270.00000);
    CreateObject(2180, 128.50650, 1720.73914, 19.51990, 0.00000, 0.00000, 0.00000);
    CreateObject(1796, 125.36270, 1724.45898, 19.49990, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 129.17783, 1721.63660, 19.51980, 0.00000, 0.00000, 0.00000);
    CreateObject(2894, 129.09094, 1720.73242, 20.31950, 0.00000, 0.00000, 180.00000);
    CreateObject(2708, 127.51162, 1720.57312, 19.52100, 0.00000, 0.00000, 180.00000);
    CreateObject(1742, 127.32957, 1728.07837, 19.52040, 0.00000, 0.00000, 0.00000);
    CreateObject(1433, 135.23164, 1723.65991, 19.72764, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.32874, 1724.82654, 19.52068, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.36627, 1722.42798, 19.52070, 0.00000, 0.00000, 180.00000);
    CreateObject(3120, 127.43720, 1720.77820, 19.72050, 0.00000, 0.00000, 0.00000);
    CreateObject(3497, 131.95700, 1718.45898, 21.57613, 0.00000, 0.00000, 0.00000);
    CreateObject(3383, 131.39560, 1719.14221, 16.63670, 0.00000, 0.00000, 0.00000);
    CreateObject(2708, 127.51160, 1720.57312, 16.60390, 0.00000, 0.00000, 180.00000);
    CreateObject(2891, 132.58389, 1719.28540, 17.65080, 0.00000, 0.00000, 0.00000);
    CreateObject(1279, 130.66920, 1719.39136, 17.65100, 0.00000, 0.00000, 0.00000);
    CreateObject(1252, 131.66341, 1719.73438, 17.77100, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.00320, 1721.12073, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.81224, 1721.10596, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.01508, 1722.17017, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.80905, 1722.16809, 16.95760, 0.00000, 0.00000, 0.00000);

    Einmal editiert, zuletzt von iTsTiMe ()

  • Würde aber dank Polarcoordinaten nicht funktionieren (hatte mir Kaliber vorn paar Jahren mal gesagt)


    Das funktioniert nur nicht, wenn du die Drehung beachten willst. Wenn du dir aber den ersten Post anschaust, dann siehst du, dass diese nicht beachtet wird.


    CreateObject(19491, px, py, pz+4, 0.00000, 0.00000, 0.00000); //Die Koordinaten unten abziehen:
    CreateObject(19492, px+129.56802-129.56030, py+1723.08643-1723.13037, pz+21.44730-21.44730+4, 0.00000, 0.00000, 0.00000);
    CreateObject(3260, px+136.00462-129.56030, py+1725.62195-1723.13037, pz+18.26360-21.44730+4, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, px+136.01131-129.56030, py+1723.18750-1723.13037, pz+18.26360-21.44730+4, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, px+136.00462-129.56030, py+1725.62195-1723.13037, pz+20.96095-21.44730+4, 0.00000, 90.00000, 90.00000);
    //ab hier selbst weiter machen...
    CreateObject(3260, 136.00084, 1721.78296, 20.96095, 0.00000, 90.00000, 90.00000);
    CreateObject(3260, 123.53154, 1722.59692, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.50445, 1726.76599, 20.96100, 0.00000, 90.00000, 270.00000);
    CreateObject(3260, 123.53154, 1722.59692, 18.28495, 0.00000, 90.00000, 270.00000);
    CreateObject(1491, 126.35200, 1726.66760, 16.63670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 135.97960, 1722.02246, 16.73670, 0.00000, 0.00000, 270.00000);
    CreateObject(1491, 129.86740, 1719.71375, 19.31300, 0.00000, 0.00000, 270.00000);
    CreateObject(2180, 128.50650, 1720.73914, 19.51990, 0.00000, 0.00000, 0.00000);
    CreateObject(1796, 125.36270, 1724.45898, 19.49990, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 129.17783, 1721.63660, 19.51980, 0.00000, 0.00000, 0.00000);
    CreateObject(2894, 129.09094, 1720.73242, 20.31950, 0.00000, 0.00000, 180.00000);
    CreateObject(2708, 127.51162, 1720.57312, 19.52100, 0.00000, 0.00000, 180.00000);
    CreateObject(1742, 127.32957, 1728.07837, 19.52040, 0.00000, 0.00000, 0.00000);
    CreateObject(1433, 135.23164, 1723.65991, 19.72764, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.32874, 1724.82654, 19.52068, 0.00000, 0.00000, 0.00000);
    CreateObject(1715, 135.36627, 1722.42798, 19.52070, 0.00000, 0.00000, 180.00000);
    CreateObject(3120, 127.43720, 1720.77820, 19.72050, 0.00000, 0.00000, 0.00000);
    CreateObject(3497, 131.95700, 1718.45898, 21.57613, 0.00000, 0.00000, 0.00000);
    CreateObject(3383, 131.66316, 1719.25476, 16.63670, 0.00000, 0.00000, 0.00000);
    CreateObject(2708, 127.51160, 1720.57312, 16.60390, 0.00000, 0.00000, 180.00000);
    CreateObject(2891, 132.58389, 1719.28540, 17.65080, 0.00000, 0.00000, 0.00000);
    CreateObject(1279, 130.66920, 1719.39136, 17.65100, 0.00000, 0.00000, 0.00000);
    CreateObject(1252, 131.66341, 1719.73438, 17.77100, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.00320, 1721.12073, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.81224, 1721.10596, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.01508, 1722.17017, 16.95760, 0.00000, 0.00000, 0.00000);
    CreateObject(3057, 124.80905, 1722.16809, 16.95760, 0.00000, 0.00000, 0.00000);


    Was habe ich gemacht?
    CreateObject(19492, px+129.56802-129.56030, py+1723.08643-1723.13037, pz+21.44730-21.44730+4, 0.00000, 0.00000, 0.00000);


    Jeweils das fett geschriebene hinzugefügt. Das musst du in jeder Zeile machen. Du kannst es auch selbst ausrechnen, aber muss nicht sein.