Do we have a macro for this kind of botkiller?


I can't see here any post related to this.
Thanks!
Moderator: Moderators





Code: Select all
automacro antiBotMonTalk {
   console /\[Kafra:\].*:.*\s(\d+)\s.*/
   exclusive 1
   call {
      pause 5
      log do talk num $.lastMatch1
   }
}
 
														

hi! thanks for the response.4epT wrote:which server, write link and settings.
under what conditions appears BotKiller?
 
														
Code: Select all
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] == $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] == $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] == $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] == $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
	type responses
	respIgnoreColor 1
	delay 5
	msg_0 /\[Kafra\]/
	msg_1 />>> Who doesn't lie\? <<</
	msg_2 /.*/
	msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] != $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] != $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] != $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] != $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
	type responses
	respIgnoreColor 1
	delay 5
	msg_0 /\[Kafra\]/
	msg_1 />>> Who lies\? <<</
	msg_2 /.*/
	msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}BotKiller Guard: For security reasons we must to interrogate you, please find a safe place. [5 sec.]
Unknown #118383673: [Kafra]
Unknown #118383673: >>> Who doesn't lie? <<<
Unknown #118383673:
Unknown #118383673: 1) udigurs: 'Your Job Level is 60'
Unknown #118383673: 2) cafaju: 'Your Level is 255'
Unknown #118383673: 3) rilitst: 'Your Max SP is 1468'
Unknown #118383673: 4) fafele: 'Your Max HP is 51789'
Unknown #118383673: Auto-continuing talking
----------Responses-----------
# Response
0 fafele
1 rilitst
2 cafaju
3 udigurs
4 Cancel Chat
-------------------------------
Unknown #118383673: Type 'talk resp #' to choose a response.
[reactOnNPC] Reacting to NPC. Executing command "talk resp 2".
You are no longer: look: GM Perfect Hide
You are no longer: look: Ruwach
You are no longer: look: Orc Head
[Guild] 100% of effectiveness.
You are now: Increase Agility (Duration: 300s)


 
														

Code: Select all
######## Debugging options; only useful for developers ########
debug 0
debugPacket_unparsed 0
debugPacket_received 0
debugPacket_ro_sent 0
debugPacket_sent 0
debugPacket_exclude
debugPacket_include
debugPacket_include_dumpMethod
debugDomains
logToFile_Debug
logToFile_Errors
logToFile_Messages
logToFile_Warnings
macro_orphans terminate
macro_file macros.txt
# Example (put in config.txt):
#
reactOnNPC_debug 1
reactOnNPC talk text @eval(my $color1 = '#1~1';my $color2 = '#3~1';if ($color1 eq $color2@) {return '#3~2'}) {
type text
useColors 1
respIgnoreColor 1
delay 2
msg_0 /Bot Checking.../
msg_1 /Enter the \^([0-9a-fA-F]{6})RED COLOR\^000000 Code./
msg_2 /^\s$/
msg_3 /\s+\^([0-9a-fA-F]{6})(\S+)\^[0-9a-fA-F]{6}\s+/
# Shared SelfCondition (see http://openkore.com/index.php/Category:Self_Condition):
disabled 0
#	whenStatusActive 
#	whenStatusInactive
#	onAction
#	notOnAction
#	inMap
#	notInMap
#	inLockOnly
#	notInTown
#	timeout
#	notWhileSitting
#	manualAI
#	whenIdle
#	hp
#	sp
#	weight
#	zeny
#	spirit
#	amuletType
#	homunculus
#	homunculus_hp
#	homunculus_sp
#	homunculus_dead
#	homunculus_resting
#	mercenary
#	mercenary_hp
#	mercenary_sp
#	mercenary_whenStatusActive
#	mercenary_whenStatusInactive
#	aggressives
#	partyAggressives
#	stopWhenHit
#	whenFollowing
#	monstersCount
#	monsters
#	notMonsters
#	defendMonsters
#	inInventory
#	inCart
#	whenGround
#	whenNotGround
#	whenPermitSkill
#	whenNotPermitSkill
#	onlyWhenSafe
#	whenEquipped
#	whenNotEquipped
#	whenWater
#	equip_leftAccessory
#	equip_rightAccessory
#	equip_leftHand
#	equip_rightHand
#	equip_robe
#	whenFlag
#	whenNotFlag
# }
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] == $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] == $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] == $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] == $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
	type responses
	respIgnoreColor 1
	delay 5
	msg_0 /\[Kafra\]/
	msg_1 />>> Who doesn't lie\? <<</
msg_2 /.*/
	msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] != $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] != $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] != $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] != $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
	type responses
	respIgnoreColor 1
	delay 5
	msg_0 /\[Kafra\]/
	msg_1 />>> Who lies\? <<</
msg_2 /.*/
	msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
	msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}
Code: Select all
########## Use loot command ##########
automacro loot {
   inventory "Fragment of Darkness" < 400
   inventory "Steel" < 400
   inventory "Cyfar" < 400
   priority 1
   run-once 1
   overrideAI 1 
   call scale
}
macro scale {
   [
   do c @alootid 7798
]
}
automacro antiBotMonTalk {
   console /\[Kafra\]/.*:.*\s(\d+)\s.*/
   exclusive 1
   call {
      pause 5
      log do talk num $.lastMatch1
   }
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] == $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] == $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] == $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] == $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
   type responses
   respIgnoreColor 1
   delay 5
   msg_0 /\[Kafra\]/
   msg_1 />>> Who doesn't lie\? <<</
   msg_2 /.*/
   msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] != $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] != $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] != $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] != $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
   type responses
   respIgnoreColor 1
   delay 5
   msg_0 /\[Kafra\]/
   msg_1 />>> Who lies\? <<</
   msg_2 /.*/
   msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
} 
 
														
Code: Select all
reactOnNPC talk text @eval(my $color1 = '#1~1';my $color2 = '#3~1';if ($color1 eq $color2@) {return '#3~2'}) {
type text
useColors 1
respIgnoreColor 1
delay 2
msg_0 /Bot Checking.../
msg_1 /Enter the \^([0-9a-fA-F]{6})RED COLOR\^000000 Code./
msg_2 /^\s$/
msg_3 /\s+\^([0-9a-fA-F]{6})(\S+)\^[0-9a-fA-F]{6}\s+/Code: Select all
automacro antiBotMonTalk {
   console /\[Kafra\]/.*:.*\s(\d+)\s.*/
   exclusive 1
   call {
      pause 5
      log do talk num $.lastMatch1
   }
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] == $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] == $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] == $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] == $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
   type responses
   respIgnoreColor 1
   delay 5
   msg_0 /\[Kafra\]/
   msg_1 />>> Who doesn't lie\? <<</
   msg_2 /.*/
   msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}
reactOnNPC talk resp @resp(@eval(my @@a = ('#3~2','#4~2','#5~2','#6~2'@);my @@b = ('#3~6','#4~6','#5~6','#6~6'@);my @@c = ('#3~1','#4~1','#5~1','#6~1'@);my $anwser = 'error';for (my $z = 0; $z <= 3; $z++@) {if (@@a[$z] eq 'Level' && @@b[$z] != $::char->{lv}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Job Level' && @@b[$z] != $::char->{lv_job}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max HP' && @@b[$z] != $::char->{hp_max}@) {$anwser = @@c[$z];}elsif (@@a[$z] eq 'Max SP' && @@b[$z] != $::char->{sp_max}@) {$anwser = @@c[$z];}}return $anwser;)) {
   type responses
   respIgnoreColor 1
   delay 5
   msg_0 /\[Kafra\]/
   msg_1 />>> Who lies\? <<</
   msg_2 /.*/
   msg_3 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_4 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_5 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
   msg_6 /\d\) (\w+): 'Your (Level|(Job Level)|(Max HP)|(Max SP)) is (\d+)'/
}