Quote:
Originally Posted by Packet
[You must be logged in to view images. Log in or Register.]
On a side note, if P99 did do this and sifted through quests adding in a magical function that allowed MQing. Imagine the complaints they would get as people screwed up hand-ins, lost items (due to missed quests) and other assorted problems. It would only put more stress and work on the staff when their hands are already full as it is.
|
Assuming we would mod the check_handin.pl plugin, I would say only record a handin of the correct items (since those are passed to it) and reject/return incorrect. To me this would be optimal and reduce the stress on staff since they don't have to deal with petitions about "eaten" items? Assuming the script returned the items in the first place, thats a different issue (bad scripting).
The current script is pretty simple:
# plugin::check_handin($item1 => #required_amount,...);
# autoreturns extra unused items on success
sub check_handin {
my $hashref = shift;
my %required = @_;
foreach my $req (keys %required) {
if ((!defined $hashref->{$req}) || ($hashref->{$req} != $required{$req})) {
return(0);
}
}
foreach my $req (keys %required) {
if ($required{$req} < $hashref->{$req}) {
$hashref->{$req} -= $required{$req};
} else {
delete $hashref->{$req};
}
}
return 1;
}
sub return_items {
my $hashref = shift;
foreach my $k (keys(%{$hashref})) {
next if($k == 0);
my $r;
for($r = 0; $r < $hashref->{$k}; $r++) {
quest::summonitem($k);
}
delete $hashref->{$k};
}
}
1;
I'm not a PERL programmer (why didn't they choose Python? Grrr) but perhaps I can take a stab at writing a version that supports MQ... thoughts? Are the devs on side to implement something like this?
Regards,
Mg