Thread: Multi-Questing?
View Single Post
  #14  
Old 05-26-2010, 01:53 PM
mgellan mgellan is offline
Fire Giant

mgellan's Avatar

Join Date: Mar 2010
Location: Winnipeg Canada
Posts: 880
Default

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
__________________

OMNI Officer (Retired from EQ)
Check out my P99 Hunting Guide!