Page 2 of 3 FirstFirst 123 LastLast
Results 11 to 20 of 24

Thread: COD2 MP: adding killing spree messages

Hybrid View

Previous Post Previous Post   Next Post Next Post
  1. #1
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    458
    Thanks
    79
    Thanked 122 Times in 101 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. #2
    Private
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    13
    Thanks
    4
    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. #3
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    458
    Thanks
    79
    Thanked 122 Times in 101 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. #4
    Private
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    13
    Thanks
    4
    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. #5
    Private
    Join Date
    Jun 2013
    Posts
    70
    Thanks
    20
    Thanked 32 Times in 26 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. #6
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    458
    Thanks
    79
    Thanked 122 Times in 101 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. The Following User Says Thank You to maxdamage99 For This Useful Post:

    michelboonstra74 (27th July 2021)

  8. #7
    Private
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    13
    Thanks
    4
    Thanked 1 Time in 1 Post
    Quote Originally Posted by maxdamage99 View Post
    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;
            }
        }

    Thank your for your reply. However, I still don't get kill spree messages.. it seems to ignore the script, I also don't get any error messages about it..

  9. #8
    Sergeant maxdamage99's Avatar
    Join Date
    Aug 2014
    Location
    Russia
    Posts
    458
    Thanks
    79
    Thanked 122 Times in 101 Posts
    problem is in you, the only reason why the code below worked is because you were told a specific file where to add, most likely they prev code were just added to the wrong file
    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

  10. #9
    Private
    Join Date
    Mar 2021
    Location
    Netherlands
    Posts
    13
    Thanks
    4
    Thanked 1 Time in 1 Post
    I agree that the error could very well be me though I tried many ways to get it working, like different locations in the dm.gsc - and/or _callbacksetup.gsc. I have been able to get other things working - like getting a player to drop their gun, when hit in the arm - for example. But again, this scripting business is not something I know much about, just by trial and error I usually get it working somehow.
    Anyway, I am very thankful for the help you guys gave me on this one!

  11. #10
    Assadministrator IzNoGoD's Avatar
    Join Date
    Aug 2012
    Posts
    1,718
    Thanks
    17
    Thanked 1,068 Times in 674 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

  12. The Following User Says Thank You to IzNoGoD For This Useful Post:

    michelboonstra74 (27th July 2021)

Posting Permissions

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