Welcome!

Join our community of MMO enthusiasts and game developers! By registering, you'll gain access to discussions on the latest developments in MMO server files and collaborate with like-minded individuals. Join us today and unlock the potential of MMO server development!

Join Today!

[TUTORIAL] Status of weapons at HUD

Junior Spellweaver
Joined
Jan 19, 2014
Messages
136
Reaction score
126
Translate GOD Google.

No support.The code is complete, client and FLASH + HUD

This code makes only the weapons settings appear. Information is pulled from itensdb.xml
May it be useful for those who are interested.

Credits.

LufLax Start the CODE
Me(Jailson Mendes) Finish the code

WarZ_HUD.fla for extract visual informations.
Code:
[COLOR=#333333]https://mega.nz/#!7gR0wIhS[/COLOR][COLOR=#D90007]!VvtYYekjxGCWjRh5xm3wu5qtV7pYTcsG9zxFwXpxBaA[/COLOR]

Image:
8UTBkIi - [TUTORIAL] Status of weapons at HUD - RaGEZONE Forums



In WARZ.sln/Client


Search
Code:
float Weapon::getAmmoSpeed() const

Add:
Code:
float Weapon::getAmmoDamage() const 
{
      return m_pConfig->m_AmmoDamage;
}//D.R.S system Jailson Mendes
float Weapon::getAmmoRecoil() const 
{
      return m_pConfig->m_AmmoRecoil;
}//D.R.S system Jailson Mendes
float Weapon::getAmmoSpread() const 
{
      return m_pConfig->m_AmmoSpread;
}// D.R.S system Jailson Mendes

Search:
Code:
float getAmmoMass() const;

Add above:
Code:
float getAmmoDamage() const; // D.R.S System By Jailson Mendes
float getAmmoRecoil() const; // D.R.S System By Jailson Mendes
float getAmmoSpread() const; // D.R.S System By Jailson Mendes

Search for:
Code:
m_AmmoDamage = xmlWeapon.child("PrimaryFire").attribute("damage").as_float();

Add below or above
Code:
m_AmmoRecoil = xmlWeapon.child("PrimaryFire").attribute("recoil").as_float();//D.R.S system Jailson Mendes
      m_AmmoSpread = xmlWeapon.child("PrimaryFire").attribute("spread").as_float();//D.R.S system Jailson Mendes

Search For:
Code:
float m_AmmoDamage;

Add below:
Code:
float m_AmmoRecoil;//D.R.S system Jailson Mendes
float m_AmmoSpread;//D.R.S system Jailson Mendes

Search for:
Code:
void HUDDisplay::setWeaponInfo(int ammo, int clips, int firemode)
{
      if(!Inited) return;
      Scaleform::GFx::Value var[3];
      var[0].SetInt(ammo);
      var[1].SetInt(clips);
      if(firemode==1)
            var[2].SetString("one");
      else if(firemode ==2)
            var[2].SetString("three");
      else
            var[2].SetString("auto");
      gfxHUD.Invoke("_root.api.setWeaponInfo", var, 3);
}

Edit, like this:
Code:
void HUDDisplay::setWeaponInfo(int ammo, int clips, int firemode, [COLOR=#ff0000]float damage, float recoil, float spread[/COLOR]) //D.R.S system Jailson Mendes
{
    if(!Inited) return;
    Scaleform::GFx::Value var[6];
    var[0].SetInt(ammo);
    var[1].SetInt(clips);
    if(firemode==1)
        var[2].SetString("one");
    else if(firemode ==2)
        var[2].SetString("three");
    else
        var[2].SetString("auto");
[COLOR=#ff0000]    var[3].SetNumber(damage);
    var[4].SetNumber(recoil);
    var[5].SetNumber(spread);[/COLOR]
    gfxHUD.Invoke("_root.api.setWeaponInfo", var, 6);
}

Search For:
Code:
void  setWeaponInfo(int ammo, int clips, int firemode);

Edit, Like this:
Code:
void  setWeaponInfo(int ammo, int clips, int firemode,[COLOR=#ff0000]float damage, float recoil, float spread[/COLOR]);//D.R.S system Jailson Mendes

Now Search:
Code:
if(m_Weapons[m_SelectedWeapon])
                  {
                        if(m_Weapons[m_SelectedWeapon]->getCategory() == storecat_GRENADE) // treated as items
                        {
                              const wiInventoryItem& wi = m_Weapons[m_SelectedWeapon]->getPlayerItem();
                              hudMain->setWeaponInfo(R3D_MIN(1, wi.quantity), R3D_MIN(0, wi.quantity-1), 1);
                        }
                        else
                              hudMain->setWeaponInfo(m_Weapons[m_SelectedWeapon]->getNumBulletsLeft(), m_Weapons[m_SelectedWeapon]->getNumClipsLeft(), (int)m_Weapons[m_SelectedWeapon]->getFiremode());
                  }
 
                  if(r3dGetTime() > showSlotsInfoTimer && showSlotsInfoTimer>0)
                  {
                        hudMain->showSlots(false);
                        showSlotsInfoTimer = 0;
                  }

And leave like this:
Code:
if(m_Weapons[m_SelectedWeapon])
                  {
                        if(m_Weapons[m_SelectedWeapon]->getCategory() == storecat_GRENADE) // treated as items
                        {
                              const wiInventoryItem& wi = m_Weapons[m_SelectedWeapon]->getPlayerItem();
                              hudMain->setWeaponInfo(R3D_MIN(1, wi.quantity), R3D_MIN(0, wi.quantity-1), 1, -1, -1, -1);
                        }
                        else
                              {
                              float fDamage = m_Weapons[m_SelectedWeapon]->getAmmoDamage();
                    float fRecoil = m_Weapons[m_SelectedWeapon]->getAmmoRecoil();
                    float fSpread = m_Weapons[m_SelectedWeapon]->getAmmoSpread();
                              hudMain->setWeaponInfo(m_Weapons[m_SelectedWeapon]->getNumBulletsLeft(), m_Weapons[m_SelectedWeapon]->getNumClipsLeft(), (int)m_Weapons[m_SelectedWeapon]->getFiremode(), fDamage, fRecoil, fSpread);
                              }
                        }
 
                  if(r3dGetTime() > showSlotsInfoTimer && showSlotsInfoTimer>0)
                  {
                        hudMain->showSlots(false);
                        showSlotsInfoTimer = 0;
                  }
Now in HUDDebug.as

Search for
Code:
api.setWeaponInfo (Math.random() * 10, Math.random() * 10, "auto", 50);

Edit, Like This:
Code:
api.setWeaponInfo (Math.random() * 10, Math.random() * 10, "auto",[COLOR=#ff0000]999,999,999[/COLOR]);

Now in HUD.as

Search
Code:
public    function setWeaponInfo (ammo:int, clips:int, type:String, durability:int):void        {            Main.Weapon.Weapon.Ammo.text = ammo;            Main.Weapon.Weapon.AmmoShad.text = ammo;            Main.Weapon.Weapon.Clips.text = clips;            Main.Weapon.Weapon.ClipsShad.text = clips;            Main.Weapon.Weapon.DuraScale.gotoAndStop(Math.max(1, Math.min(100, 100-durability)));                        if (Main.Weapon.Weapon.Fire.currentLabel != type)                Main.Weapon.Weapon.Fire.gotoAndPlay(type);        }

Replace:
Code:
public    function setWeaponInfo (ammo:int, clips:int, type:String, damage:Number, recoil:Number, spread:Number):void        {            Main.Weapon.Weapon.Ammo.text = ammo;            Main.Weapon.Weapon.AmmoShad.text = ammo;            Main.Weapon.Weapon.Clips.text = clips;            Main.Weapon.Weapon.ClipsShad.text = clips;            Main.Weapon.Weapon.Stats.Damage.text = damage.toFixed(1);            Main.Weapon.Weapon.Stats.Recoil.text = recoil.toFixed(1);            Main.Weapon.Weapon.Stats.Spread.text = spread.toFixed(1);                        //Main.Weapon.Weapon.DuraScale.gotoAndStop(Math.max(1, Math.min(100, 100-durability)));                        if (Main.Weapon.Weapon.Fire.currentLabel != type)                Main.Weapon.Weapon.Fire.gotoAndPlay(type);        }



Have Fun!!!



TheLiciaZ
 

Attachments

You must be registered for see attachments list
Back
Top