Jump to content

jonesy_d

Member
  • Content Count

    55
  • Joined

  • Last visited

  • Medals

Posts posted by jonesy_d


  1. Hello everyone;

     

    I have been playing Arma 3 for quite some time on and off, just recently I  have retired..so lots of free time on my hands..

     

    What I am looking for is how to become more inter-active into the Arma 3 Modding community..so it would be appreciated if some one could inform me on what tools and anything else that would be needed to do this..

     

    Links to what tools and programs needed would be greatly appreciated..I found the link to " Intro to Arma Modding video's " I will start watching once I get all the programs and tools needed..for some projects I have in mind...

     

    Many thanks to all

     

    PS: Being retired is not all that great, your monthly budget..stresses you out alot..

     

    Cheers..

    • Like 1

  2. 1 hour ago, HazJ said:

    Read the Wiki. Everything is pretty much there, you just gotta be willing to learn and try.

    
    respawn = "BASE";
    respawnDelay = 1;
    respawnTemplates[] = {"Counter", "MenuPosition"};
    respawnOnStart = 1;

    The next part is probably where you will get stuck. What you want to do is upon sector capture (regardless of who captures it):

    
    [mySectorsName, "ownerChanged",
    {
    	params ["_sector", "_owner", "_ownerOld"];
    	if (_owner isEqualTo blufor) then
    	{
    		[blufor, _sector] call BIS_fnc_addRespawnPosition; // flagpole in sector with var name sector1
    		[opfor, _sector] call BIS_fnc_removeRespawnPosition;
    	} else
    	{
    		[opfor, _sector] call BIS_fnc_addRespawnPosition; // flagpole in sector with var name sector1
    		[blufor, _sector] call BIS_fnc_removeRespawnPosition;
    	};
    }] call BIS_fnc_addScriptedEventHandler;

    NOT TESTED! You will need to replace sectorName obviously.

     

     

    EDIT:

    
    // add respawn on squad leaders
    [blufor, bluforSL] call BIS_fnc_addRespawnPosition;
    [opfor, opforSL] call BIS_fnc_addRespawnPosition;
    // where bluforSL and opforSL are var names

    EDIT 2:

    
    {
    	[_x, "ownerChanged",
    	{
    		params ["_sector", "_owner", "_ownerOld"];
    		if (_owner isEqualTo blufor) then
    		{
    			[blufor, _sector] call BIS_fnc_addRespawnPosition; // flagpole in sector with var name sector1
    			[opfor, _sector] call BIS_fnc_removeRespawnPosition;
    		} else
    		{
    			[opfor, _sector] call BIS_fnc_addRespawnPosition; // flagpole in sector with var name sector1
    			[blufor, _sector] call BIS_fnc_removeRespawnPosition;
    		};
    	}] call BIS_fnc_addScriptedEventHandler;
    } forEach
    [
    	sector1,
    	sector2,
    	sector3
    ];

     

    HazJ your the greatest..it is all coming together..just a little tweaking and bingo..


  3. 12 minutes ago, SpaceHippo said:

    Players would be able to spawn on the squad leader even if there are flags. What, specifically, are these 'flags' you're referring to though because I don't seem to understand.

     

    It is a capture the flag senerio..of 3 flag to capture..and control ..so trying to setup Squadleader must try to stay alive..and capture all flag points..to run tickets down...to zero..to win ..but if Squadleader is dead in order for other squad member to respawn they must control a flag..if only Squadleader is the only member alive on team and don't control and flag points. no one can respawn..until Squadleader captures a flag point..it is a 5 Vs 5 squad match


  4. 2 hours ago, SpaceHippo said:

    First of all, no one will or should call you stupid on these forums.

     

    Moving on though, these functions could be helpful.
    https://community.bistudio.com/wiki/BIS_fnc_addRespawnPosition
    https://community.bistudio.com/wiki/BIS_fnc_removeRespawnPosition

    Add spawn position:

    
    // 'respawnPos' could be a variable name of the Squadleader or the positition ( respawnPos = [0,0,0]; ).
    // 'west' is the name of the BLUFOR side.
    
    respawn1 = [west, respawnPos] call BIS_fnc_addRespawnPosition;

     

    Remove spawn Position:

    
    // 'respawn1' is defined in the previous code
    
    respawn1 call BIS_fnc_removeRespawnPosition;

    There are a few ways to execute these functions. Personally (someone correct me if I'm wrong), I would put them in a initServer.sqf file because of how small the code is. With the code in the initServer.sqf, the respawn positions are created at the beginning of the mission.

     

    If you are new to scripting you could poke around here for some cool stuff to read. It might also explain some stuff I didn't do a good job of explaining myself.

    Okay thanks, I sort of get your idea, just want to clear it up a bit more..'respawnPos' variable of the Squadleader..this would allow any player to sqawn onto tthe squad leader position right..if no flags are available..


  5. Hey all;

     

    Seriously, hope no one laugh or calls me stupid...but looking to try to make a script that allows a player to spawn on Squad Leader or an Active Spawn Point..have no clue of what I am doing but willing to try and try and learn...

     

    Hope this little snipet is close to what I am lookng to accomplish..

    _living = if (alive B_Soldier_SL_F) then {true} 
    
    respawn(B_Soldier_SL_F);
    
    else {false};
    
    respawn(activeFlag1,activeFlag2,activeFlag3);

    Forgive me if I am way off base on this...

     

    Many thanks..


  6. On 7/2/2018 at 9:44 AM, jodiegraham said:

    I remember playing Arma 3 for for the first time, I was surprised to say at least with the group. Time to time I couldn't understand jokes and like inner stuff and the general point of making this whole show over newbies. Couldn't deal with it for the first attempts to play, totally spoiled game experience.

    When I am on a server I mute the whole bunch many times talking about nothing to do with the mission and other crap..so you are MUTED Kiddies..


  7. 3 hours ago, Larrow said:

    Sorry was going off of memory and thought the SEH provided the side that depleted its tickets, but it does not. Instead it provides the namespace of where the depleted tickets are kept.

    
    //initServer.sqf
    
    //Wait till after breifing screen
    waitUntil { time > 0 };
    
    //Add sides tickets
    [ independent, 5 ] call BIS_fnc_respawnTickets;
    [ west, 5 ] call BIS_fnc_respawnTickets;
    
    //Add SEH for when a sides tickets are depleted
    [ missionNamespace, "respawnTicketsExhausted", {
    
    	//Calculate Winner and Loser
    	_sideScores = [ -1, [ west ] call BIS_fnc_respawnTickets, [ independent ] call BIS_fnc_respawnTickets ];
    	_losingSide = _sideScores findIf { _x isEqualTo 0 } call BIS_fnc_sideType;
    	_winningSide = ( [ west, independent ] - [ _losingSide ] ) select 0;
    
    	//End mission for all clients of SIDE with either win or lose ending screen
    	[ "SideWon", true, true ] remoteExec [ "BIS_fnc_endMission", _winningSide ];
    	[ "SideLost", false, true ] remoteExec [ "BIS_fnc_endMission", _losingSide ];
    
    	//Remove this SEH
    	[ missionNamespace, "respawnTicketsExhausted", _thisScriptedEventHandler ] call BIS_fnc_removeScriptedEventHandler;
    
    	//If we are a dedicated server, so no client to receive above endMission's
    	if ( isDedicated ) then {
    		//End mission on server
    		[] call BIS_fnc_endMission;
    	};
    }] call BIS_fnc_addScriptedEventHandler;

    TEST_MISSION auto depletes tickets for testing and includes example of custom debriefing section (4/4).

     


  8. Just now, Larrow said:

    Sorry was going off of memory and thought the SEH provided the side that depleted its tickets, but it does not. Instead it provides the namespace of where the depleted tickets are kept.

    
    //initServer.sqf
    
    //Wait till after breifing screen
    waitUntil { time > 0 };
    
    //Add sides tickets
    [ independent, 5 ] call BIS_fnc_respawnTickets;
    [ west, 5 ] call BIS_fnc_respawnTickets;
    
    //Add SEH for when a sides tickets are depleted
    [ missionNamespace, "respawnTicketsExhausted", {
    
    	//Calculate Winner and Loser
    	_sideScores = [ -1, [ west ] call BIS_fnc_respawnTickets, [ independent ] call BIS_fnc_respawnTickets ];
    	_losingSide = _sideScores findIf { _x isEqualTo 0 } call BIS_fnc_sideType;
    	_winningSide = ( [ west, independent ] - [ _losingSide ] ) select 0;
    
    	//End mission for all clients of SIDE with either win or lose ending screen
    	[ "SideWon", true, true ] remoteExec [ "BIS_fnc_endMission", _winningSide ];
    	[ "SideLost", false, true ] remoteExec [ "BIS_fnc_endMission", _losingSide ];
    
    	//Remove this SEH
    	[ missionNamespace, "respawnTicketsExhausted", _thisScriptedEventHandler ] call BIS_fnc_removeScriptedEventHandler;
    
    	//If we are a dedicated server, so no client to receive above endMission's
    	if ( isDedicated ) then {
    		//End mission on server
    		[] call BIS_fnc_endMission;
    	};
    }] call BIS_fnc_addScriptedEventHandler;

    TEST_MISSION auto depletes tickets for testing and includes example of custom debriefing section (4/4).

    Thanks I will test it out and also look at the scripting so I could learn something out of it..

     

    Here's a question: 

     

    Is there a way that the original spawn point is disable and players can only spawn (Alive) Squad Leader and only spawn on active sectors(Blufor) or in this case (independent)???

     

    What type of beer you like???


  9. 9 hours ago, Larrow said:

    There is a scripted EH for tickets. Not on my main PC, so untested but something like...

    
    //initServer.sqf
    
    [ independent, 10 ] call BIS_fnc_respawnTickets;
    [ west, 10 ] call BIS_fnc_respawnTickets;
    
    [ missionNamespace, "respawnTicketsExhausted", {
    	params[ "_losingSide" ];
    	
    	_winningSide = ( [ independent, west ] - [ _losingSide ] ) select 0;
    	
    	[ "End1", true, true ] remoteExec [ "BIS_fnc_endMission", _winningSide ];
    	[ "Loser", false, true ] remoteExec [ "BIS_fnc_endMission", _losingSide ];
    	
    	if ( isDedicated ) then {
    		_nul = [] spawn {
    			sleep 10;
    			endMission "End1";
    		};
    	};
    }] call BIS_fnc_addScriptedEventHandler;

     

    Well, tried this game runs but at the end lots of line errors..hmmm...


  10. 6 hours ago, Larrow said:

    There is a scripted EH for tickets. Not on my main PC, so untested but something like...

    
    //initServer.sqf
    
    [ independent, 10 ] call BIS_fnc_respawnTickets;
    [ west, 10 ] call BIS_fnc_respawnTickets;
    
    [ missionNamespace, "respawnTicketsExhausted", {
    	params[ "_losingSide" ];
    	
    	_winningSide = ( [ independent, west ] - [ _losingSide ] ) select 0;
    	
    	[ "End1", true, true ] remoteExec [ "BIS_fnc_endMission", _winningSide ];
    	[ "Loser", false, true ] remoteExec [ "BIS_fnc_endMission", _losingSide ];
    	
    	if ( isDedicated ) then {
    		_nul = [] spawn {
    			sleep 10;
    			endMission "End1";
    		};
    	};
    }] call BIS_fnc_addScriptedEventHandler;

     

    Thanks...we have it sorted out already..but every little bit help..your input with this example gives me idea's to see if they can be done..for example..gonna try to see, if respawn can work this..

    Players can't respawn unless Squad Leader is alive and at least one Sector is active for their side..so either spawn on Squad Leader or active Sector...this makes the match much harder..also once all players have started they can not use the orginal spawn point..it deactivates..so leaves just spawning on Squad Leader or Sector gonna work on this later this morning..


  11. 15 minutes ago, HazJ said:

    Done. Check PM for mission. There was a bit on confusion from the start which could of been avoided by using more detailed info. A bit of fault on both end but alll good heh.

    
    // initServer.sqf
    sleep 2; // needed
    // the sleep is lazy - it would be better to check if function/module has init
    
    // this will loop until condition is met then exit, allowing the code after it to run
    waitUntil
    {
    	_bluforTickets = [blufor] call BIS_fnc_respawnTickets;
    	_independentTickets = [independent] call BIS_fnc_respawnTickets;
    	if (_bluforTickets < 1 || _independentTickets < 1) exitWith {true};
    	sleep 1;
    };
    
    "missionEnded" call BIS_fnc_endMissionServer;

    You also had duplicate CfgDebriefing + brackets {} in description.ext which I removed. I have deleted the additional triggers in the Eden editor since they are no longer needed. I seem to have to capture two sectors before tickets deduct. Not sure if this is intended or not so I left it.

    Yes the object is to capture two or more sector's and bleed the enemy out of tickets to win the match..also I did also manage to get it to work finally I had to ad another sector images as followed..

     

    Added another sector and link blufor and independent to it...

     

    https://www.dropbox.com/s/lirq41ojegik2g4/Yoursidewon.jpg?dl=0

     

    https://www.dropbox.com/s/6ndyoa1qx4m5qsp/ysw.jpg?dl=0

     

    One problem is I have to capture each one in sequence..like 1,2,3 I wish to have captures on random..but for now I am seeing the light..I will look over what you sent back to me..and examine it carefully...


  12. 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..


  13. 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";                                        

     


  14. 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...:(


  15. 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};
    	};
    };

     


  16. 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.
    
    
    
    */

     


  17. 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


  18. 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..

×