Results 1 to 5 of 5

Thread: Random Loadouts

  1. #1

    Thumbs up

    After some inspiration, and a load of help from PsyWarrior, I've completed my first script that is useful!

    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">;Random Loadouts.... Originally by PsyWarrior
    ;Edited by Homefry
    ;To Use&#58; &#91;unitname&#93; exec &#34;randomweapons.sqs&#34;

    _man = _this select 0

    ;Weapons are removed&#58;
    removeAllWeapons _man

    ;Determine what side the unit is on
    ?side _man == west &#58; goto &#34;westweapons&#34;
    ?side _man == east &#58; goto &#34;eastweapons&#34;
    ?side _man == resistance &#58; goto &#34;resistanceweapons&#34;
    ?side _man == civilian &#58; goto &#34;civilianweapons&#34;

    #westweapons
    _primaryArray = &#91;&#34;m16&#34;, &#34;M60&#34;, &#34;M4&#34;, &#34;G36A&#34;, &#34;FAL&#34;, &#34;Steyr&#34;, &#34;HKG3&#34;&#93;
    _BulletArray = &#91;&#34;m16&#34;, &#34;M60&#34;, &#34;M4&#34;, &#34;G36AMag&#34;, &#34;FALMag&#34;, &#34;SteyrMag&#34;, &#34;HKG3Mag&#34;&#93;
    goto &#34;randomize&#34;

    #eastweapons
    _primaryArray = &#91;&#34;AK47&#34;, &#34;AK74&#34;, &#34;AK74SU&#34;, &#34;PK&#34;&#93;
    _BulletArray = &#91;&#34;AK47&#34;, &#34;AK74&#34;, &#34;AK74&#34;, &#34;PK&#34;&#93;
    goto &#34;randomize&#34;


    #resistanceweapons
    _primaryArray = &#91;&#34;AK47&#34;, &#34;AK47CZ&#34;, &#34;HuntingRifle&#34;, &#34;PK&#34;, &#34;FAL&#34;&#93;
    _BulletArray = &#91;&#34;AK47&#34;, &#34;AK47&#34;, &#34;HuntingRifleMag&#34;, &#34;PK&#34;, &#34;FALMag&#34;&#93;
    goto &#34;randomize&#34;

    #civilianweapons
    _primaryArray = &#91;&#34;Beretta&#34;, &#34;CZ75&#34;, &#34;Glock&#34;, &#34;Ingram&#34;, &#34;Revolver&#34;, &#34;Skorpion&#34;, &#34;Tokarev&#34;&#93;
    _BulletArray = &#91;&#34;BerettaMag&#34;, &#34;CZ75Mag&#34;, &#34;GlockMag&#34;, &#34;IngramMag&#34;, &#34;RevolverMag&#34;, &#34;SkorpionMag&#34;, &#34;TokarevMag&#34;&#93;
    goto &#34;randomize&#34;


    ;Generate random number based on number of elements in array.
    #randomize
    _n = 0
    _n = count _primaryArray
    _random1 = random _n + 1
    goto &#34;loopstart&#34;



    #loopstart
    _ammo = _BulletArray select _random1
    _man addmagazine _ammo
    _man addmagazine _ammo
    _man addmagazine _ammo
    _man addmagazine _ammo

    _primaryWeap = _primaryArray select _random1
    _man addWeapon _primaryWeap


    exit[/QUOTE]

    Test mission: Here

    What I need is suggestions and/or requests to make this thing better.

    P.S. Is the "+1" at the end of "_random1 = random _n + 1" neccesary?

  2. #2
    Hmmm, this could be quite useful on rebel campaigns

  3. #3
    Yea, nice script mate&#33; Thanks for sharing...

    /Christer (a.k.a KeyCat)

  4. #4
    Your welcome, thanks for testing and using it. If you encounter any problems, please let me know so I can correct it.

  5. #5
    I had some time today to update this, it&#39;s much better now. I haven&#39;t had any problem&#39;s whatsoever.

    <table border="0" align="center" width="95%" cellpadding="0" cellspacing="0"><tr><td>Code Sample </td></tr><tr><td id="CODE">;Random Loadouts.... Originally by PsyWarrior
    ;Edited by Homefry
    ;To Use&#58; &#91;unitname, &#34;modname&#34;&#93; exec &#34;randomweapons.sqs&#34;
    ;use &#91;unitname, &#34;Default&#34;&#93; exec &#34;randomweapons.sqs&#34; to use BIS Weapons only

    _man = _this select 0
    _mod = _this select 1


    ;Weapons are removed&#58;
    removeAllWeapons _man

    ;Determine what side the unit is on
    ?side _man == west &#58; goto &#34;westweapons&#34;
    ?side _man == east &#58; goto &#34;eastweapons&#34;
    ?side _man == resistance &#58; goto &#34;resistanceweapons&#34;
    ?side _man == civilian &#58; goto &#34;civilianweapons&#34;

    ;Add West Weapons&#58;
    #westweapons
    ;Format for Adding in Addon Weapons&#58;
    ;?_mod == &#34;MODNAME&#34; &#58; _primaryArray = &#91;&#34;GUN_CLASS_NAME_ONE&#34;, &#34;GUN_CLASS_NAME_TWO&#34;, &#34;ETC...&#34;&#93;
    ;?_mod == &#34;MODNAME&#34; &#58; _BulletArray = &#91;&#34;MAG_CLASS_NAME_ONE&#34;, &#34;GUN_CLASS_NAME_TOW&#34;, &#34;ETC...&#34;&#93;
    ?_mod == &#34;BAS&#34; &#58; _primaryArray = &#91;&#34;BAS_JM4ACOG&#34;, &#34;BAS_JM4ACOGS&#34;, &#34;BAS_JM4MKACOG&#34;, &#34;BAS_JM4REFLEX&#34;, &#34;BAS_JM4REFLEXS&#34;, &#34;BAS_JM4ReflexM203&#34;, &#34;BAS_JM4ReflexSM203&#34;, &#34;BAS_JM4MKReflex&#34;, &#34;BAS_JM4EOTech&#34;, &#34;BAS_JM4EOTechS&#34;, &#34;BAS_JM4EOTechM203&#34;, &#34;BAS_JM4EOTechSM203&#34;, &#34;BAS_JM4Aimpoint&#34;, &#34;BAS_JM4AimpointS&#34;, &#34;BAS_JM4AimpointM203&#34;, &#34;BAS_JM4AimpointSM203&#34;, &#34;BAS_JM14AIMPOINT&#34;, &#34;BAS_JM14DMR&#34;, &#34;BAS_JM24SWS&#34;, &#34;BAS_JSR25&#34;, &#34;BAS_JSR25S&#34;, &#34;BAS_JMP5SDAimpoint&#34;, &#34;BAS_JM249&#34;, &#34;BAS_JM249SPW&#34;, &#34;BAS_JM249SPWSD&#34;, &#34;BAS_JM240B&#34;&#93;
    ?_mod == &#34;BAS&#34; &#58; _BulletArray = &#91;&#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30SDmag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30SDmag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30SDmag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30SDmag&#34;, &#34;JAM_W556_30mag&#34;, &#34;JAM_W556_30SDmag&#34;, &#34;JAM_W762_20mag&#34;, &#34;JAM_W762_20mag&#34;, &#34;JAM_W762_5mag&#34;, &#34;JAM_W762Sniper_20Mag&#34;, &#34;JAM_W762Sniper_20SDMag&#34;, &#34;JAM_MP5SBASDmag&#34;, &#34;JAM_W556M_200mag&#34;, &#34;JAM_W556M_200mag&#34;, &#34;JAM_W556M_200SDmag&#34;, &#34;JAM_W762M_100mag&#34;&#93;
    ?_mod == &#34;BAS&#34; &#58; goto &#34;randomize&#34;

    ?_mod == &#34;MARPAT&#34; &#58; _primaryArray = &#91;&#34;C8XM16acog&#34;, &#34;C8XM16cco&#34;, &#34;C8XM16reflex&#34;, &#34;C8XM16M203&#34;, &#34;C8XM16M203acog&#34;, &#34;C8XM16M203reflex&#34;, &#34;C8XM16M203cco&#34;, &#34;C8XM249&#34;, &#34;C8XM249m145&#34;, &#34;C8XM249PARA&#34;, &#34;C8XM249PARAcco&#34;, &#34;C8XM4&#34;, &#34;C8XM4acog&#34;, &#34;C8XM4reflex&#34;, &#34;C8XM4cco&#34;, &#34;C8XM4M203&#34;, &#34;C8XM4M203cco&#34;, &#34;C8XM4M203acog&#34;, &#34;C8XM4M203reflex&#34;, &#34;C8XM4_sd&#34;, &#34;C8XM4acog_sd&#34;, &#34;C8XM4reflex_sd&#34;, &#34;C8XM4cco_sd&#34;, &#34;C8XM4M203_sd&#34;, &#34;C8XM4M203cco_sd&#34;, &#34;C8XM4M203acog_sd&#34;, &#34;C8XM4reflex_sd&#34;, &#34;C8XM1014&#34;, &#34;C8XM1014cco&#34;&#93;
    ?_mod == &#34;MARPAT&#34; &#58; _BulletArray = &#91;&#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm16mag&#34;, &#34;c8xm249mag&#34;, &#34;c8xm249mag&#34;, &#34;c8xm249mag&#34;, &#34;c8xm249mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4mag&#34;, &#34;c8xm4sdmag&#34;, &#34;c8xm4sdmag&#34;,&#34;c8xm4sdmag&#34;,&#34;c8x m4sdmag&#34;,&#34;c8xm4sdmag&#34;,&#34;c8xm4sdmag& #34;,&#34;c8xm4sdmag&#34;,&#34;c8xm4sdmag&#34;, &#34;c8xm1014mag&#34;, &#34;c8xm1014mag&#34;&#93;
    ?_mod == &#34;MARPAT&#34; &#58; goto &#34;randomize&#34;

    _primaryArray = &#91;&#34;m16&#34;, &#34;M60&#34;, &#34;M4&#34;, &#34;G36A&#34;, &#34;FAL&#34;, &#34;Steyr&#34;, &#34;HKG3&#34;&#93;
    _BulletArray = &#91;&#34;m16&#34;, &#34;M60&#34;, &#34;M4&#34;, &#34;G36AMag&#34;, &#34;FALMag&#34;, &#34;SteyrMag&#34;, &#34;HKG3Mag&#34;&#93;
    goto &#34;randomize&#34;

    #eastweapons
    ?_mod == &#34;MARPAT&#34; &#58; _primaryArray = &#91;&#34;C8XAK74M&#34;, &#34;C8XAK74Mcobra&#34;, &#34;C8XAK74M1p29&#34;, &#34;C8XAK74MGP25&#34;, &#34;C8XAK74MGP25cobra&#34;, &#34;C8XAK74MGP251p29&#34;, &#34;C8XAK74M_SD&#34;, &#34;C8XAK74Mcobra_SD&#34;, &#34;C8XAK74M1p29_SD&#34;, &#34;C8XAK74MGP25_SD&#34;, &#34;C8XAK74MGP25cobra_SD&#34;, &#34;C8XAK74MGP251p29_SD&#34;, &#34;C8XRPK74M&#34;, &#34;C8XRPK74M1p29&#34;, &#34;C8XAKS74U&#34;, &#34;C8XAKS74Ucobra&#34;, &#34;C8XAKS74U_sd&#34;, &#34;C8XAKS74Ucobra_sd&#34;, &#34;C8XAKS74UBS1&#34;, &#34;C8XAKS74UBS1cobra&#34;&#93;
    ?_mod == &#34;MARPAT&#34; &#58; _BulletArray = &#91;&#34;c8xak74mag&#34;, &#34;c8xak74mag&#34;, &#34;c8xak74mag&#34;, &#34;c8xak74mag&#34;, &#34;c8xak74mag&#34;, &#34;c8xak74mag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xak74sdmag&#34;, &#34;c8xrpk74mag&#34;, &#34;c8xrpk74mag&#34;, &#34;c8xaks74umag&#34;, &#34;c8xaks74umag&#34;, &#34;c8xaks74usdmag&#34;, &#34;c8xaks74usdmag&#34;, &#34;c8xaks74usdmag&#34;, &#34;c8xaks74usdmag&#34;&#93;
    ?_mod == &#34;MARPAT&#34; &#58; goto &#34;randomize&#34;

    _primaryArray = &#91;&#34;AK47&#34;, &#34;AK74&#34;, &#34;AK74SU&#34;, &#34;PK&#34;&#93;
    _BulletArray = &#91;&#34;AK47&#34;, &#34;AK74&#34;, &#34;AK74&#34;, &#34;PK&#34;&#93;
    goto &#34;randomize&#34;

    #resistanceweapons
    _primaryArray = &#91;&#34;AK47&#34;, &#34;AK47CZ&#34;, &#34;HuntingRifle&#34;, &#34;PK&#34;, &#34;FAL&#34;&#93;
    _BulletArray = &#91;&#34;AK47&#34;, &#34;AK47&#34;, &#34;HuntingRifleMag&#34;, &#34;PK&#34;, &#34;FALMag&#34;&#93;
    goto &#34;randomize&#34;

    #civilianweapons
    _primaryArray = &#91;&#34;Beretta&#34;, &#34;CZ75&#34;, &#34;Glock&#34;, &#34;Ingram&#34;, &#34;Revolver&#34;, &#34;Skorpion&#34;, &#34;Tokarev&#34;&#93;
    _BulletArray = &#91;&#34;BerettaMag&#34;, &#34;CZ75Mag&#34;, &#34;GlockMag&#34;, &#34;IngramMag&#34;, &#34;RevolverMag&#34;, &#34;SkorpionMag&#34;, &#34;TokarevMag&#34;&#93;
    goto &#34;randomize&#34;


    ;Generate random number based on number of elements in array.
    #randomize
    _random1 = 0
    _n = 0
    _n = count _primaryArray
    _random1 = random _n
    _random1 = _random1 - 1
    ?_random1 == 0 &#58; goto &#34;randomize&#34;
    ?_random1 &#62; _n &#58; goto &#34;randomize&#34;
    ?_random1 &#60; 0 &#58; goto &#34;randomize&#34;
    _ammo = _BulletArray select _random1
    _primaryWeap = _primaryArray select _random1
    _a = 0
    goto &#34;specialweapons&#34;


    ;Weapons with speconday weapons go here&#58;
    ;In this case, weapon&#39;s with M203&#39;s or similar were given two rounds
    #specialweapons
    ?_a == 2&#58; goto &#34;loopstart&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4ReflexM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4ReflexSM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4EOTechM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4EOTechSM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4AimpointM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;BAS&#34; && _primaryWeap == &#34;BAS_JM4AimpointSM203&#34; &#58; _man addMagazine &#34;JAM_M433grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM16M203&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM16M203acog&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203reflex&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203_sd&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203acog_sd&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203reflex_sd&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203cco_sd&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM16M203reflex&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM16M203cco&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203cco&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XM4M203acog&#34; &#58; _man addMagazine &#34;c8xm203grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP25&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP25cobra&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP251p29&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP25_SD&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP25cobra_SD&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAK74MGP251p29_SD&#34; &#58; _man addMagazine &#34;c8xgp25grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAKS74UBS1&#34; &#58; _man addmagazine &#34;C8XBS1grenade&#34;
    ?_mod == &#34;MARPAT&#34; && _primaryWeap == &#34;C8XAKS74UBScobra&#34; &#58; _man addmagazine &#34;C8XBS1grenade&#34;
    _a = _a + 1
    goto &#34;specialweapons&#34;

    #loopstart
    ;Give the unit his weapon and ammo
    _man addmagazine _ammo
    _man addmagazine _ammo
    _man addmagazine _ammo
    _man addmagazine _ammo
    _man addWeapon _primaryWeap
    ~3
    _b = _man hasWeapon _primaryWeap
    ?_b = 0 &#58; goto &#34;randomize&#34;

    exit[/QUOTE]

    Script here
    <a href="http://www.ofpec.com/yabbse/attachments/RandomWea
    pons1-5.Noe.pbo" target="_blank">Test Mission</a>

    I&#39;ve also included all the rifles from the BAS Ranger/Delta Pack(v1.55) and the Marine Assault Pack. To use the BAS weapons: [unitname, "BAS"] exec "randomweapons.sqs"
    To use the MAP weapons: [unitname, "MARPAT"] exec "randomweapons.sqs"

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •