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.originspawnpoint.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..