PyPlanet / PyPlanet

:rocket: PyPlanet is the next-gen Server Controller for ManiaPlanet (v4+) and Trackmania. Using Python3 and AsyncIO.
http://pypla.net/
GNU General Public License v3.0
109 stars 47 forks source link

[Question] Control over in-game behavior? #1166

Closed vjeux closed 2 years ago

vjeux commented 2 years ago

I have this idea of creating an Escape Room and was wondering how I could get as close to the real world ones within Trackmania.

From what I understand the server knows the location of every car since when the connection is not stable the car can move and teleport.

I was wondering if it was possible to read/write car location from pyplanet (or other system). My thinking is to make numbers from 1-9 on a wall and have players move there to write the answer. If I can read position then I can check if it’s the right combination and do something.

I’m also wondering what are the possibilities in terms of changing the track. I want to somehow make new sections of the track be accessible.

I was wondering if we could add/remove blocks, freeze/unfreeze the animation of movable blocks, enable/remove mediatracker triggers, change textures, teleport players… any of those would be very helpful.

Worst case, I can have invisible checkpoints + double respawn that are indicated through the ui but that’s not ideal.

Thanks!

skybaks commented 2 years ago

Modifying player position is more of a thing that would be handled by a custom mode script and not the dedicated server controller.

tomvlk commented 2 years ago

As @skybaks already said, this is not possible with a controller, you would have to work with a custom mode, and thus some ManiaScript. There you can manipulate position of players etc.

vjeux commented 2 years ago

Thanks! I’ve been able to find a way to make it work with a new “game mode” the same way Flag Rush is built.

I’ve been working on the map and will do a playthrough with Yannex on June 1st if you are interested!