Man, you guys are great, thanks for all the suggestions !
@Lazy:
That's exactly the point. I could kill a player by just calling MDLL_ClientKill, but then this looks like suicide for the player and the attacker doesn't get any credit. Just one line, works nicely, except for the credit situation.
@sPlOrYgOn:
I checked out that code. It's basically setting the health of the player accordingly, and setting a flag if player is dead (i. e. health <= 0).
But in this case, just setting health = 0 and killed = 1 is not sufficient.
I need to make the player die "naturally" in terms of the engine if I detect that healt <= 0.
There's a method TakeDamage for an entity, however I would need to make a CBasePlayer* or somethink like that out of the edict_t* I've got in order to call this.
There must be a way to do this, I'll keep searching ...