PDA

Просмотр полной версии : Скрипт на рекомендацию (Авто рек)


Nickers
16.02.2011, 15:11
Пару недель назад играли на серваке по честному
(Razor-revival или как-то так(Я от туда еще не ушел но перестал играть временно))
И соклан заметил (Случайно) 1у интересную закономерность...
Внимание! Нарушение главного правила форума:
Когда работал скрипт на бегущий титул он рекал себя твинком, но рек не тратился! (Это из-за сильного флуда тем скриптом на ГС) И при этом при релоге, можно было рекнуть 1го человека сколько угодно раз (Диж и без скрипта)
И меня попросили написать простенький скрипт, чтоб был релог+рек...

Вот собственно скрипт:

//.start в чат для запуска
//C6 - Interlude

Const
OID=268881419; //ОИД кого Рекаем ^^
Name='Nickers'; //Имя того КТО рекает...

var
timer,timer1,timer2,timer3:TTimer;

procedure Init; //Вызывается при включении скрипта
begin
timer:=TTimer.Create(nil); //Куча таймеров у каждого своя работа))
timer.OnTimer:=@OnTimer;
timer.enabled:=false;
timer.interval:=5000; //Можно менять интервалы больше меньше (Там где 5сек - основные)
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer01;
timer1.enabled:=false;
timer1.interval:=100;
timer2:=TTimer.Create(nil);
timer2.OnTimer:=@OnTimer02;
timer2.enabled:=false;
timer2.interval:=100;
timer3:=TTimer.Create(nil);
timer3.OnTimer:=@OnTimer03;
timer3.enabled:=false;
timer3.interval:=5000;
end;

procedure Free;
begin
timer.Free;
timer1.Free;
timer2.Free;
timer3.Free;
end;

procedure SendMsc(msc:string); //Шаблон отправки системных сообщений
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msc);
SendToClient;
end;

procedure OnTimer(Sender: TObject);
begin
buf:=#$04;
WriteD(OID);
WriteD(0);
WriteD(0);
WriteD(0);
WriteD(0);
WriteC(0);
SendToServer;
timer1.enabled:=true;
timer.enabled:=false;
end;

procedure OnTimer01(Sender: TObject);
begin
buf:=#$B9;
WriteD(OID);
SendToServer;
timer2.enabled:=true;
timer1.enabled:=false;
end;

procedure OnTimer02(Sender: TObject);
begin
buf:=#$46;
SendToServerEx(Name);
timer3.enabled:=true;
timer2.enabled:=false;
end;

procedure OnTimer03(Sender: TObject);
begin
buf:=#$0D;
WriteD(0);
WriteD(0);
WriteD(0);
WriteD(0);
WriteC(0);
WriteC(0);
SendToServerEx(Name);
timer.enabled:=true;
timer3.enabled:=false;
end;

begin
if FromClient and (pck[1]=#$38) and (ReadS(2)='.start') then timer.enabled:=true;
end.

Чтобы запустить нужно написать .start в чат...

Я сейчас не вникаю уже, но вроде когда писал этот скрипт была идея сократить кол-во таймеров в 2 раза, но сейчас как-то насрать...

Добавлено через 19 минут
Ах да еще есть скрипт для этого же сервера... Когда РБ появляется берет его в таргет и куярит скиллом (Можно переделать под атаку войнам), подбирает после его смерти нужные вещи (Или все кроме ненужной или Воопще фсе), идет на стартовую позицию и ждет нового РБ...
(Ток удалил систему сжора хиллок т.к. АЦП успешно ее заменяет)