ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/deliantra/server/ext/NPC_Dialogue.pm
(Generate patch)

Comparing deliantra/server/ext/NPC_Dialogue.pm (file contents):
Revision 1.7 by elmex, Sat Aug 25 16:51:38 2007 UTC vs.
Revision 1.9 by root, Mon Apr 21 06:35:26 2008 UTC

125 125
126=item B<matching for an item name and removing the matched item> 126=item B<matching for an item name and removing the matched item>
127 127
128 @match found earhorn 128 @match found earhorn
129 @cond grep $_->slaying =~ /Gramp's walking stick/, $who->inv 129 @cond grep $_->slaying =~ /Gramp's walking stick/, $who->inv
130 @eval my @g = grep { $_->slaying =~ /Gramp's walking stick/ } $who->inv; $g[0]->decrease_ob_nr (1); 130 @eval my @g = grep { $_->slaying =~ /Gramp's walking stick/ } $who->inv; $g[0]->decrease;
131 Thanks for the earhorn! 131 Thanks for the earhorn!
132 132
133This example is a bit more complex. The C<@eval> statement will search 133This example is a bit more complex. The C<@eval> statement will search
134the players inventory for the same term as the C<@cond> and then 134the players inventory for the same term as the C<@cond> and then
135decreases the number of objects used there. 135decreases the number of objects used there.
212When a state argument is given it should be either 0 or 1. 1 will 'push' the connection 212When a state argument is given it should be either 0 or 1. 1 will 'push' the connection
213and 0 will 'release' the connection. This is useful for example when you want to 213and 0 will 'release' the connection. This is useful for example when you want to
214let a npc control a door. 214let a npc control a door.
215 215
216Trigger all objects with the given connected-id by 'releasing' the connection. 216Trigger all objects with the given connected-id by 'releasing' the connection.
217
218=item @playersound face-name
219
220Plays the given sound face (either an alias or sound file path) so that
221only the player talking to the npc can hear it.
222
223=item @npcsound face-name
224
225Plays the given sound face (either an alias or sound file path) as if
226the npc had made that sound, i.e. it will be located at the npc and all
227players near enough can hear it.
217 228
218=item @addtopic topic 229=item @addtopic topic
219 230
220Adds the given topic names (separated by C<|>) to the list of topics 231Adds the given topic names (separated by C<|>) to the list of topics
221returned. 232returned.
262 @match = $msg =~ /$args/i 273 @match = $msg =~ /$args/i
263 or next topic; 274 or next topic;
264 275
265 } elsif ($cmd eq "comment") { 276 } elsif ($cmd eq "comment") {
266 # nop 277 # nop
278
279 } elsif ($cmd eq "playersound") {
280 $self->{ob}->contr->play_sound (cf::sound::find $args);
281
282 } elsif ($cmd eq "npcsound") {
283 $self->{npc}->play_sound (cf::sound::find $args);
267 284
268 } elsif ($cmd eq "cond") { 285 } elsif ($cmd eq "cond") {
269 cf::safe_eval $args, %vars 286 cf::safe_eval $args, %vars
270 or next topic; 287 or next topic;
271 288

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines