Jump to content
jonesy_d

How to setup End of Round Message

Recommended Posts

Hello Everyone;

 

Well, first off let me say I am sorry for leaving Arma 3 for awhile..but I am back..

Now what I need since I am still relatively new to Arma 3 and also very novice at scripting but trying my best..

 

What I need is a end of round message..I followed a tutorial of team vs team..capturing a sector and the tickets had bled out so one side loses..so I need a Message to display saying the score and winning team..

 

Also I would like a script that takes down a flag then raises the team in that sector flag to rise..as is captures the sector..

 

Many many thanks...

 

Jonesy.D 

Novice in the making...

Share this post


Link to post
Share on other sites
1 hour ago, jonesy_d said:

Well, first off let me say I am sorry for leaving Arma 3 for awhile..but I am back..

So you should be! :rofl::rofl:

There are a few days to do this.

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

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

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

Etc

Not sure how you setup your tickets but once they run out of exceed X value you can use one of the above.

if (bluforTickets > 99 || opforTickets > 99) then
{
	// execute desired code...
};

waitUntil {bluforTickets > 99 || opforTickets > 99};
// execute desired code...

 

  • Like 1

Share this post


Link to post
Share on other sites
Just now, HazJ said:

So you should be! :rofl::rofl:

There are a few days to do this.

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

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

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

Etc

Not sure how you setup your tickets but once they run out of exceed X value you can use one of the above.


if (bluforTickets > 99 || opforTickets > 99) then
{
	// execute desired code...
};

waitUntil {bluforTickets > 99 || opforTickets > 99};
// execute desired code...

 

thanks..well I have this setup a different way, following the Video tutorial.." [west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets; missionStatus = "inProgress"; publicVariable " missionStatus"; " but once one team has all the tickets gone, should see a message at the end..saying " Blufor won #tickets remaning..something like that..and also where to put it...https://steamcommunity.com/sharedfiles/filedetails/?id=1511244176

Share this post


Link to post
Share on other sites

Maybe I should clarify a bit more..I want the mission to display the debriefing message at the end of the round between the two teams(Squads)...would like to know where and how to place this script in the appropriate file..or description.ext file..???
 

Many thanks...

Share this post


Link to post
Share on other sites

https://community.bistudio.com/wiki/Description.ext#CfgDebriefing

class CfgDebriefing
{
	class disconnected
	{
		title = "Disconnected";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

Put the class name In the endMission argument func, instead of "END1" or whatever you have.

Share this post


Link to post
Share on other sites
29 minutes ago, HazJ said:

https://community.bistudio.com/wiki/Description.ext#CfgDebriefing


class CfgDebriefing
{
	class disconnected
	{
		title = "Disconnected";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

Put the class name In the endMission argument func, instead of "END1" or whatever you have.

Thanks will give this a try...see this is where I have trouble..with some scripts not knowing where to put them..

Share this post


Link to post
Share on other sites
59 minutes ago, HazJ said:

https://community.bistudio.com/wiki/Description.ext#CfgDebriefing


class CfgDebriefing
{
	class disconnected
	{
		title = "Disconnected";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

Put the class name In the endMission argument func, instead of "END1" or whatever you have.

Thanks will give this a try...see this is where I have trouble..with some scripts not knowing where to put them..will it look like this..https://www.dropbox.com/s/kg2u4854l9vum9l/EndMission Message.jpg?dl=0

Share this post


Link to post
Share on other sites

It goes in description.ext file (the CfgDebriefing). Can't say where your end mission func is. You will need some show some more code, etc...

Share this post


Link to post
Share on other sites

Okay her is my description.ext info..as you see I have a long way to go in order to learn a lot here..but given time I will get it..more and more

onLoadName = "Team Competition"; 
// The mission name in the loading screen

author = "Jonesy.D"; 
// Authors name below Mission name.

loadScreen= "header.jpg"; 
// Loading screen image shown in main menu 2:1 Ratio .jpg/.paa only

onLoadMission = "Squad 5 Vs 5"; 
// Loading screen blurb shown below the loading screen image.

//===========================================================

briefingName = "Squad 5 vs 5";
// Mission name displayed in the mission selection menu.


overviewPicture = "header.jpg"; 
// Overview picture shown in main menu when mission is selected

overviewText = "5 Team Squad Vs 5 Team Squad"; 
// Overview text shown when mission is selected in the main menu, this area is big so allows for more text then the loading screen subtitle

overviewPictureLocked = "thumbnail.paa"; 
// Overview picture shown in main menu when mission is selected

overviewTextLocked = "Squad Vs Squad"; 
// Same as above but only shows if the player is unable to play the mission due to it being locked. e.g Not unlocked the correct keys.

//===========================================================

/* This is a multi-line comment.

respawn = "BASE";
//This is the respawn type that you want to use in your mission check https://community.bistudio.com/wiki/Description.ext#respawn for more info.


respawnTemplates[] = {"MenuPosition","MenuInventory"}; 
// Respawn templates for when player respawns check https://community.bistudio.com/wiki/Arma_3_Respawn#Respawn_Templates for more info.

respawndelay = 5;
//Time in seconds between the player dying and the time the player respawns.



*/

 

Share this post


Link to post
Share on other sites

First off. Your respawn won't run as it is commented out (inside multi comment). Add the CfgDebriefing code in description.ext file (at end, though doesn't really matter where).  I usually have header stuff then respawn, #include, CfgFunctions, CfgSounds, etc. So on, so fourth. What variable is used for each side's tickets?

Share this post


Link to post
Share on other sites
6 minutes ago, HazJ said:

First off. Your respawn won't run as it is commented out (inside multi comment). Add the CfgDebriefing code in description.ext file (at end, though doesn't really matter where).  I usually have header stuff then respawn, #include, CfgFunctions, CfgSounds, etc. So on, so fourth. What variable is used for each side's tickets?

Wow, that explanation went over my head..lol..could you show an example of how you would setup 

#include

CfgFuntions

CfgSounds

 

here is the modified description file now..is this okay???

 

onLoadName = "Team Competition"; 
// The mission name in the loading screen

author = "Jonesy.D"; 
// Authors name below Mission name.

loadScreen= "header.jpg"; 
// Loading screen image shown in main menu 2:1 Ratio .jpg/.paa only

onLoadMission = "Squad 5 Vs 5"; 
// Loading screen blurb shown below the loading screen image.

//===========================================================

briefingName = "Squad 5 vs 5";
// Mission name displayed in the mission selection menu.


overviewPicture = "header.jpg"; 
// Overview picture shown in main menu when mission is selected

overviewText = "5 Team Squad Vs 5 Team Squad"; 
// Overview text shown when mission is selected in the main menu, this area is big so allows for more text then the loading screen subtitle

overviewPictureLocked = "thumbnail.paa"; 
// Overview picture shown in main menu when mission is selected

overviewTextLocked = "Squad Vs Squad"; 
// Same as above but only shows if the player is unable to play the mission due to it being locked. e.g Not unlocked the correct keys.

//===========================================================

respawn = "BASE";
//This is the respawn type that you want to use in your mission check https://community.bistudio.com/wiki/Description.ext#respawn for more info.


respawnTemplates[] = {"MenuPosition","MenuInventory"}; 
// Respawn templates for when player respawns check https://community.bistudio.com/wiki/Arma_3_Respawn#Respawn_Templates for more info.

respawndelay = 5;
//Time in seconds between the player dying and the time the player respawns.

class CfgDebriefing
{
	class disconnected
	{
		title = "Disconnected";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

 

Share this post


Link to post
Share on other sites

Okay the respawn now works..thanks didn't notice that before..

 

the endMission didn't show up

endmission_message-91282423.jpg?ts=15368

Share this post


Link to post
Share on other sites

What? You need to read what I said then read the Wiki. It won't magically work for you. I also asked you to show some more code that handles tickets + ending.

Share this post


Link to post
Share on other sites
Just now, HazJ said:

What? You need to read what I said then read the Wiki. It won't magically work for you. I also asked you to show some more code that handles tickets + ending.

Oh, sorry..hold on checking something 

Share this post


Link to post
Share on other sites

Change condition:

... tickets code ... && !missionEnded
// OR
... tickets code ... && !(missionStatus isEqualTo "inProgress") // you had spaces before

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

Quote

It is slightly faster than ==, especially when comparing Strings

Change on act:

// remove forceEnd;
"missionEnded" call BIS_fnc_endMissionServer;

In description.ext file (if haven't already) add:

class CfgDebriefing
{
	class missionEnded
	{
		title = "Game Over";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

 

Share this post


Link to post
Share on other sites
1 hour ago, HazJ said:

Change condition:


... tickets code ... && !missionEnded
// OR
... tickets code ... && !(missionStatus isEqualTo "inProgress") // you had spaces before

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

Change on act:


// remove forceEnd;
"missionEnded" call BIS_fnc_endMissionServer;

In description.ext file (if haven't already) add:


class CfgDebriefing
{
	class missionEnded
	{
		title = "Game Over";
		subtitle = "";
		description = "";
		picture = "";
		pictureBackground = "";
		pictureColor[] = {1, 1, 1, 1};
	};
};

 

Change condition:

... tickets code ... && !missionEnded

// OR ... tickets code ... && !(missionStatus isEqualTo "inProgress") // you had spaces before

 

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

 

  Quote

It is slightly faster than ==, especially when comparing Strings

Change on act:

// remove forceEnd; "missionEnded" call BIS_fnc_endMissionServer;

Not sure but still isn't working...:(

Share this post


Link to post
Share on other sites

It won't end until you change the boolean variable to true.

missionEnded = true;
// OR
missionEnded = "ended";
// depends on which you are using in condition

I suggest you use the boolean.

Share this post


Link to post
Share on other sites
8 minutes ago, HazJ said:

It won't end until you change the boolean variable to true.


missionEnded = true;
// OR
missionEnded = "ended";
// depends on which you are using in condition

I suggest you use the boolean.

Do you mean like this

 

[west,nil] call bis_fnc_respawnTickets < 1 && !missionEnded = true;
                                          
                                or
                                          
[west,nil] call bis_fnc_respawnTickets < 1 && !missionEnded = "ended";                                        

 

Share this post


Link to post
Share on other sites

It is like you don't read what I say. Just note that I will only try to help for so long.

1 hour ago, HazJ said:

Change condition:


... tickets code ... && !missionEnded
// OR
... tickets code ... && !(missionStatus isEqualTo "inProgress") // you had spaces before

 

 

 

The don't set the variable boolean to true in the condition. That wouldn't make any sense. You can have another trigger and use the condition like:

[blufor, nil] call BIS_fnc_respawnTickets >= 100 // blufor is same as west, feel free to change 100 or whatever you want
// >= greater than or equal to

What I would do is:

// initServer.sqf
waitUntil {[blufor, nil] call BIS_fnc_respawnTickets >= 100};
"missionEnded" call BIS_fnc_endMissionServer;

No need for missionEnded variable now. No need for forceEnd or BIS_fnc_endMissionServer in the trigger. If you do it the initServer way. Also, I am not having a go at you. Just try to read a bit more. I pretty much wrote the exact condition for you and answer. You would of got it if you tried a few times at least. I'm always down to help people but when people don't help themselves / try.

Share this post


Link to post
Share on other sites

In one of the triggers I have this..

 

[west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets; missionStatus = "inProgress"; publicVariable " missionStatus";

 

Share this post


Link to post
Share on other sites

Last try...

// CHANGE:
[west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets; missionStatus = "inProgress"; publicVariable " missionStatus";

// TO:
[west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets;

You can keep that variable if it used elsewhere. I assumed it is for the ending. Create initServer.sqf in root folder. If not one already. Inside that file add:

waitUntil {[blufor, nil] call BIS_fnc_respawnTickets >= 100 || [opfor, nil] call BIS_fnc_respawnTickets >= 100};
"missionEnded" call BIS_fnc_endMissionServer;

Remove any other missionEnded variables in triggers. You may need to add check to see if tickets func code is running. Not sure if it init before.

Share this post


Link to post
Share on other sites
1 minute ago, HazJ said:

Last try...


// CHANGE:
[west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets; missionStatus = "inProgress"; publicVariable " missionStatus";

// TO:
[west,20] call bis_fnc_respawnTickets;[independent,20] call bis_fnc_respawnTickets;[[west,independent],.5,1,5] call bis_fnc_bleedTickets;

You can keep that variable if it used elsewhere. I assumed it is for the ending. Create initServer.sqf in root folder. If not one already. Inside that file add:


waitUntil {[blufor, nil] call BIS_fnc_respawnTickets >= 100 || [opfor, nil] call BIS_fnc_respawnTickets >= 100};
"missionEnded" call BIS_fnc_endMissionServer;

Remove any other missionEnded  variables in triggers.

OKay thanks..sorry I am trying to understand..all this but at times it is confusing..in time I am sure it will all come together..I am " Sorry " a slow learner..

Share this post


Link to post
Share on other sites

Send me your mission. Maybe it will become more clear. Don't expect it always done for you though.

Share this post


Link to post
Share on other sites
7 minutes ago, HazJ said:

Send me your mission. Maybe it will become more clear. Don't expect it always done for you though.

Sent..

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

×