PDA

Просмотр полной версии : помогите написать "автобаф от NPC"


HooleeCheeter
26.04.2009, 08:29
на ПВП серверах часто стоят NPC Buffer'ы , вот хотелось бы скрипт который по истечению баффов мониторил это, и посылал НПЦ серию пакетов на разные баффы...
с утра сижу, ниче не получается )

Добавлено через 19 часов 18 минут
в каком пакете приходит инфа о буффах? в StatusUpdate?

QaK
26.04.2009, 09:08
HooleeCheeter, инфа о буфах приходит в пакете Абнормат статус апдейт.Хотя нафига тебе? просто каждые 20/30/60 минут запускаешь бафаться и усе. Или тебе надо прочерить лег ли бафф. или кто-то рядом стоит и нпц на него переключился?

HooleeCheeter
26.04.2009, 11:45
HooleeCheeter, инфа о буфах приходит в пакете Абнормат статус апдейт.Хотя нафига тебе? просто каждые 20/30/60 минут запускаешь бафаться и усе. Или тебе надо прочерить лег ли бафф. или кто-то рядом стоит и нпц на него переключился?
угу, именно надо проверять, прошёл или нет.

Добавлено через 10 минут
HooleeCheeter, инфа о буфах приходит в пакете Абнормат статус апдейт.
какой номер пакета? в T0 файле с пакетхаком который идёт, его нет.

AD!
27.04.2009, 11:34
HooleeCheeter, Пакет 85 от сервера

HooleeCheeter
28.04.2009, 08:00
HooleeCheeter, Пакет 85 от сервера
спасибо, но это не он.
в Interlude это "Surrender Personally".

Stasrus
28.04.2009, 12:54
В Interlude 7F

HooleeCheeter
28.04.2009, 15:30
ппц )

т.е. скрипт должен выглядеть примерно так :

если приходит от сервера 7F пакет
то идёт проверка поочерёдно всех баффов на присутствие их в этом пакете
если нет то отсылается пакет на бафф.

может ктонить накидать такое? :E

Stasrus
28.04.2009, 20:10
Вот накатал, проверки на наличие отдельных бафов нету, есть проверка на есть баф или нет


//name-ник пп, name2=ник цель бафа, для роботоспособности взять цель в таргет
const
name='';
name2='';
b1='39 15 04 00 00 00 00 00 00 00 ';
b2='39 18 04 00 00 00 00 00 00 00 ';
b3='39 26 04 00 00 00 00 00 00 00 ';
b4='39 B4 04 00 00 00 00 00 00 00 ';
b5='39 3E 04 00 00 00 00 00 00 00 ';
b6='39 35 04 00 00 00 00 00 00 00 ';
b7='39 DA 04 00 00 00 00 00 00 00 ';
b8='39 D8 04 00 00 00 00 00 00 00 ';
b9='39 0C 04 00 00 00 00 00 00 00 ';
b10='39 10 04 00 00 00 00 00 00 00 ';
b11='39 2C 04 00 00 00 00 00 00 00 ';
b12='39 71 05 00 00 00 00 00 00 00 ';
b13='39 48 05 00 00 00 00 00 00 00 ';
b14='39 9E 04 00 00 00 00 00 00 00 ';
b15='39 A5 04 00 00 00 00 00 00 00 ';
b16='39 6D 05 00 00 00 00 00 00 00 ';
b17='39 0B 04 00 00 00 00 00 00 00 ';
var
x: integer;
PauseTimer: Ttimer;


procedure Init;
begin
PauseTimer:=TTimer.Create(nil);
PauseTimer.Enabled:=true;
PauseTimer.Interval:=3000;
PauseTimer.OnTimer:=@OnPause;
x:=1;
end;

procedure Free;
begin
PauseTimer.Enabled:=false;
PauseTimer.free;
end;


procedure OnPause(Sender: TObject);
var
s, cmd, param : string;
begin
case x of
1: begin
buf:=hstr(b1);
SendToServerEx(name);
inc(x);
end;
2: begin
buf:=hstr(b2);
SendToServerEx(name);
inc(x);
end;
3: begin
buf:=hstr(b3);
SendToServerEx(name);
inc(x);
end;
4: begin
buf:=hstr(b4);
SendToServerEx(name);
inc(x);
end;
5: begin
buf:=hstr(b5);
SendToServerEx(name);
inc(x);
end;
6: begin
buf:=hstr(b6);
SendToServerEx(name);
inc(x);
end;
7: begin
buf:=hstr(b7);
SendToServerEx(name);
inc(x);
end;
8: begin
buf:=hstr(b8);
SendToServerEx(name);
inc(x);
end;
9: begin
buf:=hstr(b9);
SendToServerEx(name);
inc(x);
end;
10: begin
buf:=hstr(b10);
SendToServerEx(name);
inc(x);
end;
11: begin
buf:=hstr(b11);
SendToServerEx(name);
inc(x);
end;
12: begin
buf:=hstr(b12);
SendToServerEx(name);
inc(x);
end;
13: begin
buf:=hstr(b13);
SendToServerEx(name);
inc(x);
end;
14: begin
buf:=hstr(b14);
SendToServerEx(name);
inc(x);
end;
15: begin
buf:=hstr(b15);
SendToServerEx(name);
inc(x);
end;
16: begin
buf:=hstr(b16);
SendToServerEx(name);
inc(x);
end;
17: begin
buf:=hstr(b17);
SendToServerEx(name);
inc(x);
end;
18: begin
x:=1;
PauseTimer.Enabled:=false;
end;
end;
end;


begin
if Fromserver and (ConnectName=(name2)) and (pck=hstr('7F 00 00')) then begin
PauseTimer.Enabled:=true;
end;
end.

HooleeCheeter
29.04.2009, 13:48
спасибо, шяс буду этот срипт курить )