View Single Post
  #13  
Old 10-06-2015, 06:18 PM
Kingly_Krab
Administrator
 
Join Date: May 2013
Location: United States
Posts: 1,604
Default

Expansion of plugin::check_hasitem to have array capability (checks for at least one of the items in the array) as well as the ability to check if someone has a certain item or any item in an array of items equipped:
Code:
sub check_hasitem {
    my $client = shift;
    my $itemid = shift;
    my @slots = (0..30, 251..340, 2000..2023, 2030..2270, 2500..2501, 2531..2550, 9999);
    foreach $slot (@slots) {
        if ($client->GetItemIDAt($slot) == $itemid) {
            return 1;
        }

        for ($i = 0; $i < 5; $i++) {
            if ($client->GetAugmentIDAt($slot, $i) == $itemid) {
                return 1;
            }
        }
    }
    return 0;
}

sub check_hasitem_array {
    my $client = shift;
    my @items = @_;
    my @slots = (0..30, 251..340, 2000..2023, 2030..2270, 2500..2501, 2531..2550, 9999);
    foreach $slot (@slots) {
        if ($client->GetItemIDAt($slot) ~~ @items) {
            return 1;
        }

        for ($i = 0; $i < 5; $i++) {
            if ($client->GetAugmentIDAt($slot, $i) ~~ @items) {
                return 1;
            }
        }
    }
    return 0;
}

sub check_hasequipped {
    my $client = shift;
    my $item = shift;
    my @slots = (0..21, 9999);
    foreach my $slot (@slots) {
        if ($client->GetItemIDAt($slot) == $item) {
            return 1;
        }

        for ($i = 0; $i < 5; $i++) {
            if ($client->GetAugmentIDAt($slot, $i) == $item) {
                return 1;
            }
        }
    }
}

sub check_hasequipped_array {
    my $client = shift;
    my @items = @_;
    my @slots = (0..21, 9999);
    foreach my $slot (@slots) {
        if ($client->GetItemIDAt($slot) ~~ @items) {
            return 1;
        }

        for ($i = 0; $i < 5; $i++) {
            if ($client->GetAugmentIDAt($slot, $i) ~~ @items) {
                return 1;
            }
        }
    }
}

return 1;

Last edited by Kingly_Krab; 10-06-2015 at 06:25 PM..
Reply With Quote