Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Index: Macro/Automacro.pm
- ===================================================================
- --- Macro/Automacro.pm (revision 8990)
- +++ Macro/Automacro.pm (working copy)
- @@ -670,6 +670,33 @@
- return 0
- }
- +sub checkQuest {
- + my ($args) = @_;
- + if ($_[0] =~ /,/) {
- + my @key = split(/\s*,\s*/, $_[0]);
- + foreach my $e (@key) {return 1 if checkQuest($e)}
- + return 0
- + }
- + my $questID;
- + if ($args =~ /^(\d+)/) { $questID = $1; } else { return 0; }
- + $args =~ s/^\d+\s+//;
- + if ($args eq "active" || $args eq "inactive") {
- + my $WantedStatus = ($args eq "active")?1:0;
- + return 1 if (($::questList->{$questID}->{'active'} == 1 && $WantedStatus == 1) || ($::questList->{$questID}->{'active'} == 0 && $WantedStatus == 0) || (!$::questList->{$questID}->{'active'} && $WantedStatus == 0));
- + } elsif ($args eq "killed") {
- + my @MobIds = keys %{($questList->{$questID})->{missions}};
- + return 0 if ($::questList->{$questID}->{'active'} != 1);
- + foreach my $MobId (@MobIds) {
- + return 0 unless ($::questList->{$questID}->{missions}->{$MobId}->{count} == $::questList->{$questID}->{missions}->{$MobId}->{goal});
- + }
- + return 1;
- + } elsif ($args eq "time over" || $args eq "time inside") {
- + my $WantedTime = ($args eq "time inside")?1:0;
- + return 1 if ($::questList->{$questID}->{'active'} == 1 && (($::questList->{$questID}->{'time'} > time && $WantedTime == 1) || ($::questList->{$questID}->{'time'} < time && $WantedTime == 0)));
- + }
- + return 0;
- +}
- +
- # parses automacros and checks conditions #################
- sub automacroCheck {
- my ($trigger, $args) = @_;
- @@ -788,6 +815,7 @@
- foreach my $i (@{$automacro{$am}->{storage}}) {next CHKAM unless checkItem("stor", $i)}
- foreach my $i (@{$automacro{$am}->{shop}}) {next CHKAM unless checkItem("shop", $i)}
- foreach my $i (@{$automacro{$am}->{cart}}) {next CHKAM unless checkItem("cart", $i)}
- + foreach my $i (@{$automacro{$am}->{quest}}) {next CHKAM unless checkQuest($i)}
- message "[macro] automacro $am triggered.\n", "macro";
- Index: Macro/Data.pm
- ===================================================================
- --- Macro/Data.pm (revision 8990)
- +++ Macro/Data.pm (working copy)
- @@ -70,6 +70,7 @@
- 'storage' => 1, # check: item amount in storage
- 'shop' => 1, # check: item amount in shop
- 'cart' => 1, # check: item amount in cart
- + 'quest' => 1, # check: player quests
- 'localtime' => 1 # check: localtime
- );
Advertisement
Add Comment
Please, Sign In to add comment