Вот мой скрипт был такой баг у GMSHOP, что покупка-продажа меча берсек давала прибыль примерно 115к
скрипт что и делает автоматом может не совсем по вашей теме ну автопродажа..
delphi Код:
//
// Script auto buy-sell v.4.0 (c)2007-2008 by Alxabay
// For home use only:)
// ()
// 2.1 работает на одну вещь
// 3.8 покупка стопки вещей
// +устранил косяк с буфером
// 4.0 все сделал как нада :)
// (выделить GMSHOP и Yes) проверял только на локальном сервере Interlude ява, на других может нету этого бг
const
Name='qqq'; //svoi nick
IDveshi=5286; //bersek prostoi
max=250;
maxBG=500; //maximalno skolko xotim bagov nadelat' maxBG*maxBUY*115k
maxBUY=30; //skolko pokupaem za 1 raz
var
status: boolean; //status pokupki - prodaji
SocialID,countBG:integer;
Timer1:TTimer;
VM: integer;
procedure Init;
begin
Timer1:=TTimer.Create(nil);
Timer1.OnTimer:=@OnTimer1;
Timer1.enabled:=false;
Timer1.interval:=400; //интервал таймера в милисекундах //bistree mojet kicknut' za flood
status:=false;
countBG:=0;
VM:=0;
end;
procedure Free;
begin
Timer1.Free;
end;
procedure Say(msg:string); //pisat' v igru
begin
buf:=hstr('4A 00 00 00 00');
WriteD(2);
WriteS(Name);
WriteS(msg);
SendToClientEx(Name);
end;
function listaem: integer; //nujen paket s inventarem
var
i, j, ObjID, ItemID, ListCount: integer;
begin
Result:=0;
VM:=0;
j:=4; //смещение для ListCount
ListCount:=ReadH(j);
if ListCount>max then ListCount:=max;
j:=8; //смещение для ObjectID
buf:=hstr('1E 00 00 00 00');
writed(VM);
for i:=1 to ListCount do begin
ObjID:=ReadD(j); //ObjectID
ItemID:=ReadD(j); //ItemID
j:=j+14;
ReadD(j); //lvl propuskaem
case ItemID of
IDveshi: begin
WriteD(ObjID);
writed(IDveshi);
WriteD(1);
VM:=VM+1;
end;
end;
j:=j+10;
end;
if (VM=0) then begin
exit;
end;
writed(VM,6);
status:=true;
sendtoserverex(Name);
end;
procedure Buy;
begin
buf:=hstr('A7 96 02 00 00 A0 BB 0D 00'); //pokupka v GMSHOP (тут номер списка и итема в нем, может быть по разному зависит от GMSHOPa)
writed(maxBUY);
writed(0);
SendToServerex(Name);
end;
procedure stopit;
begin
Timer1.Enabled:=false;//закончили :)
status:=false; //**********************************************
Say('bagernuli deneg: ~'+floattostr(maxBUY*115*countBG/1000)+'kk za '+floattostr(countBG*Timer1.interval/10/60)+'sec');
VM:=0;
countBG:=0;
end;
procedure OnTimer1(Sender: TObject);
begin
if status then exit; //uje kupili exit
if (countBG=maxBG) then stopit; //maxBG zakon4ili bagerit'
status:=true;
Buy;
inc(countBG);
end;
begin
if pck='' then exit;
if FromClient and (pck[1]=#$1B) then
begin
SocialID:=ReadD(2);
case SocialID of
6:begin if status then begin
Say('uje rabotaet ili xz ERROR!');
exit;
end;
Say('Bagerim: '+inttostr(maxBG)+' raz po '+inttostr(maxBUY)+' pushek');
countBG:=0;
VM:=0;
Timer1.Enabled:=true;//начали
end;
5:begin
stopit;
end;
end;
end;
if FromServer and (pck[1]=#$1B) and status then begin //paket o tom 4to v sumku upalo
status:=false;
listaem; //ishim i prodaem
end;
end.