Jump to content

Wolfenswan

Member
  • Content Count

    212
  • Joined

  • Last visited

  • Medals

Everything posted by Wolfenswan

  1. Wolfenswan

    JSRS3: DragonFyre

    A free-for-all approach is certainly going to cause issues but it is not going to have an effect on what the other players are experiencing. E.g. JSRS 3.0 is not going to have an effect on what other players can or can not hear, unless it would be not entirely client-side.
  2. Wolfenswan

    JSRS3: DragonFyre

    It might be ARMA but stuff like CBA and JSRS does not need to be run by all clients, unless the specific mission requires it (e.g. by calling CBA only functions or refering to JSRS classes in some way). A consistent modset is a good idea but if the mods are purely client-side there's no need to enforce them for all players.
  3. Wolfenswan

    JSRS3: DragonFyre

    It's a purely client-side mod in theory so there should be no MP conflicts.
  4. No need for the trigger if it would work how it should. Anyway, I found the cause for my problem: Setting the new current WP for the group using setCurrentWaypoint from the onAct field causes things to break. E.g. this will prompt the "activated" message several times: wp = (group this) addWaypoint [(position this),10]; (group this) setCurrentWaypoint wp;systemchat "activated"; Setting a new waypoint from a scheduled environment does not cause any issues, it's only calls or putt the code into the onAct field directly. I can just group a unit to a trigger and set the on-activation to whole group/any group member. What I wanted to know though is why my waypoints stopped working as they used to ;)
  5. As I remember it, a waypoint's "on act" field would execute once for the group completing the waypoint. As it is currently it is executed once per group member. Am I mis-remembering or is this a bug? My issue is, I can't figure out a straightforward way to restrict this execution to only happen once, as the only dynamic arguments are this for the group leader and thislist for the units of the group, but no reference to the specific unit in the group which the "on act" is executed for.
  6. I have not tested it on a dedicated yet but it's easy enough to test on local. A systemchat in the on activation field will appear times the number of units in the group. Edit: It seems it's caused by calling a function from the on activation field. If I put only a systemchat in the onAct it fires once, but with a function-call beforehand the systemchat shows times group members. Spawning a function does not cause this behavior.
  7. Looks good but if you want to do that for more classes this seems better: switch (typeOf _x) do { case ("B_G_Soldier_AR_F"): { _x addMagazines ["30Rnd_556x45_Stanag", 3]; _x addMagazine "HandGrenade"; _X addWeapon "Arifle_MK20_F"; }; case ("B_G_Soldier_F"): { // whatever else }; default { systemchat format ["%1 was not processed, class is %2",_x,typeOf_x]}; }; The default bit at the end fires whenever the type does not correspond to any case and puts out a short error message.
  8. 1. You probably want to check for typeOf not isKindOf here, as you're checking for a specific type of unit. 2. The if needs to go inside the forEach scope, as you're testing the _x which only exists within it. { if (typeOf _x == "BLU_G_F") then removeHeadgear _x; removeAllPrimaryWeaponItems _x; _x addHeadgear "H_Shemag_olive_hs"; }; } forEach (units _grp);
  9. The difference between _grp and contact1 is only that the latter is global while the other is only a local variable. But both reference a group within their given scope. What you can do is: private ["_pos"]; _pos = _this select 0; private ["_grp", "_pos"]; _pos = markerPos "enemy_spawn_mrk_obj1"; _grp = [_pos, EAST, (configfile >> "CfgGroups" >> "West" >> "Guerilla" >> "Infantry" >> "IRG_InfTeam")] call BIS_fnc_spawnGroup; [_grp, _pos, 50] call BIS_fnc_taskPatrol; [color="#0000CD"]{ // Do stuff here } forEach (units _grp);[/color] private ["_grp", "_pos"]; _pos = markerPos "enemy_spawn_mrk_obj2"; _grp = [_pos, EAST, (configfile >> "CfgGroups" >> "West" >> "Guerilla" >> "Infantry" >> "IRG_InfTeam")] call BIS_fnc_spawnGroup; [_grp, _pos, 50] call BIS_fnc_taskPatrol; [color="#0000CD"]{ // Do stuff here } forEach (units _grp);[/color]
  10. Wolfenswan

    ASR AI 3

    Amusingly, it dawned on me what nonsense I had written when I was already in bet. What I meant to ask is: is a unit always local to it's owner?
  11. Wolfenswan

    ASR AI 3

    Just for clarification: (owner SomeUnit) && (local SomeUnit) is always either both true or both false, r?
  12. Wolfenswan

    ASR AI 3

    Check your RPT, it should say that ASR_AI3 is loaded and being activated. You can also enable ASR's debug mode in the userconfig.
  13. Wolfenswan

    ASR AI 3

    I'm not sure because if AI skill is set only where the AI is local and then the skill checked where it isn't, they do not correspond. If a locality-change of an AI updates this value as well then everything should be fine. I'll run some tests and let you know if you don't get around to it before me ;)
  14. Wolfenswan

    ASR AI 3

    Thanks for the update! Can you expand on this? How's this going to work if a number of clients are running DragonFyre but the machine where the AI is local to are not? Were you noticing perfomance drops with the "global" syncing of skills? I had a hunch that some sFPS issues we were experiencing was related to sending the stuff related to the skills of newly (zeus) created units over the network and was somehow eh "clogging up the pipes" so to speak. How does this work for units which change their locality, e.g. are put under control of a zeus or into a player's group but were local to the server before? Or a Zeus player/player with AI in their group disconnects and units are put under the server's control? Ah, so a userconfig on the dedi will dictacte the behavior of units in a player's group or under zeus control? That's great! I just noticed that the name of the global variables have changed. Is there backwards compatibility to older missions where ASR features were set with a global variable?
  15. _task is local so it won't be known outside the current scope. You need to wrap that into a single call of BIS_fnc_MP: [color="#FF8040"][color="#1874CD"]_descArray[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"Find and investigate the crash site. If possible, retrieve any goods the helicopter carried. Bring them to the marked position on the map."[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"Secure"[/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"Search the Area"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#8B3E2F"][b][[/b][/color][color="#1874CD"]_descArray[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#8B3E2F"][b]{[/b][/color] [color="#1874CD"]_task[/color] [color="#8B3E2F"][b]=[/b][/color] [color="#000000"]player[/color] [color="#191970"][b]createSimpleTask[/b][/color] [color="#8B3E2F"][b][[/b][/color][color="#7A7A7A"]"Crash site"[/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#1874CD"]_task[/color] [color="#191970"][b]setSimpleTaskDescription[/b][/color] [color="#8B3E2F"][b]([/b][/color][color="#000000"]_this[/color] [color="#191970"][b]select[/b][/color] [color="#FF0000"]0[/color][color="#8B3E2F"][b])[/b][/color][color="#8B3E2F"][b];[/b][/color] [color="#1874CD"]_task[/color] [color="#191970"][b]setTaskState[/b][/color] [color="#7A7A7A"]"Assigned"[/color][color="#8B3E2F"][b];[/b][/color] [color="#8B3E2F"][b]}[/b][/color][color="#8B3E2F"][b]][/b][/color][color="#8B3E2F"][b],[/b][/color][color="#7A7A7A"]"BIS_fnc_spawn"[/color][color="#8B3E2F"][b],[/b][/color][color="#000000"]true[/color][color="#8B3E2F"][b]][/b][/color] [color="#191970"][b]spawn[/b][/color] BIS_fnc_MP[color="#8B3E2F"][b];[/b][/color][/color] Made with KK's SQF to BBCode Converter That said, why don't you use the in-game modules for that? They work fine and you can use triggers to activate tasks during the mission.
  16. BIS_fnc_MP is your savior. Learn to love it for we do not want to go back to the dark days of ARMA2. Anyway, while not elegant it would be sufficient to wrap all the lines you need to be executed for all clients into BIS_fnc_MP which spawns BIS_fnc_spawn. Example: _hq sideChat "To all units! We lost contact to one of our Chinook transport helicopters. We have to presume that they got shot down. Find and investigate the crash site ASAP!"; to [[[_hq],{(_this select 0) sideChat "To all units! We lost contact to one of our Chinook transport helicopters. We have to presume that they got shot down. Find and investigate the crash site ASAP!";}],"BIS_fnc_spawn",true] spawn BIS_fnc_MP;
  17. Hey everyone, it seems that somehow an issue with the caching component slipped through and as only now been noticed. In short, the caching component does not properly disable the simulation for infantry on aggressiveness 1-2. We will include the fix in our upcoming release but for now we suggest fixing it yourself: 1. Open the file f\cache\fn_gCache.sqf 2. Replace line 12 which reads if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _this)) then { with if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _this)) then { 3. Replace line 17 which reads if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _this)) then { with if ((count (assignedVehicleRole _x) == 0 || {"Driver" != (assignedVehicleRole _x) select 0}) && (_x != leader _this)) then { For comparison, you can see the file with fixes included here. We're sorry for any issues this might have caused and rather puzzled how the issue slipped through, as we tested the component thoroughly and are using it for our own missions. Be assured that the responsible parties will be receive the appropriate amount of flogging.
  18. Wolfenswan

    VCOM AI Driving Mod

    If there's no check to exclude specific (non-ground-bound) vehicles, then yes. Because in ARMA-verse even the tiniest drones have "human" pilots :D
  19. Wolfenswan

    Syncing units with other zueses

    if (isServer) then { { this addCuratorEditableObjects [curatorEditableObjects _x,true]; _x addEventHandler ['CuratorObjectPlaced',{this addCuratorEditableObjects [(_this select 1),true];}]; } forEach allCurators - [this]; }; If put in the init of the module (not the controlling unit) of a curator this should add all units of the other curators to the module's list and add an eventhandler to all other curators to automatically add all created units in the future. Note: Wrote from memory, so might have a typo or two but you should get the idea.
  20. That's great news What exactly does this mean?
  21. Wolfenswan

    VCOM AI Driving Mod

    Functionally it's the same to your if statement: If the code outside the braces is wrong (!kindOf Man) it ignores the inner scope. Only if it is true it evaluates the code inside the braces and if that code is true as well, it proceeds to the inner scope. Perfomance-wise it might negligible but as you're dealing with AI every bit might count? I haven't run the perfomance function on it, might be interesting.
  22. Wolfenswan

    JSRS3: DragonFyre

    Thanks, that's good hear esp. as your numbers are similar to ours. Have any of the JSRS3 users noticed oddities with explosions related to the bug/ticket mentioned above?
  23. Wolfenswan

    JSRS3: DragonFyre

    Any server admins can comment on whether there's any performance impact/RPT spam from dragonfyre running client-side with 30+ players around?
  24. Wolfenswan

    VCOM AI Driving Mod

    The knowledge of SQF is less that of a scripting language and more like the shared oral history of a tribe. If it doesn't doesn't get passed on from member to member it will die ;)
  25. Edit: That should be "towards mission ending" not "at". ASM output from two missions we played the last session. I'd consider the perfomance up until the end fine but am stumped at what might have caused the massive drop. We aren't running any extensive server-side mods (only ASM & ASR_AI3). There's nothing out of the ordinary in the .rpt, only the usual "Object not found" and some jsrs related things. Mission 1: Mission 2: To get the larger version of the image: Right click > copy image url > paste in address bar and remove the "l" before the .png
×