Jump to content

diehardfc

Member
  • Content Count

    152
  • Joined

  • Last visited

  • Medals

Posts posted by diehardfc


  1. First up, huge thanks to this community once again for sharing its expertise. You guys never cease to amaze. @pierremgi wins my hero award this week, as his code pretty much does exactly what I needed it to do. If you have a patreon or other donation point, let me know and I'm contributing. Side note: what's the forum etiquette for a post like mine? Do I necro a post that speaks to my issue or create a new one with same-sounding verbiage? I want to get it right in the future!

     

    @Soapbox0331, thank you very much for sharing the link to beno's support by fire script! I haven't gotten it to work right yet, but it looks like it has potential. Right now, my units don't seem to fire with the ferocity of the demo videos, but I'll post in that thread to see if there's a solution.

     

    Since pierre's code relies on group variable names, and there doesn't seem to be a way to slap a variable name on a group as Zeus, what do you think is the most efficient way to assign one during play? I read that you should create an empty group and then assign units, but what if the units don't have variable names? Is it better to somehow learn the group's default variable name and use that?

     

    If assigning my own, would it be like?:

    groupName = grpNull;

    Followed by this on the unit?:

    [this] join (groupName);

     

    • Like 1

  2. 8 minutes ago, pierremgi said:

    You are necroing a 2015 post!

     

    Try doSuppressiveFire

    Sorry for the necro, pierre - honest! This is the only bit of suppressive fire I've gotten to work since Achilles was deprecated.

     

    I've tested the doSuppressiveFire command, and it does work, but it only lasts for 15 seconds. What I need is for a group to fire for much longer. I tried using a while loop to extend the duration for as long as the unit was alive, but that seemed to fail. I don't suppose there's a way to fix that?:

     

    while {alive "group1"} do {
    	_test = [group1,group2] call { 
    	params ["_group1","_group2"]; 
    	{_x doSuppressiveFire selectRandom units _group2} foreach units _group1; 
    	};
    }

     


  3. This is a great script that I've gotten to work successfully with a few different turrets, but what I would really like to do is make it work with infantry units. I tried modifying it, but instead of firing, the unit just goes into a reload animation. Is there a kind soul who might be willing to take a look at this and help figure out why it's not working?

    */
    myArray = [t1, t2, t3];          
    nul = [myUnitName, myArray, 6000] execVM "randomSuppress.sqf"; 
    */
    
    private ["_shooter","_myArray","_fortime","_targetToFireAt"];
    
    if (!isServer) exitWith {};
    _shooter = _this select 0;
    
    _myArray = _this select 1;
    _fortime = _this select 2; 
    
    while {_fortime > 0} do 
    { 
     _targetToFireAt = _myArray call BIS_fnc_selectRandom; 
     _shooter doWatch (getpos _targetToFireAt); 
     _shooter action ["useWeapon", _shooter, _shooter, 2];
     sleep ceil(random 3); //At 0 the gunner doesn't seem to shoot. Or he shoots only once.
     _fortime = _fortime - 1;
     _shooter setammo [primaryWeapon _shooter, 500];
    };

     


  4. That is a great feature. Thanks so much for thinking of (and implementing) it! I can't stand it when I'm trying to get AI to perform assault or suppression and they just stop because they've run out of ammo.

     

    Since we're chatting, I thought I'd ask something that I was always curious about: does the RESPAWNMARKERS function only work with actual map markers? Or could it function with an object? I was thinking of putting down an invisible helipad and moving it around the map in case I needed to change the respawn location. Or, if I'm not using RESPAWNMARKERS and there is just one respawn point, is there already a way to identify that point and possibly move it during gameplay?


  5. Been using JEBUS for a few years now, and I love it just as much today as I did when I first discovered it. Big thanks for all your hard work, dreadpirate! This week, I was poking around in the mission folder and have a quick question about the fn_unlimitedAmmo.sqf file. Is that function turned on if I run the script with just basic parameters? (e.g., 0 = [this, "PAUSE=", 100] spawn jebus_fnc_main;) Is that unlimited ammo function baked in or does it only run if called via [<unit>] call jebus_fnc_unlimitedAmmo?


  6. Greetings! I'm trying to find some help figuring out what I'm doing wrong with some code I assembled. My unit has been trying to create a kind of CBRN type attack via scripting. We tested other mods and scripts (assaultboy, jshok, etc.), but they weren't a good fit, so I tried to put something together using scripts written by AliasCartoons. I've run his fog script with his radiation script and gotten exactly the results my unit was looking for. To set the attack off, though, I'd like to have it delivered by a phony mortar attack. Basically some sound effects and a particle-based smoke cloud over a crater.

     

    So, I've placed an object (invisible helipad) with a global variable name (from the object attributes), and that's where the "mortar blast" will go off. Everything works fine when I test it on my home PC in single player, but when I move it to our unit's dedicated server, it starts to veer off course. If I execute the script LOCAL or SERVER, I can hear the mortar whistle, hear the explosion noise, see the smoke burst, and observe the crater being created. However, none of the other players hear the whistle or see the smoke. If I execute GLOBAL, everyone sees everything, but I'm terrified of doing that because I don't want to execute these scripts on 40 machines. One causes damage over time and the other creates particles which will crash the server, I think.

     

    Looking at the code below, can anyone figure out what's going wrong?  

    //FROM THE FILE GASATTACK.SQF
    
    playSound3D ["a3\sounds_f\weapons\falling_bomb\fall_01.wss", my_radioactive_obj, false, getPosASL my_radioactive_obj, 4, 1, 0, 0]; //PLAYS MORTAR WHISTLE
    
    sleep 5; //DELAYS THE START OF ALIAS SCRIPTS UNTIL AFTER SOUND PLAYS
    
    null = [my_radioactive_obj,200,0.06,"Mask_M50","MineDetector",true,1,true] execvm "AL_radiation\radioactive_object.sqf"; //EXECUTES RADIATION SCRIPT (CBRN DAMAGE EFFECT)
    
    [my_radioactive_obj,"low"] execvm "AL_localfog\local_fog.sqf"; //EXECUTES FOG SCRIPT (CBRN GAS EFFECT)
    
    _gasAttack = "Crater" createVehicle position my_radioactive_obj; //CREATES CRATER ON GROUND
    
    playSound3D [ "A3\Sounds_F\arsenal\explosives\grenades\Explosion_HE_grenade_01.wss", my_radioactive_obj]; //PLAYS EXPLOSION SOUND
    
    //REMAINING CODE SPAWNS SMOKE CLOUD FROM FAKE MORTAR
    h = [] spawn {
        _emitters = [];
        
        for "_i" from 0 to 360 step 45 do {
            _pos = getPos my_radioactive_obj;
            
            _source1 = "#particlesource" createVehicle _pos;
            _source1 setParticleParams [["\A3\data_f\ParticleEffects\Universal\Universal", 16, 7, 48, 1], "", "Billboard", 1, 10, [0, 0, 0],
                        [0, 0, 0.5], 0, 1.277, 1, 0.025, [0.5, 8, 12, 15], [[1, 1, 1, 0.7],[1, 1, 1, 0.5], [1, 1, 1, 0.25], [1, 1, 1, 0]],
                        [0.2], 1, 0.04, "", "", _this];
            _source1 setParticleRandom [2, [0.3, 0.3, 0.3], [1.5, 1.5, 1], 20, 0.2, [0, 0, 0, 0.1], 0, 0, 360];
            _source1 setDropInterval 0.2;
            
            _source2 = "#particlesource" createVehicle _pos;
            _source2 setParticleParams [["\A3\data_f\ParticleEffects\Universal\Universal", 16, 12, 7, 0], "", "Billboard", 1, 5, [0, 0, 0],
                        [0, 0, 0.5], 0, 1.277, 1, 0.025, [0.5, 8, 12, 15], [[1, 1, 1, 1],[1, 1, 1, 1], [1, 1, 1, 0.5], [1, 1, 1, 0]],
                        [0.2], 1, 0.04, "", "", _this];
            _source2 setParticleRandom [2, [0.3, 0.3, 0.3], [1.5, 1.5, 1], 20, 0.2, [0, 0, 0, 0.1], 0, 0, 360];
            _source2 setDropInterval 0.15;
            
            _emitters append[ _source1, _source2 ];
        };
        
        uiSleep 10;
        
        {
            deleteVehicle _x;
        }forEach _emitters;
    };

     

    Why does this work flawlessly on a local machine? And why, on a dedicated server, does the crater always show up and the explosion always go off but the whistle and smoke won't? Alternatively, can anyone say if these were executed Globally, would there be 40 instances of the script running?

    • Like 1

  7. Quick question about units stuck in vehicles after a crash: I THINK this is an ACE issue, but haven't confirmed, so I thought I'd ask here first in case it's a "known" bug that folks might instantly recognize. My unit frequently encounters helicopter crashes where a player, sometimes a pilot, sometimes a crewman, is stuck, even though they are conscious of the burning vehicle around them. He or she has no interactions available. Sometimes curators can teleport them out, but often this doesn't work, and only respawn solves the problem. Our suspicion is that it's some bug where the helicopter takes catastrophic damage that SHOULD kill the occupants, but instead, they receive a ton of ACE style damage. We have insta-kill turned off in the settings. Does this sound like a known issue that anyone has heard of?

     

    Side note: I love ACE and the numerous options for customization. Huge thanks to the development team for both keeping it alive and making clever iterations. ampersand38 is a hero of mine!


  8. I'm not sure if this has been resolved or not, but I experienced a similar problem on a community map called Saint Kapaulio. My milsim group needed an artificial island with runway, so I built one out of concrete pier objects "off the map" just south and west of the 0,0,0 coordinates. With just the pier objects everything was fine, but then I decided I wanted to make it pretty, so I added a bunch of rocks both beneath the composition and extending away from the runway, sort of like shoals. The rocks were a mixture of Arma 3 objects and Arma 2 objects from the CUP Terrains, including the same wavebreaker object that seemed to trigger Daz's frame loss. Something about them caused frame rates to drop precipitously, but unlike with Daz's experience, the frame drop persisted across the map, not just in the vicinity of the rocks! I removed the rocks and tried again, and performance was fine. My final solution was to keep the rocks, but disable simulation and make them simple objects, which restored performance across the map. If it would be helpful, I would be happy to share my composition or try it again on a vanilla map with vanilla objects.


  9. 6 hours ago, mrcurry said:

    is a AL EG command, there's a couple of reasons that I can think of to cause it to fail:

    Couple of questions you should find an answer to before moving on:

    Does the vehicle have respawn enabled? Did it stop working after a respawn?

    Did the player(s) who experience the issue JIP or were they there from mission start?

    Does it only happen for one person or several?

    Does it stop working for everyone at the same time?

    What's the value of the variable when it has stopped working on the client? (If it only breaks for some players check on their clients)

    What's the value of the variable when it has stopped working on the server? (Use the server exec feature in the debug console to run something like: format ["Variable: %1", variable] remoteExec ["systemChat"];)

    Thank you very much for your response. I wanted to reply to your questions inline, but I don't appear to have that level of talent, so here it is in bullet form:

    1. The vehicle is a medical vehicle (an RHS MRAP) but does not have respawn enabled. All players are respawning at a traditional "respawn_west" system marker.
    2. Affected players are a mix of those who were in the mission at the start of the game and those who JIP. I'm not sure if one player type went through first or not, though.
    3. Once it breaks, it seems broken for everybody trying to move into that vehicle.
    4. We've had two vehicles and two redeployment signs running at the same time, and it's possible to have one not working and the other working.
    5. I would love to know this, but getting that value exceeds my skill level. Is that a thing, where a variable can stop working on a client or server but continue working on the other?
    6. If there was a way to discreetly run this code during a mission so that it's not disruptive to players and only I saw the messages, I'd be happy to give it a try. If I plug your proposed code in, what locality would I execute in?

    I sincerely appreciate you taking the time to discuss this issue. Thanks again!


  10. I have a weird problem that I've been unable to solve and I was hoping I could trouble the community for some assistance. I design multiplayer missions for a community of about 50 players and we play on a dedicated server. During missions, players typically respawn at the base or location where they start, which can be many kilometers from where they died. To get them back to their team in a timely manner, we have them go into a "medical redeployment" tent and click on a sign. The sign has some code in its INIT field that uses the moveInCargo command to send the player to the back of a medical vehicle. Then they hop out and rejoin the fight. The system works great when the vehicle is parked, and continues to work even after someone initially drives it. At some point after a driver exits the vehicle, however, the moveInCargo command seems to stop working. As near as I can tell, the code in my sign's INIT field can no longer find the variable name of the medical vehicle. It's a stab in the dark, but I'm guessing it has something to do with locality? The medical vehicle is named in the Eden Editor, so I assume it's owned by the server when the game starts. When a player enters the vehicle, the locality switches to their machine. I'm not sure what happens when there are multiple people inside. I also don't know for sure that ownership reverts back to the server when a player exits. Does anyone know why this happens or how it can be avoided? Should I be assigning these variable names in another way? Do the names need to be updated? I can re-assign the variable and get the code to work again, but it will always fail again after a while. It's terribly confusing! Thanks in advance for any assistance you can offer.


  11. Big thanks to Basher for creating this mod. It's very nice to have the option to use USSR forces for historical campaigns and cold war scenarios, and the attention to detail is impressive! For some reason, the only faction that shows up for me in the editor and as Zeus is the Limited Soviet Contingent in Afghanistan, under OPFOR. I don't see the Soviet Forces anywhere, and I'd like to make use of the woodland camo as opposed to the desert on the Roche map. It happens whether I use the Armaholic download or the Steam Workshop download. Does this happen to anyone else?


  12. On 4/10/2019 at 2:53 PM, R3vo said:

    The stay on position attribute seems to be a bit bugged. It should not have the same effect as disableAI "PATH".

    Ah, so I'm guessing then--when it works--it's more like a fake garrison command? Units stay in a spot, but when their combat stance changes or they spot a threat they can move out of it? That's always been my biggest complaint about garrison, which I get around by DISABLE-ing PATH for garrisoned units.


  13. Outstanding mod, Revo. This is absolutely a must-have for any mission maker. 3den Enhanced has saved me so much time and effort over the years! I have a question about two features: Under SPECIAL STATES there is the STAY ON POSITION option. Am I right in assuming this is the same as the DISABLE AI FEATURES for PATH? That is, the group is receiving the disableAI "PATH" command? I just want to make sure there isn't something else happening. Thanks again!

    • Thanks 1

  14. You were in the hospital? I hope everything is okay! Are you in good health? Are things better now?

     

    Killzone Kid's examples are a great way to set conditions for the execution of scripts. I learned a lot from his examples. I think what I need is a condition that runs on curator machines. E.g., isCurator. Here's why:

     

    I've done some reading, and to the best of my understanding, all curator actions are executed on the machine local to the curator. Those changes are then communicated across the multiplayer network. So, I started thinking about how to run your script only on my local machine so that the results would be communicated to everyone else without them having to run any code. I think you could do this from the debug console, but I already use the Ares Achilles mod by Kex, which has an "Execute Custom Code" module. You can enter code or the path to a script and run it on either Local, Server, or Global machines. A preliminary test running your script Local seems to work, with units being completely redressed, with weapons, NVGs, and identities changed. Of course, I was working alone, so I have to run a test with other players connected later this week to make sure, but I'm very confident it will work. The only thing I'm not sure about is whether running the code on a local machine will affect units placed by another curator. We always have two curators during missions, so if the code isn't affecting all units, then both curators might need to run the script. I'll update with a verdict of success or failure after our big multiplayer game this weekend. Thanks again for your hard work on this - I'm dreaming of all the customization options possible!

    • Thanks 1

  15. While it's not your job to fix my problems, I wanted to share that moving execution of the script to init.sqf actually caused problems when my community ran it with 50 players. Every time a player joined, the script would run and redress all units on the map, and as you can imagine, this caused massive desync. So, while I appreciate that you added my solution to the front page of the thread, I no longer believe that to be an applicable solution.

     

    I feel like the script needs to run from initServer.sqf, but for reasons that elude me, this only works partially on a dedicated server. Uniforms and vests are changed, inventories are emptied and sometimes replaced, but weapons, backpacks, NVGs, and identities are not changed. Perhaps some kind soul with dedicated server skill will read this and offer some bit of enlightenment. This doesn't change the fact that this is an awesome script, George!

    • Thanks 1

  16. I run this script from initServer.sqf on a dedicated server so that it's not doing its thing every time a player joins, but it only removes and replaces uniforms, vests, and inventory items. Unit weapons, NVGs, packs, and identities are not removed or replaced. I'm sure this has something to do with locality, the dedicated server, or the use of initServer.sqf vs init.sqf, but I can't for the life of me figure out what, so I thought I'd see if someone might have some insight. I had the same problem with another script that used Arsenal loadouts. Thanks in advance for any shared wisdom!


  17. I fixed the problem with certain parts of the code not running on the dedicated server by moving the executing call from initServer.sqf to init.sqf. It's not ideal, since it'll run on every connecting machine, but at least now it works perfectly, changing every aspect of units on the map as well as those placed by Zeus. Thanks for making this, George - it's like a custom faction creator!

    • Thanks 1

  18. It's not my server, so I don't have permission to change the mods being used. That being said, since the script calls for removeAllWeapons and removeAllItems first, and then calls for the addItems and addWeapons second, I feel like it's generally working properly. After all, my OPFOR units do have all their gear removed, and do receive the new gear that the script calls for, just with the exception of launchers and NVGs. I tried to add some code to do it manually, at the end of the "remove existing items" section, that used the unlinkItem and removeWeaponGlobal commands, but that didn't seem to help. However, while the server is running, if I bind a variable to a unit as Zeus and execute the same commands with the local variable, the launcher and NVGs are successfully removed; it's almost as if the items don't recognize _unit in the custom loadout script.

     

    EDIT: Well, it turns out things aren't working in more ways than one. I was using CSAT (Pacific) and assuming everything was fine, but on a whim, I put down some RHS OPFOR, and wouldn't you know it, they get redressed, but their weapons, gear, and identity don't change. Isn't that bizarre? I feel like if the removeAllWeapons command didn't work, why would the removeUniform command work? How does it only succeed at some items in the "remove existing items" section and some items in the "add containers" section? I went back and made sure this wasn't happening on local, and everything is fine there; no matter what unit I put down, it gets redressed accordingly.

    • Like 1

  19. So, I got this working perfectly on my local machine, but when I test it on a dedicated server, there's a problem: the script is set to work on OPFOR, and under specific classnames, I've provided the classnames for CSAT (Pacific) because they're close to the group I want to change loadouts for. On the dedicated server, they get the correct loadouts EXCEPTS for the fact that NVGs and launchers are not removed or replaced. I tried adding lines to the loadout.sqf files to "removeItem" on the specific NVGs and specific launchers used by CSAT Pacific, but that didn't work, either. I know this isn't a problem with your script, but I'm wondering if, as an experienced scripter, you might know why these two particular items are impossible to remove?

    • Like 1

  20. On 7/29/2018 at 1:47 PM, loopdk said:

    Hey mate

    I am using the last edition from github

     

    Out of curiosity, did you try switching the LZ and RP from Random to Alpha or Bravo? Not sure if it would make a difference, but would provide more data.

×