Loveboy
14th December 2013, 14: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?
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?