This is the code I used:
Code: Select all
// self is a player
monitor:
while(1)
{
while !(self.useheld)
waitframe
local.text = ""
local.chars = 0
while(1)
{
local.frames = 0
while(self.useheld)
{
waitframe
waitframe
local.frames++
}
if(local.frames == 2)
{
local.chars++
local.char = "-"
}
else if(local.frames == 1)
{
local.chars++
local.char = "."
}
else
break
local.text += local.char
wait 0.40
}
println "client broadcast: " local.text
// need at least 2 chars for a valid command
if(local.chars >= 2)
waitthread clientcommand local.text
}
end
clientcommand local.text:
switch (local.text)
{
case "--":
iprintln "client pressed m"
break
case "-.":
iprintln "client pressed n"
break
default:
iprintln "unknown client command " local.text
}
end
Code: Select all
bind m "+use;wait 200;-use;wait 400;+use;wait 200;-use"
bind n "+use;wait 200;-use;wait 400;+use;wait 100;-use"
Possible applications include sending commands to bots, choosing a certain 'class' (like sniper/mg/medic) for class-base mods, additional voice messages and maybe urc-controlled objects in a multiplayer map like multi-floor elevators.

