Openkore is a free english bot for Ragnarok Online. Refer to
http://www.openkore.com/ to download the bot as well as obtaining more info on it.
By default, the bot is unable to KS (kill steal). The steps below are simple procedures to modify the bot to being KS-able.
STEP 1: Go to the folder where Openkore was installed and look for the 'src' folder
STEP 2: Under the 'src' folder there is 'misc.pm' file
STEP 3: Open the 'misc.pm' file using notepad
STEP 4: Search for this line 'checkmonstercleanness' ( tips: use alt f ) and locate the following parameters
##
# checkMonsterCleanness(ID)
# ID: the monster's ID.
#
# Checks whether a monster is "clean" (not being attacked by anyone).
sub checkMonsterCleanness {
return 1 if (!$config{attackAuto});
my $ID = shift;
my $monster = $monsters{$ID};
# If party attacked monster, or if monster attacked/missed party
if ($monster->{'dmgFromParty'} > 0 || $monster->{'dmgToParty'} > 0 || $monster->{'missedToParty'} > 0) {
return 1;
}
# If we're in follow mode
if (defined(my $followIndex = binFind(\@ai_seq, "follow"))) {
my $following = $ai_seq_args[$followIndex]{following};
my $followID = $ai_seq_args[$followIndex]{ID};
if ($following) {
# And master attacked monster, or the monster attacked/missed master
if ($monster->{dmgToPlayer}{$followID} > 0
|| $monster->{missedToPlayer}{$followID} > 0
|| $monster->{dmgFromPlayer}{$followID} > 0) {
return 1;
}
}
}
# If monster attacked/missed you
return 1 if ($monster->{'dmgToYou'} || $monster->{'missedYou'});
# If monster hasn't been attacked by other players
if (!binSize([keys %{$monster->{'missedFromPlayer'}}])
&& !binSize([keys %{$monster->{'dmgFromPlayer'}}])
&& !binSize([keys %{$monster->{'castOnByPlayer'}}])
# and it hasn't attacked any other player
&& !binSize([keys %{$monster->{'missedToPlayer'}}])
&& !binSize([keys %{$monster->{'dmgToPlayer'}}])
&& !binSize([keys %{$monster->{'castOnToPlayer'}}])
) {
# The monster might be getting lured by another player.
# So we check whether it's walking towards any other player, but only
# if we haven't already attacked the monster.
if ($monster->{'dmgFromYou'} || $monster->{'missedFromYou'}) {
return 1;
} else {
return !objectIsMovingTowardsPlayer($monster);
}
}
# The monster didn't attack you.
# Other players attacked it, or it attacked other players.
if ($monster->{'dmgFromYou'} || $monster->{'missedFromYou'}) {
# If you have already attacked the monster before, then consider it clean
return 1;
}
# If you haven't attacked the monster yet, it's unclean.
return 0;
}
STEP 5: Delete the entire block leaving somthing looking like this
##
# checkMonsterCleanness(ID)
# ID: the monster's ID.
#
# Checks whether a monster is "clean" (not being attacked by anyone).
sub checkMonsterCleanness {
return 1 }
STEP 6: Save the file and start the bot like normal. It's recommended that a copy of the original 'misc.pm' file be kept for backup purposes especially before modification.