remove _Implementation if you use BlueprintImplementableEvent, i think you don’t need to do that even BlueprintNativeEvent as _Implementation is generated in UHT generated header file
So do this if you want to use event in C++:
UFUNCTION(BlueprintNaiveEvent, BlueprintCallable, Category = "DmgSystem")
void TakeDmg(int32 Damage);
and then _Implementation in Cpp file or if you gonna use event only in Blueprint:
UFUNCTION(BlueprintImplementableEvent, BlueprintCallable, Category = "DmgSystem")
void TakeDmg(int32 Damage);
And then do nothing in Cpp, just do calls to that function if you want to trigger the event