Jump to content

Asmodeuz

Member
  • Content Count

    200
  • Joined

  • Last visited

  • Medals

Posts posted by Asmodeuz


  1. 19 hours ago, killzone_kid said:

    Here is another solution, should go into init field of every player in editor

     

    
    this addEventHandler ["Put", 
    {
    	if (!alive (_this select 0)) then 
    	{
    		_this select 1 addEventHandler ["ContainerOpened", 
    		{
    			_this select 1 playActionNow "Gear";
    			titleText ["You are not allowed to loot\ndead soldiers", "plain"];
    		}];
    		
    		_this select 1 spawn 
    		{ 
    			sleep 0.5;
    			waitUntil {velocity _this isEqualTo [0,0,0]};
    			_this enableSimulation false;
    		};
    	}; 
    }];

    Of course if you have respawn then you need to somehow re-execute this

     

    I am indeed using respawn in my mission(s), so for me trying to think of some way to re-execute that gives a dead feeling inside (read: only empty "thoughts" :) )

     

     

    13 minutes ago, bad benson said:

    maybe putting it all into an "EntityKilled" mission EH could be good. like the adding of the inventory related EHs themselves and not just the code inside them. could make it more universal and easier to maintain.

     

    Here's one I found by @serena

    That EH nicely prevents picking up the weapon that goes flying through the air when the player kills a character.
    But there's a but for me at least:

    I'm using Iron Front lite (IFA3_AIO_LITE) to test these eventhandlers while I'm building the missions. And even if that serena's EH script prevents from picking up the weapon that dropped on the ground it doesn't prevent the player picking up occasional rifle (Kar98) cartridges or hand grenades.

    • Would there be some way to incorporate that EH with some other code that would prevent picking up stuff (rifle cartridges, hand grenades) that seems to get occasionally dropped by the dead characters?
    • Like 2

  2. 1 hour ago, das attorney said:

    I think the problem is that the inventory takes a while (like a few ms) to initialise.  So in effect, you're trying to close it before it has had time to open.

     

    Try this modified version of Nikanders script.  It should wait for the opening and close it immediately:

     

    
    player addEventHandler ["InventoryOpened",{
            _this spawn {
                waitUntil {
                    not isNull findDisplay 602
                };
                if (_this select 1 isKindOf "Man") then {closeDialog 602}
            }
    }];

     

     

    That was an out-of-the-box solution das attorney! That now works for both human (no matter of the side or faction) and AI players alike in a dedicated server environment!

     

    Thank you and have a good day sir!

     

    Just as a small edit:
    that code there prevents human players from opening inventories (or to be more precise the inventory dialog) of dead human and AI soldiers.

    • Like 2

  3. On 6.4.2016 at 0:35 PM, Nikander said:

     

    Hi soundblaster, try this in your mission init:

    
    player addEventHandler ["InventoryOpened",{
            if (_this select 1 isKindOf "Man") then {closeDialog 602; true}
    }];

    Hope this helps,

     

    Nikander

     

    This nicely prevents accessing the inventory of a killed AI soldier when testing the mission through the in-game editor (multiplayer game mode).
    But when testing the same mission in a dedicated (multiplayer) environment the code doesn't prevent opening the inventory dialog (with a killed AI soldier).

    And for human players it only seems to work for one side only: my friend wasn't able to open inventory after killing me but when I killed him I got to his inventory.

    Is there any way to prevent accessing the inventory of both of human and AI players alike in a dedicated server environment?

    • Like 1

  4. Hello,

     

    I've been succesfully using this "safezone.sqf" script to restrict small arms fire, throwing grenades and placing explosives inside a "spawn protected area" which essentially is a trigger area. I assume the script itself is an evolution of grenadeStop.sqf by Bake or it could be from completely different origins who knows.

    In short what the script does is that it will delete the fired projectile, thrown grenade or placed explosive and display a message that can be customized freely with #define MESSAGE "Type your message here"

    To add the restriction to certain projectile, grenade or explosive the classname needs to be typed in the SPAWN_Restriction = -field

    I was trying to use the aforementioned script to also restrict vehicles from firing their guns inside the spawn protected area but it is so that declaring the ammo classnames (that are used in different vehicles) in the SPAWN_Restriction = ["insert ammo classname here"]; is not enough to get the job done.

     

    The question here would be that:

    • whether the safezone.sqf can be adapted in a way so that using vehicle guns (or "turrets") to shoot inside the spawn protected area would also be restricted? (if so, any suggestion on how-to?)

    OR

    • if I should start looking for a completely different approach with the issue at hand (if so, any suggestions what should that approach then be)?

     

     

    There weren't too many discussions available that did share somekind of similarity with what I'm asking here. I actually only found
    this

    and this

    but well, for me those didn't give the comforting "I got this and I know I can do this" feeling. Thus here I am, asking questions.

     

     

    Greetings

     

    Asmodeuz


  5. On 3.12.2015 at 7:17 PM, madmax1337 said:

    player addaction ["<t color='#CCCC00'>Group Management</t>","disableserialization; ([] call BIS_fnc_displayMission) createDisplay 'RscDisplayDynamicGroups'",nil,1,false,true,"",""];

     

    This is a nice starter but if one wants to use this in multiplayer it needs to be placed in an objects' Init-field so that the Dynamic Groups functionality (https://community.bistudio.com/wiki/Dynamic_Groups) can then be accessed from the action menu (by scrolling the mouse wheel).

     

    This would somehow need to be remoteExec'd for it to become available to all online players accessing a dedicated server.

     

    How does one alter that code block in a way that it can then be remoteExec'd?


  6. 12 hours ago, fn_Quiksilver said:

    the deactivation field looks wrong. 

     

    im not too sure how triggers work or how to reference the object leaving the zone, but i would focus your efforts on the deact field

     

    maybe something like

     

    {
        _x allowDamage true;
        (vehicle _x) allowDamage true;
    } forEach thisList; 

     

    Using this in the OnDeactivation field didn't affect the state that is initially set in the OnActivation field. Basically the player stays invulnerable even after leaving the trigger area.

    I tried changing the script in the OnActivation field to better reflect what is in the On Deac field like this:

    {_x allowDamage false; (vehicle _x) allowDamage false;} forEach thisList; hint "Spawn protection enabled";

    and while that also gives invulnerability it doesn't get deactivated with the script in the On Deactivation field..

     

     

    12 hours ago, Nikander said:

     

    Worth a look see: Protection zone with a trigger

     

    I hope this helps

     

    This seemed to be good for restricting players from firing inside the trigger area (by removing projectiles). But as it is it doesn't necessarily protect players inside that area from being killed from outside.

     

    I saw your suggestion to use

    "ProtectionZone_F" createVehicle [4456, 5640, 0];

    at the end of that discussion. This could work of course but compared to using a trigger isn't it a bit restrictive? Was it so that it has a fixed 25 or 50 meters diameter that can not be changed?

     

    Another reason why I would like to use a trigger (on top of that its side and shape can be configured) is that the mission maker can easily specify the applicable side just by setting Activation to one of the sides BLUFOR, OPFOR, Independent. This way it only applies to the players of one side and "spawn trolls" don't get to troll inside the trigger area when they don't get the same invulnerability.


  7. Hello,

     

    I'd like to have a protection zone (spawn protection) for both human players and vehicles (empty or not) inside a trigger area. This should work in dedicated server environment.

    I've tried two slightly different approaches and neither of them work well enough.

     

    The most current I'm trying to get to work is one where I placed a trigger for Independent side with the following attributes:

     

    Type: None

    Activation: Independent

    Activation Type: Present

    Repetable [Yes]

    Server Only [No]

     

    Condition

    this

    On Activation

    {(player) allowDamage false} forEach playableUnits; hint "Spawn protection enabled"; 

    On Deactiavation

    {(player) allowDamage true} forEach playableUnits; hint "Spawn protection disabled";

    While testing this works quite nicely. Leaving the trigger area on foot makes the player vulnerable to everything that can actually kill the player. But as long as the player stays inside the trigger area he/she will be invulnerable.

    Pretty basic stuff I guess.

     

    But there's a catch:

    if the player spawns a vehicle inside the trigger area, jumps in the vehicle for a short moment, then jumps out and leaves the trigger area on foot and as long as the vehicle stays inside the trigger area the player will be invulnerable.

    Why is this happening and how would I go on to fix it?

     

     

    Earlier I was trying to use another approach to this:

     

    Type: None

    Activation: Independent

    Activation Type: Present

    Repetable [Yes]

    Server Only [No]

     

    Condition

    ((vehicle player) in thisList) 

    On Activation

    {(vehicle player) allowDamage false} Foreach thislist; hint "Spawn protection enabled"; 

    On Deactiavation

    {(vehicle player) allowDamage true} forEach [allUnits, vehicles]; hint "Spawn protection disabled";

    This worked as well as the first one: when the player moves out of the trigger area on foot he/she will become vulnerable.

     

    But as with the another approach spawning a vehicle and getting in produces awkward result:

    now even if the player drives out of the trigger area he will be invulnerable indefinitely.

     

    So all in all neither of the two approaches work well enough. Also both of the alternatives don't make vehicles invulnerable at all when situated inside the trigger area.

     

    Any pointers how to achieve player and vehicle invulnerability at the same time using a trigger?


  8. 10 hours ago, Larrow said:

    The script from that thread will work on sector dummies, they will inherit it from the attributes of the sector. Due to the script relying on the information [ sector, owner ] being sent to it, this will all be correct as it will be sent from the dummy.

     

    Ah, indeed it does work since the script doesn't point to any specific triggers' variable name and instead is sort of more universal.

     

    I would like to apologize for not being thorough enough. Basically what I did was that I accidentally referenced another script that uses variable names to do "stuff".. and because of that went on to type that 'lenghty' post about this problem that doesn't even exist -_-

     

    I'd say this topic can be said to be solved. Apparently the module isn't bugged after all just so many mission makers that don't know how to use it correctly!


  9. Here's a version of mine based on yours Larrow, where I basically just added more sectors to capture (for testing purpose).

     

    sectorbleedticketsarray_zpswbkcamsb.jpg

     

    Adding all the modules and other needed stuff like this results in a nicely working mission that can be used eg. as a template with a ticket bleed functionality that accounts for the changes made in the Bleed Tickets module. With only one Sector module it would certainly be easy to quickly alter the different options in that module and in no time affect all the properties of available sectors.

     

    But!.. You happen to remember this(?):

    There I learned that I could use the Sector module's Expression field to spawn AI groups (even from modifications such as Iron Front) inside the sectors after succesful capture by any side. Now by using the technique of placing modules for creating a sector control game mode currently means that I won't be able to spawn such AI groups since there is only one Sector module.

     

    What are the chances that I could continue to use this "template" and still be able to spawn AI groups inside the sectors or more like, how to do it?


  10. On 27.4.2017 at 10:04 PM, Larrow said:

    Either will do. Neither will have any effect what so ever on server performance as both will happen once at mission start and that's it.

     

    The only reason you are having problems is because you are using a Sector Control Module. This module already incorporates a bleed tickets

     

    I mean.. really? Of course I can't say for certain but I'd take a guess that there are few mission makers that are facing the exact same problem of being force fed the default bleed values because of this undocumented feature of the Sector Control module.

     

    On 27.4.2017 at 10:04 PM, Larrow said:

    For instance you could handle this all yourself by removing the the Sector Control Module and placing a

    • Respawn Tickets Module to set ticket values
    • Bleed Tickets Module
    • Diary Record Module to explain the game mode
    • Generic Radio Message Module for when "time is running out"
    • CountDown Module OR estimatedEndServerTime
    • A trigger to play music based on ticket values

    instead. This would result in exactly the same setup with the added bonus that you can edit the bleed rate and ratio on the Bleed Tickets Module.

    Or add only the Modules you particularly want creating your own sector game play style.

     

    And here lies the problem then I guess: I tried this approach you suggested and removed the Sector Control module AND the trigger I learned to use from Unkl's YouTube tutorial video. I then placed Respawn Tickets (BLU 200, OPF 200) and Bleed Tickets modules (Dominance 0.1, Delay 10, Tickets 1) which resulted in the following layout:

    sectorbleedtickets_zpsnscjhnpu.jpg

     

    Now even if the player captures every sector tickets won't start to bleed at all. But this probably isn't because of a bugged module then?


  11. On 23.4.2017 at 9:45 PM, Larrow said:

    Description.ext

    
    respawnTemplates[] = {"MenuPosition"};
    respawnOnStart = 1;
    respawn = "BASE";
    
    class CfgFunctions
    {
    	class Bleed
    	{
    		class Functions
    		{
    			class PreInitServer
    			{
    				postInit = 1;
    				file = "tickets.sqf";
    			};
    		};
    	};
    };

    tickets.sqf

    
    if (!isServer) exitWith {};
    
    [west, 250] call BIS_fnc_respawnTickets;
    [east, 250] call BIS_fnc_respawnTickets;
    
    h = [] spawn {
    	waitUntil{ !isNil "bis_fnc_bleedTickets_loop" };
    	[[west,east], 0.5, 20, 10] call BIS_fnc_bleedTickets;
    };

    PostInit the function so it runs after everything is setup.

    Wait until the bleedTickets loop has been started by the sector control module.

    Change the ratio. The ratio is checked via greater than. So if you use 1 then a side can never have greater than 100% of sectors so it will never bleed. Instead use 0.5, > 0.5 (50%) of two sectors is two sectors owned.

     

    Hey there Larrow and thank you for the suggestion.

     

    I think it was last weekend when I found one way to get this (damn -ed?) functionality to work for the first time ever through @Unkl's (can't be anyone else? :) ) YouTube videos. Most notably the one (see below) where he's creating a TvT sector control mission. There he is using a trigger for setting the amount of tickets and then for calling the bleeding functionality.

     

    I will certainly give your version a try and it remains to be seen with which one I will eventually settle with. I wonder if there'll be any noticeable difference in server performance though.


  12. Apparently BIS module ModuleBleedTickets_F (can be found in Arma 3 editor from System >> Modules >> Scenario Flow) has been bugged for a long time. See Bleed tickets module doesn't do anything

     

    Would anyone happen to have somekind of idea what to use instead for the time being?

    Though I don't know if there's anything to use "instead" since I've also already tried to make ticket bleeding to work with

    if (!isServer) exitWith {};
    
    [blufor, 250] call BIS_fnc_respawnTickets;
    [opfor, 250] call BIS_fnc_respawnTickets;
    
    [[blufor,opfor], 1, 20, 10] call BIS_fnc_bleedTickets;

    I've placed that in a file called tickets.sqf and I'm calling the whole file from description.ext with

    class CfgFunctions
    {
    	class Bleed
    	{
    		class Functions
    		{
    			class PreInitServer
    			{
    				preInit = 1;
    				file = "tickets.sqf";
    			};
    		};
    	};
    };

     

    No matter how I try to turn the whole module upside down and still during testing the game all the time stubbornly resorts to using the default values that are mentioned here: https://community.bistudio.com/wiki/BIS_fnc_bleedTickets

    Default values are [[], 0.5, 3, 5] call BIS_fnc_bleedTickets;

     

    What is wrong with this module? Should I perhaps place all the stuff in the editor in certain order for the module to work correctly?

     

    Here's a sample mission I made to test ticket bleeding (in unpacked and packed .PBO format)

     

    https://www.dropbox.com/s/rgb6qgx4ljbkb7g/VR_bleedticket_test.VR.pbo?dl=0

    https://www.dropbox.com/s/oo06hwett652uu2/VR_bleedticket_test.VR.zip?dl=0

     

    Appreciate it if someone could chime in and show a way to enlightenment!


  13. There was a discussion going about this very same thing only a week or so ago.

     

    See:

     

    Larrow there was very kind to provide help and even couple of example missions on how to create what you also seem to be after.
    Like my last reply from that thread indicates I couldn't quite make the Sector_AAS example mission to work as probably was expected.

     

    If you're more prominent with scripting than I am maybe you could take a look in either of the missions and see if you could come up with a working solution?
    Just FYI those two example missions Larrow did share are dedicated server only. So hopefully you have an access to one?


  14. Brilliant stuff Larrow. Can't really get wrong with you. Also thank you so much for the time you spent with this one.

     

    As per your example there I populated the missing Soviet Union group and the path to it as follows:

    params[ "_sector", "_owner" ];
    if !( _owner isEqualTo sideUnknown ) then {
        
        _groupConfigPath = [
            (configfile >> "CfgGroups" >> "East" >> "LIB_RKKA" >> "Infantry" >> "LIB_SOV_infantry_squad"),
            (configfile >> "CfgGroups" >> "West" >> "LIB_WEHRMACHT" >> "Infantry" >> "LIB_GER_infantry_squad")]
        ] select ( _owner call BIS_fnc_sideID );
        
        [ getPosATL _sector, _owner, _groupConfigPath ] call BIS_fnc_spawnGroup;
    };

    That there now spawns a 10 man squad of German or Soviet Union origin right in the center of the sector that was captured by the players. And what gets spawned is dependant on what side did the capturing.

    Hostility states are correct so no more BLUFOR AI squad firing on BLUFOR human players.

     

    All in all this got solved!


  15. 11 hours ago, Larrow said:

    Then your GE must be side WEST and your SU must be side EAST.

    _owner call BIS_fnc_sideID will return an enumeration for the side of owner

    0 = EAST

    1 = WEST

    2 = INDEPENDENT

    3 = CIVILIAN

    Which the number is then used to select from the unit types.

     

    What might be the reason that the sides need to be declared separately. As far as I understand from the picture (see the link below) everything should be lined up pretty nicely regarding that good old WEST vs EAST confrontation. (I mean the whole thing begins with CfgGroups sorted to EAST, WEST, Indep and then one can find SU placed under EAST, GE placed under WEST and so on)

    http://i1370.photobucket.com/albums/ag278/testusah123/cfgGroups_IFAlite_zps6wjvveyv.jpg~original

     

    Naturally if I need to separately declare that GE is WEST and SU is EAST etc. I can certainly do that.
    But the thing is, how do I do that, where do I add the number for the corresponding sides?

     

     

    11 hours ago, Larrow said:

    You will have to check the config CfgGroups to see if the mod has any setup for infront sides. If it has then just replace the unit type in the array for each side with the path to the particular group config you want spawned.

     

    I changed the array as follows:

    params[ "_sector", "_owner" ];
    if !( _owner isEqualTo sideUnknown ) then {
        _unitType = [ "LIB_GER_rifleman", (configfile >> "CfgGroups" >> "West" >> "LIB_WEHRMACHT" >> "Infantry" >> "LIB_GER_infantry_squad") ] select ( _owner call BIS_fnc_sideID );
        _groupSize = 5;
        _units = [];
        _units resize _groupSize;
        _units = _units apply { _unitType };
        [ getPosATL _sector, _owner, _units ] call BIS_fnc_spawnGroup;
    };

    and got this when capturing the sector:

     

     9:29:08 Error in expression <= getNumber(configFile >> "CfgVehicles" >> _type >> "isMan") == 1;
    
    if !(_isMan)>
     9:29:08   Error position: <>> _type >> "isMan") == 1;
    
    if !(_isMan)>
     9:29:08   Error >>: Type Config entry, expected String
     9:29:08 File A3\functions_f\spawning\fn_spawnGroup.sqf [BIS_fnc_spawnGroup], line 128

    What is that CfgVehicles doing there. As far as I understand there isn't any vehicles in "LIB_GER_infantry_squad"

    Also apparently I did something very wrong and am now at a loss what I should do next?


  16. 1 hour ago, Larrow said:

    There is no need to remoteExec to the server as the sector expression only runs server side. Just call the function directly.

    Thats the reason your first example failed is because you used player, and player has no meaning on a dedicated server.

     

    
    params[ "_sector", "_owner" ];
    if !( _owner isEqualTo sideUnknown ) then {
        _unitType = [ "LIB_GER_rifleman", "LIB_US_FC_rifleman" ] select ( _owner call BIS_fnc_sideID );
        _groupSize = 5;
        _units = [];
        _units resize _groupSize;
        _units = _units apply { _unitType };
        [ getPosATL _sector, _owner, _units ] call BIS_fnc_spawnGroup;
    };

    Always remember to check for sideUnknown when dealing with sectors, as they fire off at mission start with their default owner, which if is no one it will be sideUnknown.

     

    Thank you Larrow for the script. Using that now spawns groups of AI (using units from modifications such as Iron Front) with the size set in _groupSize

     

    There are still anomalies or then the code is working as intented (though that is a thing I really couldn't tell which it actually is).

     

    Using [ "LIB_GER_rifleman", "LIB_US_FC_rifleman" ] will always spawn a group of five soldiers as follows:

    • using a GE rifleman to capture the sector spawns a squad consisting of 5 * "LIB_US_FC_rifleman" (United States rifleman)
    • using a Soviet Union rifleman to capture the sector spawns a squad consisting of 5 * "LIB_GER_rifleman" (German rifleman)

    It also seems that the AI squad that gets spawned is friendly to the player/side that captured the sector.

    For example if I as a human player capture a sector while playing as Soviet Union (OPFOR) and then a German (BLUFOR) AI squad gets spawned inside that sector it happens so that the GE squad couldn't care less even if I running around and mocking them.

    BUT, if I change side from Soviet Union to German then all of a sudden the GE AI squad is firing at me.

     

    Another thing is that BIS_fnc_spawnGroup in it's vanilla state spawns a nice mix of different infantry soldiers (AA, AT, MG etc.) but that functionality seems to be lost when having to "force" spawning of units from different modifcations. Or is it actually lost?


  17. 15 minutes ago, Nikander said:

     

    Terve! Try this expression field in your Sector module

    
    [getMarkerPos "test3", _this select 1, if (_this select 1 isEqualTo west) then {["LIB_GER_rifleman"]} else {["LIB_US_FC_rifleman"]}] remoteExec ["BIS_fnc_spawnGroup", 2]

     

     

    Terve terve :)

     

    This spawned a single GE rifleman when the sector was captured with a west character and a single US rifleman when side was something else than west. I assume this was the intention?

     

    Would you already happen to see with that change that snippet could spawn these soldiers in groups?

    • Like 1

  18. 20 hours ago, Nikander said:

    Assuming you have successfully configured your sector trigger, side logics and location logic, write this in the expression field of your Sector module

    
    [getMarkerPos "test3", _this select 1, 10] remoteExec ["BIS_fnc_spawnGroup", 2]

    Remember to allow remoteExec for BIS_fnc_spawnGroup in your description.ext

     

    Terve Nikander,

     

    thank you for the suggestion that worked right out of the box!

     

    One troubling thing though is that since I'd be using Iron Front lite assets this small script snippet should be spawning WW2 units instead of vanilla A3 squads which it did now when I tested what would happen when the player took the role of a WW2 infantry character.

     

    Would there be some way to influence what faction of a certain side should spawn in?

    I had hoped the game would parse that on its own but unfortunately it didn't.


  19. Hello there,

     

     

    so far I've tried a few different variations of that code snippet there in the OP but not surprisingly not one did provide any positive results.

     

    if((_this select 1) != sideUnknown) then {if((side _x) isEqualTo (_this select 1)) then {[getMarkerPos "test3",10] remoteExecCall ["BIS_fnc_spawnGroup",_x,false];};};

    gives

    22:07:44 Error in expression <elect 1) != sideUnknown) then {if((side _x) isEqualTo (_this select 1)) then {[g>
    22:07:44   Error position: <_x) isEqualTo (_this select 1)) then {[g>
    22:07:44   Error Undefined variable in expression: _x

     

    Then a more simpler approach

    [getMarkerPos "test3", side (_thisList select 0), 10] call BIS_fnc_spawnGroup;

    gives error

    21:29:41 Error in expression <rigger1);};[getMarkerPos "test3", side (_thisList select 0), 10] call BIS_fnc_sp>
    21:29:41   Error position: <_thisList select 0), 10] call BIS_fnc_sp>
    21:29:41   Error Undefined variable in expression: _thislist

    Then there have been slightly different variations that don't give any error but don't spawn any AI groups either.

     

    I would somehow need to determine the side of the player (or players) in a capture area and just when the area gets succesfully captured an AI group spawns to a marker to stay in guard so the human players can continue to the next objective.

     

    Any advice on how to achieve what I'm trying to aim here for?

     

     

    btw. changed the topic to better reflect what I'm trying to achieve with this one


  20. Hey,

     

    I went through the search results worth of four pages that had somekind of mention about BIS_fnc_spawnGroup but couldn't find anything that would directly fit the problem I'm having.

     

    I'm trying to use

    [getMarkerPos "test3", side player, 10] remoteExecCall ["BIS_fnc_spawnGroup",(_this select 1),false]

    which spawns an AI squad (of the same side as the human player is) when a human player captures the sector.

    I've placed that code snippet in the Expression field of a BIS sector and while the code works nicely when testing through a editor hosted multiplayer it doesn't spawn anything when testing the mission in a dedicated server environment.

     

    What I might be missing here? Is there any way I could keep using the Expression field to execute what I want in dedicated server or should I use something else (what might that be then)?

     

     

    Greetings

     

    Asmodeuz


  21. On 15.3.2017 at 10:37 PM, Larrow said:

     

     

    Yes you will need to start scripting to get any further benefits out of sectors and make them do what you want.

     

    Heres two very quick example missions..

     

    Sector_AAS

    One line of sectors that each team starts from either end. Each team needs to capture the sectors in order from their starting end. When the two teams meet the victor of the meeting sector is moved on to the next whilst the loser is knocked back a sector.

     

    Sector_Race

    One line of sectors that both teams start at the same end. Each team must capture the sectors in order for themselves ( this is the answer to your point in your last post ). Each sector when captured is coloured green in the sector bar denoting how far along the line they have got. When both teams need the same sector it is a battle as normal for the contested sector.

     

    These have been put together very quickly and would need some extra finesse to clean them up into a release state.

    Due to the nature of sectors both the above missions are Dedicated server only, they will not work correctly if run from the editor or a hosted server.

     

    Thank you Larrow for providing two different example missions. Actually Sector_AAS was just the version I was looking for and that I would like to have as a multiplayer mission framework someday.

     

    We tested that one with a friend of mine in dedicated server environment and it did work to some extent. But as you said it would need some extra finesse and I'm probably too afraid to ask that from you anymore.

     

    But I will still leave some observations anyway:

    • when OPFOR and BLUFOR players captured the sectors so that they would be next to each other, suddenly the other player couldn't capture sectors any further
      • two times out of two the one player that couldn't capture sectors any further was this friend of mine
    • another behavior was that even when another player had already begun capturing a sector he still could lose the sector to the opposing side. When in such case the situation should have been tie since the force balance inside the sector was 1 vs 1
      • two times out of two the one player losing the sector was this friend of mine even though he had begun capturing said sector a lot earlier
    • one thing was that when random amount of sectors had been captured by either side the indicator that is supposedly telling the player on what sector he/she is standing didn't correspond to the sector the player was actually on when observed from the in-game map

    Should you be interested in seeing how the example mission plays out on a dedicated server I can easily provide one. I'm usually in front of my PC during 3:00 PM to 8:00 PM (UTC/GMT +0 hours).


  22. 15 hours ago, Larrow said:

    Unfortunately your link does not work as you have provided a preview link rather than a dropbox share link so ends up sending me to my own dropbox page.

     

    My turn to apologize!

    Maybe I should learn to use DropBox.. even if I did I still wouldn't understand why anyone would want to share only a "preview link" huh. Well not me at least!

     

     

    15 hours ago, Larrow said:

    Using your picture above I have made a working layout, download.

    Whilst doing this I came across the same problem as you describe where the mission will hang on loading.

    It happens when you try to unlock a sector that is initialised before the sector that unlocks it is. Mission Objects seem to be initialised from the sqm via the order you place them in the editor.

    In other words make sure you place down the sectors in the order you need them e.g ..

    1. sector control module
    2. sectorA
    3. sectorB
    4. trigger that unlocks sectorB based off of sectorAs status

     

    Thank you for going all the way to create that working layout. And good to see that you happened to stumble on that small bug (eh?) BIS has apparently introduced within the sector control functionality. Or should we believe it's working as intended? :D

     

     

    Now I see how unlocking sectors work but then I also already see that the functionality needs more.

    How would one go on to create missions where previous sectors need to be captured before next ones can be captured?

    In layman's terms: if a side has captured A and B but not C that side can not capture D until C is taken. And so that no side can capture a sector if it doesn't have a "link" to that particular sector. (Which is possible in the sample mission you kindly provided. Just as an example from that mission: if BLUFOR captures sector A, OPFOR can capture both sector A and B when it should only be able to capture sector A and only after that sector B.)

    Is this the point where we should begin using scripts to achieve what we are after or could this still be achieved only by using BIS sectors?

     

×