Monster kill count

All about the macro plugin can be found in this forum. This forum is intended for the macro plugin only.

Moderator: Moderators

-Saint Seiya-
The Way Of Human
The Way Of Human
Posts: 183
Joined: 11 Apr 2008, 07:03

Monster kill count

#1 Post by -Saint Seiya- »

is there a macro to count a specific monster killed? this is my macro so far its working but its counting every monster it killed

Code: Select all

automacro questcheck {
   hook attack_end
   timeout 0
   exclusive 1
   call {
   [
   $currentCount = @eval($::monsters_Killed[0]{count})
   if ( $currentCount == 10 ) call spore
   ]
   }
}
is there a way to add the monsterid in? sorry im really really new to macro so if there's anything i need to provide let me know thanks

p.s: i have tried other thread of "killcount macro" but all doesnt work
5e13ct
Plain Yogurt
Plain Yogurt
Posts: 51
Joined: 02 Sep 2012, 11:09
Noob?: No
Location: Brazil - PR

Re: Monster kill count

#2 Post by 5e13ct »

Hi,

Use this plugin "upReport"

That plugin is in pt-br:

Save this in plugin forder, upReport.pl - UTF-8.

It must exist in SNV.

Code: Select all


###################################################################
# Este plugin é um software livre; você pode redistribui-lo e/ou  #
# modifica-lo dentro dos termos da Licença Pública Geral GNU como #
# publicada pela Fundação do Software Livre (FSF); na versão 2 da #
# Licença                                                         #
###################################################################
package upReport;

use strict;
use Plugins;
use Log qw(warning);

Plugins::register("Up Report", "Salva certas informações de up em um arquivo na pasta logs", \&Unload);
my $hooks = Plugins::addHooks(
   ['target_died', \&onHookReceived],
   ['self_died', \&onHookReceived],
   ['packet_storage_close', \&onHookReceived],
   ['teleport_sent', \&onHookReceived],
);
my $mortos;
my $morri;
my $storage;
my $teleporte;

sub Unload {
   open(F, ">>$Settings::logs_folder/upReport.txt");
   print F ("[".scalar localtime."]
Monstros mortos: $mortos
Morri $morri vezes
Fui ao storage $storage vezes
Teleportei $teleporte vezes
--------------------------------------------------------------\n");
   close(F);
   warning("Plugin upReport unloading!\n");
   Plugins::delHook($hooks);
}

sub onHookReceived {
   my $hook = shift;
   if ($hook eq 'target_died') {
      $mortos++;
   } elsif ($hook eq 'self_died') {
      $morri++;
   } elsif ($hook eq 'packet_storage_close') {
      $storage++;
   } elsif ($hook eq 'teleport_sent') {
      $teleporte++;
   }
}

1;


Another example, eden macro:

Code: Select all

automacro monCounter {
   hook attack_end
   macro_delay 1
   exclusive 1
   call {
      $monCountLimit = 10   #Numero Limite da Quantidade de Monstros a serem Mortos
      $monCount = @eval ($::monsters_Killed[0]{count})
      $monName = @eval ($::monsters_Killed[0]{name})
      $total = $monCount
      $mName = $monName
      $target = Condor    #Coloque aqui o Nome do Monstro a ser contado
      if ($target == $mName) goto continue
      if ($target != $mName) goto expReset
      
      :expReset
         do exp reset
         pause 1.5
         stop
         
      :continue
         [
            log **************************************
            log ***** Verificando Monstro Mortos *****
            log ***** Monstro: $monName
            log ***** Mortos: 0$total - À Matar: $monCountLimit
            log ***** Total: 0$total --- Faltam: 0@eval ($monCountLimit-$total)
            log **************************************
            log **************************************
         ]
      if ($total < $monCountLimit) stop
      if ($total > $monCountLimit) goto parando
      
      :parando
         [
            log **************************************
            log ********** Meta Atigida... ***********
            log ***** Continuando Quest Valhalla *****
            log * Abandonando Rotina da Missao Atual *
            log **************************************
            log **************************************
         ]
      lock monCounter
   }
}
-Saint Seiya-
The Way Of Human
The Way Of Human
Posts: 183
Joined: 11 Apr 2008, 07:03

Re: Monster kill count

#3 Post by -Saint Seiya- »

5e13ct wrote:Hi,

Use this plugin "upReport"

That plugin is in pt-br:

Save this in plugin forder, upReport.pl - UTF-8.

It must exist in SNV.

Code: Select all


###################################################################
# Este plugin é um software livre; você pode redistribui-lo e/ou  #
# modifica-lo dentro dos termos da Licença Pública Geral GNU como #
# publicada pela Fundação do Software Livre (FSF); na versão 2 da #
# Licença                                                         #
###################################################################
package upReport;

use strict;
use Plugins;
use Log qw(warning);

Plugins::register("Up Report", "Salva certas informações de up em um arquivo na pasta logs", \&Unload);
my $hooks = Plugins::addHooks(
   ['target_died', \&onHookReceived],
   ['self_died', \&onHookReceived],
   ['packet_storage_close', \&onHookReceived],
   ['teleport_sent', \&onHookReceived],
);
my $mortos;
my $morri;
my $storage;
my $teleporte;

sub Unload {
   open(F, ">>$Settings::logs_folder/upReport.txt");
   print F ("[".scalar localtime."]
Monstros mortos: $mortos
Morri $morri vezes
Fui ao storage $storage vezes
Teleportei $teleporte vezes
--------------------------------------------------------------\n");
   close(F);
   warning("Plugin upReport unloading!\n");
   Plugins::delHook($hooks);
}

sub onHookReceived {
   my $hook = shift;
   if ($hook eq 'target_died') {
      $mortos++;
   } elsif ($hook eq 'self_died') {
      $morri++;
   } elsif ($hook eq 'packet_storage_close') {
      $storage++;
   } elsif ($hook eq 'teleport_sent') {
      $teleporte++;
   }
}

1;


Another example, eden macro:

Code: Select all

automacro monCounter {
   hook attack_end
   macro_delay 1
   exclusive 1
   call {
      $monCountLimit = 10   #Numero Limite da Quantidade de Monstros a serem Mortos
      $monCount = @eval ($::monsters_Killed[0]{count})
      $monName = @eval ($::monsters_Killed[0]{name})
      $total = $monCount
      $mName = $monName
      $target = Condor    #Coloque aqui o Nome do Monstro a ser contado
      if ($target == $mName) goto continue
      if ($target != $mName) goto expReset
      
      :expReset
         do exp reset
         pause 1.5
         stop
         
      :continue
         [
            log **************************************
            log ***** Verificando Monstro Mortos *****
            log ***** Monstro: $monName
            log ***** Mortos: 0$total - À Matar: $monCountLimit
            log ***** Total: 0$total --- Faltam: 0@eval ($monCountLimit-$total)
            log **************************************
            log **************************************
         ]
      if ($total < $monCountLimit) stop
      if ($total > $monCountLimit) goto parando
      
      :parando
         [
            log **************************************
            log ********** Meta Atigida... ***********
            log ***** Continuando Quest Valhalla *****
            log * Abandonando Rotina da Missao Atual *
            log **************************************
            log **************************************
         ]
      lock monCounter
   }
}
need english i guess? i got error