PDA

Просмотр полной версии : [Скрипт] Автоматическое снятие дебафов 2,7


altairalentus
26.02.2012, 01:00
Дорого времени суток. Это очередной мой скрипт снимает негативные или любые другие эффекты с персонажа. Список храниться в файле debaf.txt который необходимо создать и вписать ид скилов (каждый ид начинается с новой строки) файл должен быть в папке пакехака.
Не советую вписывать скилы типа коляска, дерево, сон, шок потому что склил снимается сразу после наложения и ваш противник через 5 минут будет на форуме писать "ЧТО ЗА". Для даных скилов есть скрипт с активацией через чат [Ссылки могут видеть только зарегистрированные и активированные пользователи]


Обновил скрипт(13,04,12). Теперь в списке можно указать паузу в миллисекундах для каждого скила :

1389=2000 Коррозия V
1795=2000 Обширная коррозия III
1685=4000 Вопль ужаса I
1636=4000 Вопль духов I
Также есть команды:
.antidebaf_on - включения скрипта (при старте скрипт автоматически активируется не нужно писать .antidebaf_on )
.antidebaf_off - выключения скрипта

В файле после задержки снятия можно написать комментарий
"99999=0 //йцукен". Отступ и символы не имеют значения скрипт берет только число после равно.

//by Alatair_Alentus
//AntiDebaf_v1.02
var
s,t:tstringlist;
capture:byte;
c_name:string;
Timer: array[1..10] of TTimer;
param: array[1..10] of integer;


procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('debaf.txt');
capture:=1;
end;

procedure Free ;
begin


end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(14) do
begin
t.add(inttostr(readh(20+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
var
tm:string;
pause,i:integer;
begin
for i:=pos(' ',s.values[idn])-1 downto 1 do
tm:=s.values[idn][i]+tm;
pause:=StrToInt(tm);
tm:='';
if pause=0 then
begin
buf:=HStr('CA 00 57 69 FF');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
for i:=1 to 10 do
begin
if Timer[i]=nil then
begin
Timer[i]:=TTimer.Create(nil);
param[i]:=StrToInt(idn);
Timer[i].OnTimer:=@TimerOn;
Timer[i].interval:=pause;
Timer[i].tag:=i;
Timer[i].enabled:=true;
Break;
end;

end;
end;
end;

procedure TimerOn(Sender:TTimer);
begin
buf:=HStr('CA 00 57 69 FF');
writeh(param[sender.tag]);
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
sender.enabled:=false;
sender.Free;
end;


procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b2')) then
case reads(7) of
'.antidebaf_on': cap(1);
'.antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;

end.



пример записи ххххх=0 //ххххххх ето значит ххххх - ид скила, 0 - задержка в миллисекундах, //ххххххх - комментарий.
Для правильной работы скрипта поле последней строки жмем ентер


2225=0 Облако проклятия II
2238=1000 Сжечь чары IV
2230=0 Невыносимые муки II
1389=2000 Коррозия V
1795=2000 Обширная коррозия III
1685=4000 Вопль ужаса I
1636=4000 Вопль духов I
1782=4000 Проклятие: Элементаль воды I
1781=4000 Проклятие: Элементаль огня I
1663=2000 Замедляющие кандалы I
1769=0 Блокирование магии I
1770=0 Замедление I
1789=0 Сковать крылья I
2006=1000 Узы сна I
8689=2000 Сжечь чары IV




Если понравилось нажми спасибо.

xaos963
26.02.2012, 09:53
список ведь в папке с ПХ должен хранится? или в папке со скриптами?
и можно ли переделать его так чтоб он работал от команды в чат??

altairalentus
26.02.2012, 11:09
список ведь в папке с ПХ должен хранится? или в папке со скриптами?
и можно ли переделать его так чтоб он работал от команды в чат??
Файл должен был в папке с ПХ. Планирую написать скрипт с 2 списками авто снятия и через чат, есть идея использовать снятия сна, колясок с 5 сек задержкой в авто режиме.

par-vova3
26.02.2012, 11:15
Файл должен был в папке с ПХ. Планирую написать скрипт с 2 списками авто снятия и через чат, есть идея использовать снятия сна, колясок с 5 сек задержкой в авто режиме.

Например ты вписываешь скил этот ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) в список, то когда син на тебя молчанку ложит дебафа нету сразу или он через секунду снимается?

altairalentus
26.02.2012, 11:37
Например ты вписываешь скил этот ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) в список, то когда син на тебя молчнку ложит дебафа нету сразу или он через секунду снимается?

снимается сразу после прихода пакета с списком эффектов персонажа. Вовремя тестов все происходило не более 1 секунды

par-vova3
26.02.2012, 12:12
На aionUA почему то непашет.

Вот мой список который я сделал, он в общем то палевный.

1524
2213
1527
2225
2238
2230
1389
1795
1989
2126
1990
1987
2124
2122
2111
1982
941
868
581
853
873
1999
2174
1343
1238
1260
985
1321
1328
1227
1028
2259
2140
2284
2136
1181
1176
2040
2039
233
2034
2037
231
2030
297
2030
388
400
322
1433
1429
2210
2203
2197
2196
1520
1527
1388
1506
1600
1373
632
631
2090
2087
736
622
2081
716
2100
581
719
722
1524
2213
1527
2225
2238
2230
1389
1795
1989
2126
1990
1987
2124
2122
2111
1982
941
868
581
853
873
1999
2174
1343
1238
1260
985
1321
1328
1227
1028
2259
2140
2284
2136
1181
1176
2040
2039
233
2034
2037
231
2030
297
2030
388
400
322
1433
1429
2210
2203
2197
2196
1520
1527
1388
1506
1600
1373
632
631
2090
2087
736
622
2081
716
2100
581
719
722
1524
2213
1527
2225
2238
2230
1389
1795
1989
2126
1990
1987
2124
2122
2111
1982
941
868
581
853
873
1999
2174
1343
1238
1260
985
1321
1328
1227
1028
2259
2140
2284
2136
1181
1176
2040
2039
233
2034
2037
231
2030
297
2030
388
400
322
1433
1429
2210
2203
2197
2196
1520
1527
1388
1506
1600
1373
632
631
2090
2087
736
622
2081
716
2100
581
719
722
1524
2213
1527
2225
2238
2230
1389
1795
1989
2126
1990
1987
2124
2122
2111
1982
941
868
581
853
873
1999
2174
1343
1238
1260
985
1321
1328
1227
1028
2259
2140
2284
2136
1181
1176
2040
2039
233
2034
2037
231
2030
297
2030
388
400
322
1433
1429
2210
2203
2197
2196
1520
1527
1388
1506
1600
1373
632
631
2090
2087
736
622
2081
716
2100
581
719
722

1524
2213
1527
2225
2238
2230
1389
1795
1989
2126
1990
1987
2124
2122
2111
1982
941
868
581
853
873
1999
2174
1343
1238
1260
985
1321
1328
1227
1028
2259
2140
2284
2136
1181
1176
2040
2039
233
2034
2037
231
2030
297
2030
388
400
322
1433
1429
2210
2203
2197
2196
1520
1527
1388
1506
1600
1373
632
631
2090
2087
736
622
2081
716
2100
581
719
722
2012
2011
2009
2238
2230
2225
2006
2219
1389
1716
1763
1746
1769
1974
1970
2046
388

manyunya
26.02.2012, 13:34
а можно так вызывать?
s.loadfromfile('d:\test\debaf.txt');

altairalentus
26.02.2012, 14:07
а можно так вызывать?
s.loadfromfile('d:\test\debaf.txt');
Да можно указать полный путь

ildar3180
26.02.2012, 16:26
этот скрипт работает только на противоположной рассе? т.к у меня он в пвп не робит .

altairalentus
26.02.2012, 16:38
этот скрипт работает только на противоположной рассе? т.к у меня он в пвп не робит .

Должен работать и в любом режиме. Проверь файл debaf.txt все ли там эффекты записаны. Проверь работает на твоем сервере баг [Ссылки могут видеть только зарегистрированные и активированные пользователи]

altairalentus
27.02.2012, 23:36
Как обещал обновил скрипт, изменение в шапке.

x-miskalin-x
28.02.2012, 15:23
Я так понимаю, что этим скриптом можно снимать и станы и небесный плен?

celsi
05.03.2012, 14:12
баф.тхт чота у меня не сохраняется, вин 7/64... написал туда все скиллы но после релога нету там ничего !

altairalentus
05.03.2012, 18:53
баф.тхт чота у меня не сохраняется, вин 7/64... написал туда все скиллы но после релога нету там ничего !
когда заполняешь файл скрипт должен быть отключен.
Отредактировал скрипт там команда сохранения в файл была не нужна,так как файл нужен только для чтения.

Nikci
12.03.2012, 07:37
Подскажите плиз на 2.5 будет работать если заменить эти данные CA 00 57 69 FF , если да то откуда их брать ?

crat
13.03.2012, 13:15
Newaion ---- не работает
ты уверен у меня все пашет) сервер x2

AnataK
13.03.2012, 16:48
ты уверен у меня все пашет) сервер x2
Где текст хранится и что прописывал скинь плиз?!)

altairalentus
13.03.2012, 19:24
Где текст хранится и что прописывал скинь плиз?!)

файл создаешь в той же папке что и l2ph.exe, в первом посте есть пример списка скилов

nos324
14.03.2012, 13:44
Такая проблема
Когда на меня юзают например атаку ядом ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
там есть эфект отравление
Вписал его в debaf txt
снимает сразу же
Но когда хотел чтобы так же снимал немоту сина ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Вписал его в debaf txt ,но немоту не снимает
В чём может быть проблема?
Тестил на Aion-fr**

altairalentus
14.03.2012, 20:28
Такая проблема
Когда на меня юзают например атаку ядом ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
там есть эфект отравление
Вписал его в debaf txt
снимает сразу же
Но когда хотел чтобы так же снимал немоту сина ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Вписал его в debaf txt ,но немоту не снимает
В чём может быть проблема?
Тестил на Aion-fr**
после остатнего ид скила нада ставить абзац то есть жать ентер


9999=0
5555=1

nos324
14.03.2012, 22:05
после остатнего ид скила нада ставить абзац то есть жать ентер


9999=0
5555=1




1989 ([Ссылки могут видеть только зарегистрированные и активированные пользователи])=0
1987 ([Ссылки могут видеть только зарегистрированные и активированные пользователи])=0

[/QUOTE]

Вот мой пример как у меня в файле дебаф
Т.е. у меня скрипт снимает не все дебафы
Вот засаду снимает , немку не снимает,отравление от атаки ядом снимает
Странно
Как это можно объяснить ,а если можно исправить ?

altairalentus
14.03.2012, 23:49
Как это можно объяснить ,а если можно исправить ?

После последнего ид должен быть переход на новую строку что б скрипт понял где конец фала а он у тебя стает на 1989, коль так не работает попробуй вставить 1 ид после.

может быть что ид скила и эффекта наложенного на игрока разные.

aybukem
15.03.2012, 15:13
sry i say eng pls video help

nos324
15.03.2012, 18:36
После последнего ид должен быть переход на новую строку что б скрипт понял где конец фала а он у тебя стает на 1989, коль так не работает попробуй вставить 1 ид после.

может быть что ид скила и эффекта наложенного на игрока разные.

Скорее всего ид эффекта наложения другой
т.к. я вписал скилл отравленный клинок ([Ссылки могут видеть только зарегистрированные и активированные пользователи])
Дебаф этот скрипт не снимает ,но вот сам баф как только его юзаю сразу с меня снимает
Как можно узнать ид дебафа на сервере ?

altairalentus
15.03.2012, 19:20
Как можно узнать ид дебафа на сервере ?

стань с кем то в дуэль и посмотри как называется дебаф и посмотри в базе или копай пакеты от сервера Abormal_state начинается на 51

Nikci
15.03.2012, 19:46
этот скрипт работает только на противоположной рассе? т.к у меня он в пвп не робит .

Потому что ID одинаковых скиллов асмо и элийцев разные . Если в списке прописать асм скиллы то они будут работать только на асм рассу , соответственно на оборот тоже самое . Что бы работало на обе рассы нужно вписывать ID от обеих расс . Соответственно так же и с НПС и Балаурами.

altairalentus
15.03.2012, 20:00
Потому что ID одинаковых скиллов асмо и элийцев разные . Если в списке прописать асм скиллы то они будут работать только на асм рассу , соответственно на оборот тоже самое . Что бы работало на обе рассы нужно вписывать ID от обеих расс . Соответственно так же и с НПС и Балаурами.
Не все у всех скилов разные ид, почти все стигмы и некоторые скилы разные надо смотреть скил на елов и асмо

Nikci
18.03.2012, 14:42
А если создать список скиллов подобным образом, будет ли скрипт читать нужные данные правильно и использовать их ??? Если нет, то можно ли внести изменения в скрипт для реализации такой функции.
так как скиллов большое множество и есть вероятность повтора.

1181=0 //Кара II
1170=0 //Кара I

altairalentus
18.03.2012, 15:45
А если создать список скиллов подобным образом, будет ли скрипт читать нужные данные правильно и использовать их ??? Если нет, то можно ли внести изменения в скрипт для реализации такой функции.
так как скиллов большое множество и есть вероятность повтора.

1181=0 //Кара II
1170=0 //Кара I
Сделал, обновленный скрипт в 1 посте

Nikci
29.03.2012, 11:56
Жаль но скрипт перестал работать :sad: серв aion......t.ws
Или может у меня в скрипте ошибочка? вер: клиента 2.5

//by Alatair_Alentus
var
s,t:tstringlist;
capture:byte;
c_name,debaf,debaf1:string;
Timer: TTimer;
Timer1: TTimer;

procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('d:\Programmi\l2phx.3.5.34.176\deba f.txt');
capture:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@TimerOn;
Timer.interval:=3000;
Timer.enabled:=false;
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@TimerOn1;
Timer1.interval:=3000;
Timer1.enabled:=false;
end;

procedure Free ;
begin
Timer.enabled:=false;
Timer1.enabled:=false;
end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(14) do
begin
t.add(inttostr(readh(20+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
begin
if s.values[idn]='0' then
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
if Timer.enabled=true then
begin
debaf1:=idn;
Timer1.enabled:=true;
end
else
begin
debaf:=idn;
Timer.enabled:=true;
end;
end;
end;

procedure TimerOn;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer.enabled:=false;
end;

procedure TimerOn1;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf1));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer1.enabled:=false;
end;

procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b9')) then //Чат
case reads(7) of
'.baf_on': cap(1);
'.antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;

end.

В файле debaf.txt все как положено в конце строки интер .

Если есть возможность и время то можете переделать скрипт что бы бафы снимались этими скиллами Очищение III ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) Ясность II ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) автоматом .

altairalentus
29.03.2012, 19:15
Ошибка в том что пакеты в 2,7 длиннее на 2 байта
Для 2,5 будет так
//by Alatair_Alentus
var
s,t:tstringlist;
capture:byte;
c_name,debaf,debaf1:string;
Timer: TTimer;
Timer1: TTimer;

procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('d:\Programmi\l2phx.3.5.34.176\deba f.txt');
capture:=1;
Timer:=TTimer.Create(nil);
Timer.OnTimer:=@TimerOn;
Timer.interval:=3000;
Timer.enabled:=false;
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@TimerOn1;
Timer1.interval:=3000;
Timer1.enabled:=false;
end;

procedure Free ;
begin
Timer.enabled:=false;
Timer1.enabled:=false;
end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(12) do
begin
t.add(inttostr(readh(18+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
begin
if s.values[idn]='0' then
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
if Timer.enabled=true then
begin
debaf1:=idn;
Timer1.enabled:=true;
end
else
begin
debaf:=idn;
Timer.enabled:=true;
end;
end;
end;

procedure TimerOn;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer.enabled:=false;
end;

procedure TimerOn1;
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(debaf1));
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
Timer1.enabled:=false;
end;

procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b9')) then //Чат
case reads(5) of
'.baf_on': cap(1);
'.antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;

end.

Вот пример скрипт на 2,5 для авто юза свитков [Ссылки могут видеть только зарегистрированные и активированные пользователи]

Nikci
30.03.2012, 08:04
Жаль , но ни каких изменений не произошло, автоматом ничего не снимается , видимо фикс :-( . Снимается только скиллами Очищение III ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) и Ясность II ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

aybukem
30.03.2012, 09:01
pls video trailer

Mr.Phoenix
30.03.2012, 12:43
pls video trailer

What exactly to you isn't clear? That you ask to make video.

c-lavr
01.04.2012, 00:08
есть идея использовать снятия сна, колясок с 5 сек задержкой в авто режиме.

просто дополнительно добавь проверку на коляски т.д. и меняй таймер на 5 сек, а потом обратно в нужное значение

altairalentus
01.04.2012, 00:51
просто дополнительно добавь проверку на коляски т.д. и меняй таймер на 5 сек, а потом обратно в нужное значение
Внимательно читай тему это я написал до того как обновил скрипт уже есть 3 сек задержка и 2 таймера на случай когда кинут коляску и дерево сразу.

c-lavr
01.04.2012, 01:04
я говорил про упрощение, достаточно менять таймеренебл значение, а не 2 процедуру создавать.
А по поводу лучше читать, проверь скрит получше) у тебя таймеры с одинаковыми значениями мс

DreiUnikl
10.04.2012, 22:19
Случаем никто не составлял список со всеми дебафами )))
Поделитесь если не жалко )))

Syltan
11.04.2012, 00:06
он парав тока на версию 2.5 скачайте себе евро или руофф в топи и скрипт на ура пойдёт!!! токаверсии-2.5

altairalentus
13.04.2012, 20:53
Добавлена возможность указать задержку снятия для каждого дебафа.
Изменения в 1 посте.

Ra1van1
17.04.2012, 18:45
неробит чё то пробывал сам пакетами дебаф снимается а вот скрип не хочет робить

altairalentus
18.04.2012, 02:27
неробит чё то пробывал сам пакетами дебаф снимается а вот скрип не хочет робить

Используешь последнюю версию скрипта? проверь файл вот пример30283
Проверь у тебя на сервере такие пакеты как и у скрипте

procedure TimerOn(Sender:TTimer);
begin
buf:=HStr('CA 00 57 69 FF');
writeh(param[sender.tag]);
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
sender.enabled:=false;
sender.Free;
end;

Ra1van1
18.04.2012, 13:44
Используешь последнюю версию скрипта? проверь файл вот пример30283
Проверь у тебя на сервере такие пакеты как и у скрипте

да последняя

//by Alatair_Alentus
//AntiDebaf_v1.02
var
s,t:tstringlist;
capture:byte;
c_name:string;
Timer: array[1..10] of TTimer;
param: array[1..10] of integer;


procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('debaf.txt');
capture:=1;
end;

procedure Free ;
begin


end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(14) do
begin
t.add(inttostr(readh(20+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
var
tm:string;
pause,i:integer;
begin
for i:=pos(' ',s.values[idn])-1 downto 1 do
tm:=s.values[idn][i]+tm;
pause:=StrToInt(tm);
tm:='';
if pause=0 then
begin
buf:=HStr('CA 00 57 69 FF E8 26 00');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
for i:=1 to 10 do
begin
if Timer[i]=nil then
begin
Timer[i]:=TTimer.Create(nil);
param[i]:=StrToInt(idn);
Timer[i].OnTimer:=@TimerOn;
Timer[i].interval:=pause;
Timer[i].tag:=i;
Timer[i].enabled:=true;
Break;
end;

end;
end;
end;

procedure TimerOn(Sender:TTimer);
begin
buf:=HStr('CA 00 57 69 FF E8 26 00'); // пакет на снятие свитка ускорение
writeh(param[sender.tag]);
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
sender.enabled:=false;
sender.Free;
end;


procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b2')) then
case reads(7) of
'/antidebaf_on': cap(1); / потомучто не робят команды с . на сервере
'/antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;

end.

altairalentus
18.04.2012, 15:34
buf:=HStr('CA 00 57 69 FF E8 26 00') у тебя так и в рабочем скрипте если да то нужно оставить только ето
buf:=HStr('CA 00 57 69 FF')

Ra1van1
19.04.2012, 11:13
у тебя так и в рабочем скрипте если да то нужно оставить только ето
buf:=HStr('CA 00 57 69 FF')

разобрался дело было надо было путь указать полностью
s.loadfromfile('C:\phx\debaf.txt');

Nikci
22.04.2012, 15:34
//############################
//by Alatair_Alentus
//AntiDebaf_v1.02
var
s,t:tstringlist;
capture:byte;
c_name:string;
Timer: array[1..10] of TTimer;
param: array[1..10] of integer;


procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('debaf.txt');
capture:=1;
end;

procedure Free ;
begin


end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(12) do
begin
t.add(inttostr(readh(18+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
var
tm:string;
pause,i:integer;
begin
for i:=pos(' ',s.values[idn])-1 downto 1 do
tm:=s.values[idn][i]+tm;
pause:=StrToInt(tm);
tm:='';
if pause=0 then
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
for i:=1 to 10 do
begin
if Timer[i]=nil then
begin
Timer[i]:=TTimer.Create(nil);
param[i]:=StrToInt(idn);
Timer[i].OnTimer:=@TimerOn;
Timer[i].interval:=pause;
Timer[i].tag:=i;
Timer[i].enabled:=true;
Break;
end;

end;
end;
end;

procedure TimerOn(Sender:TTimer);
begin
buf:=HStr('D1 57 6E');
writeh(param[sender.tag]);
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
sender.enabled:=false;
sender.Free;
end;


procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b9')) then
case reads(5) of
'.antidebaf_on': cap(1);
'.antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('51')) then check;

end.

Сделала под 2.5 но почему то скрипт не работает , может ошиблась где . Посмотрите пожалуйста . :)

altairalentus
22.04.2012, 23:57
Ошибка в том что скрипт проверяет пакет от сервера 51 с бафами перса а в 2,5 это пакет 4E
//############################
//by Alatair_Alentus
//AntiDebaf_v1.02
var
s,t:tstringlist;
capture:byte;
c_name:string;
Timer: array[1..10] of TTimer;
param: array[1..10] of integer;


procedure init ;
begin
s:=tstringlist.create;
t:=tstringlist.create;
s.loadfromfile('debaf.txt');
capture:=1;
end;

procedure Free ;
begin


end;


procedure check;
var
b,i:integer;
begin
b:=0;
t.clear;
for i:= 1 to readc(12) do
begin
t.add(inttostr(readh(18+b)));
b:=b+12;
end;
for i:=0 to s.count-1 do if t.indexof(s.names[i])>=0 then deldebaf(s.names[i]);

end;

procedure deldebaf(idn:string);
var
tm:string;
pause,i:integer;
begin
for i:=pos(' ',s.values[idn])-1 downto 1 do
tm:=s.values[idn][i]+tm;
pause:=StrToInt(tm);
tm:='';
if pause=0 then
begin
buf:=HStr('D1 57 6E');
writeh(StrToInt(idn));
buf:=buf+HStr('00');
capture:=0;
SendToServer;
capture:=1;
buf:='';
idn:='';
end
else
begin
c_name:=ConnectName;
for i:=1 to 10 do
begin
if Timer[i]=nil then
begin
Timer[i]:=TTimer.Create(nil);
param[i]:=StrToInt(idn);
Timer[i].OnTimer:=@TimerOn;
Timer[i].interval:=pause;
Timer[i].tag:=i;
Timer[i].enabled:=true;
Break;
end;

end;
end;
end;

procedure TimerOn(Sender:TTimer);
begin
buf:=HStr('D1 57 6E');
writeh(param[sender.tag]);
buf:=buf+HStr('00');
SendToServerEx(c_name);
buf:='';
sender.enabled:=false;
sender.Free;
end;


procedure cap(c:byte);
begin
capture:=c;
pck:='';
end;

begin
if FromClient and (pck[1]=HStr('b9')) then
case reads(5) of
'.antidebaf_on': cap(1);
'.antidebaf_off': cap(0);
end;

if FromServer and (capture=1) and(pck[1]=HStr('4E')) then check; //Вот здесь

end.

Ra1van1
27.04.2012, 12:50
Сделал готовый набор дебафов под все классы


2225=0 Облако проклятия II /////закл\\\\\
2238=0 Сжечь чары IV
2230=0 Невыносимые муки II
1389=0 Коррозия V
1795=0 Обширная коррозия III
1685=3000 Вопль ужаса I
1636=3000 Вопль духов I
1782=3000 Проклятие: Элементаль воды I
1781=3000 Проклятие: Элементаль огня I
1663=0 Замедляющие кандалы I
1769=0 Блокирование магии I
1770=0 Замедление I
1789=0 Сковать крылья I
2006=0 Узы сна I
8689=0 Сжечь чары IV
2087=0 Стрела молчания VI //////лук\\\\\\
1443=3000 Шторм сна I ///////Волш\\\\\
1454=3000 Проклятие: Дерево I
1495=3000 Сон I
2188=0 Ураган иллюзий III
1520=0 Оковы холода IV
2213=0 Лезвие ветра V
18954=0 Ледяной столп IV
8224=0 Воздушные оковы
1386=0 Взрыв V
1388=0 Ледяные узы V
8217=0 Отталкивание
1527=0 Ожог IV
1373=0 Оковы I
1428=0 Падение молнии I
2202=0 Замораживание II
1524=0 Замораживание души II
1593=0 Расплавление II
802=0 Туманная завеса I ////Асасин\\\\\
873=0 Подлый удар II
1990=0 Клинок обморока I
2124=0 Рассекающая молния IV
2126=0 Засада VI
8303=0 Нанесение клейма I
8304=0 Нанесение клейма II
8305=0 Нанесение клейма III
8307=0 Нанесение клейма V
8383=0 Эффект оглушения
8404=0 Отравленный клинок IV
8483=0 Применение смертельных ядов I
8523=0 Вспышка иссушающего клейма II Дополнительный эффект
8527=0 Вспышка клейма света I Дополнительный эффект
8574=0 Немота
1999=0 Шоковый удар I ///Чародей\\\
2174=0 ударный захват II
2173=0 Проникающий захват II
1238=0 Захват резоонанса III
2142=0 Исполнение приговораа V
1028=0 Ослабляющее клеймо II
2152=1500 цепь страданий IV
2259=4000 Глас сокрушения II
2284=0 Молния правосудия IV
2140=0 Натиск земли V
982=0 Возмездие небес IV
2040=0 Изоляция V
2039=0 Истощающий удар VI
228=1500 Порез ног II
2033=0 Бросок меча II
399=0 Бойня I
321=0 Волна боевого безумия I
389=0 Волна землятресения II
400=0 Резня I
320=0 Ударная мощь меча I
396=0 Ударная мощь меча I
2100=0 Замедляющая ловушка IV
2089=1000 Оглушающая стрела II
716=1000 Песчаная ловушка II
619=2000 Усыпляющая ловушка I
727=2000 Липкая ловушка IV
722=0 Аркан IV
1429=0 Падение молний II
1430=1000 Прокляти сухое дерево I
1524=1000 Замораживание души II
2196=1000 Проклятие слабости III
1388=0 Ледяные узлы V
1527=0 Ожог IV
1520=1000 Оковы холода IV
2205=1000 ураган иллюзий
1443=3000 Шторм сна I
2210=0 Покров холода III
2012=0 Загробное проклятие I
1665=0 Сокрушающая атака I
2219=1500 Ураган гнева II
1716=1000 Земляные оковы IV
1781=2000 Элементаль огня
2225=4000 Облако проклятия II
1974=1500 Волна оков II
2064=0 Разрушение сознания IV
540=1000 Крик ужаса I
1099=1500 Оковы I
1373=1500 Оковы I

V0pr0S
04.09.2012, 20:20
почему не снимает скилы которые за DP ?
Клеймо молчания, Глас сокрушения....