Jump to content
SyntaxIGE

Terminal Ballistics Comparison Chart of All Vanilla Weapons (NEED HELP WITH SCRIPTS)

Recommended Posts

Hi! I literally just joined BI forums, so I apologize in advance for any mistakes or the failure to comply with any etiquette's.

 

I recently made this chart that's basically a intuitive, visual, and at least somewhat imperial infographic on the penetrating power of the vanilla weapons.


This was done entirely manually, aside from the one bullet tracing script by Naught. (Mostly due to the fact that I have absolutely zero experience with scripting.)
I placed little flags as markers as to where to stand to get consistent screenshots, but that was incredibly tedious, time consuming, and still totally variable.

I'm currently working on the next version of this chart, as some would call me a perfectionist. Some of the improvements I'd like to make include making the entire chart much more rigorous.

Basically, I'm looking for a way to automate much of the process of collecting the data. 
What I'd like the automation to do include: Switch to the next weapon based on a configuration file/GUI, teleport to the right place and right direction, fire a shot, return to the exact position and fire again, repeat until the magazine is empty, then teleport to a position and pausing for 5 seconds or so, allowing me to manually take the screenshot, then repeating from the start.

This not only would make my work much easier, but it would also make the bullet spread in the chart directly indicative of the accuracy of the weapon.

I'm fully aware that this is very much a complicated request but it would seriously aid in the production and quality of V3 of this infographic. 
I'd absolutely love any thoughts or feedback about the chart itself as well.

Thank you for your time.

PS - I'm going to try the option of inserting the chart via image URL, even though I have no clue as to what it'll do.
PS2 - Oh that's what it does

blusazo7i7h31.jpg

Share this post


Link to post
Share on other sites
14 hours ago, SyntaxIGE said:

I placed little flags as markers as to where to stand to get consistent screenshots, but that was incredibly tedious, time consuming, and still totally variable.

You mean camera position?

https://community.bistudio.com/wiki/camCreate

https://community.bistudio.com/wiki/Category:Command_Group:_Camera_Control

Or gun position? for gun, just place a VR block down where you can deploy your gun on.

14 hours ago, SyntaxIGE said:

Switch to the next weapon based on a configuration file/GUI

https://community.bistudio.com/wiki/removeAllWeapons

https://community.bistudio.com/wiki/addWeapon

 

14 hours ago, SyntaxIGE said:

teleport to the right place

https://community.bistudio.com/wiki/setPosASL

 

14 hours ago, SyntaxIGE said:

and right direction

https://community.bistudio.com/wiki/setDir

But that is only horizontal dir, afaik you cannot set vertical direction.

 

14 hours ago, SyntaxIGE said:

fire a shot

https://community.bistudio.com/wiki/forceWeaponFire

or alternatively

https://community.bistudio.com/wiki/action

https://community.bistudio.com/wiki/action/Arma_3_Actions_List#UseWeapon

14 hours ago, SyntaxIGE said:

return to the exact position

You usually don't move while firing. Except the recoil, which again you cannot control vertical aim via script.

 

14 hours ago, SyntaxIGE said:

then teleport to a position and pausing for 5 seconds or so

As I wrote above you can use a camera for that.

 

14 hours ago, SyntaxIGE said:

allowing me to manually take the screenshot

How about https://community.bistudio.com/wiki/screenshot?

 

 

Something like this. You need to modify the part at the top.

 

[] spawn {
    _weaponsArray = [
        ["weaponClassname", "magazineClassname"],
        ["weaponClassname", "magazineClassname"],
        ["weaponClassname", "magazineClassname"],
        ...
    ];

    _playerFiringPosition = [1,2,3]; //x,y,z
    _playerFiringDirection = 123; //Degrees on compass
    _cameraPosition = [1,2,3];
    _cameraAimTargetPosition = [1,2,3];
    



    _cam = "camera" camCreate _cameraPosition;
    _cam camSetDir (_cameraPosition vectorFromTo _cameraAimTargetPosition);
    _cam camCommit 0;
    
    {
        _x params ["_weapon", "_magazine"];
        
        removeAllWeapons player;

        player addMagazine _magazine;
        player addWeapon _weapon;
        sleep 0.5; //Let player switch to weapon
        player setPosASL _playerFiringPosition;
        player setDir _playerFiringDirection;
        
        while {player ammo _weapon > 0} do {
            _unit forceWeaponFire [weaponState _unit select 1, weaponState _unit select 2];
            sleep 0.2; //sleep to wait for recoil and bullet load
        };
        
        _cam cameraEffect ["Internal", "back"]; //Switch to camera
        hint _weapon;
        sleep 5; //take screenshot
        //screenshot; //Try this command out, might need some fiddling
        
        _cam cameraEffect ["terminate","back"]; //Switch back to player view


    } forEach _weaponsArray;
};

 

Why so much effort? Why not just take the muzzle velocity and penetration power of the ammo, and mathematically generate a chart?

  • Like 2

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

×