Перейти к содержимому

Фотография
* * * * * 1 Голосов

Атаковать свою курицу

готовый скрипт

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 25

#1
Groma

Groma

Скрипт чтобы чар атаковал курицу виндстрайком и поддерживал ее в состоянии боя, для того чтобы она заливала ему ману.

procedure CheckMp;
var MYPET: TL2NPC;
begin
    if (User.MP < 45) then begin //when less then 45% mp
    Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
    PetList.ByID(16035, MYPET);
        if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
            if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
            Engine.UseSkill(1177,true); // USE ANY SKILL HERE YOU WANT TO ATTACK (1177 HERE IS WIND STRIKE)
            Delay(1500);
        end else Print('Pet out of range.');
    end;
end;
begin
    while true do begin
        delay(150);
        CheckMp;
    end;
end.

Сообщение отредактировал Groma: 29 Октябрь 2015 - 23:49

  • 4

#2
279

279
  • 15
    0
    Не выбрано
    • Lvl 11
    • Пользователь

есть такой же скрипт, только что бы был автоатакой?


  • 0

#3
SARCAZM

SARCAZM
есть такой же скрипт, только что бы был автоатакой?

 

Замени (9 строка)

Engine.UseSkill(1177,true); // USE ANY SKILL HERE YOU WANT TO ATTACK (1177 HERE IS WIND STRIKE)

на 

Engine.Attack(1500);

(только я не помню за что отвечает параметр у Engine.Attack. Может делей,хз)


  • 0

#4
qqEz

qqEz
  • 49
    12
    Не выбрано
    • Lvl 25
    • Пользователь
    Город
    UA

SARCAZM, ставил Engine.Attack(10, true); пиздил пока кура не сдохла


  • 0

#5
279

279
  • 15
    0
    Не выбрано
    • Lvl 11
    • Пользователь

Engine.Attack(150);

Engine.Attack(150); с эти он открывает диалог с курой
Engine.Attack(150, true); так он бьет пока курица не умрет


  • 0

#6
SARCAZM

SARCAZM

Действительно, у Attack может быть два параметра

a713960e.jpg

Если продолжает бить - значит надо остановить вручную. Как остановить автоатаку - хз, попробуйте добавить

Engine.StopCasting();

Должно получиться примерно так:

procedure CheckMp;
var MYPET: TL2NPC;
begin
	// Если курица уже в бою, не будем ее насиловать
	if (User.Target = MYPET and MYPET.InCombat) begin
		Engine.StopCasting();
	end;

    if (User.MP < 45) then begin //when less then 45% mp
    Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
    PetList.ByID(16035, MYPET);
        if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
            if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
            //Engine.UseSkill(1177,true); // Винд страйк
			Engine.UseAttack(500, true); // Автоатака
            Delay(1500);
        end else Print('Pet out of range.');
    end;
end;
begin
    while true do begin
        delay(500);
        CheckMp;
    end;
end.

За валидность кода не отвечаю, потому что не знаю как работает StopCasting + не уверен можно ли использовать User.Target = MYPET . В общем, экспериментируйте


  • 0

#7
279

279
  • 15
    0
    Не выбрано
    • Lvl 11
    • Пользователь

SARCAZM,

чувак я не понимаю в этом практически ничего, что мне нужно прописать чтобы он курица автоатакой 1 раз ударял?))


  • 0

#8
Groma

Groma

Пробуй так, должно работать

procedure CheckMp;
var MYPET: TL2NPC;
begin
    if (User.MP < 45) then begin //when less then 45% mp
    Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
    PetList.ByID(16035, MYPET);
        if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
            if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
            Engine.UseAttack(500, true);
            Delay(1500);
            Engine.CancelTarget;
        end else Print('Pet out of range.');
    end;
end;
begin
    while true do begin
        delay(150);
        CheckMp;
    end;
end.

Сообщение отредактировал Groma: 28 Ноябрь 2015 - 00:25

  • 0

#9
Groma

Groma

Если не заработает, то костылями

procedure CheckMp;
var MYPET: TL2NPC;
begin
    if (User.MP < 45) then begin //when less then 45% mp
    Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
    PetList.ByID(16035, MYPET);
        if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
            if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
            Engine.UseAttack(500, true);
            Delay(1500);
            Engine.CancelTarget;
            Engine.SetTarget(user);
            Engine.UseSkill(1177); //если ты воин, укажи любой скил

        end else Print('Pet out of range.');
    end;
end;
begin
    while true do begin
        delay(150);
        CheckMp;
    end;
end.

  • 0

#10
SARCAZM

SARCAZM

Groma, а мой способ с StopCasting не сработает?(


  • 0

#11
Groma

Groma

SARCAZM, в теории прерывает каст. типа если цель мертва стопкастинг. на автоатаку не уверен что сработает. а вот отменить цели или взять себя и поюзать на себя 100% отменит аавтоатаку


  • 0

#12
SARCAZM

SARCAZM

Groma, Тоже верно. Ну, тогда и костыль сойдет.

Кстати, после выбора себя в таргет наверное можно ту же автоатаку заюзать чтобы остановить насильвание курицы :) Чтобы не было путаницы с id скилов.


  • 0

#13
ellegance

ellegance
  • 1
    0
    Не выбрано
    • Гремлин
    • На проверке

очень полезно, спасибо 


  • 0

#14
Bonki

Bonki
  • 131
    8
    Не выбрано
    • Lvl 40
    • Пользователь

а можно сделать что б наносило по куре 1 удар раз в 30сек?


  • 0

#15
SARCAZM

SARCAZM
begin
    while true do begin
        delay(30000);
        CheckMp;
    end;
end.

W1de,


  • 0

#16
Atero

Atero
  • 3
    0
    Не выбрано
    • Lvl 1
    • Пользователь
procedure CheckMp;
var MYPET: TL2NPC;
begin
    if (User.MP < 50) then begin //when less then 42% mp
    Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
    PetList.ByID(16035, MYPET);
        if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
            if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
            Engine.Attack(100, true);
            Delay(185);
            Engine.MoveToTarget(-20)
        end else Print('Pet out of range.');
    end;
end;
begin
    while true do begin
        delay(15000);
        CheckMp;
    end;
end.

Вот так у меня работает, бьет один-два раза и потом дает команду на бег к курице но так как он уже возле нее то просто стоит. Правда в перерывах может кому-то мп залить. Подходит больше для супортов. 


  • 0

#17
Nua

Nua
procedure CheckMp;
var MYPET: TL2NPC;
begin
if (User.MP < 50) then begin //when less then 42% mp
Print('We have low mana level. KOOKABURRA, I NEED YOUR HELP'); //notification, will appear in the bot's SYS tab
PetList.ByID(16035, MYPET);
if (User.DistTo(MYPET) < 700) and not MYPET.InCombat then begin
if not Engine.SetTarget(MYPET) then Print('Something went wrong, cant target my pet.');
Engine.Attack(100, true);
// while not user.incombat do delay(200);  // будет ждать пока не нанесет удар, добавить по желанию
engine.canceltarget;
engine.moveto(user.x+Random(20),user.y+Random(20),user.z+Random(20));
end else Print('Pet out of range.');
end;
end;
begin
while true do begin
delay(15000);
CheckMp;
end;
end.

так пробни(снимает таргет, топчится на месте)


Сообщение отредактировал SARCAZM: 08 Декабрь 2015 - 19:16

  • 0

#18
Krickt

Krickt
Один я не понял, зачем делать PetList.ByID и еще id этот доставать?

if petlist.count > 0 then
mypet:= petlist(0);

Вместо этого лучше уж бота отключать перед взятием в таргет, а то адрик переключит и побежишь его палкой бить...

Engine.FaceControl(0, false) - отключить адрик Engine.FaceControl(0, true) - включить адрик
  • 0

#19
lorenso

lorenso
  • 5
    0
    Не выбрано
    • Lvl 3
    • Пользователь

да зачем ее ааковать) пусть она атакует!


  • 0

#20
platemate

platemate
  • 36
    2
    Не выбрано
    • Lvl 21
    • Пользователь

спасибо, хорошая работа


  • -3



Темы с аналогичным тегами Готовый скрипт, готовый скрипт

Количество пользователей, читающих эту тему: 1

0 пользователей, 0 гостей, 0 анонимных


    Bing (1)

Topic Led By

Rawr.su - Сделано с для игроков.