lua:start_con_handler
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revision | |||
lua:start_con_handler [2015/01/28 06:16] – vodur | lua:start_con_handler [2015/01/28 06:22] (current) – vodur | ||
---|---|---|---|
Line 3: | Line 3: | ||
Creates a coroutine of the given function and sets it as the con state handler to the target descriptor. Any additional arguments to start_con_handler are passed to func when it is called. | Creates a coroutine of the given function and sets it as the con state handler to the target descriptor. Any additional arguments to start_con_handler are passed to func when it is called. | ||
The con state handler handles all player input from the given descriptor. Entered commands are accessed within the handler function through coroutine.yield(). | The con state handler handles all player input from the given descriptor. Entered commands are accessed within the handler function through coroutine.yield(). | ||
+ | |||
+ | The general logic is thus: | ||
+ | start_con_handler creates a coroutine of func | ||
+ | func coroutine is set as descriptor' | ||
+ | func coroutine is resumed, passing any additional start_con_handler arguments as arguments to func | ||
+ | if coroutine.yield() is called inside the handler, then the coroutine will suspend until the player enters a command, at which time the handler function resumes, with the return value of coroutine.yield() being the command that was entered. | ||
+ | If/when the handler function returns, descriptor' | ||
+ | |||
Example 1: confirming an action (example uses luai for convenience) | Example 1: confirming an action (example uses luai for convenience) |
lua/start_con_handler.1422425774.txt.gz · Last modified: 2015/01/28 06:16 (external edit)