Gravity/Logic woes

    Valiant70

    That crazy cyborg
    Joined
    Oct 27, 2013
    Messages
    2,189
    Reaction score
    1,167
    • Thinking Positive
    • Purchased!
    • Legacy Citizen 4
    Gravity does not work well with logic. Whether entering, leaving, switching, or just about anything else, it's a wreck. Here are a few problems I've encountered:
    • Gravity only toggles. Since the signal cannot go through any gates, this is woefully insufficient for any kind of decent control.
    • Area triggers are horrifyingly unreliable. I don't know why they work so badly with even the tiniest bit of lag! If you're trying to enforce a gravity switch on a boundary between areas or vehicles, they are terribly ineffective. The same goes for step triggers.
    • THERE. IS. NO. reliable way to enforce gravity activation, deactivation, or switching.
    EDIT: A simple fix idea: two blocks.
    • "Enter gravity trigger" - invisible block that causes a player to enter gravity.
    • "Leave gravity trigger" - invisible block that causes a player to leave gravity.
    • Optional (and mostly useless): "Toggle gravity trigger" - toggles gravity on or off when a player touches it.
    Even if these aren't 100% reliable, spamming them over a wide area will result in reasonable reliability except under extremely high lag.

    An example of a problem I've been dealing with:
    I built a high speed elevator on a space station using several levels of "telescoping" rails (a rail moving on a rail moving on a rail moving on a rail etc. to make it go faster in addition to speed controllers because speed controllers are too weak). The high speed requires the elevator to have its own gravity, and I HATE pressing the gravity every time I get on or off. Activating the gravity when the elevator moves does not allow multiple people on the elevator at a time, so it it not an acceptable solution.

    I set up a system that (theoretically) should work fine as long as the player is in the station's gravity beforehand. A set of area triggers surrounds the elevator. When someone walks onto the elevator platform, they walk through a trigger that shuts off the station gravity and one that turns on the elevator gravity, and vice versa for walking off of the platform.

    It doesn't work. Half the time one or the other doesn't trigger, leaving the player out of gravity. If the player steps on the elevator activation trigger while out of gravity, the elevator will drop away or phase through the player. In either case, the player is left behind.

    I tried covering the entire elevator platform with area triggers, but this just results in the gravity switching off if the player moves around at all. There's not a single reliable way to accomplish gravity switching or enforcement.

     
    Last edited:

    lupoCani

    First Citizen
    Joined
    Jun 23, 2013
    Messages
    504
    Reaction score
    127
    • Purchased!
    • Legacy Citizen 10
    Gravity/logic interaction is definitely too limited, but this suggested approach need two new blocks to resolve a fairly specific subset of the issue. If I may shamelessly self-advertise, I recently suggested three mechanics to give a much broader control of gravity, including the kind you're suggesting, using only block-to-block links.