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?