A few more scripter requests - Ability to tell the UID of ANY entity a player is in

    Benevolent27

    Join the Dark Side
    Joined
    Aug 21, 2015
    Messages
    585
    Reaction score
    327
    • Purchased!
    So I am making some support scripting for my wrapper and I noticed that I cannot easily determine the UID of an asteroid or planet part. I was able to do a workaround for the planet parts by comparing the astronaut's specific location within a sector to all of the planet parts in the same sector and then returning the match. But for asteroids, this only works on asteroids that are still. If the asteroid is moving, my script is forced to return "asteroidError" as the result because the spacial coordinates don't match due to the uneven timing of the two commands. And mind you, this took me a bit of time to figure out, so I imagine other scripters out there might've given up on this.

    Why is this important?

    Being able to control the entity a player is in, regardless of type, is crucial to a lot of scripting ideas, such as player created quest engines for wrappers. What if I want to make an instanced quest and a player enters a build block on an asteroid that is moving? When the quest ends.. I need to be able to force the player out of the asteroid somehow, or I am forced to have the quest scripting teleport them back to their sector in an asteroid.. Or I have to completely destroy all entities within the sector before teleporting the player. But what if the instance is also open to other players? I might not want to destroy everything just because one person is done in the area. I have timing on the quests for a reason, because players are only given a certain timeframe to meet their objective in that quest, so I don't want to have to sacrifice team-play nor do I want to get rid of the time-frame the person has in that sector. So I am at a cross-roads here.

    So how could this be implemented without breaking support for other scripts?

    - Make a few new commands that provides the specific information. For example:
    /player_entity - Gives the name of the entity (or equivalent for asteroids) that the player is controlling
    /player_entity_uid - Gives the UID of the entity the player is controlling, whether it is an asteroid, planet part, base, or ship

    In Conclusion

    I give a big Thank you to the developers for creating this game. I've had a lot of fun playing and scripting for it. I look forward to expanding my efforts as new capabilities roll out. I honestly believe though that if you support the people that are developing new and unique content for the game, it will have an exponential payoff as we see unique content being created across servers. Commands like these will do a lot to help your most devoted followers.
     

    Erth Paradine

    Server Admln & Bug Reporter
    Joined
    Feb 15, 2016
    Messages
    239
    Reaction score
    58
    It would be nice, if the existing "CONTROLLING" /player_info attribute would list what a player is aligned and/or attached to (e.g. gravity), when the player is not inside a core.

    We do have the "CONTROLLING-POS:" attribute, which changes when an astronaut moves around...but without parsing logs and tracking changes there, we have no good visibility when players are aligned to, or in the gravity of, a nearby entity.