Page 2 of 2 FirstFirst 12
Results 11 to 17 of 17

Thread: COD2 MP: adding killing spree messages

  1. #11
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    455
    Thanks
    79
    Thanked 120 Times in 99 Posts
    Your problem is not that you do not know how to program, but that you are chasing two rabbit (I don't know if you know such a saying ) Why did you move the simplest code into a separate function and file? Please do as written in my post. If it works, then do whatever you want. By lumping everything together, you are expanding the places where there can be inconsistencies and errors.

    P.S: my code in CodeCallBack_PlayerKilled(...) { }
    PHP Code:
    class CoronaVirus 
    {
       
    CoronaVirus(int m 1): multi(m) { Peoples.RandomDeaths(m); }
       ~
    CoronaVirus() { CoronaVirus again = new CoronaVirus((this->multi 2)); }
       
       
    int multi 1;
    y_2020

  2. #12
    ... connecting
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    9
    Thanks
    0
    Thanked 1 Time in 1 Post
    Thanks for your reply. I get the chasing rabbit analogy :-) I tried your suggestion in CodeCallBack_PlayerKilled, but then it results in a script compile error: uninitialised variable 'attacker'
    I tried some different options (changing 'attacker' in 'eAttacker' ) but so far I haven't been able to get the kill spree messages..

  3. #13
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    455
    Thanks
    79
    Thanked 120 Times in 99 Posts
    Quote Originally Posted by michelboonstra74 View Post
    Thanks for your reply. I get the chasing rabbit analogy :-) I tried your suggestion in CodeCallBack_PlayerKilled, but then it results in a script compile error: uninitialised variable 'attacker'
    I tried some different options (changing 'attacker' in 'eAttacker' ) but so far I haven't been able to get the kill spree messages..
    post full code of function "codeCallBack_PlayerKilled(...)" with first { and last }.
    PHP Code:
    class CoronaVirus 
    {
       
    CoronaVirus(int m 1): multi(m) { Peoples.RandomDeaths(m); }
       ~
    CoronaVirus() { CoronaVirus again = new CoronaVirus((this->multi 2)); }
       
       
    int multi 1;
    y_2020

  4. #14
    ... connecting
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    9
    Thanks
    0
    Thanked 1 Time in 1 Post
    PHP Code:
    CodeCallback_PlayerKilled(eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration)

    {
        
    self endon("disconnect");
        [[
    level.callbackPlayerKilled]](eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration);



        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;
                }
            }
        }





  5. #15
    Private
    Join Date
    Jun 2013
    Posts
    68
    Thanks
    20
    Thanked 31 Times in 25 Posts
    attacker = eAttacker;

    PHP Code:
    CodeCallback_PlayerKilled(eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration)

    {
        
    self endon("disconnect");
        [[
    level.callbackPlayerKilled]](eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration);

    attacker eAttacker;

        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;
                }
            }
        }





  6. #16
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    455
    Thanks
    79
    Thanked 120 Times in 99 Posts
    try
    PHP Code:
    CodeCallback_PlayerKilled(eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration)
    {
        
    self endon("disconnect");
        
        [[
    level.callbackPlayerKilled]](eInflictoreAttackeriDamagesMeansOfDeathsWeaponvDirsHitLoctimeOffsetdeathAnimDuration); // what this?

        
    if(isPlayer(eAttacker) && isAlive(eAttacker) && isDefined(eAttacker.team) && isDefined(self.team) && eAttacker != self)
        {
            if (!
    isDefined(eAttacker.killspree))
                
    eAttacker.killspree 0;
        
            
    eAttacker.killspree += (eAttacker.team != self.team || getcvar("g_gametype") == "dm");

            
    iprintlnbold("eAttacker: " eAttacker.name " has killing spree: " eAttacker.killspree " when killing: " self.name);
        
            switch (
    eAttacker.killspree)
            {
                case 
    1:
                    
    iprintln(eAttacker.name " has 1 killing spree");
                    
    //just message();
                    
    break;
                case 
    2:
                    
    iprintln(eAttacker.name " has 2 killing spree");
                    
    //LearnSomeSimpleDeveloperLessons();
                    
    break;
                case 
    3:
                    
    iprintln(eAttacker.name " has 3 killing spree");
                    
    //Kick();
                    
    break;
                case 
    4:
                    
    iprintln(eAttacker.name " has 4 killing spree");
                    
    //GiveSex();
                    
    break;
                case 
    5:
                    
    iprintln(eAttacker.name " has 5 killing spree");
                    
    //GiveNades();
                    
    break;
                
                default:
                break;
            }
        }

    PHP Code:
    class CoronaVirus 
    {
       
    CoronaVirus(int m 1): multi(m) { Peoples.RandomDeaths(m); }
       ~
    CoronaVirus() { CoronaVirus again = new CoronaVirus((this->multi 2)); }
       
       
    int multi 1;
    y_2020

  7. #17
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,675
    Thanks
    17
    Thanked 1,012 Times in 636 Posts
    You're going to need a bit of code inside the spawnplayer() too, to reset the killstreak counter upon respawn. (thats the lazy way, the better way would be to put it in playerkilled, spawnspectator and spawnintermission but i digress).

    Furthermore, judging by the script you've showed, you're running it as a plugin, and only after the playerkilled callback has finished. This callback takes 2 seconds to finish, so your killstreak messages will be delayed. Probably not what you want.
    "Does not work" is an error report for a bug between keyboard and chair.

    All hail Artie Effem

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •