I’d like to show some text when the player kills e.g. 3, 4, or 5 enemies in a given time (in Unity3d). I have a timer (comboTimer) which is in my PlayerControl-script that starts when an enemy gets shot by the player. When the timer starts a counter (comboCounter) gets increased everytime an enemy gets shot by the player. The other script (EnemyControl) controls the way how the appropriate text gets displayed when the kill-counter (comboCounter) reaches a certain value (e.g. 3 kills = “Combo x3”). This should be done within the timer’s value. The problem is the text that gets shown is in almost most cases 3 kills (“Combo x3”). I never reach 4 or 5 kills within the timer’s value even when I increase the waitTime to e.g. 5 or 10 seconds. There is a bug within the logic but can’t find it. Can someone help me, please? This is the Timer of my PlayerControl-script: Code (CSharp): public static bool comboTimerRunning = false; public static int comboCounter; float comboWaitTime = 1f;//1.0 Sekunden float comboTimer; public void ComboTimer() { comboTimer += Time.deltaTime; if (comboTimer > comboWaitTime) { ResetComboTimer(); } } public void ResetComboTimer () { comboTimer = 0f; comboTimerRunning = false; comboCounter = 0; } This is the script that controls the handling of the displayed text (EnemyControl): Code (CSharp): if (!PlayerControl.comboTimerRunning) { PlayerControl.comboTimerRunning = true; } PlayerControl.comboCounter++; if (PlayerControl.comboCounter >= 3) { if (PlayerControl.comboCounter == 3) { comboTxtObj.GetComponent<ComboTxt>().ShowComboText("Combo x3"); } else if (PlayerControl.comboCounter == 4) { comboTxtObj.GetComponent<ComboTxt>().ShowComboText("Awesome"); } else if (PlayerControl.comboCounter >= 5) { comboTxtObj.GetComponent<ComboTxt>().ShowComboText("Mega-Kill"); } PlayerControl.comboTimerRunning = false; }