Jump to content
IvosH_cz

Revive, Respawn parameters in the lobby

Recommended Posts

Hallo

I would like to ask you for help. I want to add mission parameters for revive and respawn which can be chosen in the lobby

Can you tell me what code to put in the mission files and where? Description.ext, init.sqf…..?

 

Changeable Parameters, I would like to use:

Revive: Enable / Disable

Required trait: Everybody / Medic

Number of Respawns (Tickets for player): Infinite / 18 / 6 / Disable

 

Unchangeable setup of the mission:

Required Item: First aid kit/Medkit, First Aid consumed on Revive)

 

Mission link

 

Thank You for your help.

Share this post


Link to post
Share on other sites

Maybe get a combo of:

https://community.bistudio.com/wiki/BIS_fnc_getParamValue

and 

https://community.bistudio.com/wiki/Arma_3_Mission_Parameters

going.

Seems like you'd be able to use something like this?

_Revive = "ReviveRequiredTrait" call BIs_fnc_getParamValue;
if(_Revive == 1) then {};

 if I'm wrong please correct me. It'd be interesting to find out how this works as well. 

Share this post


Link to post
Share on other sites

Thank you guys for your advice. Here is how I solved it.

 

description.ext

 

overviewText = "You are guerrilla squad operating behind enemy lines. CSAT forces trying to recreate a secret WW2 weapon. Your mission is to sabotage the research. Secure all the documents of the weapon. Find location of the test site and destroy the weapon. Coop for 2-8 Players. Zeus avalible for Squad leaders. Revive and Respawn system. Dinamic groups. Arsenal.";

overviewTextLocked = "You are guerrilla squad operating behind enemy lines. CSAT forces trying to recreate a secret WW2 weapon. Your mission is to sabotage the research. Secure all the documents of the weapon. Find location of the test site and destroy the weapon. Coop for 2-8 Players. Zeus avalible for Squad leaders. Revive and Respawn system. Dinamic groups. Arsenal.";
 
overviewPicture = "dev.jpg";
 
onLoadName = "Research break";
OnLoadMission = "Sabotage CSAT research";
loadScreen = "dev.jpg";
author = "IvosH";
 
class Header
{
gameType = Coop;
minPlayers = 2;
maxPlayers = 8;
};
 
respawn = 3;
respawnDelay = 15;
respawnVehicleDelay = 60;
respawnTemplates[] = {"Revive","MenuPosition","Tickets","Spectator","EndMission"};
 
respawnOnStart = -1;
disabledAI = 0;
joinUnassigned = 1;
aiKills  = 1;
 
corpseManagerMode = 2;
corpseRemovalMinTime = 0;
corpseRemovalMaxTime = 1;
 
//--- Revive
ReviveMode = 1;                         //0: disabled, 1: enabled, 2: controlled by player attributes
ReviveUnconsciousStateMode = 1;         //0: basic, 1: advanced, 2: realistic
ReviveRequiredTrait = 0;                //0: none, 1: medic trait is required
ReviveRequiredItems = 2;                //0: none, 1: medkit, 2: medkit or first aid kit
ReviveRequiredItemsFakConsumed = 1;     //0: first aid kit is not consumed upon revive, 1: first aid kit is consumed
ReviveDelay = 6;                        //time needed to revive someone (in secs)
ReviveMedicSpeedMultiplier = 2;         //speed multiplier for revive performed by medic
ReviveForceRespawnDelay = 3;            //time needed to perform force respawn (in secs)
ReviveBleedOutDelay = 180;              //unconscious state duration (in secs
 
class CfgDebriefing
{
class End1
{
title = "Mission Accomplished";
subtitle = "All tasks done";
description = "Excelent job soldiers. CSAT research was destroyed. Enemy forces suffered a significant loss of military equipment.";
};
class End2
{
title = "Mission Accomplished";
subtitle = "Main tasks done";
description = "Good job soldiers. CSAT research was destroyed.";
};
class End3
{
title = "Mission Failed";
subtitle = "Hey are you dead?";
description = "Fatal error";
};
};
 
class Params
{
class TimeofDay0
{
title = "Time of Day";
values[] = {5,12,19,23};
texts[] = {"Morning","Noon","Dusk","Night"};
default = 5;
};
class Weather1
{
title = "Weather";
values[] = {0,1,2,3};
texts[] = {"Clear","Cloudy","Stormy","Foggy"};
default = 1;
};
class Respawns2
{
title = "Respawn tickets";
values[] = {0,1,2,3};
texts[] = {"Infinite","18","6","No respawn"};
default = 0;
};
class EmtpyLine1 {
//--- paramsArray[0]
title = " ";
values[]={0,0};
texts[]={ "",""};
default = 0;
};
class EmtpyLine2 {
//--- paramsArray[0]
title = "--- Revive Settings ---";
values[]={0,0};
texts[]={ "",""};
default = 0;
};
#include "\a3\Functions_F\Params\paramRevive.hpp"
};
 
class CfgSounds
{
sounds[] =
      {joke};
   
    class joke
   
    {
      name = "joke";
      sound[] = {"\sound\joke.ogg", db+15, 1.0};
      titles[] = {   };
    };
};
 
 
init.sqf

 

call compile preProcessFileLineNumbers "fhqtt2.sqf";

call compile preProcessFileLineNumbers "briefing.sqf";
 
skiptime (((paramsarray select 0) - daytime + 24) % 24);
 
switch (paramsarray select 1) do {
  case 0: { 0 setOvercast 0; 0 setRain 0; 0 setFog 0 };
  case 1: { 0 setOvercast 0.7; 0 setRain 0; 0 setFog 0 };
  case 2: { 0 setOvercast 1; 0 setRain 1; 0 setFog 0.2 };
  case 3: { 0 setOvercast 0.7; 0 setRain 0; 0 setFog 0.7 };
};
 
switch (paramsarray select 2) do {
  case 0: { [player, 0] call BIS_fnc_respawnTickets;};
  case 1: { [player, 18] call BIS_fnc_respawnTickets;};
  case 2: { [player, 6] call BIS_fnc_respawnTickets;};
  case 3: { [player, 1] call BIS_fnc_respawnTickets;};
};
 

 

 

Share this post


Link to post
Share on other sites

sadly I find out, that revive parameters [#include "\a3\Functions_F\Params\paramRevive.hpp"] doesn't work for the dedicated servers. Does anybody have a solution?

Share this post


Link to post
Share on other sites

sadly I find out, that revive parameters [#include "\a3\Functions_F\Params\paramRevive.hpp"] doesn't work for the dedicated servers. Does anybody have a solution?

Have no clue, tried doing the same thing and took down the server instance do to this error! :(

Share this post


Link to post
Share on other sites

Reviving an old thread, but only because I found a solution that I think other people searching for this might appreciate.

 

If you look into Arma 3\Addons\functions_f.pbo, you'll find a file paramRevive.inc. It contains all parameters for the revive system and you can simply copy those that you want to have inside your mission and add them to your description.ext.

For example, if you only want to select what items are required for a revive, you do something like this:

class Params
{
    class ReviveRequiredItems
    {
        title = $STR_A3_RequiredItems;
        isGlobal = 1;
    
        values[] = {
            -100,
            0,
            1,
            2
        };
        texts[] = {
            $STR_A3_MissionDefault,
            $STR_A3_None,
            $STR_A3_Medikit,
            $STR_A3_FirstAidKitOrMedikit
        };
        default = -100;
        function = "bis_fnc_paramReviveRequiredItems";
    };
};

Because it uses only strings from the game, it will display them in the player's language, which is nice.

I tested this on a dedicated server and it seems to be working well.

  • Like 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×