Jump to content

Recommended Posts

Is author an actual script command ? I can't find any information about it

No, it isn't. It's a description.ext-entry, just like briefingName. The one works, the other doesn't. And I don't know why.

Edited by Belbo

Share this post


Link to post
Share on other sites

Description.ext entries can to the best of my knowledge not be used in scripts. Maybe some script is reading entries from description.ext and defined global variables , but normally, those shouldn't be available

Sent from my Xperia Z1

Share this post


Link to post
Share on other sites
Description.ext entries can to the best of my knowledge not be used in scripts. Maybe some script is reading entries from description.ext and defined global variables , but normally, those shouldn't be available

Now that you say it, I've noticed that briefingName is actually a scripting command. Somehow it bothers me very much that author or onLoadName aren't. ;)

I made an entry on the feedback-tracker for that: http://feedback.arma3.com/view.php?id=21148

Share this post


Link to post
Share on other sites

Hi, is this still working? I tried to implement this in one of my missions. Everything worked but I get no notification when a task is completed, assigned or whatever. Am I doing something wrong or is it outdated because of an Arma update?

Works now :-) Just added a briefing.

Thanks for this great script!

Edited by CommanderX

Share this post


Link to post
Share on other sites

Works now :-) Just added a briefing.

Thanks for this great script!

You're welcome.

The problem with the briefing is already fixed in the unreleased version. Geez, I wanted to release it for two months now and never got around to do it. I should, really.. I try this week

Share this post


Link to post
Share on other sites
First of all, thanks. This is a great script package to use.

Is there a way to update the task location? For instance, I have a random unit spawned in a 500m radius. When he is detected I would like the task marker to move to that location as well. When making SP missions this is easily done with setSimpleTaskDestination....

I can add a function to update the task position. The reason you don't see it in MP is that tasks are local, they have to be replicated on each client.

I still haven't figured out how to do this with your script and see you have an update coming. Would this be hard to implement? Thanks again for the great script!

Edited by Mosh
condense post

Share this post


Link to post
Share on other sites

This is exactly what I was looking for. Thanks!

Share this post


Link to post
Share on other sites

This isn't working on a dedicated server for me, it there something wrong with the script?

Share this post


Link to post
Share on other sites
This isn't working on a dedicated server for me, it there something wrong with the script?

I'm using it for all missions. Can you post your briefing script?

Share this post


Link to post
Share on other sites
I'm using it for all missions. Can you post your briefing script?

/* Briefing
* The briefing can be defined by calling FHQ_TT_addBriefing.
* The array is built like this.
* The first element should be a filter (side, group, faction, or a piece of script)
* This is followed by pairs of strings, a head line, and an actual text.
* Briefings are added in the order in which they appear for any unit that matches
* the last filter.
*/

[
west, 
	["Background",
		"Section 14 has found out that the enemy are looking to expand their influence on the Island.<br/><br/>We need to know what they are planning.<br/><br/>For this to happen Section 14 have ordered us to recover a laptop situated somewhere in this <marker name='hotel'>hotel</marker>. <br/><br/>"],

	["Mission",
		"MISSION ORDERS <br/><br/>From: Section 14 <br/>To: TOUR Platoon <br/>Classification: Urgent <br/><br/>Details: <br/><br/>Retrieve the enemy Laptop from within the <marker name='TOUR_mkr_target'>Hotel complex</marker> in order to complete your task. <br/><br/>Report in to the <marker name='TOUR_mkr_end'>Communications Officer</marker> once you are ready to end the mission. <br/><br/>END OF MESSAGE <br/><br/>"],

	["Enemy",
		"Enemy Forces: <br/><br/>2 Platoons of expertly trained Infantry.  Possible vehicle support.<br/><br/><marker name='TOUR_mkr_target'>CSAT forces are occupying the Hotel complex.</marker> <br/><br/>Friendly Forces: <br/><br/>Infantry Platoon.<br/><br/>We move out from <marker name='respawn_west'>F.O.B Ajax</marker> <br/><br/>"],

	["Assets",
		"3 Trucks at F.O.B Ajax and 6 x boats at the docks.<br/><br/><br/>"],

	["Signal",
		"Command element consisting of Platoon Commander and Platoon Medic.<br/><br/>3 x Infantry Squads of 6 men each. (Alpha, Bravo and Charlie Squads).<br/>"],

	["Credits",
		"20 [Tour] Hotel Babylon <br/>Created by: Dale [Tour] <br/>Version: 0.70 <br/><br/>Mission details: <br/><br/>Scripts Used: <br/><br/>Tour Coop Mission Template <br/>Created by: Outlander <br/><br/>Name Recognition script <br/>Created by: Deadfast <br/>Usage: Press H to turn on and off <br/><br/>Tour Respawn Control <br/>Created by: Mr.Ben <br/>Usage: Automatic on player death."]

] call FHQ_TT_addBriefing;

[
    west,
       ["task1", "Recover the Laptop from this <marker name='TOUR_mkr_target'>hotel.</marker>", "Find the Laptop",
"Laptop area", getMarkerPos "hotel", "assigned"],

	["task2", "Report into the Communications Officer <marker name='TOUR_mkr_end'>at this location.</marker>", "Report to the Comms Officer",
"Comms Officer", getMarkerPos "TOUR_mkr_end", ""]

] call FHQ_TT_addTasks;

The briefing isn't showing up and neither are the tasks. They do when I host it locally and testing with the MP editor.

Share this post


Link to post
Share on other sites

Hm, this looks fine. Are you setting the units to captive at the beginning?

Share this post


Link to post
Share on other sites

really useful! thansk a lot, this is more how tasks should work. intuitive and flexible. Thanks again!

Share this post


Link to post
Share on other sites

I am thinking the latest official update broke something. FHQTT worked fine yesterday, and since the update it is no longer updating the task states.

 

nevermind. just another setCaptive issue, like above

Edited by opec666

Share this post


Link to post
Share on other sites

Hi fellas,

 

I got a similar problem with my latest mission, using this great script finally got my tasks work fine when I host MP from my pc, but there are absolutely no tasks on a dedicated server!! 

 

Don´t really understand the statements above related to a setCaptive issue.., if somebody could pls explain!? I´m kinda frustrated, cause getting tasks to work properly is the main thing I not getting right!

 

I looked into a few of Alwarren´s missions, but since I dont use FLOW for mission making, I cant really get it right...

 

Some support would be highly appreciated, thanks!!! 

Share this post


Link to post
Share on other sites

I got a similar problem with my latest mission, using this great script finally got my tasks work fine when I host MP from my pc, but there are absolutely no tasks on a dedicated server!! 

 

Don´t really understand the statements above related to a setCaptive issue.., if somebody could pls explain!? I´m kinda frustrated, cause getting tasks to work properly is the main thing I not getting right!

 

setCaptive basically makes units change side to civilian. So if you add a briefing/tasks to, say, west, and you units are setCaptive true; they will not receive the briefing/tasks.

 

However, if it works on hosted, then you are most likely doing one of two things wrong:

 

1) You use the script command "player". NEVER EVER use that if you want your mission to work in MP. Not only is it a different value on each client, it is not even defined on a dedicated server.

2) You are using the task tracker on a client. Note that the functions like "AddBriefing" MUST be executed on the server only.

Share this post


Link to post
Share on other sites

setCaptive basically makes units change side to civilian. So if you add a briefing/tasks to, say, west, and you units are setCaptive true; they will not receive the briefing/tasks.

 

However, if it works on hosted, then you are most likely doing one of two things wrong:

 

1) You use the script command "player". NEVER EVER use that if you want your mission to work in MP. Not only is it a different value on each client, it is not even defined on a dedicated server.

2) You are using the task tracker on a client. Note that the functions like "AddBriefing" MUST be executed on the server only.

 

 

Hi Varanon,

 

thanks for your reply!

 

Ok, my playeable units are not set captive. So this can´t be it!

 

I used your script btw with following tutorial: http://phantommissionsite.weebly.com/arma-3.html

 

It made things work for me until we started our dedicated server a few days ago. Most likely you are right that I might be using 

 

Task Tracker on a client...., simply dont know how to make it work server side to be honest. 

Share this post


Link to post
Share on other sites

Hi Varanon,

 

thanks for your reply!

 

Ok, my playeable units are not set captive. So this can´t be it!

 

I used your script btw with following tutorial: http://phantommissionsite.weebly.com/arma-3.html

 

It made things work for me until we started our dedicated server a few days ago. Most likely you are right that I might be using 

 

Task Tracker on a client...., simply dont know how to make it work server side to be honest. 

 

 

..this is how my init.sqf looks like:

// JIP Check (This code should be placed first line of init.sqf file)
if (!isServer && isNull player) then {isJIP=true;} else {isJIP=false;};

call compile preProcessFileLineNumbers "fhqtt.sqf";
call compile preProcessFileLineNumbers "briefing.sqf";

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};

["%1 --- Executing TcB AIS init.sqf",diag_ticktime] call BIS_fnc_logFormat;
enableSaving [false,false];
enableTeamswitch false;			// TcB AIS wont support teamswitch


//call compile preprocessFile "=BTC=_revive\=BTC=_revive_init.sqf";

// TcB AIS Wounding System --------------------------------------------------------------------------
if (!isDedicated) then {
	TCB_AIS_PATH = "ais_injury\";
	[] spawn {
		{[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (if (isMultiplayer) then {playableUnits} else {switchableUnits});		// execute for every playable unit
		
		//{[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach (units group player);													// only own group - you cant help strange group members
		
		//{[_x] call compile preprocessFile (TCB_AIS_PATH+"init_ais.sqf")} forEach [p1,p2,p3,p4,p5];														// only some defined units
	};
};
// --------------------------------------------------------------------------------------------------------------

if (isServer) then {[1000,-1,true,100,600,600]execvm "zbe_cache\main.sqf"};

if (isServer) then {

fnc_cleanup = compileFinal preprocessFileLineNumbers "cleanup.sqf";


[] spawn {

    while {true} do { 

     [] call fnc_cleanup;

     sleep 500;
    };
 };
};

//execVM "scripts\mission.sqf";

execVM "scripts\infotext.sqf";

//EOS SYSTEM
[]execVM "eos\OpenMe.sqf";

// VcomAi initialize
[] execVM "VCOMAI\init.sqf";

skiptime (((paramsArray select 0) - daytime + 24) % 24);

switch (paramsArray select 1) do {
  case 0: { 0 setOvercast 0; 0 setRain 0; };
  case 1: { 0 setOvercast 0.8; 0 setRain 0.3; };
  case 2: { 0 setOvercast 0.9; 0 setRain 0.6; };
  case 3: { 0 setOvercast 1; 0 setRain 1; };
};

switch (paramsArray select 2) do {
  case 0: { 0 setFog 0; };
  case 1: { 0 setFog 0.3; };
  case 2: { 0 setFog 0.6; };
  case 3: { 0 setFog 1; };
}; 

viewparam = (paramsArray select 3);
if (viewparam == 0) then {setViewDistance 100};
if (viewparam == 1) then {setViewDistance 500};
if (viewparam == 2) then {setViewDistance 1000};
if (viewparam == 3) then {setViewDistance 2000};
if (viewparam == 4) then {setViewDistance 5000};

Share this post


Link to post
Share on other sites

How does your briefing.sqf look like ? 

Share this post


Link to post
Share on other sites

How does your briefing.sqf look like ? 

/* Briefing
 * The briefing can be defined by calling FHQ_TT_addBriefing.
 * The array is built like this.
 * The first element should be a filter (side, group, faction, or a piece of script). All units matching the 
 * filter will see the briefing
 * This is followed by pairs of strings, a head line, and an actual text.
 * Briefings are added in the order in which they appear for any unit that matches
 * the last filter.
 */
[
	west, 
		["Mission",
			"*** Describe the player's mission in few words ***"],
			
		["Situation",
			"*** Describe the situation, what lead to the current mission, and the current theatre of war ***"],
			
		["Execution",
			"*** Describe the intended way the mission should be carried out ***"],
			
		["Allied forces",
			"*** Describe additional stuff, like allied forces, intel, etc ***"],
			
		["Weather",
			"*** Describe the current and expected weather ***"],
			
		["Credits",
			"Mission by    <br/>"]
    
] call FHQ_TT_addBriefing;

[
	west,                                                           // Filter
    	["task1",										// Task name
         "Destroy Ammo Boxes",				       // Task text in briefing
         "Ammo Crates",							// Task title in briefing
         "!",											// Waypoint text
         getmarkerpos "test1"											// Optional: Position or object
														// Optional: Initial state
        ],
		 ["task2",										// Task name
         "Hunt and Kill Spec Ops",				       // Task text in briefing
         "Hunt Spec Ops",							// Task title in briefing
         "!",											// Waypoint text
         getmarkerpos "test2"											// Optional: Position or object
        ],
		["task3",										// Task name
         "Get to Extraction",				       // Task text in briefing
         "Extract",							// Task title in briefing
         "!",											// Waypoint text
         getmarkerpos "test3"											// Optional: Position or object
        ]
] call FHQ_TT_addTasks;

Share this post


Link to post
Share on other sites

You might want to try to move this code:

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
in init.sqf up a bit, so it executes before fhqtt.sqf and briefing.sqf, basically like so:

 

// JIP Check (This code should be placed first line of init.sqf file)
if (!isServer && isNull player) then {isJIP=true;} else {isJIP=false;};

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
 
call compile preProcessFileLineNumbers "fhqtt.sqf";
call compile preProcessFileLineNumbers "briefing.sqf";

Share this post


Link to post
Share on other sites

 

You might want to try to move this code:

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
in init.sqf up a bit, so it executes before fhqtt.sqf and briefing.sqf, basically like so:
// JIP Check (This code should be placed first line of init.sqf file)
if (!isServer && isNull player) then {isJIP=true;} else {isJIP=false;};

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
 
call compile preProcessFileLineNumbers "fhqtt.sqf";
call compile preProcessFileLineNumbers "briefing.sqf";

 

Hi Varanon, 

 

thanks for support, thats very kind!

 

Will change the code accordingly, but I´m off to work now for the next few days.

 

Cheers

Share this post


Link to post
Share on other sites

 

You might want to try to move this code:

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
in init.sqf up a bit, so it executes before fhqtt.sqf and briefing.sqf, basically like so:
// JIP Check (This code should be placed first line of init.sqf file)
if (!isServer && isNull player) then {isJIP=true;} else {isJIP=false;};

// Wait until player is initialized
if (!isDedicated) then {waitUntil {!isNull player && isPlayer player};};
 
call compile preProcessFileLineNumbers "fhqtt.sqf";
call compile preProcessFileLineNumbers "briefing.sqf";

 

Hi Varanon,

 

moving the code up as you recommended didn´t do it either. BUT, for some reason I´ve been using an older version of FHQ! Latest version contains the "fhqtt2.sqf".

 

Swapped both files and suddenly everything worked like magic. So, big apologies for wasting your time and thankful appreciation for your support!!!

Share this post


Link to post
Share on other sites

Good to hear it works now.

We've also just finished the first prototypr for FHQ Task Tracker Eden expansion, with in-game task and briefing editor, plus support for the new upcoming task overhaul.

Should be out soon

  • Like 2

Share this post


Link to post
Share on other sites

Everyone is talking about briefing.sqf, yet I can't find any information about it in the documentation. I'm really having a hard time to understand where the briefing goes and where tasks need to be added and states changed. so am I assuming correctly that, if I want to add a task and assign it, as well as succedding the previous task all of this goes in one trigger? and where do I assign initial tasks when the mission starts? I'm confused as hell right now unfortunatly. I don't understand how the chain of adding one task after the first succeeded works. Also if I don't want to show waypoint locations on the map but I need to add "Task Waypoint Description" to what exactly if there is no target?

 

[EDIT: ok so I understand now that briefing.sqf is not required but the briefing could be added to the init if I don't want to outsource it, is that about right?]

[EDIT2: Guys I figured it out, I just changed 16 tasks in 30 minutes loving it so far. The task module in the editor IS broken. tasks that should have worked didn't, now they do. Thanks for your hard work bro]

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

×