Ten kod będzie przy każdym thinku aktualizował rendering gracza, jeśli ten kuca, a wystarczy zaktualizować gdy zaczyna kucać i gdy przestaje kucać. Sprawdzaj oldbutton i reaguj tylko wtedy, gdy nastąpiła zmiana. Wystarczy dodać na początku thinka (po sprawdzeniu czy gracz ma dany perk) to:
if(!((get_user_oldbutton(id) ^ get_user_button(id)) & IN_DUCK))
return;
Jak to działa? operator ^ to operator XOR, zwróci on jedynkę na danym bicie tylko wtedy, gdy bit w obu porównywanych wartościach jest różny, czyli:
0b00010100
0b00010010
XOR =
0b00000110
W ten sposób zaświecają nam się bity klawiszy, które zostały w danym thinku zmienione. Nas interesuje tylko duck, więc dodatkowo przepuszczamy to przez & i viola 
Oczywiście przerzuć kod do cmd start, jak sugerują inni.