Results 1 to 5 of 5

Thread: setweaponfiretime etc

  1. #1
    Brigadier General
    Join Date
    Dec 2012
    Posts
    1,012
    Thanks
    440
    Thanked 171 Times in 132 Posts

    setweaponfiretime etc

    Hi all,

    Thanks to all of you for helping me with the libcod problem.
    Next problem is that I cant get the function of Mitch working.
    This is added to _weapons.gsc
    Code:
    loadWeaponInfo(i, array)
    {
        array.id = i;
        array.dmg = getweapondamage(i); // store baseline
        array.meleedmg = getweaponmeleedamage(i); // in case you want to restore old value
        
        if(i >= 64) // no viewmodels after 64th weapon
            array.bugged = 1;
    }
    
    getWeaponArray(weapon)
    {
        if(isDefined(level.weapons[weapon]) && isDefined(level.weapons[weapon].id))
            return level.weapons[weapon];
        else if(isDefined(level.otherweapons[weapon]) && isDefined(level.otherweapons[weapon].id))
            return level.otherweapons[weapon];
        else
            return undefined;
    }
    
    updateWepDamage(weapon, dmg)
    {
        array = getWeaponArray(weapon);
        if(isDefined(array))
            array.dmg = dmg;
    }
    
    updateWepMeleeDamage(weapon, dmg)
    {
        array = getWeaponArray(weapon);
        if(isDefined(array))
            array.meleedmg = dmg;
    }
    
    getWeaponId(weapon)
    {
        if(isDefined(level.weapons[weapon]) && isDefined(level.weapons[weapon].id))
            return level.weapons[weapon].id;
        else if(isDefined(level.otherweapons[weapon]) && isDefined(level.otherweapons[weapon].id))
            return level.otherweapons[weapon].id;
        else
            return -1;
    }
    
    WeaponMaxAmmo(weapon)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        return getweaponmaxammo(id);
    }
    
    WeaponDamage(weapon)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        return getweapondamage(id);
    }
    
    WeaponMeleeDamage(weapon)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        return getweaponmeleedamage(id);
    }
    
    setWepDamage(weapon, dmg, isdefault)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        if(isDefined(isdefault) && isdefault)
            updateWepDamage(weapon, dmg);
        
        return setweapondamage(id, dmg);
    }
    
    setWepMeleeDamage(weapon, dmg, isdefault)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        if(isDefined(isdefault) && isdefault)
            updateWepMeleeDamage(weapon, dmg);
        
        return setweaponmeleedamage(id, dmg);
    } 
    
    WeaponFireTime(weapon)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        return getweaponfiretime(id);
    }
    
    setWepFireTime(weapon, time)
    {
        id = getWeaponId(weapon);
        if(id == -1)
            return 0;
        
        return setweaponfiretime(id, time);
    }
    and in callback
    Code:
    			case "firetime":
    			    if(args.size >= 3) // say !firetime time
    				{
    					firetime = Int(args[2]);
    					maps\mp\gametypes\_weapons::setWepFireTime(self getCurrentWeapon(), firetime);
    				}
    				else
    				{
    					firetime = maps\mp\gametypes\_weapons::WeaponFireTime(self getCurrentWeapon());
    					self thread tellMessage("FireTime: " + firetime);
    				}
    				return;
    It returns 0 for every weapon. There is no error.
    When i do !firetime 2 and then just write !firetime, it will still return 0.
    Must I load a script somewhere?

  2. #2
    Corporal voron00's Avatar
    Join Date
    Nov 2014
    Posts
    248
    Thanks
    64
    Thanked 216 Times in 116 Posts
    I've been playing with those a while ago and if i remember correctly you have to loadWeaponInfo before using those functions
    Try something like this:

    PHP Code:
    loadWeaponFunctions()
    {
        
    setdefaultweapon("mp44_mp"); // changes defaultweapon_mp to mp44_mp
        
        
    loadedweapons getloadedweapons();
        
        for(
    i=0;i<loadedweapons.size;i++)
        {
            
    weaponname loadedweapons[i]; // i = weapon index
            
    if(isDefined(level.weapons[weaponname]))
                
    loadWeaponInfo(ilevel.weapons[weaponname]);
        }


  3. The Following User Says Thank You to voron00 For This Useful Post:

    Ni3ls (13th November 2015)

  4. #3
    Brigadier General
    Join Date
    Dec 2012
    Posts
    1,012
    Thanks
    440
    Thanked 171 Times in 132 Posts
    And where to load it?

  5. #4
    Corporal voron00's Avatar
    Join Date
    Nov 2014
    Posts
    248
    Thanks
    64
    Thanked 216 Times in 116 Posts
    Quote Originally Posted by Ni3ls View Post
    And where to load it?
    From somewhere...e.g weapons.gsc or yourgametype.gsc ..but it must be called after level.weapons are initialized
    Last edited by voron00; 13th November 2015 at 19:25.

  6. The Following User Says Thank You to voron00 For This Useful Post:

    Ni3ls (13th November 2015)

  7. #5
    Brigadier General
    Join Date
    Dec 2012
    Posts
    1,012
    Thanks
    440
    Thanked 171 Times in 132 Posts
    Thanks!!!!!!

Posting Permissions

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