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