Elevator

    • Hi community,

      This is a simple plugin that allows you to place (still very basic, but working) elevators in your world. Easily rename the 'test-welt.elevs' file to 'your-worldname.elevs' and put the type and coordinates inside the file.


      In the .elevs file you have to put the elevators properties like '--property:value'. After that write '#elevtype'. You successfully added an elevator:)

      Possible properties for an elevator in the .elevs file:

      pxnumericposition x
      pynumericposition y
      pznumericposition z
      rnumericrotation
      floorsintnumber of floors
      floorheightnumericheight of 1 floor


      Example:

      Quellcode

      1. --px:400
      2. --py:153
      3. --pz:-120
      4. --r:180
      5. --floors:4
      6. --floorheight:7
      7. #MetalElev_8x8x5


      You can also add custom elevator models. Feel free to send them to me and I will attach them to this post.

      To add an own elevator you have to create a file called 'your-elevators-name.elev' in the assets directory and put the properties of your new elevator inside it. Here's a list of all possible properties:

      cabinmodeltextPath to the cabin-model
      cabintexturetextPath to the cabin-texture
      door1modeltextPath to the first door-model
      door1texturetextPath to the first door-texture
      door2modeltextPath to the second door-model
      door2texturetextPath to the second door-texture
      panelmodeltextPath to the panel-model
      spaneltexturetextPath to the panel-texture
      buttonmodeltextPath to the button-model
      buttontexturetextPath to the button-texture
      buttonxnumericcorrect button position x (needed if ray-casting isn't working(then the button isn't interactable))
      buttonynumericcorrect button position y (needed if ray-casting isn't working(then the button isn't interactable))
      buttonznumericcorrect button position z (needed if ray-casting isn't working(then the button isn't interactable))
      panelxnumericcorrect panel position x (needed if ray-casting isn't working(then the panel isn't interactable))
      panelynumericcorrect panel position y (needed if ray-casting isn't working(then the panel isn't interactable))
      panelznumericcorrect panel position z (needed if ray-casting isn't working(then the panel isn't interactable))
      scalenumericscale all models
      door1routenumericdistance the door 1 has to move to open/close
      door2routenumericdistance the door 2 has to move to open/close; usually it is door1route*(-1)
      doorspeednumericspeed of the door while opening
      dooropentimenumerichow long the door stays opened before it closes again
      drivespeednumericspeed of the elevator while driving
      arrivewaitnumerictime the elevator waits after arriving the target floor before opening the door


      I will add a few more elevator-models (probably in the next days). Currently, if you call an elevator and it is allready driving anywhere, it does nothein. In the future I will add a queue so it will drive from floor to floor.
      Bilder
      • 20161120120018_1.jpg

        193,84 kB, 1.920×1.080, 647 mal angesehen
      • 20161120120043_1.jpg

        122,97 kB, 1.920×1.080, 520 mal angesehen
      • 20161120120251_1.jpg

        161,22 kB, 1.920×1.080, 461 mal angesehen
      • 20161120120255_1.jpg

        210,55 kB, 1.920×1.080, 470 mal angesehen
      Dateien

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von Galveston01 ()

    • @Galveston01 great job! You beat me: I was working on a Java port of my LUA TELevator script, but I got stuck in a number of details.

      May I suggest you not to take for granted that the distance between the floors of an elevator is constant and, rather, allow to set the position of each floor (perhaps, all 3 coordinates of each floor, just in case...)?
      __________
      My plug-ins: Planks 'n Beams, GPS, UPS, Weather control, Plugin Central, RWGui (GUI back-end), Bank (Money back end)
    • Die Größe ist ja mit dem Modell festgelegt. Du könntest höchstens den scale Faktor ändern (in der BigMetalEelv_8x8x5.elev), was jedoch Höhe, Breite und Länge proportional verändern würde. Ansonsten muss ein neuer Elevator (mit der entsprechenden Größe) erstellt werden und im assets-Ordner abgelegt werden. Demnächst werde ich auch noch neue Elevators in anderen Größen hochladen
    • Ok danke für die Anwort, dann werde ich warten bis die anderen kommen. Die Fahrstühle ansich sind toll. :thumbup:
      Wenn zwei Spieler in einem Aufzug sind, kommen auch beide hoch oder runter aber die position des spielers verschiebt
      sich während der Fahrt immer wieder je nach dem ob es rauf oder runter geht. das plugin gleicht dies aber nach kurzer Zeit immer wieder aus.

      ==Hessenstrolche==

      Teamspeak 3: 185.239.238.125:9987 / Rising World Server:185.239.238.125:4255
      Homepage / Discord / FB-Gruppe
    • Seems for me to work "Ok" in SP mode, but few comments/suggestions:

      - If you play around with selecting and reselecting floors with the GUI while things are operating, eventually things get out of sync, "messed up"
      - In multiplayer, again, if u mess around (and players will) with two people selecting things at same time, it gets "messed up"
      - The interaction with the GUI does not work properly if the "Interaction" key is set to a mouse button versus a keyboard key (middle mouse button in particular). The GUI remains stuck open and you can't "Execute" the floor selection.
      - Suggest that the GUI have a "Close" and/or "Cancel" button and/or "X" close box.
      - Suggest the GUI have an "Execute/Go" button versus hitting the "Interaction key" again (related to the not working right with a mouse button)
      - Need a method (like red wireframe block) to select the placement of the elevator in-game versus having to edit the .elevs file and restart/reload the server. Also a GUI to be able to select the type of elevator, #floors, floor spacing, etc while in-game versus editing the .elevs file and requiring a restart/plugin reload.

      LOVE THE IDEA HERE THOUGH!
    • I'm having an little issue with the drivespeed variable not syncing correctly.
      If I for instance create an elevator with many floors and then adjust the drivespeed to make the elevator move faster; The elevator will move at the selected speed, but the elevator doors won't open when it arrives. The doors seems to wait for the original unmodified drivespeed, and only opens at the time it normally would take for an unmodified elevator to move. If you then have many floors, you'll have to wait a really long time for the doors to open after the elevator arrived at the destination. I have only modified the drivespeed and nothing else.
      Is this an bug, or am I missing something?

      Except for the drivespeed issue, I totally love this plugin. Keep up the good work!
    • Hallo @Galveston01

      Hätte da mal eine Frage
      Könntest du dein Plug-in nicht auch etwas umprogrammieren so das es waagerecht funktioniert mit einem anderen Model ( Boot, Fähre, Gondel oder Transrapid).
      Nur so eine Idee 8o
      Somit könnte man zb mit einem Boot übers Wasser fahren.

      ==Hessenstrolche==

      Teamspeak 3: 185.239.238.125:9987 / Rising World Server:185.239.238.125:4255
      Homepage / Discord / FB-Gruppe