Difference between revisions of "MUDL:send msgs for play"

From SlothMUD Wiki
Jump to: navigation, search
(Created page with " __TOC__ = Summary = {|class="abilitiestable" border="0" cellspacing="0" cellpadding="0" ! Function Name | send_msgs_for_play |- ! Settable | No |- ! Returns | Boolean |}...")
 
(Parameters)
 
Line 29: Line 29:
 
|-
 
|-
 
| Integer
 
| Integer
| Id of the song being cast.
+
| Id of the song being played.
 
|-
 
|-
 
| Boolean
 
| Boolean
 
| FALSE if this is the start of a song or TRUE if another verse of a song is being played.
 
| FALSE if this is the start of a song or TRUE if another verse of a song is being played.
 
|}
 
|}
 
  
 
= Output =
 
= Output =

Latest revision as of 22:18, 4 March 2016


Summary

Function Name send_msgs_for_play
Settable No
Returns Boolean


This function sends the appropriate messages for playing a song. It is most likely to be used inside the intercept_play function but could be used in other places. The function returns TRUE if all the parameters are valid and FALSE otherwise.


Parameters

Arguments
Character Actor playing the song.
Integer Id of the song being played.
Boolean FALSE if this is the start of a song or TRUE if another verse of a song is being played.

Output

Person Message Sent
Actor You begin to play <Song>.

You play another verse of <Song>.

Others in Room <Actor> begins to play <Song>.

<Actor> plays another verse of <Song>.


Example

addproc <mobile> mudl
setproc <mobile> 0 intercept_play_ib

if (spell_name(%1) != 'lion chorus',
(
    # Wrong song.
    return(false)
)),

if (false = %2,
(
    # Allow the initial play to run as normal.
    cmd(%a, 'play ~`lion chorus~` ' + concatenate(%s)),
    cmd(%c, 'say What a lovely song.')
),
(
    # Show the replay messages.
    send_msgs_for_play(%a, %1, %2),
    cmd(%c, 'say It keeps getting better!')
)),

# Mark song as successful - full mana drain.
set(flag(%f, 'procedure-flags', 'success'), true),

# Stop future processing of this command
set(flag(%f, 'procedure-flags', 'overrode-command'), true),
return(true)@

setproc <mobile> 0 PROC_ENABLED 1
compile