This is certainly an interesting attempt at an elevator mod - it tries much harder to be realistic than any of the others that were available at the time, and generally succeeds at that (the smooth motion is especially nice, and I haven't seen the animated hoist ropes in any other elevator mod yet).
Unfortunately there are a few issues that prevent it from being much use:
Shutting down the server with an elevator built results in a crash
Trying to ride up results in falling through upon arrival
Lots of debugging spam in the chat when anything happens
Queue system is a bit unrealistic - it serves calls in the order the buttons were pressed, instead of as it arrives at each floor
Despite all that, it's still a fun mod to play with in singleplayer sometimes.
Thanks for the review. I have plans for a full rewrite of the logic of the elevators handling. For now the system is actually pretty fragile, therefore there are sometimes crashes about the doors objects being invalid and also on the shutdown, because IIRC the lua objects are not saved correctly, mainly they can not be serialized as they are userdata.
Except that, I think there is necessary another way of animating the doors since the animations based on the positions changing make jerks. Smoother movements could be obtained with the bone animations as they are entirely client-side.
And yes, as for the unrealistic calls queue, now the elevator arrives to the called floors in the order in which they were called. Actually the calls list needs to be treated in the order of the closest called floors.
The falling through the elevator when it has arrived is like wrong calculation of the player world position after detaching from the object, maybe there is a tiny error in the coordinates leading to the collisions boxes mutual-intersecting and therefore the collisions don't work.
I do have an elevator mod of my own that does some similar things (celevator), you're welcome to take some ideas for fixes from that if you want. I do think there's still a place for this Real Elevators mod to exist despite that - it's almost like a "light" version of it.
For the particular points you've mentioned, the way I've dealt with them, or how I suggest fixing them:
Crashing on shutdown: I assume what's going on is that it's trying to save an entity itself to mod storage or something. The mechanism I've found to work best is to use the static_save=false property on the entities, so that when they unload they just disappear. Then I can just save data about where they were supposed to be at, and spawn new ones when the game starts again. No need to try to find the old ones again, they're just gone.
Door animations: I've found this to work best/smoothest by setting velocity instead of position. If you have the velocity follow half of a sine wave, this tends to be rather visually appealing for doors, much more so than a constant speed.
Call queuing: Going in the order of closest calls is probably good enough. Selective collective (separate up and down hall buttons) would be a nice boost for realism, if you want that.
Falling through upon arrival: The easiest solution I've found for this is to just teleport the player to slightly above the floor right after the elevator stops. In the particular case of celevator there's a bit more logic to it than that (celevator has cars larger than one node and allows riding on top) and I also teleport the player twice, about half a second apart, just in case they still fall through the first time.
This is certainly an interesting attempt at an elevator mod - it tries much harder to be realistic than any of the others that were available at the time, and generally succeeds at that (the smooth motion is especially nice, and I haven't seen the animated hoist ropes in any other elevator mod yet).
Unfortunately there are a few issues that prevent it from being much use:
Despite all that, it's still a fun mod to play with in singleplayer sometimes.
Thanks for the review. I have plans for a full rewrite of the logic of the elevators handling. For now the system is actually pretty fragile, therefore there are sometimes crashes about the doors objects being invalid and also on the shutdown, because IIRC the lua objects are not saved correctly, mainly they can not be serialized as they are userdata.
Except that, I think there is necessary another way of animating the doors since the animations based on the positions changing make jerks. Smoother movements could be obtained with the bone animations as they are entirely client-side.
And yes, as for the unrealistic calls queue, now the elevator arrives to the called floors in the order in which they were called. Actually the calls list needs to be treated in the order of the closest called floors.
The falling through the elevator when it has arrived is like wrong calculation of the player world position after detaching from the object, maybe there is a tiny error in the coordinates leading to the collisions boxes mutual-intersecting and therefore the collisions don't work.
I do have an elevator mod of my own that does some similar things (celevator), you're welcome to take some ideas for fixes from that if you want. I do think there's still a place for this Real Elevators mod to exist despite that - it's almost like a "light" version of it.
For the particular points you've mentioned, the way I've dealt with them, or how I suggest fixing them: