Jump to content

morieza

Member
  • Content Count

    53
  • Joined

  • Last visited

  • Medals

Posts posted by morieza


  1. @CMajor28: please try this, (if you still interest to use that script)

    add this define part above "while {alive _fu} do {" line:

    _fhs = _fhd + _fus;
    _fudz = _fus;
    _fhdz = _fus;

    find this part in the script:

    if (_fhd > _fhz) then {

    change to:

    if (_fhd > _fhz and "MOVE" == currentCommand _fu) then {

    ...please feel free to optimize, tweak or expand the script.

    @Harzach: thanks for converting the script to sqf, it works.


  2. Hi CMajor28,

    I made a script for my mission (in my sig') to prevent heli AI crash,

    the script help the heli AI to fly more safely over any high cliffs/mountains with flyinheight 60 (minimum recommended).

    But the script is an sqs.

    usage:

    [HeliName,60,0.1] exec "flysafe.sqs";

    _fu = _this select 0;
    _fhd = _this select 1;
    _fdy = _this select 2;
    
    _fhtr = "Helihempty" createvehicle (position _fu);
    _fus = getPos _fu select 2;
    _dy = _fdy *0.5;
    
    #flyck
    ? (1 < speed _fu) : _fus = speed _fu;
    _fhz = getPos _fu select 2;
    _fhu = getPosasl _fu select 2;
    _fhtg = getPosasl _fhtr select 2;
    
    ? (_fhd > _fhz) : _fhs = _fhz +_fus; _fudz = -_fus *_fus; _fhdz = _fhd +((_fhd -_fhz) *2);
    ? (_fhd < _fhz) : _fhs = _fhd +_fus; _fudz = _fhz *0.1; _fhdz = (_fhz +(_fhd *0.05)) -((_fhz -_fhd) *0.1);
    _dfu = getdir _fu;
    _ftx = _fhs *sin(_dfu);
    _fty = _fhs *cos(_dfu);
    
    _fhtr setpos [(getPos _fu select 0) +_ftx, (getPos _fu select 1) +_fty];
    if (_fhtg +(_fhd *0.5) > _fhu) then {_fu flyinheight ((_fhtg +(_fhd *0.5)) -_fhu) +(_fhd *1.2); _fu limitSpeed _fudz} else {_fu flyinheight _fhdz; if (_fhd *0.6 > _fhz) then {_fu limitSpeed _fudz} else {_fu limitSpeed _fus *(1 +((_fhu -_fhtg) *0.002))}};
    ~_dy
    if (alive _fu) then {goto "flyck"};
    
    deletevehicle _fhtr;
    exit
    


  3. please try this...

    _cargoPlanePos = getPos _cargoPlane;
    sleep 1;
    _ammoBox0 = createVehicle ["USVehicleBox", _cargoPlanePos, [], 0, "none"];
    _chute = createVehicle ["ParachuteBigWest", _ammoBox0, [], 0, "none"];
    _ammoBox0 attachTo [_chute, [0,0,-1]];
    
    waituntil {0.1 > getPos _ammoBox0 select 2};
    detach _ammoBox0;
    _abx0p = getpos _ammobox0;
    deletevehicle _ammoBox0;
    sleep 0.01;
    _ammoBox = "USVehicleBox" createVehicle (_abx0p);
    sleep 0.01;
    clearMagazineCargo _ammoBox;
    clearWeaponCargo _ammoBox;
    _ammoBox addMagazineCargo ["15Rnd_9x19_M9SD",10];
    _ammoBox addMagazineCargo ["30Rnd_556x45_Stanag",10];
    _ammoBox AddWeaponCargo ["M9SD", 2];
    _ammoBox AddWeaponCargo ["M16A2", 2];
    _ammoBox AddWeaponCargo ["Binocular", 2];
    _ammoBox AddWeaponCargo ["NVGoggles",2];


  4. I am having some issues calling in the groups from my SQF's maybe I added your code wrong into my multiple SQF (support groups).

    Can you post your current SQF's ?,

    maybe someone could give more help,

    or maybe someone could tweak/optimize/expand that flower.sqf,

    (TBH this is my second time ever creating a script in SQF format, I'm new in scripting, so SQS is my preference XD.)

    ...umm, about create a group name,

    if it's not possible to create a group name in unit init field (groupname = group this),

    you can also create/define a group name on somewhere else,

    (sorry if you already know...)

    example, creating a group name in init.sqf or on trigger act or on another script:

    groupname = group UnitLeaderName;

    or

    groupname = group player;

    btw, the script can also be use for AI group follow AI group.

    example:

    null = [westgroup1, AIinfantry1, 20] execvm "flower.sqf";

    null = [westgroup1, AIinfantry2, 20] execvm "flower.sqf";

    null = [AIinfantry1, AIinfantry2, 20] execvm "flower.sqf";

    null = [AIinfantry1, AIinfantry3, 20] execvm "flower.sqf";

    null = [AIinfantry2, AIinfantry4, 20] execvm "flower.sqf";

    null = [AIinfantry2, AIinfantry5, 20] execvm "flower.sqf";

    or

    null = [westgroup1, AIgroupAAinfantry, 20] execvm "flower.sqf";

    null = [AIgroupAAinfantry, AIgroupTANK, 50] execvm "flower.sqf";

    etc.


  5. @ morieza

    What happens to the group when the Human player dies and gets respawned back into the game? does the script stop or does the group just starts following the player again.

    Script updated, see post #3,

    now, they start following the player again after respawn (player must moving a bit for triggering their distance check),

    script will stop only if the current follower group have no 'alive' unit.


  6. or..., maybe you want to try this,

    no waypoint needed, you can set many group following your group (Leader),

    just remember to set the distance differently for each group.

    put something like this on init.sqf or on trigger act or on any external script, (Not in unit init field),

    and should use 'groupname', Not 'group unitname':

    null = [FrontGroupName, FollowerGroupName1, 25] execVM "flower.sqf";

    null = [FrontGroupName, FollowerGroupName2, 50] execVM "flower.sqf";

    null = [FrontGroupName, FollowerGroupName3, 75] execVM "flower.sqf";

    etc...

    my example script:

    flower.sqf

    //null = [FrontGroupName, FollowerGroupName, 25] execVM "flower.sqf";
    _grp1 = _this select 0;
    _grp2 = _this select 1;
    _dist = _this select 2;
    
    while {({alive _x} count units _grp2) != 0} do
    {
    while {_dist < leader _grp1 distance leader _grp2 and "MOVE" != currentCommand leader _grp2} do {
    if (10 > getpos leader _grp1 select 2) then {_grp2 move getposatl leader _grp1};
    //hint "follow";
    };
    while {_dist > leader _grp1 distance leader _grp2 and "MOVE" == currentCommand leader _grp2} do {
    _grp2 move getposatl leader _grp2;
    //hint "hold";
    sleep (_dist *0.1);
    waituntil {0 != speed vehicle (leader _grp1)};
    };
    };

    This is a simple demo mission using flower.sqf.


  7. Updated to version 1.02

    Changelog:

    v1.02

    • Added:
      /
      tactic with AI teammates, peel option: left/left-back, right/right-back, formation heading.
    • Improved: Lowering starting-skill and resetting auto-increase-skill multiplier, now the easiest mode will no longer become the hardest, now if enemy unit dead, units remaining in his group will gain an extra skill (more casualties more group skill), new 20 difficulty mode, end mission bonus = +1%..... +400%.
    • Improved: Few ruins of destroyed buildings will be hidden to avoid OPFOR AI stuck when they trying to change group formation heading direction near ruin.


  8. if you set 7 in titlecut /cuttext:

    70 second for "plain /plain down",

    7 second fading time for "black in/out", fading duration number should be lower than delay/sleep number, or let it empty (default fading time is 1 second).

    for instant effect:

    titlecut ["Final text player sees","black out"];
    ~6
    Player cameraeffect ["terminate","back"];
    camdestroy _camera;
    titlecut ["test text that never shows up","black in"];
    
    exit;

    And below here just an example, toying with "black in" duration time,

    description:

    when player get damage 0.3 (example), the player's screen will "black in" in 0.6 second

    player addEventHandler ["hit", {_dmpr = getDammage player; cutText ["","BLACK IN",(_dmpr *2)]}];


  9. That example script didn't have function to exceed unit/group limitation, what I want to say was: he (wolby2010) could create unit more than 100 OPFOR (following his OP).

    I have deleted "...you can create OPFOR soldier as many as you want." after 7 hours since the post #2 have been posted (see last edited date/time). Until now it just stick in wolby2010's post #3, I wish he edit that 'quote' too.

×