PDA

Просмотр полной версии : Cкрипт для изготовление ключей


TAMBIK
17.07.2009, 17:54
//ХБ

// запуск соцдействие ДА
var
timer1: TTimer;
Bypass:string;
x,i:integer;
const
HTML='<html><body><center>'+
'<img src="L2UI_CH3.herotower_deco width=256 height=32>'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<img src="L2UI.SquareBlank" width=260 height=4><br>'+
'<font color="04fbfb">Cкрипт изготовление ключей</font><br>'+
'<font color="04fbfb"> Уровень Скила </font><br>'+
'<button value="= 1 =" action="bypass -h 1" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<button value="= 2 =" action="bypass -h 2" width=80 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<img src="L2UI.SquareBlank" width=260 height=4><br>'+
'<button value="ПУСК" action="bypass -h pusk" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<button value="СТОП" action="bypass -h stop" width=100 height=15 back="sek.cbui94" fore="sek.cbui92">'+
'<img src="L2UI.SquareWhite" width=260 height=1>'+
'<img src="L2UI.SquareBlank" width=260 height=4><br>'+
'<font color="04fbfb">Автор ТАМБИК</font><br>'+
'</center></body></html>';

procedure SendMsg2(msg:string);
begin
buf:=#$4A;
WriteD(0);
WriteD(10);
WriteS('');
WriteS(msg);
SendToClient;
end;

Procedure ShowHTML( _html : string );
begin
buf:=#$19;
WriteD(5);
WriteS(_HTML);
SendToClient;
end;

procedure OnTimer1(Sender: TObject);
begin
buf:=hstr('39 A3 01 00 00 00 00 00 00 00' );
SendToServer;

end;

procedure Init;
begin
timer1:=TTimer.Create(nil);
timer1.OnTimer:=@OnTimer1;
timer1.enabled:=false;
timer1.interval:=0;
x:=0;
end;
procedure Free;
begin
timer1.free;
end;
begin
if FromClient and (pck[1]=#$34) and (pck[2]=#$06) then begin
ShowHTML(HTML);
SendMsg2('Выберите Уровень скила');
pck:='';
exit;
end;
begin
if FromClient and (pck[1]=#$23) then
begin
Bypass:=ReadS(2);
case Bypass of
'1':
begin
x:=1;
timer1.interval:=1300000;//интервал
SendMsg2('Уровень скила=1');
ShowHTML(HTML);
end;
'2':
begin
x:=1;
timer1.interval:=1700000;//интервал
SendMsg2('Уровень скила=2');
ShowHTML(HTML);
end;

'pusk':
begin
if (x=0) then begin
SendMsg2('НЕ ВЫБРАН Уровень скила');
end;
if (x=1) then begin
buf:=hstr('39 A3 01 00 00 00 00 00 00 00' );
SendToServer;
timer1.enabled:=true;
SendMsg2('ПУСК');
ShowHTML(HTML);
end;
end;

'stop':
begin
x:=0;
timer1.enabled:=false;
SendMsg2('СТОП');
ShowHTML(HTML);
timer1.interval:=0;//интервал

end;
end;
end;
end;
end.

guplen
17.07.2009, 18:38
А можно сделать чтобы этот скрипт работал без клиента? Т.е. запустил скрипт, вырубил клиент и все...

8tomat8
17.07.2009, 19:22
guplen, это називается ОГ бот... l2phx такого не может...пока что)

Amorality
18.07.2009, 01:16
8tomat8,
Почему? В ПНХ же есть ф-ции отключения клиента.


guplen,
Можно, но тогда придется не закрывать ПНХ и комп не вырубать).

Добавлено через 1 минуту
const
name = 'НИК ВАШЕГО ЧАРА';

var
NetPing: string;
LogOutOk: boolean;
begin
if (ConnectName=name) and FromServer then begin
case pck[1] of
#$D3: begin
if LogOutOk then begin
buf:=NetPing;
SendToServerEx(name);
end;
end;
end;
end;
//************************************************** **
if (ConnectName=name) and FromClient then begin
case pck[1] of
#$09: begin
NoFreeOnClientDisconnect;
NoFreeOnServerDisconnect;
pck:='';
buf:=#$7E;
SendToClientEx(name);
LogOutOk:=true;
end;
#$A8: begin
NetPing:=pck;
pck:='';
end;
end;
end;
end.

А вот собсно сам скрипт на отключение клиента.

QaK
18.07.2009, 01:51
Amorality, ответ на нет пинг вроде длиннее, чем приходит от сервера. хотя, где-то может быть и не актуально...

Amorality
18.07.2009, 02:05
QaK,
На гфш нетпинг имхо вообще не проверяется.. по крайней мере даже на абусе у мну работало чуть ли не 2 дня.