--- deliantra/server/ext/player-env.ext 2007/07/12 18:56:33 1.5 +++ deliantra/server/ext/player-env.ext 2007/07/12 19:10:48 1.6 @@ -24,20 +24,15 @@ while () { for (keys %MUSIC_QUEUE) { delete $MUSIC_QUEUE{$_}; - my $pl = cf::player::find_active $_ - or next; - - my $ns = $pl->ns - or next; - $ns->extcmd - or next; + my $pl = cf::player::find_active $_ or next; + $pl->ob->active or next; + my $ns = $pl->ns or next; + $ns->extcmd or next; + my $map = $pl->ob->map or next; my $faces; - my $map = $pl->ob->map - or next; - # 1. update map-specific music info unless (exists $map->{music_faces}) { $map->{music_faces} = parse_facelist "music/", $map->{music}; @@ -71,13 +66,16 @@ $ns->{current_music_faces} ne $facestr or next; + warn "MUSIC CHANGE <$ns->{current_music_faces}> <$facestr>\n";#d# + $ns->{current_music_faces} = $facestr; my $msg = { - faces => $faces, + play => $faces, }; - $msg->{chksum}{$_} = cf::face::get_chksum $_ + my $pri = 0; + push @{$msg->{faces}}, [$_, $pri++, cf::face::get_chksum $_] for grep $ns->must_send_face ($_), @$faces; $ns->ext_event (music => %$msg);