Форум работает в тестовом режиме. Все данные были перенесены со старого сайта 2018 года. Некоторая информация может быть недоступна, например вложения или хайды. Просьба сообщать о данных случаях через функционал "Жалоба", прямо под постом, где отсуствуют данные из хайда или проблемы с вложением.
Могут быть проблемы в "выкидыванием" с форума (слетевшей авторизацией). Нужно собрать статистику таких случаев.
Есть Тема, куда можете сообщить о проблемах с сайтом либо просто передать привет.

Парочка простеньких скриптов)

Рег
20 Ноя 2015
Сообщения
94
Реакции
0
Всем привет) я новичек в этом нелегком деле. Вот мои небольшие и изичные наработки.
begin
while 1=1 do
Begin
Engine.SetTarget('Chest of Kernon');
Engine.DlgOpen;
Engine.DlgSel(1);
Engine.DlgSel(1);
Delay(20000);
end;
end.

Скрипт, чтоб взять итем для саб класса)

begin
while 1=1 do
Begin
Engine.SetTarget('Bathis');
Engine.DlgOpen;
Engine.DlgSel(3);
Engine.DlgSel(7);
Delay(100);
end;
end.

Эт что бы протиснуться в лабу на старте крупного проекта)
 
p.s. скрипт написан под рпг-клаб. Если хотите юзать на другом сервачке, нужно будет исправить Engine.DlgSel(7) -> Engine.DlgSel(3) и имя нпс
 
Еще один скриптик. Делал под себя. Исходник - http://rawr.su/topic/2229-skript-ispolzuetsya-na-bishe/ .

uses SysUtils,Classes;
procedure overi(p: pointer);

var
keycode,j,i,m,k:integer;
char2,char3:tl2char;
begin
while engine.status=lsonline do begin


Engine.WaitAction([laKey],keycode,i);

if KeyCode = $5A then begin
for j := 0 to CharList.count -1 do begin
Char2 := CharList.Items(j);
if not (char2.abnormalid=2048) and (User.DistTo(char2)<1000) and not (char2.ismember) and (char2.classid=115) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead) and not (user.target.name=char2.name)
then
begin
Engine.Settarget(char2.name);break
end;
end;

end;
end;
end;

procedure Cardinali (p: pointer);

var
keycode,j,i,m,k:integer;
char2,char3:tl2char;
begin
while engine.status=lsonline do begin
Engine.WaitAction([laKey],keycode,i);

if KeyCode = $58 then begin
for j := 0 to CharList.count -1 do begin
Char2 := CharList.Items(j);
if not (char2.abnormalid=2048)and (User.DistTo(char2)<1000) and not (char2.ismember) and (char2.classid=97) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead) and not (user.target.name=char2.name)
then
begin
Engine.Settarget(char2.name);break
end;
end;

end;
end;
end;

procedure SWS (p: pointer);
var
keycode,j,i,m,k:integer;
char2,char3:tl2char;
begin
while engine.status=lsonline do begin
Engine.WaitAction([laKey],keycode,i);

if KeyCode = $56 then begin
for j := 0 to CharList.count -1 do begin
Char2 := CharList.Items(j);
if not (char2.abnormalid=2048)and (User.DistTo(char2)<1000) and not (char2.ismember) and (char2.classid=100) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead) and not (user.target.name=char2.name)
then
begin
Engine.Settarget(char2.name);break
end;
end;

end;
end;
end;

procedure zalivki (p: pointer);
var
keycode,j,i,m,k:integer;
char2,char3:tl2char;
begin
while engine.status=lsonline do begin
Engine.WaitAction([laKey],keycode,i);

if KeyCode = $43 then begin
for j := 0 to CharList.count -1 do begin
Char2 := CharList.Items(j);
if not (char2.abnormalid=2048)and (User.DistTo(char2)<1000) and not (char2.ismember) and (char2.classid=105) or (char2.classid=112) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead) and (char2.target.ismember)
then
begin
Engine.Settarget(char2.name);break
end;
end;

end;
end;
end;

procedure antiback;
var
eu,char2:tl2char;
obj,obj1,cast:tl2effect;
i,j,g,pis,pis2:integer;
item: TL2Item;


function proxy : boolean;

begin
result:=false;

for i := 0 to CharList.count -1 do begin
Char2 := CharList.Items(i);

if (char2.cast.endtime > 0) and (User.DistTo(char2)<100) and (char2.cast.id=30) and not (char2.dead) and

(User.DistTo(char2)<100)
then begin

Engine.SetTarget(char2.name);
Engine.USeSkill(1396,true);
end;
end;


result:=true;
end;


begin
while engine.status = lsonline do begin
if proxy then delay(100);
Delay(100);
end;
end;


procedure holdtarget;
var
charT:tl2live;
obj:tl2effect;

begin
while engine.status = lsonline do begin
if (user.target.valid) then if not (User.Buffs.byID(18,obj)) and not (User.Buffs.ByID(28,obj)) then chart:=user.target;
if not user.target.valid then while not (User.Target.name = chart.name) do Engine.SetTarget(chart.name);
delay(100);
end;
end;

procedure tank;
var
eu,char2:tl2char;
obj,obj1,cast:tl2effect;
i,j,g,pis,pis2:integer;



function proxy : boolean;

begin
result:=false;

for i := 0 to CharList.count -1 do begin
Char2 := CharList.Items(i);

if (char2.cast.endtime>0)and not (char2.ismember) and (char2.cast.id=1506) and not (char2.dead) and
(User.DistTo(char2)<5200)
then begin
delay(500);
engine.say('BoE->>' + char2.name , 2 , User.name);break
end;

if (char2.cast.endtime>0)and not (char2.ismember) and (char2.cast.id=1428) and not (char2.dead) and
(User.DistTo(char2)<5200)
then begin
delay(500);
engine.say('mana pole->>' + char2.name , 2 , User.name);break
end;

if (char2.cast.endtime>0) and (char2.cast.id=1505) and not (char2.dead)
then begin
delay(500);
engine.say(' SUBLIME ' + char2.name ,2,user.name);
break
end;

if (char2.cast.endtime>0) and (char2.cast.id=789) then begin
delay(500);
engine.say('WILKU UZAET -> ' +char2.name,2,user.name);
delay(59000);
engine.say('wilka off' ,2 , user.name);break
end;

if (char2.cast.endtime>0) and (char2.cast.id=3282) and not (char2.dead)
then begin
engine.say('Maximum clarity ->' + char2.name , 2 , user.name);
delay(120000);
engine.say('max clarity -->> ' + char2.name , 2 ,user.name ) ;break
end;

end;
result:=true;
end;


begin
while engine.status = lsonline do begin
if proxy then delay(1);
Delay(1);
end;
end;

begin
script.newthread(@antiback);
script.newthread(@tank);
script.newthread(@holdtarget);
script.newthread(@zalivki);
script.newthread(@cardinali);
script.newthread(@overi);
script.newthread(@sws);
end.

На "z" - берет в таргет овера
"x" - биш
"c" - ее или ше
"v" - свсер
Можете сами забиндить удобные вам клавиши http://pmok.ru/key_codes/

Холд таргет
Пишет, кто юзает бое\саблим\мана речардж\просвет.
Антибэк - юзает мбф на ножа.



Буду благодарен за рабочий анти хейт)
И если нашли какой-нибудь косяк в скрипте - скажите плз)
 
Мой вариант пайлаки (РПГ быстрее не осилил:D ).
Код:
var
    obj: TL2NPC;
const
    //StartNPC = 32498; // 61
    StartNPC = 32499;  // 73
begin
    Engine.SetTarget (StartNPC);
    while (Engine.delay (900)) do
    begin
        Engine.DlgOpen;
        delay (100);
        Engine.DlgSel (1);
        delay (100);
        Engine.DlgSel (1);
        delay (100);
        Engine.GetNpcList.ByID(StartNPC, obj);
        if ((User.DistTo (obj)) > 200) then
        begin
            Engine.BlinkWindow(true);
            PlaySound('Sounds/sirena.wav',false);
            delay (10000);
            StopSound;
        end;
    end;
end.
 
[member='shayne'], А вот это уже круто.
 
лайк) а я последний год аларм на саб рб ставил)
эх сейчас бы не спать 2 дня чтоб саб сдать)
 
А можешь пожалуйста расписать эти 2 массива) А то я нуб в этом деле) Спасибо большое за идейку)
 
uses SysUtils,Classes;

procedure MBF (p: pointer);

var
keycode,j,i,m,k:integer;
char2,char3:tl2char;
begin
while engine.status=lsonline do begin
Engine.WaitAction([laKey],keycode,i);



if (char2.abnormalid=1396) and (user.target.name=char2.name)
then begin
for j := 0 to CharList.count -1 do begin
Char2 := CharList.Items(j);
if not (char2.abnormalid=2048) and (User.DistTo(char2)<600) and not (char2.ismember) and not (char2.clanid=user.clanid) and (char2.pvp) and not (char2.dead) and not (user.target.name=char2.name)
then
begin
Engine.Settarget(char2.name)
end;
end;

end;
end;
end;
begin
script.newthread(mbf);
end.

Наработка скрипта. Еще не тестил. Смысл скрипта - при прохождении мбф, брать в таргет другую цель в ренже 600.
 
Назад
Сверху