Macro Mods
Moderator: Moderators
-
- Super Moderators
- Posts: 801
- Joined: 06 May 2008, 12:47
- Noob?: No
Re: Macro Mods
Someone linked me to this on IRC:
Can someone please take a look at it?
original source
Can someone please take a look at it?
original source
For Macro v. 2.0.3-svn (27/7/52)
- add @ Npc(</regexp/i or "name">) for find npc by name (return binID)
becuz some server random position [can't find by @npc(xx yy)]
file ../plugins/Macro/Data.pm
find:replace with:Code: Select all
"npc" . "|" .
Code: Select all
"[Nn]pc" . "|" .
file ../plugins/Macro/Data.pm
find:replace with:Code: Select all
use Macro::Utilities qw(refreshGlobal getnpcID getItemIDs getItemPrice getStorageIDs getInventoryIDs getPlayerID getVenderID getRandom getRandomRange getInventoryAmount getCartAmount getShopAmount getStorageAmount getVendAmount getConfig getWord q4rx q4rx2 getArgFromList getListLenght);
find:Code: Select all
use Macro::Utilities qw(refreshGlobal getnpcID getnpcIDfromName getItemIDs getItemPrice getStorageIDs getInventoryIDs getPlayerID getVenderID getRandom getRandomRange getInventoryAmount getCartAmount getShopAmount getStorageAmount getVendAmount getConfig getWord q4rx q4rx2 getArgFromList getListLenght);
replace with:Code: Select all
if ($kw eq 'npc') {$ret = getnpcID($arg)} elsif ($kw eq 'cart') {($ret) = getItemIDs($arg, $::cart{'inventory'})}
file ../plugins/Macro/Utilities.pmCode: Select all
if ($kw eq 'npc') {$ret = getnpcID($arg)} elsif ($kw eq 'Npc') {$ret = getnpcIDfromName($arg)} elsif ($kw eq 'cart') {($ret) = getItemIDs($arg, $::cart{'inventory'})}
find:replace with:Code: Select all
our @EXPORT_OK = qw(ai_isIdle q4rx q4rx2 between cmpr match getArgs refreshGlobal getnpcID getPlayerID getVenderID getItemIDs getItemPrice getInventoryIDs getStorageIDs getSoldOut getInventoryAmount getCartAmount getShopAmount getStorageAmount getVendAmount getRandom getRandomRange getConfig getWord callMacro getArgFromList getListLenght sameParty);
find:Code: Select all
our @EXPORT_OK = qw(ai_isIdle q4rx q4rx2 between cmpr match getArgs refreshGlobal getnpcID getnpcIDfromName getPlayerID getVenderID getItemIDs getItemPrice getInventoryIDs getStorageIDs getSoldOut getInventoryAmount getCartAmount getShopAmount getStorageAmount getVendAmount getRandom getRandomRange getConfig getWord callMacro getArgFromList getListLenght sameParty);
add after:Code: Select all
use Macro::Data
find:Code: Select all
use Network;
add after:Code: Select all
sub getnpcID { my ($tmpx, $tmpy) = split(/ /,$_[0]); foreach my $npc (@{$npcsList->getItems()}) { return $npc->{binID} if ($npc->{pos}{x} == $tmpx && $npc->{pos}{y} == $tmpy) } return -1 }
Code: Select all
sub getnpcIDfromName { my $nameNPC = $_[0]; foreach my $npc (@{$npcsList->getItems()}) { if(my($re, $ci) = $nameNPC =~ /^\/(.+?)\/(i?)$/){ if(($ci && $npc->{name} =~ /$re/i) || (!$ci && $npc->{name} =~ /$re/)){ return $npc->{binID} } }elsif($nameNPC =~ /^"(.*?)"$/){ return $npc->{binID} if $npc->{name} eq $1 } } return -1 }
One ST0 to rule them all? One PE viewer to find them!
One ST_kRO to bring them all and in the darkness bind them...
Mount Doom awaits us, fellowship of OpenKore!
One ST_kRO to bring them all and in the darkness bind them...
Mount Doom awaits us, fellowship of OpenKore!
Re: Macro Mods
Done it already with different approach. http://forums.openkore.com/viewtopic.php?f=32&t=6784