Jump to content
Sign in to follow this  
clydefrog

Join In Progress Tasks

Recommended Posts

Do we have a task system that works for JIP players now built into Arma 3, or are we still going to have to rely on people like Shuko (taskmaster) for this?

Share this post


Link to post
Share on other sites

Check out the Functions Viewer in the Editor, new to Arma 3. Under the MP category you will find BIS_fnc_MP which you can use to accomplish this, if you use it with the functions under the Tasks category.

Share this post


Link to post
Share on other sites
Check out the Functions Viewer in the Editor, new to Arma 3. Under the MP category you will find BIS_fnc_MP which you can use to accomplish this, if you use it with the functions under the Tasks category.

Thanks for the information :thumbsup:

But is there any chance you could elaborate on that? When you say "use it with" how do you mean?

Edited by clydefrog

Share this post


Link to post
Share on other sites

I believe the best way to learn is to find out yourself. :) However, I shall try to explain it nonetheless. Each function has a header defined that should explain to you how to use it. You'll see it at the start of the function's code, enclosed in comment tags, stating the author, description, parameters, and what the function returns, if anything.

So, let's take a look at the header for BIS_fnc_MP:

/*
Author: Karel Moricky

Description:
Send function for remote execution (and executes locally if conditions are met)

Parameter(s):
	0: ANY - function params
	1: STRING - function name
	2 (Optional):
		OBJECT - function will be executed only where unit is local [default: everyone]
		BOOL - true to execute on every client, false to execute it on server only
		NUMBER - function will be executed only on client with the given ID
		ARRAY - array of objects
	3 (Optional): BOOL - true for persistent call (will be called now and for every JIP client) [default: false]

Returns:
ARRAY - sent packet
*/

You can see that any code passed to it can be executed on any client, and also executed upon Join-in-Progress. Combine that with the Tasks functions, following the parameters outlined, and you will have a task framework, in a sense. I hope to, in future, embed this directly into the Tasks functions themselves, negating the requirement to use BIS_fnc_MP.

Hope that helps! :)

Share this post


Link to post
Share on other sites
I believe the best way to learn is to find out yourself. :) However, I shall try to explain it nonetheless. Each function has a header defined that should explain to you how to use it. You'll see it at the start of the function's code, enclosed in comment tags, stating the author, description, parameters, and what the function returns, if anything.

So, let's take a look at the header for BIS_fnc_MP:

/*
Author: Karel Moricky

Description:
Send function for remote execution (and executes locally if conditions are met)

Parameter(s):
	0: ANY - function params
	1: STRING - function name
	2 (Optional):
		OBJECT - function will be executed only where unit is local [default: everyone]
		BOOL - true to execute on every client, false to execute it on server only
		NUMBER - function will be executed only on client with the given ID
		ARRAY - array of objects
	3 (Optional): BOOL - true for persistent call (will be called now and for every JIP client) [default: false]

Returns:
ARRAY - sent packet
*/

You can see that any code passed to it can be executed on any client, and also executed upon Join-in-Progress. Combine that with the Tasks functions, following the parameters outlined, and you will have a task framework, in a sense. I hope to, in future, embed this directly into the Tasks functions themselves, negating the requirement to use BIS_fnc_MP.

Hope that helps! :)

Thanks, and embedding it directly into the functions would be great. I used Shuko's Taskmaster on Arma 2 as the games own task system would not update the tasks for JIP players (e.g. if a task was completed then a player disconnected, when they reconnected that task would then show as not done). It would be very nice to not have to worry about that and just have it work through the standard task system without adding extra stuff, and I'm sure most other people here who make multiplayer missions feel the same.

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
Sign in to follow this  

×