@@ -408,7 +408,7 @@ private void SetupGameEvents()
408408 CCSPlayerController killerController = @event . Attacker ;
409409 CCSPlayerController assisterController = @event . Assister ;
410410
411- if ( ! victimController . IsValid || victimController . UserId <= 0 )
411+ if ( ! victimController . IsValid )
412412 return HookResult . Continue ;
413413
414414 if ( ! victimController . IsBot )
@@ -429,18 +429,15 @@ private void SetupGameEvents()
429429 ModifyClientPoints ( victimController , CHANGE_MODE . REMOVE , Config . PointSettings . Suicide , "Suicide" ) ;
430430 Log ( $ "EventPlayerDeath: Suicide recorded for player: { victimController . PlayerName } ", LogLevel . Debug ) ;
431431 }
432- else if ( ! killerController . IsBot )
432+ else if ( Config . RankSettings . PointsForBots || ! killerController . IsBot )
433433 {
434434 ModifyClientPoints ( victimController , CHANGE_MODE . REMOVE , Config . PointSettings . Death , "Dying" ) ;
435435 Log ( $ "EventPlayerDeath: Death recorded for player: { victimController . PlayerName } ", LogLevel . Debug ) ;
436436 }
437437 }
438438 }
439439
440- if ( victimController . UserId == killerController . UserId )
441- return HookResult . Continue ;
442-
443- if ( killerController . IsValidPlayer ( ) )
440+ if ( killerController . IsValidPlayer ( ) && victimController . UserId != killerController . UserId )
444441 {
445442 if ( ! PlayerSummaries . ContainsPlayer ( killerController ) )
446443 LoadPlayerData ( killerController ) ;
@@ -525,15 +522,18 @@ private void SetupGameEvents()
525522 }
526523 }
527524
528- int attackerIndex = ( int ) killerController . UserId ! ;
529- if ( playerKillStreaks . ContainsKey ( attackerIndex ) )
525+ int attackerIndex = ( killerController . UserId != null ) ? ( int ) killerController . UserId : - 1 ;
526+
527+ if ( attackerIndex != - 1 )
530528 {
531- if ( playerKillStreaks [ attackerIndex ] . killStreak > 0 && DateTime . Now - playerKillStreaks [ attackerIndex ] . lastKillTime <= TimeSpan . FromSeconds ( Config . PointSettings . SecondsBetweenKills ) )
529+ if ( playerKillStreaks . ContainsKey ( attackerIndex ) )
532530 {
533- playerKillStreaks [ attackerIndex ] = ( playerKillStreaks [ attackerIndex ] . killStreak + 1 , DateTime . Now ) ;
534- int killStreak = playerKillStreaks [ attackerIndex ] . killStreak ;
531+ if ( playerKillStreaks [ attackerIndex ] . killStreak > 0 && DateTime . Now - playerKillStreaks [ attackerIndex ] . lastKillTime <= TimeSpan . FromSeconds ( Config . PointSettings . SecondsBetweenKills ) )
532+ {
533+ playerKillStreaks [ attackerIndex ] = ( playerKillStreaks [ attackerIndex ] . killStreak + 1 , DateTime . Now ) ;
534+ int killStreak = playerKillStreaks [ attackerIndex ] . killStreak ;
535535
536- Dictionary < int , ( int points , string message ) > killStreakMap = new Dictionary < int , ( int points , string message ) >
536+ Dictionary < int , ( int points , string message ) > killStreakMap = new Dictionary < int , ( int points , string message ) >
537537 {
538538 { 2 , ( Config . PointSettings . DoubleKill , "Double Kill" ) } ,
539539 { 3 , ( Config . PointSettings . TripleKill , "Triple Kill" ) } ,
@@ -548,10 +548,13 @@ private void SetupGameEvents()
548548 { 12 , ( Config . PointSettings . GodLike , "God Like" ) }
549549 } ;
550550
551- if ( killStreakMap . TryGetValue ( killStreak , out var killStreakInfo ) )
552- {
553- ModifyClientPoints ( killerController , CHANGE_MODE . GIVE , killStreakInfo . points , killStreakInfo . message ) ;
554- Log ( $ "EventPlayerDeath: { killStreakInfo . message } recorded for player: { killerController . PlayerName } ", LogLevel . Debug ) ;
551+ if ( killStreakMap . TryGetValue ( killStreak , out var killStreakInfo ) )
552+ {
553+ ModifyClientPoints ( killerController , CHANGE_MODE . GIVE , killStreakInfo . points , killStreakInfo . message ) ;
554+ Log ( $ "EventPlayerDeath: { killStreakInfo . message } recorded for player: { killerController . PlayerName } ", LogLevel . Debug ) ;
555+ }
556+ else
557+ ResetKillStreak ( attackerIndex ) ;
555558 }
556559 else
557560 ResetKillStreak ( attackerIndex ) ;
0 commit comments