Jump to content

Recommended Posts

Die you Pencil Necked Freak!!!!!

pencil-Neck.jpg

  • Like 6
  • Haha 3

Share this post


Link to post
Share on other sites

It's Karl Pilkington at his peak form

  • Haha 3

Share this post


Link to post
Share on other sites
5 hours ago, johnnyboy said:

Die you Pencil Necked Freak!!!!!

pencil-Neck.jpg

Slender Tree? 🤣😱

  • Like 2
  • Haha 1

Share this post


Link to post
Share on other sites

I'm excited. Would you care if i added him into a mission whenever you released him? I feel like he would best be used for random encounters. 

  • Like 2

Share this post


Link to post
Share on other sites
1 minute ago, Slay No More said:

I'm excited. Would you care if i added him into a mission whenever you released him? I feel like he would best be used for random encounters. 

Of course you can use him, as all my scripts!  Hopefully within a week I will release first version.  Thanks for the interest.

  • Thanks 1

Share this post


Link to post
Share on other sites
Just now, johnnyboy said:

Of course you can use him, as all my scripts!  Hopefully within a week I will release first version.  Thanks for the interest.

Sounds amazing, I'm excited and thanks for the permission! I will do your work justice. I have some plans for your little guy here.

  • Like 1

Share this post


Link to post
Share on other sites

If you want various (credible) sizes for all units, here is a little script, tested in SP, should work in MP... performance impact probably depending on number of groups and units.

I hope I reduced it by tracking units with enabled simulation only (so, don't forget to use the dynamic simulation as performance tool)

 

In Init.sqf

["STpopulation","onEachFrame", {
  {
    {
      if (local _x && simulationEnabled _x) then {
        if (isNil {_x getVariable "tall"}) then {
          _x setVariable ["tall" , 1 + ((random 0.3^1.4)* selectRandom [-1,1.2]) ,TRUE];
        };
        _x setObjectScale (_x getVariable ["tall",1])
      };
    } forEach units _x;
  } forEach allGroups;
}] call bis_fnc_addStackedEventHandler;

 

 

 

 

 

 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Awesome job, this is the kinda stuff I envisioned when I first started tinkering around with scripting in Arma a couple years ago. Was pretty bummed to find that there was no way to scale objects but it seems they've fixed that with the new setobjectscale command.

 

Have you tested this in a multiplayer environment? I tried spawning in some scaled objects on my server and only things that are local to each client appear scaled. I also thought that it could only be used on simple objects and/or objects that are attached to something. When I spawn in a AI soldier with a modded scale they immediately "snap" back to the proper size within a second or two. Also I can't seem to get AI to stay in scaled vehicles even when they are attached to something... they bail out after a few seconds.

 

Anyways, really looking forward to a public release of this, thanks for sharing what you have so far.

Share this post


Link to post
Share on other sites
4 hours ago, DeadNuts said:

Have you tested this in a multiplayer environment? I tried spawning in some scaled objects on my server and only things that are local to each client appear scaled. I also thought that it could only be used on simple objects and/or objects that are attached to something. When I spawn in a AI soldier with a modded scale they immediately "snap" back to the proper size within a second or two. Also I can't seem to get AI to stay in scaled vehicles even when they are attached to something... they bail out after a few seconds.

Anyways, really looking forward to a public release of this, thanks for sharing what you have so far.

 

Which test? I ask that because I just released a test above your post, supposed to be MP friendly. This command is (AL EG - Biki) so, it MUST be applied on local units (player PC for his group, server or HC for autonomous AIs), but the effect is global... The good question is how?

As you know, the units can shift for new owner (PC) when a player joins and takes the lead of a group (beyond the player's slot itself). The reason why, I froze a public value for the scale (broadcast setVariable), but applied the scale, locally, on each frame (due to animations). Any feedback?

  • Like 1

Share this post


Link to post
Share on other sites
5 hours ago, DeadNuts said:

Have you tested this in a multiplayer environment?

You should try Pierre's test.  Pierre and I are doing giants differently.  He is using the constant onEachFrame code to keep unit scaled up.  My approach is to attach the scaled up unit to a hidden non-scaled unit (so no on EachFrame loop used).  His approach is cleaner and less work.  I may or may not convert to the onEachFrame approach (it depends on my time available).

 

Regarding MP, I know I need to do a lot of tweaks first (i.e., change all my playmove/switchmove/playaction commands to use remoteExec).   I will do that work.  After that it would have to be MP tested by someone else.  I suspect there will be performance issues with many giants due to all the attachments.  One JBOY giant is currently comprised of 5 objects  (3 AI and 2 objects).)

  • BRAIN:  a hidden AI that does the pathfinding and moving (giant attached to this unit)
  • BRAWN: an attached scaled up giant ai that plays all the move and attack animations 
  • PAIN: a hidden attached AI that takes bullet damage that is applied to the giant (necessary because hits on attached scaled up unit are not detected otherwise)
  • MEAN: a scaled up skull helmet
  • CLUB: a scaled up club object
  • SPEAR:  I will be adding a spear object soon

 

Note that my giants are different than scaled up units.  They have their own attacks and behaviours.  If you want a "normal" unit that drives cars and uses weapons, then use Pierre's approach.  You will get your result with much less effort.

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

As a slight tip, playAction is a global command that AI on the server can execute and doesn't need to be remoteExecuted. However, switchAction does need to be remoteExecuted, as well as the animation commands like you mentioned such as playMove / playMoveNow / switchMove.

  • Like 1

Share this post


Link to post
Share on other sites

Looking forward to this. Have not found a good solution to make this work in MP on my end.

  • Like 1

Share this post


Link to post
Share on other sites

This is awesome! All size problems fixed! I could develop King Kong or Godzilla! 😜

  • Like 5

Share this post


Link to post
Share on other sites
17 hours ago, maxjoiner said:

This is awesome! All size problems fixed! I could develop King Kong or Godzilla! 😜

 

Or add 3 meters Engineers to your aliens pack! 

 

😉 

  • Like 1

Share this post


Link to post
Share on other sites

When is the script coming out? This looks AWESOME. I also love that this is a script and not a mod (I prefer scripts), would be perfect for Attack On Titan scenario

Share this post


Link to post
Share on other sites
On 3/24/2021 at 4:54 PM, pierremgi said:

If you want various (credible) sizes for all units, here is a little script, tested in SP, should work in MP... performance impact probably depending on number of groups and units.

I hope I reduced it by tracking units with enabled simulation only (so, don't forget to use the dynamic simulation as performance tool)

 

In Init.sqf


["STpopulation","onEachFrame", {
  {
    {
      if (local _x && simulationEnabled _x) then {
        if (isNil {_x getVariable "tall"}) then {
          _x setVariable ["tall" , 1 + ((random 0.3^1.4)* selectRandom [-1,1.2]) ,TRUE];
        };
        _x setObjectScale (_x getVariable ["tall",1])
      };
    } forEach units _x;
  } forEach allGroups;
}] call bis_fnc_addStackedEventHandler;

 

 

Hi @pierremgi Thanks for sharing the code. I can get the code to work in editor, but not when I spawn in a group during a mission.  I was wondering if you can see where I have gone wrong please 🙂

The units spawn in at normal size (see "Start Giants"):

Spoiler

/* ----------------------------------------------------------------------------
Function: BLWK_fnc_createSuicideWave

Description:
    creates the suicide bombers and sends them towards The Crate

    Executed from "BLWK_fnc_handleSuicideWave"

Parameters:
    0: _unitsToWorkWith : <ARRAY> - Units to potentially turn into bombers

Returns:
    NOTHING

Examples:
    (begin example)

        [unitsArray] call BLWK_fnc_createSuicideWave;

    (end)

Author(s):
    Hilltop(Willtop) & omNomios,
    Modified by: Ansible2 // Cipher
---------------------------------------------------------------------------- */
params ["_unitsToWorkWith"];

private _numberOfBombers = round (count _unitsToWorkWith / 4);
private _bombersArray = _unitsToWorkWith select [0,_numberOfBombers];

private "_unitGroupTemp";
_bombersArray apply {
    _unitGroupTemp = group _x;
    [_unitGroupTemp] call CBAP_fnc_clearWaypoints;
    [_unitGroupTemp, BLWK_mainCrate, 5, "MOVE", "CARELESS"] call CBAP_fnc_addWaypoint;
    
    //start giants
    ["giant","onEachFrame", {
  {
    {
      if (local _x && simulationEnabled _x) then {
        if (isNil {_x getVariable "tall"}) then {
          _x setVariable ["tall" ,4,TRUE];
        };
        _x setObjectScale (_x getVariable ["tall",1])
      };
    } forEach units _x;
  } forEach _unitGroupTemp;
}] call bis_fnc_addStackedEventHandler;
 

//  ["small_man","onEachFrame", {{_x setObjectScale 0.5} forEach _bombersArray;}] call bis_fnc_addStackedEventHandler;

    //end giants

// aussie added suicide uniform by KilzoneKid
    private ["_expl1","_expl2","_expl3"];

    removeHeadgear _x;    
    removeVest _x;    
    _x addVest "V_HarnessOGL_brn";
    _x addHeadgear "H_ShemagOpen_khk";    
    
    _expl1 = "DemoCharge_Remote_Ammo" createVehicle position _x;
    _expl1 attachTo [_x, [-0.1, 0.1, 0.15], "Pelvis"];
    _expl1 setVectorDirAndUp [ [0.5, 0.5, 0], [-0.5, 0.5, 0] ];
    _expl2 = "DemoCharge_Remote_Ammo" createVehicle position _x;
    _expl2 attachTo [_x, [0, 0.15, 0.15], "Pelvis"];
    _expl2 setVectorDirAndUp [ [1, 0, 0], [0, 1, 0] ];
    _expl3 = "DemoCharge_Remote_Ammo" createVehicle position _x;
    _expl3 attachTo [_x, [0.1, 0.1, 0.15], "Pelvis"];
    _expl3 setVectorDirAndUp [ [0.5, -0.5, 0], [0.5, 0.5, 0] ];
// end suicide uniform    

};


I also tried running the "call bis_fnc_addStackedEventHandler;" in my mission init with no luck 😞
There are no error messages in the logs.

Share this post


Link to post
Share on other sites

Your stacked event handlers "onEachFrame" have no parameter, so, the _unitGroupTemp or _bomberArrays variable  remains undefined inside the EH code.

Try:

["giant","onEachFrame", {...code with parameter...}, [_unitGroupTemp] ] call BIS_fnc_addStackedEventHandler; so:

 

["giant","onEachFrame", {
  _unitGroupTemp = _this #0;
  {
    {
      if (local _x && simulationEnabled _x) then {
        if (isNil {_x getVariable "tall"}) then {
          _x setVariable ["tall" ,4,TRUE];
        };
        _x setObjectScale (_x getVariable ["tall",1])
      };
    } forEach units _x;
  } forEach _unitGroupTemp;
},[_unitGroupTemp] ] call bis_fnc_addStackedEventHandler;

Same for "small_man" stacked EH.

  • Like 2

Share this post


Link to post
Share on other sites

I just saw this video and thought of this mod to create a new game mode.

 

It came from Halo but was remade for Gmod/Half Life 2. 

 

Could be Escape the Giant over a VR course for performance!

 

  • Haha 1

Share this post


Link to post
Share on other sites

v1 of JBOY Giant now released. :t: See top post for demo mission download link and instructions how to add giants to your own mission.  Feel free to use these any way you like, and modify the code any way you like (just credit me is all I ask).

 

I hope to start making a mission using these bad boys soon, which will inspire me to add more features.

 

Have fun!

  • Like 8
  • Thanks 2

Share this post


Link to post
Share on other sites
12 hours ago, johnnyboy said:

... which will inspire me to add more features.

 

Something like that:
0 = [] spawn {
  enableCamShake true;
  while {alive giant1} do {
    waitUntil {_footPrt = (nearestObject [giant1, "#mark"]); _footPrt distance2D giant1 < 1  or !alive giant1};  
    addCamShake [2 - (giant1 distance2D player)/200, 1, 20];
    sleep 0.2;
    _footPrt = objNull
  }
};

Note I don't know what could be the distance check, between footstep and giant, for your giant.

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
25 minutes ago, sammael said:

Attack on Titan

johnnyboy would have to create butt naked giants to live up to that Attack on Titans theme 😄

About as close as i got to that would be this

1DEFA6C8353B561777C3EC646CD524FBFFCA2738

  • Haha 1

Share this post


Link to post
Share on other sites
3 hours ago, Gunter Severloh said:

johnnyboy would have to create butt naked giants to live up to that Attack on Titans theme 😄

About as close as i got to that would be this

1DEFA6C8353B561777C3EC646CD524FBFFCA2738

Just need to make underwear skin colored and will be perfect xd

 

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites

Please sign in to comment

You will be able to leave a comment after signing in



Sign In Now

×