delphi Код:
//Константы
const
Name='Nick'; //Вписать сюда имя чара
DebugMode=False;
//***
Max=100; //количество слотов в инвентаре чара
kID=1023000; //смещение C6
//------------------------------------------------------------------------------
//Список переменных
var
Item, Cnt: integer;
ReadyBuy, ReadyChange, NeedToBuy, NeedToChange, Start, TimerRun: boolean;
Timer1: TTimer;
BuyDelay, ScriptDelay: integer;
MyX, MyY, MyZ, MyOID, ObjectID: integer; //Статы
//==============================================================================
//******************************************************************************
//21=RequestBypassToServer:s(Cmd)
procedure RequestByPassToServer(cmd:string);
begin
buf:=#$23;
WriteS(cmd);
SendToServerEx(Name);
end;
//******************************************************************************
procedure RequestMultiSellChoose(ListId, EntryID, Count:integer);
begin
SendMsg_to_Private('Покупаем ListID:'+IntToStr(ListID)+' EntryID:'+IntToStr(EntryID)+' в кол-ве:'+IntToStr(count));
buf:=#$B0;
WriteD(ListID);
WriteD(EntryId);
WriteD(Count);
SendToServerEx(Name);
end;
//==============================================================================
//******************************************************************************
procedure Init; //Вызывается при включении скрипта
begin
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@OnTimer1;
Timer1.Enabled:=false;
Timer1.Interval:=1000;
TimerRun:=False;
Cnt:=0;
Start:=True;
end;
//***---------------------------------------------------------------------------
procedure Free; //Вызывается при выключении скрипта
begin
Timer1.free;
end;
//***---------------------------------------------------------------------------
//==============================================================================
procedure OnTimer1(Sender: TObject);
begin
if Start then begin
MenuChange;
Start:=False;
end;
if NeedToChange then begin
DebugMsg('Menu ->');
MenuChange;
DebugMsg('>- Change');
end;
if NeedToBuy then begin
DebugMsg('Menu ->');
MenuBuy;
DebugMsg('>- Buy');
end;
DebugMsg('Timer '+inttostr(Cnt)+' - '+(Name));
Cnt:=(Cnt+1);
end;
//***---------------------------------------------------------------------------
procedure MenuChange;
begin
buf := HStr('22 7A 00 7A 00 7A 00 5F 00 72 00 65 00 6C 00 61 00 78 00 5F 00 63 00 61 00 74 00 31 00 5F 00 39 00 36 00 30 00 2E 00 68 00 74 00 6D 00 00 00');
ReadyChange:=True;
SendToServerEx(Name);
delay(150);
end;
//***---------------------------------------------------------------------------
procedure MenuBuy;
begin
buf := HStr('22 7A 00 7A 00 7A 00 5F 00 72 00 65 00 6C 00 61 00 78 00 5F 00 63 00 61 00 74 00 31 00 5F 00 39 00 30 00 30 00 2E 00 68 00 74 00 6D 00 00 00');
SendToServerEx(Name);
DebugMsg('1 ->');
delay(300);
buf := HStr('22 7A 00 7A 00 7A 00 5F 00 72 00 65 00 6C 00 61 00 78 00 5F 00 63 00 61 00 74 00 31 00 5F 00 39 00 30 00 37 00 2E 00 68 00 74 00 6D 00 00 00');
ReadyBuy:=True;
SendToServerEx(Name);
DebugMsg('2 ->');
delay(150);
end;
//***---------------------------------------------------------------------------
procedure MenuReturn;
begin
buf := HStr('22 7A 00 7A 00 7A 00 5F 00 72 00 65 00 6C 00 61 00 78 00 5F 00 63 00 61 00 74 00 31 00 5F 00 30 00 30 00 31 00 2E 00 68 00 74 00 6D 00 00 00');
SendToServerEx(Name);
delay(150);
end;
//***---------------------------------------------------------------------------
//###################### Сообщения #############################################
// послать сообщение в чат себе
procedure SendMsg_to_Chat(ChatType: integer; msg:string); // отправка системных сообщений клиенту
begin
buf:=#$4A;
WriteD(0);
WriteD(ChatType);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
// послать отладочное сообщение себе
procedure DebugMsg(msg:string);
begin
if DebugMode then
SendMsg_to_Private(msg);
end;
// послать сообщение себе в приват
procedure SendMsg_to_Private(msg:string);
begin
SendMsg_to_Chat(2,msg);
end;
//###############################################################################