Страница 1 из 1

Если бота атакуют другие игроки > Телепорт

Добавлено: Чт май 24, 2007 9:10 am
KillJoy
Я играю на сервере где PvP mode на всех картах кроме городов. И моего бота часто прибивают на картах. Как зделать чтобы когда на него идет атака (например там Fire bolt или Sonic blow) он использовал телепорт? А также если на него нападает Sage и Sage высасует всю ману и у бота нету маны чтобы он телепортонулься как зделать так чтобы он сьел ухо и зделал autotalk с хелером а потом пошел на lockmap???

Зарание благодорю за помошь!!!

Добавлено: Чт май 24, 2007 2:50 pm
Antarx

Добавлено: Чт май 24, 2007 7:22 pm
KillJoy
Там сложновато я почти нечего не понял

Добавлено: Чт май 24, 2007 7:48 pm
KillJoy
Ладно начнем!!!

Вот плагин переделаный под телепорт правильный?
package PKTeleport;

use strict;

use Time::HiRes qw(time);
use Globals;
use Plugins;
use Utils;
use Network::Send;
use Log qw(debug message warning error);

Plugins::register('PKTeleport', 'Teleport from PK', \&onUnload);


my $hooks = Plugins::addHooks(
['is_casting', \&hookAvoidSkill, undef],
['packet_skilluse', \&hookAvoidSkill, undef],
);

sub onUnload {
Plugins::delHooks($hooks);
}

sub hookAvoidSkill {
return if ($char->{lv} < 51);

my $hookName = shift;
my $args = shift;
my $sourceID = $args->{sourceID};
my $targetID = $args->{targetID};
my $skillID = $args->{skillID};
if ($targetID eq $accountID &&
$sourceID ne $accountID &&
!$monsters{$sourceID}) {

my $skill = new Skills(id => $skillID);
if (existsInList($config{pkteleport_onskill},$skill->name)) {
sendSkillUse(\$remote_socket, 26, 1, $accountID);
my $player = $players($ID);
while ($player != ($skillsStatus{5})) {
sendSkillUse(\$remote_socket, 26, 1, $accountID);
)
}
}
}


return 1;
Тока я незнаю что с етой строчкой делать
while ($player != ($skillsStatus{5})) {
В конфиге прописуем
pkteleport_onskill (Skills)
напр. pkteleport_onskill Extremity Fist,Frost Diver,Fire Bolt