jpcsupplies / Economy_mod

Basic Economy System for Space Engineers
13 stars 12 forks source link

TODO: hud and mission state is remembered #132

Closed jpcsupplies closed 6 years ago

jpcsupplies commented 8 years ago

Going to transmogrify this issue to a unrelated save issue since the other sese issue replaces it..

Need the players current /hud on/off/settings to save client side, so if they turn it on (or off) it is still like that when they log on next. (be nice if we can setup a safe place/timer to trigger the hud update routine client side only as well that has no server sim impact - then i dont have to chase all the chat events that might change balance)

Also need their current mission id string to remember too somehow (client side only) so that whatever mission they were on when they logged out is still there when they log in again. That may be an issue if they play from a different machine however minor that is, so maybe back it up DS, but only on connect/disconnect so its not bothering the server.

Thats everything I am stuck on at the moment.

Had some reports of sese not playing nice with frontier economy.

Best guess/wild speculation is becuase SESE saves the map itself instead of letting the server do it - Perhaps it isn't triggering our own data save routine properly?

Maybe we need an /econfig save command as a work around for wierd stuff like this? Ideally integrating a few simple fixes in case a players data went bad somehow.

jpcsupplies commented 8 years ago
//mission system
                    /* 
                     Mission system will use a set of conditions which are set on commencement of mission. conditions not used are nul
                     * target location  eg 1000,1000,1000
                     * target player eg xphoenixxx
                     * target trade zone eg Trader
                     * target ship/station id? destruction or capture/rename would end the mission (much like beacons becoming unlinked on trade zones)
                     * target event eg buy/sell/pay/drop/collect/kill?/capture?
                     * target reward eg 1000 credits or 100 missile crates etc or a prefab id
                     * Lazy missiontext is only using mission hud id  0 or 1 at the moment and changing the text based on clientconfig.missionid and active conditions
                     * this allows us to use the internal hud mission ids with increment for more complex mission chains (eg patrol points multiple objectives etc)
                     * or skip it entirely for single objective missions (eg deliver x item to y location)
                     * on top of this we can use a pick-a-path or choose your own adventure style system where we substitute page number with missionID - 
                     * these style missions will be partially fixed by loading from a mission file allowing admins to design their own story missions
                     * hard coded missions could be the emergency restock contracts which trigger automatically/randomly as stock levels plummet contracts could work as a
                     * seperate system as hud space is limited. eg /contracts or we could work it in as a mission chain under main mission system
                     * this allows for very complicated missions to be assembled using quite simple code (i like simple i understand simple!)
                     * we need to save clientconfig.missionid client side so players can continue missions
                     * if conditions are encoded in hud mission text, we could save that too and restore on rejoin

                     */
jpcsupplies commented 8 years ago

@midspace escort missions?
How hard would it be to set some way points, and have a prefab ship spawned in (eg ore hauler) track it autopilot to automatically fly to waypoints, and maybe randomly spawn in some AI ships along the way?

jpcsupplies commented 6 years ago

This falls under the inactive mission api the original issue of hud state is already remembered, and the mission tracking falls under the umbrella of the mission api anyway. No point duplicating the same thing in two issues.