Jump to content

*tcf*jackal

Member
  • Content Count

    116
  • Joined

  • Last visited

  • Medals

Posts posted by *tcf*jackal


  1. Hi Zenophon. Thank you very much for taking the time to provide some examples. They work great! I also better understand how the config properties relate to the elements in the call.

     

    I did see the reference to the DLC property in your documentation and while I did try it, I obviously still had an error in there somewhere as I couldnt get it to play ball.

     

    Thanks again for all your hard work. Your framework has become an absolute must have!


  2. As biggdogg says, the fifth parameter must also match the classes you want. Here's an example specifically for RHS:

    _group = [_pos, west, "SOF", 4, "rhs_vehclass_infantry_ocp", "rhs_faction_usarmy_d"] call Zen_SpawnInfantry;
    
    Hi all,
     
    im still having real trouble using Zen_SpawnInfantry with RHS units. I tried the example code above, but it throws the error "No soldiers found for the given side, type, faction, and blacklist"
     
    Digging around in the config viewer confirms that the values in the example above are valid but don't seem to work for me. The mod is installed and working correctly because a workaround is to use Zen_CreateLoadout and build loadouts manually using RHS bits and bobs. While this works it brings its own challenges and Zen_SpawnIfantry would be the ideal solution.
     
    Here are what appear to be the key values in the config viewer of, as an example, the rhsusf_usarmy_autorifleman unit in the RHS mod.
    faction = "rhs_faction_usarmy_d";
    side = 1;
    type = 0;
    vehicleClass = "rhs_vehclass_infantry_ocp";
    
     
    Has anyone had any success using Zen_SpawnInfantry with RHS units? Any additional working examples would be greatly appreciated.

  3. Hi guys,

     

    im really enjoying using this framework, so thanks to Zenophon for all the hard work!

     

    Im having an issue using Zen_SpawnInfantry with units from the RHS mod. Issue being that I cant get it to spawn any units and in my rpt it simply states "No soldiers found for the given side, type, faction, and blacklist". If I use this code, no problem. Easy stuff, CSAT units as expected:

    _patrolGroup = [_startPos, east, "infantry", [2,6], 'Men'] call Zen_SpawnInfantry;
    

    But if I try to introduce some Russian units from the RHS mod using the following, no dice:

    _patrolGroup = [_startPos, east, "infantry", [2,6], 'Men', 'rhs_faction_vdv'] call Zen_SpawnInfantry;
    

    I've tried various combinations and alternatives based on what I've seen in the config viewer, using vehicleClass, faction etc etc. I've also seen code examples on this very thread for spawning RHS units. But I must be missing a prerequisite piece of code as I just cant get it to spawn any RHS units. Should I perhaps be using Zen_ConfigGetVehicleClasses to get a list of units before Zen_SpawnInfantry can use them?

     

    Any pointers gratefully received.


  4. revive system can be using when respawn = 0 or 1?

    I haven't been able to get this combination to work and it seems that at present its not possible. Although im hoping im wrong and someone more clever than me can state otherwise.

    The aim being that once an incapacitated player bleeds out, he/she is dead, done, out of the game, with no opportunity to respawn. With respawn set to 1 in the desc.ext, it just kills you with no chance for revival.

    I think for tactical coop play, having a player die after bleeding out, with no chance of respawn, would be a pretty neat scenario. Given that the incapacitated dialog has a "hold space to respawn" option, im guess its mutually exclusive at present.


  5. Hi all,

    im about to start testing some code to see if its possible to find the nearest fuel station to the player. Having a look through CfgLocationTypes, nothing really stands out to suggest their locations might be obtainable this way. Before I start testing, does anyone know if the fuel stations are in CfgLocationTypes and if so, what they are called?

    Many thanks!


  6. Thanks JShock.......so like this?

    if (isServer) then {this setVariable ["RscAttributeDiaryRecord_texture","a3\structures_f_epc\Items\Documents\Data\document_secret_01_co.paa", true];      
    [this,"RscAttributeDiaryRecord",["Bomb Schematics","format ["To disarm the bomb, cut the %1 wire",disarm]",""]] call bis_fnc_setServerVariable; this setVariable ["recipients", west, true];
    [this,"init"] spawn bis_fnc_initIntelObject;  };

    I'll keep trying, still no joy.


  7. I've been having a look at the intel objects and stumbled across this helpful post. Using Larrow's code for starters works nicely. Im trying to embed a value from a variable into the text in the intel entry, but I cant get the syntax correct. I can print the variable value using a "hint format" just fine, but Im struggling to get the code below correct so that it appears in the intel entry instead. Can anyone assist? Im not even sure if what im trying to do is possible.

    if (isServer) then {
       this setVariable ["RscAttributeDiaryRecord_texture","a3\structures_f_epc\Items\Documents\Data\document_secret_01_co.paa", true];
       [this,"RscAttributeDiaryRecord",["Bomb Schematics","To defuse the bomb, cut the [b][format ["%1", disarm;]][/b] wire ",""]] call bis_fnc_setServerVariable;
       this setVariable ["recipients", west, true];
       [this,"init"] spawn bis_fnc_initIntelObject;
    };  


  8. Thanks for sharing guys. Its interesting to see the different approaches people have taken to get a similar result. That's the beauty of a game that allows you access "under the hood". Endless solutions to different conundrums.

    Your scripts look far more elegant than mine do at present, so I definitely have plenty room for improvement. Even though it took me most of the weekend to get it (them) working, it was time well spent as I've learned lots. In their current guise the scripts do exactly what I want them to do, based on mission specific requirements:

    - Mimic a device which emits a sound which changes in pitch and frequency based on the distance and relative bearing of the player to a specified object

    - access to the device limited to the pilot of a chopper, and only when he/she is sitting in the pilots seat

    - ability to switch the device on and off at will while in the pilots seat (via "addActions")

    - be able to get in and out of the chopper repeatedly, and not have the script break

    I'll post them here when im next at home, to get some constructive feedback.

    Next steps in development would be to make the script(s) more portable and versatile so that they can be used in other missions without having to hack them to bits. At the moment they don't take parameters which makes them very static. This is more down to my lack of scripting experience than anything else. But KoVValsy has provided a good example on how to implement that so I'll look at that very soon.

    I'd also like to try and create a version which provides access to the tracker when the player has a specific named item in his/her inventory. I don't think this will be too difficult to do. Oh, and the pitch manipulation of one sound file rather than using several files sounds much tidier. So I'll try that too!

    Thanks again everyone!


  9. Thanks for all the help guys, I really appreciate you taking the time to help a guy (me) who doesn't really know what he's doing!

    @Larrow, thanks for the detailed explanation. A huge help as its clear my understanding of a switch wasn't quite what it should be. I'll also ready up on playsound3D, so thanks again for the pointer there.

    I'll go give this a try, and also digest the info above.


  10. I haven't been able to figure this out having tried variations of the code below. The following runs without errors in the rpt, but the _sound variable doesn't update regardless of the direction the player turns. I added a little hint to make sure _bearing is updated as part of the loop, and it seems it is. However, I only ever get the same "Beep".

    To clarify, beep1, 2, 3, 4.....etc are defined in a description.ext and point to individual ogg files.

    This is driving me nuts. Anyone have any suggestions? They would be greatly appreciated.

    while {alive player} do
    {
    _bearing = [player, getpos obj] call BIS_fnc_relativeDirTo;
    _sound = "beep";
    switch (_bearing) do 
    {
    case (_bearing > 0): {_sound = "beep"};
    case (_bearing > 19): {_sound = "beep1"};
    case (_bearing > 39): {_sound = "beep2"};
    case (_bearing > 59): {_sound = "beep3"};
    case (_bearing > 79): {_sound = "beep4"};
    case (_bearing > 99): {_sound = "beep5"};
    case (_bearing > 119): {_sound = "beep6"};
    case (_bearing > 139): {_sound = "beep7"};
    case (_bearing > 159): {_sound = "beep8"};
    case (_bearing > 179): {_sound = "beep9"};
    case (_bearing > 199): {_sound = "beep8"};
    case (_bearing > 219): {_sound = "beep7"};
    case (_bearing > 239): {_sound = "beep6"};
    case (_bearing > 259): {_sound = "beep5"};
    case (_bearing > 279): {_sound = "beep4"};
    case (_bearing > 299): {_sound = "beep3"};
    case (_bearing > 319): {_sound = "beep2"};
    case (_bearing > 339): {_sound = "beep1"};
    };
    playsound _sound;
    hint format["Bearing is %1", _bearing];
    sleep 1;
    };


  11. Many thanks for the pointer Austin! I'll go and give that a shot.

    ---------- Post added at 01:12 PM ---------- Previous post was at 12:49 PM ----------

    One step closer! As Austin suggested, correcting the "switch" did the trick. Also had to declare this as was getting undeclared variable in expression errors:

    _sound = "beep";

    Now I have a looping beep (what an age we live in!) which doesn't yet change source. Im off to bury my head in rpt files to figure out why! Probably a logic issue.


  12. Hi all,

    Im looking for so much needed guidance with some code im trying to put together, bearing in mind that im no coder. Im trying to mimic a tracking device using audible beeps. So the closer the player's bearing is to the relative bearing of an object, the higher the pitch of the beep. At this point im just looking to get the bearing portion of the script running, and then I'd like to add some more code which takes the players distance into account and sets the frequency of the beeps accordingly. Im aware this has been done before, but in the interests of learning I thought I'd try a different approach.

    Using this code, gives us the _bearing variable, which in isolation works well.

    _bearing = [player, getpos obj] call BIS_fnc_relativeDirTo;

    So, next im trying to repeatedly test the _bearing variable in a loop. If the variable is within certain ranges, the _sound variable is then set accordingly. This is then used to actually play the desired beep. Rinse and repeat while the player is alive! Im getting nowhere fast with this having tried different syntax's. Im not even sure if the flow is correct either, so all in all im a little lost. Here's the code thus far, from start to finish.

    while {alive player} do
    {
    _bearing = [player, getpos obj] call BIS_fnc_relativeDirTo;
    switch (_sound) do 
    {
    case ((_bearing >= 0) && (_bearing < 19)): {_sound = "beep"};
    case ((_bearing >= 19) && (_bearing < 39)): {_sound = "beep1"};
    case ((_bearing >= 39) && (_bearing < 59)): {_sound = "beep2"};
    case ((_bearing >= 59) && (_bearing < 79)): {_sound = "beep3"};
    case ((_bearing >= 79) && (_bearing < 99)): {_sound = "beep4"};
    case ((_bearing >= 99) && (_bearing < 119)): {_sound = "beep5"};
    case ((_bearing >= 119) && (_bearing < 139)): {_sound = "beep6"};
    case ((_bearing >= 139) && (_bearing < 159)): {_sound = "beep7"};
    case ((_bearing >= 159) && (_bearing < 179)): {_sound = "beep8"};
    case ((_bearing >= 179) && (_bearing < 199)): {_sound = "beep9"};
    case ((_bearing >= 199) && (_bearing < 219)): {_sound = "beep8"};
    case ((_bearing >= 219) && (_bearing < 239)): {_sound = "beep7"};
    case ((_bearing >= 239) && (_bearing < 259)): {_sound = "beep6"};
    case ((_bearing >= 259) && (_bearing < 279)): {_sound = "beep5"};
    case ((_bearing >= 279) && (_bearing < 299)): {_sound = "beep4"};
    case ((_bearing >= 299) && (_bearing < 319)): {_sound = "beep3"};
    case ((_bearing >= 319) && (_bearing < 339)): {_sound = "beep2"};
    case ((_bearing >= 339) && (_bearing <= 360)): {_sound = "beep1"};
    };
    playsound _sound;
    sleep 0.5;
    };


  13. Excellent mod guys, congrats on everything so far. Its opened up some really interesting possibilities for mission design and I`m having a blast just coming up with CSE mod specific mission objectives.

    On that note, is there a method to track when an object is loaded into the cargo space of a vehicle? isTouchingGround only gets us so far and I wondered if there was perhaps an event we could hook into for this purpose?


  14. Hi,

    there is an undocumented way, to save each group within an zone (of a certain units category) in to a global array.

    For this you have to specify an additional array name as a string. example:

    After the initialization of DAC, all infantry groups from zone "z1" are stored in the array "infZ1".

    Then you can continue your work with this array.

    Greeting

    Silola

    Many thanks Silola! I will give this a try!


  15. Hi guys. Im looking for a little help.

    I want to run a script when all the units from a zone have been killed and its looks like this might be possible using the DAC_Config_Events.sqf script in conjunction with the NotAliveGroup or NotAliveUnit events. I've had a good look at the instructions but im a bit lost to be honest. Lets say we have a simple DAC call to create a no-return infantry zone like this:

    fun=["z1",[1,1,1,0],[1,1,3,2],[],[],[],[0,0,2,0]] spawn DAC_Zone

    So the above zone starts deactivated. Which is fine as I activate it later in the mission. No rocket science here so far. It has no-return enabled as defined by the fourth "0". I also have a waypoint zone associated with the above infantry zone. The zone activates, and my wee squad heads off merrily to the waypoint zone. Perfect.

    To try and hook into an event when this squad dies, ive added the following to the init on my DAC_Intern game logic:

    DAC_Single_Config = ["Behaviour","Events"]

    I also have a DAC_Config_Events.sqf in my mission folder. The documentation suggests I would have to place some code in the "_Events_Unit_S =" section of this file but I have no clue what im doing. Simply put, I just want to run a script when this DAC generated group dies.

    Has anyone had any success with this feature who could perhaps share some wisdom or show us an example?

    Thanks in advance!

×