Don't really get what you're saying, but if you want to script this out than this does belong in this section.
So anyways, I guess you could register a client command for a button (let's say 'x')
Code:
register_clcmd("say /horn", "function_horn", 0, "Horn noise")
And from there you could precache a sound.
Code:
public plugin_precache()
{
precache_sound("")
}
From there you can do it.