Ni3ls
13th November 2015, 18:39
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
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
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?
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
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
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?