Ok, thank you both for your replies! Based on the Merciless mod, I changed it a bit.
In the maps\mp\gametypes\dm.gsc I just added these lines:
self.killspree = 0;
self thread cod2\_player::_KillSpree();
PHP Code:
spawnPlayer()
{
self endon("disconnect");
self notify("spawned");
self notify("end_respawn");
resettimeout();
// Stop shellshock and rumble
self stopShellshock();
self stoprumble("damage_heavy");
self.sessionteam = "none";
self.sessionstate = "playing";
self.spectatorclient = -1;
self.archivetime = 0;
self.psoffsettime = 0;
self.statusicon = "";
self.maxhealth = 100;
self.health = self.maxhealth;
self.killspree = 0; // KILL SPREE
spawnpointname = "mp_dm_spawn";
spawnpoints = getentarray(spawnpointname, "classname");
spawnpoint = maps\mp\gametypes\_spawnlogic::getSpawnpoint_DM(spawnpoints);
if(isdefined(spawnpoint))
self spawn(spawnpoint.origin, spawnpoint.angles);
else
maps\mp\_utility::error("NO " + spawnpointname + " SPAWNPOINTS IN MAP");
if(!isdefined(self.pers["savedmodel"]))
maps\mp\gametypes\_teamsDM::model();
else
maps\mp\_utility::loadModel(self.pers["savedmodel"]);
maps\mp\gametypes\_weapons::givePistol();
maps\mp\gametypes\_weapons::giveGrenades();
maps\mp\gametypes\_weapons::giveBinoculars();
self giveWeapon(self.pers["weapon"]);
self giveMaxAmmo(self.pers["weapon"]);
self setSpawnWeapon(self.pers["weapon"]);
if(!level.splitscreen)
{
if(level.scorelimit > 0)
self setClientCvar("cg_objectiveText", &"MP_GAIN_POINTS_BY_ELIMINATING", level.scorelimit);
else
self setClientCvar("cg_objectiveText", &"MP_GAIN_POINTS_BY_ELIMINATING_NOSCORE");
}
else
self setClientCvar("cg_objectiveText", &"MP_ELIMINATE_ENEMIES");
waittillframeend;
self notify("spawned_player");
self thread cod2\_player::_KillSpree(); // KILL SPREE
}
And in cod2\_player.gsc I added:
PHP Code:
_KillSpree(attacker,killspree)
{
iprintlnbold("running killspree");
if( isplayer(attacker) && isAlive(attacker))
{
if (!isDefined(attacker.killspree))
attacker.killspree = 0;
if ( (attacker != self) && (getcvar("g_gametype") != "dm") && (attacker.team != self.team) )
attacker.killspree++;
else
if ( (attacker != self) && (getcvar("g_gametype") == "dm") )
attacker.killspree++;
if(attacker != self && isDefined(attacker.team) && isDefined(self.team) && attacker.team != self.team )
{
iprintlnbold("attacker: " + attacker.name + " has killing spree: " + attacker.killspree + " when killing: " + self.name);
switch (attacker.killspree)
{
case 1:
iprintln(attacker.name + " has 1 killing spree");
//just message();
break;
case 2:
iprintln(attacker.name + " has 2 killing spree");
//LearnSomeSimpleDeveloperLessons();
break;
case 3:
iprintln(attacker.name + " has 3 killing spree");
//Kick();
break;
case 4:
iprintln(attacker.name + " has 4 killing spree");
//GiveSex();
break;
case 5:
iprintln(attacker.name + " has 5 killing spree");
//GiveNades();
break;
default:
break;
}
}
}
}
The "running killspree" iprint is showing up in game (after every respawn as the player got killed) , but I do not get any killspree messages, nor error messages about it in the log file..