gruppe-adler / grad-persistence

Save/Load mission progress in server's profileNamespace
26 stars 13 forks source link

Need additional option to save tasks, markers and other mission variables. #3

Closed lsvalmont closed 5 years ago

lsvalmont commented 5 years ago

Grad Persistence is one of the best, if not the best, persistence enabling script suite for Arma 3 hands down!

One thing it is missing from being complete thou are the options to:

1) Save mission markers (updated/added by scripts or placed by players during the match). 2) Save current/completed tasks. 3) Have a simple sqf or config file to include additional variables to save/load via persistence. (For example my mission uses a "Reputation" variable that also needs to be saved/loaded persistently. So have a simplified way of adding additional variables to be saved. (Both player and/or faction wide).

Also, for vehicle/stash save, it would be great to have the option to save just the editor placed objects or every object including spawned ones during the match via scripts. For example the Ravage mod spawns ambient vehicles around players and right now with Grad vehicle save enabled it just keeps saving more and more spawned vehicles until the FPS are down to a crawl.

Thanks and please keep updating this until it completely replaces the bugged and unreliable Bis_Savegame.

McDiod commented 5 years ago
  1. can do, will exclude player drawn lines though
  2. will look into it
  3. like it
  4. There is an option to exclude editor objects (see here, e.g. saveVehicles = 1) - you are right, there should be an option to exclude non-editor objects. Current workaround would be to set grad_persistence_isExcluded to true on the Ravage mod vehicles, if you can hook into their spawn routine.
lsvalmont commented 5 years ago

Thanks for the quick reply. I am making Hunter Six (The SP missions) into a MP persistent one and Grad-Persistence is a Godsend! I am also doing a Ravage mission and G-P has become quite popular for Ravage missions and is often mentioned on its forum thread so it is sad that we have to disable the vehicle saving part since like you said G-P offers customization just to exclude editor placed vehicles versus what we need that is to exclude non editor placed vehicles and units. Looking forward for those final touches so we can have G-P fully enabled in all our missions =)

Quick question: Are triggers status a thing that can also be persistently saved? For example a non repeatable trigger has been triggered (a trigger that spawns enemies for example) and the mission maker doesn't wan't the trigger to be refreshed on mission load, can that also be saved?

lsvalmont commented 5 years ago

It seems that as long as the mission maker uses the Arma 3 Task Framework: https://community.bistudio.com/wiki/Arma_3_Task_Framework#Handling_Tasks_in_MP_Environment

It should be quite easy to save the tasks persistently...

Here is an example: https://www.tacticalgamer.com/forum/simulation/armed-assault/arma-development/script-bin/1805397-create-tasks-server-side-using-bis_fnc_taskcreate

McDiod commented 5 years ago

Okay so current status:

Markers: I ran into some problems here. Unless I find a solution, player markers lose their owner when loading (which means players will be unable to delete them). PR here.

Tasks: This is gonna have some limitations as well. See PR.

Variables: Nothing yet.

Exclude non-editor objects: This is merged already. Will be in next release.

Triggers: Probably possible. Will have to think about what options to provide here. Some users might want re-execution of trigger statements, others will not.

lsvalmont commented 5 years ago

Markers: Ok but what about script placed markers that do not need to be deleted? In my mission a script marks every interrogated NPC, that is not supposed to be deleted anyway. We could warn the players to delete their markers before saving. Both solutions seem ok for most.

Tasks: Saving the status of Global and Side owned tasks is more than enough! Good job!

Variables: That is minor, perhaps making a tutorial on how to do this on the current GP would be enough.

Triggers: Seems quite useful to be able to save this (as an option), as most mission makers don't want their triggers refreshing making things repetitive. Only scenario someone would want triggers to be reactivated is on super random open world missions where players use all the map and don't mind activating the same missions/effects all over again during their persistent play troughs.

I believe that after Grad deals with Markers, Tasks and Triggers there will be no point on using BIS default and buggy MP save system. (It also generates 200MB files!!)

McDiod commented 5 years ago

There is now a pre-release for this issue here: https://github.com/gruppe-adler/grad-persistence/releases/tag/0.7.0_rc1