PDA

Просмотр полной версии : Флудим через l2phx


Silence
04.07.2009, 12:56
Скрипт рассылки рекламных сообщений в приват
// Скрипт рассылки рекламных сообщений в приват by xkor
//Рассылка ведется всем персонажам, которые появляются в зоне вашей видимости. Если вы включаете скрипт в городе где много персов, то сообщения будут отсылаться по мере прихода клиенту пакета #03 (UserInfo), которые приходят либо для новых персов в зоне видимости, либо для персонажей, совершающих различные дествия(каст заклинаний, передвижения, социальные действия и т.д. и т.п)

const
MyName='Сюда вписать ник вашего рекламщика';

var
m: TStrings;
i: Integer;
Message, Name: String;

procedure Init;
begin
m:=TStringList.Create;
Message:='Сюда вписываем текст рекламного сообщения '; // <<---- Текст рекламного сообщения.
end;

procedure Free;
begin
m.Free;
end;

procedure SendPrivate(Name: string);
begin
buf:=#$38;
WriteS(Message);
WriteD(2);
WriteS(Name);
SendToServerEx(MyName);
end;

begin
if FromServer and (pck[1]=#$03) and (ConnectName=MyName) then
begin
i:=22;
Name:=ReadS(i);
if m.IndexOf(Name)=-1 then begin
SendPrivate(Name);
m.Add(Name);
end;
end;
end.

//Я немного подкоректировал скрипт, добавив проверку "имени соединения", чтобы скрипт мог работать при нескольких активных клиентах L2. Точнее он и так работал бы, но нам то нужно чтобы именно "рекламщик" слал сообщения, а не все персы подряд.. =)

Добавлено через 1 минуту
Автоматическая отсылка сообщений в чат, через определенные промежутки времени.
//Авточат, по таймеру by boyan
//Автоматическая отсылка сообщений в чат, через определенные промежутки времени.
//В Name вписываем ник перса с которого будут отсылаться сообщения, в msg - само сообщение.
//Если нужно отправлять с нескольких персов, добавляем константы Name1..NameN и msg1..msgN соответственно
//и для каждого нового перса создаем в процедуре OnTimer следующий блок(например для Name1 и msg1):
// buf:=#$38;
// WriteS(msg1);
// WriteD(1);
// SendToServerEx(Name1);
//Интервал отправки сообщений задается в timer1.interval:=10000; (в миллисекундах)
//Чат в который отправлять задается в WriteD(1); 0 - общий, 1 - шаут, 8 - трейд


const

Name='';
msg='';

var
timer1: TTimer;

procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer;
timer1.enabled:=true;
timer1.interval:=10000;
end;

procedure OnTimer(Sender: TObject);
begin
buf:=#$38;
WriteS(msg);
WriteD(1);
SendToServerEx(Name);
end;

procedure Free;
begin
timer1.Free;
end;

begin
end.