PDA

View Full Version : Grenade Bug



Loveboy
14th December 2013, 15:42
Hello Guys!
I am trying to give every Player at spawn a grenade. But I have the problem that it doesn't work. I haven't got default weapons, so I had changed this script... (_weapons.gsc)



getWeaponBasedGrenadeCount(weapon)
{
switch(weapon)
{
case "xm8_mp":
case "vector_mp":
case "an94_mp":
...
}


I have got default part of giveGrenades() from _weapons.gsc, but it I will not get grenades...



giveGrenades()
{
if(self.pers["team"] == "allies")
{
switch(game["allies"])
{
case "american":
grenadetype = "frag_grenade_american_mp";
smokegrenadetype = "smoke_grenade_american_mp";
break;

case "british":
grenadetype = "frag_grenade_british_mp";
smokegrenadetype = "smoke_grenade_british_mp";
break;

default:
assert(game["allies"] == "russian");
grenadetype = "frag_grenade_russian_mp";
smokegrenadetype = "smoke_grenade_russian_mp";
break;
}
}
else
{
assert(self.pers["team"] == "axis");
switch(game["axis"])
{
default:
assert(game["axis"] == "german");
grenadetype = "frag_grenade_german_mp";
smokegrenadetype = "smoke_grenade_german_mp";
break;
}
}

self takeWeapon("frag_grenade_american_mp");
self takeWeapon("frag_grenade_british_mp");
self takeWeapon("frag_grenade_russian_mp");
self takeWeapon("frag_grenade_german_mp");
self takeWeapon("smoke_grenade_american_mp");
self takeWeapon("smoke_grenade_british_mp");
self takeWeapon("smoke_grenade_russian_mp");
self takeWeapon("smoke_grenade_german_mp");

if(getcvarint("scr_allow_fraggrenades"))
{
fraggrenadecount = getWeaponBasedGrenadeCount(self.pers["weapon"]);
if(fraggrenadecount)
{
self giveWeapon(grenadetype);
self setWeaponClipAmmo(grenadetype, fraggrenadecount);
}
}

if(getcvarint("scr_allow_smokegrenades"))
{
smokegrenadecount = getWeaponBasedSmokeGrenadeCount(self.pers["weapon"]);
if(smokegrenadecount)
{
self giveWeapon(smokegrenadetype);
self setWeaponClipAmmo(smokegrenadetype, smokegrenadecount);
}
}

self switchtooffhand(grenadetype);
}


And I have this in my _weapons.gsc (under precacheItem's)



...
precacheItem("binoculars_mp");

level.weaponnames = [];
level.weaponnames[0] = "fraggrenade";

level.weapons = [];
level.weapons["fraggrenade"] = spawnstruct();
level.weapons["fraggrenade"].server_allowcvar = "scr_allow_fraggrenades";
level.weapons["fraggrenade"].client_allowcvar = "ui_allow_fraggrenades";
level.weapons["fraggrenade"].allow_default = 1;


And this in my server.cfg :



set scr_allow_fraggrenades "1"


So it should does work or?

I looked up in console_mp.log and found these errors:



******* script runtime error *******
Cannot give Loveboy weapon without having an empty weapon slot - player currently has a and a
: (file 'maps/mp/gametypes/_weapons.gsc', line 222)
self giveWeapon(grenadetype);
*


And this:



******* script runtime error *******
unknown weapon 'frag_grenade_british_mp': (file 'maps/mp/gametypes/_weapons.gsc', line 237)
self switchtooffhand(grenadetype);
*


Does somebody know why it doesn't work?

IzNoGoD
14th December 2013, 16:14
Did you precache the grenade?

Loveboy
14th December 2013, 16:19
I am away from brain... really xD
Yep I forgot it, thanks xD