![Image](http://img85.imageshack.us/img85/7064/206q.jpg)
in my config
reactOnNPC talkImage num {
type number
msg_0 [Police]
msg_1 Input this number:
}
Moderator: Moderators
Code: Select all
[Feb 23 06:13:48 2011.22] You are now: look: GM Perfect Hide
[Feb 23 06:13:48 2011.22] You are now: look: Ruwach
[Feb 23 06:13:48 2011.22] You are now: state: Frozen
[Feb 23 06:13:48 2011.22] Show NPC image: mets_alpha.bmp
[Feb 23 06:13:48 2011.22] [responseOnNPCImage] Image name >> "mets_alpha.bmp"
[Feb 23 06:13:48 2011.23] solace_die.wav 0 Í
[Feb 23 06:13:48 2011.23] Unknown #110011550: [Police]
[Feb 23 06:13:48 2011.23] Unknown #110011550: Input this number:
[Feb 23 06:13:48 2011.23] Unknown #110011550:
[Feb 23 06:13:48 2011.24] Unknown #110011550: one of fïve
[Feb 23 06:13:48 2011.24] Unknown #110011550: ninêtÿ seconds to respond
[Feb 23 06:13:48 2011.24] NPC image: bkd2.bmp (0)
[Feb 23 06:13:48 2011.24] [responseOnNPCImage] Image name >> "bkd2.bmp"
[Feb 23 06:13:48 2011.24] Unknown #110011550: Auto-continuing talking
[Feb 23 06:13:48 2011.70] Unknown #110011550: [Police]
[Feb 23 06:13:48 2011.71] Unknown #110011550: Input this number:
[Feb 23 06:13:48 2011.71] Unknown #110011550:
[Feb 23 06:13:48 2011.71] Unknown #110011550: one of fïve
[Feb 23 06:13:48 2011.71] Unknown #110011550: eightÿ nïne seconds to respond
[Feb 23 06:13:48 2011.72] NPC image: bkd0.bmp (1)
[Feb 23 06:13:48 2011.72] [responseOnNPCImage] Image name >> "bkd0.bmp"
[Feb 23 06:13:48 2011.72] Unknown #110011550: Auto-continuing talking
[Feb 23 06:13:49 2011.24] guitar.wav 0 Í
[Feb 23 06:13:49 2011.26] Unknown #110011550: [Police]
[Feb 23 06:13:49 2011.26] Unknown #110011550: Input this number:
[Feb 23 06:13:49 2011.27] Unknown #110011550:
[Feb 23 06:13:49 2011.27] Unknown #110011550: one of fïve
[Feb 23 06:13:49 2011.27] Unknown #110011550: eightÿ eïght seconds to respond
[Feb 23 06:13:49 2011.27] Show NPC image: bkd8.bmp
[Feb 23 06:13:49 2011.27] [responseOnNPCImage] Image name >> "bkd8.bmp"
[Feb 23 06:13:49 2011.28] Unknown #110011550: Auto-continuing talking
[Feb 23 06:13:49 2011.50] You move - timeout
[Feb 23 06:13:49 2011.52] You sending move from (160,325) to (155,327) - distance 5.00
[Feb 23 06:13:49 2011.57] NPC Exists: Unknown #110011550 (160, 325) (ID 110011550) - (0)
[Feb 23 06:13:49 2011.57] Unknown #110011550: Type 'talk num <number #>' to input a number.
[Feb 23 06:13:50 2011.50] You move - timeout[Feb 23 06:25:23 2011.61] Loading control\mon_control.txt...
Code: Select all
bkd1.bmp 1
bkd2.bmp 2
bkd3.bmp 3
bkd4.bmp 4
bkd5.bmp 5
bkd6.bmp 6
bkd7.bmp 7
bkd8.bmp 8
bkd9.bmp 9
bkd0.bmp 0
Code: Select all
reactOnNPC talkImage num {
type number
msg_0 Police
msg_1 /.*/
msg_2 /.*/
msg_3 /.*/
msg_4 /.*/
}
Sir iambilly, i cant reply your pm. bcoz im not available to attach the file, then i'll put here my respImageTable.txt and my responseOnNPCImage.pl and how about the reactonNPC.pl? would you give link for reactOnNPC.pl for me. thx for your kind help[Mar 4 14:48:12 2011.83] You are now: look: GM Perfect Hide
You are now: look: Ruwach
You are now: state: Frozen
[responseOnNPCImage] Image name >> "mets_alpha.bmp"
You play: se_scream_w01.wav
[GM] Police: I really sorry but i need to know if you are Playing or Boting.
[responseOnNPCImage] Image name >> "bkd8.bmp"
You play: solace_die.wav
[GM] Police: I really sorry but i need to know if you are Playing or Boting.
[responseOnNPCImage] Image name >> "bkd5.bmp"
You play: jupe_warning.wav
[GM] Police: I really sorry but i need to know if you are Playing or Boting.
[responseOnNPCImage] Image name >> "bkd7.bmp"
NPC Exists: Unknown #110011927 (80, 164) (ID 110011927) - (0)
Unknown #110011927: Type 'talk num <number #>' to input a number.
[reactOnNPC] Reacting to NPC. Executing command "talkImage num".
[responseOnNPCImage] Executing command "talk num bkd7.bmp".
Error in function 'talk num' (Respond to NPC)
You must specify a number.
responseOnNPCImage.plimageNameEqual num
bkd0.bmp 0
bkd1.bmp 1
bkd2.bmp 2
bkd3.bmp 3
bkd4.bmp 4
bkd5.bmp 5
bkd6.bmp 6
bkd7.bmp 7
bkd8.bmp 8
bkd9.bmp 9
#########################################################################
# This software is open source, licensed under the GNU General Public
# License, version 2.
# Basically, this means that you're allowed to modify and distribute
# this software. However, if you distribute modified versions, you MUST
# also distribute the source code.
# See http://www.gnu.org/licenses/gpl.html for the full license.
#########################################################################
###########################
# responseOnNPCImage v1.0.1
#
# (C)2007 abt123
# For OpenKore 1.9.x
#
# NOTE: This plugin meant to be use with hakore's reactOnNPC
#
package responseOnNPCImage;
use strict;
use Plugins;
use Globals qw(%talk);
use Commands; #qw(run register unregister)
use Settings; # qw(addConfigFile delConfigFile);
use FileParsers qw(parseDataFile);
use Log qw(message error);
use I18N qw(bytesToString);
my %imageTable;
my $imageName;
my @NPCresponses;
Plugins::register('responseOnNPCImage', 'respose base on NPC Image', \&onUnload);
my $cmd = Commands::register(['talkImage', 'talk response by image', \&cmdTalkImage]);
my $hooks = Plugins::addHooks(
['packet/npc_image', \&onNPCImage],
['packet_pre/npc_talk_number', \&onNPCTalkInput],
['packet_pre/npc_talk_text', \&onNPCTalkInput],
['packet/npc_talk_responses', \&onNPCResponses]
);
my $imgf = Settings::addControlFile('respImageTable.txt', loader => [\&parseDataFile, \%imageTable]);
sub onUnload {
Plugins::delHooks($hooks);
Commands::unregister($cmd);
Settings::removeFile($imgf);
undef %imageTable;
undef $imageName;
undef @NPCresponses;
}
sub onNPCImage {
my (undef, $args) = @_;
$imageName = bytesToString($args->{npc_image});
return unless $imageName;
message "[responseOnNPCImage] Image name >> \"$imageName\"\n", "info";
}
sub onNPCTalkInput {
my (undef, $args) = @_;
$talk{ID} = $args->{ID};
}
sub onNPCResponses {
my (undef, $args) = @_;
my $msg = I18N::bytesToString(unpack("Z*", substr($args->{RAW_MSG}, 8)));
@NPCresponses = ();
my @preTalkResponses = split /:/, $msg;
foreach my $response (@preTalkResponses) {
$response =~ s/\^[a-fA-F0-9]{6}//g;
push @NPCresponses, $response if ($response ne '');
}
}
sub cmdTalkImage {
my (undef, $args) = @_;
my $cmd = '';
if ($args !~ /resp|num|text/) {
error "Syntax Error in function 'talkImage' (Talk to NPC base on NPC image)\n" .
"Usage: talkImage <resp | num | text>\n";
return;
}
if ($imageName eq '') {
error "[responseOnNPCImage] Doesn't seen any image yet!\n";
return;
}
if (defined $imageTable{$imageName} && $imageTable{$imageName} ne '') {
if ($args eq 'num') {
$cmd = "talk num $imageTable{$imageName}";
} elsif ($args eq 'text') {
$cmd = "talk text $imageTable{$imageName}";
} elsif ($args eq 'resp') {
message "[responseOnNPCImage] Match \"$imageTable{$imageName}\" to response list.\n", "info";
my $i = 0;
foreach (@NPCresponses) {
last if ($_ =~ /$imageTable{$imageName}/i);
$i++;
}
if ($i < (scalar @NPCresponses)) {
$cmd = "talk resp $i";
} else {
error "[responseOnNPCImage] Can not match \"$imageTable{$imageName}\" to response list.\n";
message "[responseOnNPCImage] You must response by yourself now!\n", "info";
}
}
} else {
if ($args eq 'num') {
if ($imageTable{'imageNameEqual'} eq 'num') {
$cmd = "talk num $imageName";
} else {
error "[responseOnNPCImage] Image name not equal to number.\n";
message "[responseOnNPCImage] You must response by yourself now!\n", "info";
}
} elsif ($args eq 'text') {
if ($imageTable{'imageNameEqual'} eq 'text') {
$cmd = "talk text $imageName";
} else {
error "[responseOnNPCImage] Image name not equal to text.\n";
message "[responseOnNPCImage] You must response by yourself now!\n", "info";
}
} elsif ($args eq 'resp') {
if ($imageTable{'imageNameEqual'} eq 'resp') {
message "[responseOnNPCImage] Match \"$imageName\" to response list.\n", "info";
my $i = 0;
foreach (@NPCresponses) {
next unless $_;
last if ($_ =~ /$imageName/i);
$i++;
}
if ($i < (scalar @NPCresponses)) {
$cmd = "talk resp $i";
} else {
error "[responseOnNPCImage] Can not match \"$imageName\" to response list.\n";
message "[responseOnNPCImage] You must response by yourself now!\n", "info";
}
} else {
error "[responseOnNPCImage] Image name not equal to response choice.\n";
message "[responseOnNPCImage] You must response by yourself now!\n", "info";
}
}
}
if ($cmd ne '') {
message "[responseOnNPCImage] Executing command \"$cmd\".\n", "success";
Commands::run($cmd);
$imageName = '';
}
}
return 1;
Hi Sir Mucilon.. can i get the copy of this plugins? coz the link is broken and i still have this problem. would you mind to give a new link for us to download please? thanks a lotMucilon wrote:Felhs, ZorDen & Roloe
Sorry about the time way... I had some health issues! But now I'm back!
Felhs sent me a pm with the problems you had with this plugin... the thing is that this version can't answer correctly the server's antibot of yours!
Well, because of that I made a changed on it and now you need to test it... It will work to all servers including the ones who asks just one number!
You don't need to change anything on the config, but it will answer all the numbers asked. At least I think![]()