Take the example hooked events normally sent to clients.
In this e.g. I will use kill events.
Quote:
player1<123><STEAM_0:1:2321> killed player2<456><STEAM_1:0:43433> with a toaster (headshot)
|
Which when hooked in code, would look like this:
Code:
public Event_PlayerDeath(Handle:event, const String:name[], bool:dontBroadcast)
{
}
When you have finished what ever you want to do with this hooked event, for example, play a sound of someone getting hit by a toaster, then you can tell sourcemod what to do to finish it all off.
In the case of Plugin_continue, SM would run your code and send the "killed" event to all the players as normal.
In the case of Plugin_handled, SM would understand that your code has handled the event, so it should not send the event to clients. If you did this in the "killed" hook, the player would still die, but none of the clients would see it on their screens.
Plugin_stop is a rare one, I think it should be used with timers and/or threads to stop them (please correct me if I'm wrong) - not typically used with events so my example is bad for this one ;]
But the same applies to all the times you can return one of these three. If its for hooking a command instead of an event and you return plugin_handled then SM understands that your code in the hooked command has handled everything and stops the original command...
I hope that clears it up a bit
__________________