smogo
02-27-2004, 05:59 AM
here is a small addition to variable displaying ( ala Lurker_005's default.pl). It allows to get ALL exported vars, including qglobals. It is dynamic, so no update should be needed when server changes, and also, it works with all quest files, not only default.pl
Add the following lines in EVENT_SAY :
if ($text=~/allvars/i){
my($pack, $filename, $line, $subr, $has_args, $want_array)=caller(0);
#get all variables in caller's scope
no strict 'refs';
my $package;
($package=$subr) =~ s/::\w+// ;
my $stash = *{$package . '::'}{HASH};
my $n;
foreach $n (keys %$stash) {
my $fullname = $package . '::' . $n;
if( defined $$fullname){
$$n=${$fullname};
quest::say("$n -> $$n (fully $fullname)\n");
}
}
}
Then say 'allvars' to the target.
The output is a bit long, but could prove usefull
http://perso.wanadoo.fr/afou/khalzed-dur/quests/allvars.jpg
Add the following lines in EVENT_SAY :
if ($text=~/allvars/i){
my($pack, $filename, $line, $subr, $has_args, $want_array)=caller(0);
#get all variables in caller's scope
no strict 'refs';
my $package;
($package=$subr) =~ s/::\w+// ;
my $stash = *{$package . '::'}{HASH};
my $n;
foreach $n (keys %$stash) {
my $fullname = $package . '::' . $n;
if( defined $$fullname){
$$n=${$fullname};
quest::say("$n -> $$n (fully $fullname)\n");
}
}
}
Then say 'allvars' to the target.
The output is a bit long, but could prove usefull
http://perso.wanadoo.fr/afou/khalzed-dur/quests/allvars.jpg