KillahPotatoes / KP-Liberation

The work on GreuhZbugs Liberation Mission for Arma 3 continues...
MIT License
275 stars 307 forks source link

Suggestion: More mobile spawnpoints #183

Closed Aposky closed 7 years ago

Aposky commented 7 years ago

Hey,

currently there are two vehicles that act as mobile spawnpoints: Huron and Medical truck. For small groups that play Liberation (and enjoy it a lot!) those can be too large to operate. My group often takes littlebird or similar helicopter to fly to objective and jumps into action. To have mobile respawn, we need to take a Huron and lands nearby or take a Huron to transport new FOB building.

What I'd like to suggest is small deployable tent, so small group of players can take with them. There are already few backpacks/deployable tents in ArmA 3, that could act as such mobile respawn once deployed.

What are your thoughts?

k4s0 commented 7 years ago

The idea is good but, I think this is more a personalized thing than a thing to put in a stable version to redistribute at all. We wait for the big boss and we hear what he thinks @Wyqer

dmorchard commented 7 years ago

To expand on Aposky's request: would it be possible to change the definition of Respawn_truck_typename in the preset files to an array of vehicles? i.e. such that "rhsusf_m113_usarmy_medical", "B_Truck_01_medical_F", and any other vehicle could simultaneously function as a mobile respawn.

Wyqer commented 7 years ago

Personally I won't implement it, because in my opinion the trucks and a helicopter are a good amount for mobile respawns (if you even use them).

To have mobile respawn, we need to take a Huron and lands nearby or take a Huron to transport new FOB building.

No offense -> To take a sector you have to kill all enemies. To build a vehicle, you need to get the resources. So from my point of view it's a kind of "I want to be faster". I can understand that some people or groups want a more "action" experience with less "logistic" or "strategic" aspects in their personal gameplay in Liberation. And that's because here is a quick instruction how you can have your desired behaviour in your own missionfile. Not tested and more a "hope I remind all the necessary files good enough", as I'm still very occupied until next week.


In your used preset file you change:

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/presets/blufor/custom.sqf#L27 to

Respawn_truck_typename = ["B_Truck_01_medical_F","B_Heli_Light_01_F"];

and

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/presets/blufor/custom.sqf#L306-L308 to

    support_vehicles = [
        [Arsenal_typename,100,200,0],
        [(Respawn_truck_typename select 0),200,0,100],

So you'll have an array of classnames which act as mobile respawn.


also you have to change the following:

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/functions/fn_getMobileRespawns.sqf#L19 to

(typeOf _x) in (Respawn_truck_typename + [huron_typename])

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/scripts/client/build/open_build_menu.sqf#L57 to

case (Respawn_truck_typename select 0):

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/presets/init_presets.sqf#L240 to

KPLIB_aiResupplySources append Respawn_truck_typename;
KPLIB_aiResupplySources append [huron_typename, Arsenal_typename];

https://github.com/KillahPotatoes/KP-Liberation/blob/9f30f91aa54508fd18aee398941942e333561bcc/Missionframework/scripts/client/misc/playerNamespace.sqf#L52 to

nearEntities [(Respawn_truck_typename + [huron_typename]), 10]

Afterwards everything should work as intended with mobile respawns. And the old truck is still listed as "Mobile Respawn Truck" in the buildmenu.

dmorchard commented 7 years ago

I've implemented all those edits in v0.955 and things seem to be in order; both Respawn_truck_typename entries are buildable, function as respawn points, are recyclable. Thanks Wyqer!

Aposky - I haven't tested it with your tent as the 2nd respawn vehicle yet, but once I do I'll report back.

Aposky commented 7 years ago

@Wyqer Thanks for that detailed information how to mod it. Really appreciate! 🥇

@dmorchard If you make it work, please share with community 👍

dmorchard commented 7 years ago

@Aposky - I tried simply adding the tent as a 2nd respawn inside my preset file... Respawn_truck_typename = ["B_Truck_01_medical_F","Land_TentDome_F"]; along with... [(Respawn_truck_typename select 1),200,0,0], ...added first to the support_vehicles = [] array and then to the buildings = [] array.

However, it doesn't work on several levels:

  1. When the cost of Land_TentDome_F is defined inside support_vehicles = [] it can't be recycled, however defining it inside buildings = [] fixes that issue

  2. Land_TentDome_F is buildable but it can't be repacked into a backpack to be carried into battle. I'm pretty sure this item, which appears as Land_TentDome_F appears in Zeus category "Empty>Things>Camping" as "Tent (Dome Shape)", is simply a prop with no special function.

  3. The deployed version of the vanilla respawn tent appears in that same Zeus category as "Camp (Dome Tent)"; however, I could only find the backpack version in Eden: classname = B_Respawn_TentDome_F. Changing swapping that into my preset file... Respawn_truck_typename = ["B_Truck_01_medical_F","B_Respawn_TentDome_F"]; ...I was able to build the backpack on the ground then pick it up and deploy the tent elsewhere. However (see item 4)...

  4. Neither Land_TentDome_F nor the tent that deploys from the B_Respawn_TentDome_F backpack were a functional Liberation respawn/redeploy point, nor does provide have arsenal access (which I don't think would be appropriate anyways).

My guess: since the tents aren't capable of being crewed they won't function like regular vehicles do in the mobile respawn role. Unfortunately I need to get smarter before I can experiment any further :)

dmorchard commented 7 years ago

@Aposky - Eureka, sorta!

The classname of the deployed respawn dome tent is "Respawn_TentDome_F" (duh!). When I edit my preset with...

Respawn_truck_typename = ["B_Truck_01_medical_F","Respawn_TentDome_F"];

...in the "Support classnames" section, and...

[(Respawn_truck_typename select 0),200,0,100], //B_Truck_01_medical_F [(Respawn_truck_typename select 1),100,0,0], //Respawn_TentDome_F

...in the "support_vehicles = []" array, I'm able to build a deployed tent at any FOB, pack it into a backpack, wear it to a destination and deploy it. At first I thought it wasn't working with the Liberation respawn/redeploy mechanic, but it actually seems to be a one-way travel destination. I can redeploy/respawn to the tent (it's listed as a mobile respawn, just like any medical HEMTT in the deployment GUI); however, there's no "Redeploy" option in the mousewheel menu once you're at the tent.

One thing that my edits don't enable is recycling of the tent if you were ever to hike it back to a FOB. I think simply moving it to the "buildings = []" array would solve that, but I'm content leaving it as a throw-away item. For me and my small group of Liberation junkies this is all the functionality we've ever really wanted from a respawn tent!

Thanks again @Wyqer for your excellent instructions earlier!

Aposky commented 7 years ago

@dmorchard excellent work 🥇 It isn't really a problem to have with one way mobile respawn, if it is going to be used only by small group of infantry :).

One question: I had tried assigning Liberation respawn to Respawn_TentDome_F previously, got some results, but what I really couldn't get done is to remove BiS respawn system that overwritten Liberation's respawn and forced players to respawn at tent and Liberation respawn menu dissapeared. Did you have any issues like that?

dmorchard commented 7 years ago

Thanks, @Aposky! However you may want to strip me of that medal.

I hadn't encountered BiS respawn in my initial testing, which was just a handful of forced respawns. However, I've done dozens of respawn tests since your last post, and now I am seeing that behaviour from time to time. Initially I thought it might be related to distance to the tent, i.e. beyond 100 m I'd get the Lib Deployment GUI with the tent included as a standard "Mobile respawn - ######" entry. However, the more testing I do the more I think some other factor I haven't figured out yet is allowing the BiS respawn to take over intermittently. Sometimes under 50 m works; once or twice greater than 100 m didn't work. At this point I'm pretty confused and couldn't say for certain if it's working "most" of the time or if odds are more like 50/50 or worse.

Other observations:

  1. A freshly built tent doesn't appear to be recognized as a mobile respawn; but after redeploying it is (this doesn't seem to impact the BiS respawn issue).
  2. Repacking and redeploying the tent multiple times is working.
  3. After a save/restart, tents outside of the FOB's build radius are gone (subject to the same "cleanup" conditions as all other vehicles), and tents inside the build radius are retained but not listed on the Deployment GUI until I've redeployed them.
  4. Occasionally, when building a new tent I'll get this BiS error message: "No entry 'bin\config.bin/CfgMarkers.respawn_'.", but I can close it, build the tent and continue.

Tonight I hope to migrate this onto our server and try it out with a buddy of mine - I'll report back if we encounter more weirdness or come up with a work-around.

One last word of warning - dead bodies flopping onto a tent will flatten it, rendering it useless. Allow a 10 m radius for all forced respawn tests :) image

tyl3r99 commented 4 years ago

Sierrastrike on the discord reported that this does not work with 0.96.7

After the 96.7 update the method for adding multiple mobile respawns (here: https://github.com/KillahPotatoes/KP-Liberation/issues/183) doesn't work as intended anymore due to changes in file directories and code. Is there any way to do something similar in the current version?

Wyqer commented 4 years ago

Updated.

Selh88 commented 4 years ago

I followed these instructions and now Liberation just doesn't work at all, when I get onto my server it just spawns me on an island in the south. It also didn't retrieve any of the save data for Liberation on the server, all the settlements etc are back in OPFOR possession and my FOB is gone. Any idea what's gone wrong here?