|
10.09.2012, 01:27
|
#16
|
|
|
|
Разведчик
|
Регистрация: 18.08.2010
Сообщений: 4
Популярность: 10
Сказал(а) спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Re: пылесос))
меня за конкретно этот пылесос забанили на 3 день как код сменили.По новой системе скрипта код такой был
Код:
const
Title = 'Title:BonusBox Collector for 6.6.2 by uragan';
var
boxlist, boxCoor, hbox, mypos, boxtmp, listSettings: TStringList;
i, j, lastPackStartPos, lastfoundboxid, boxcount, move, radius: Integer;
Stmp, S, box, myposx, myposy, boxposx, boxposy, boxtype, lastfoundbox, myid, PcollectBB: string;
collectnext, activ, booster: boolean;
procedure onCreate;
begin
hbox := TStringList.Create;
boxlist := TStringList.Create;
boxCoor := TStringList.Create;
mypos := TStringList.Create;
boxtmp := TStringList.Create;
hbox.LoadFromFile(_gCustomDir+'honey.txt');
collectnext := true;
booster := true;
boxcount := 1;
move := 1;
PcollectBB := '000B7E4E00000005';
listSettings := TStringList.Create;
try
listSettings.LoadFromFile('custom\VacuumCleanerBB. txt');
except
listSettings.add('500');
end;
if (StrtoInt(listSettings[0])>0) then
begin
radius := StrtoInt(listSettings[0]);
end
else
begin
radius := 500;
end;
end;
procedure OnDestroy;
begin
boxlist.free;
boxCoor.free;
hbox.free;
end;
procedure Parser(s, delim: string; var test: TStringList);
var
p: integer;
z: string;
begin
z := s;
p := Pos(delim, z);
while p>0 do
begin
test.add(copy(z, 1, p-1));
delete(z, 1, p+length(delim)-1);
p := Pos(delim, z);
end;
if length(z)>0 then
test.add(z);
end;
function posbetween(pos, x1, x2: integer): integer;
begin
if (pos>=x1)and(pos<=x2) then
begin
Result := 1;
end
else
Result := 0;
end;
function TakeBox(x1, y1, x2, y2: integer): integer;
begin
if posbetween(x1, x2-radius, x2+radius) and posbetween(y1, y2-radius, y2+radius) then
begin
Result := 1;
end
else
Result := 0;
end;
function OnTimer(ntimer, count: integer): boolean;
begin
if (_gAbsNumPkt>30) then
begin
if ntimer=3 then
begin
if collectnext then
begin
if boxlist.count>0 then
begin
for j:=0 to (boxlist.Count-1) do
begin
boxCoor.Clear;
Parser(boxlist[j], Hstr('7C'), boxCoor);
if (TakeBox(StrToint(myposx), StrToint(myposy), StrToint(boxCoor[1]), StrToint(boxCoor[2]))=1) then
begin
lastfoundboxid := j;
lastfoundbox := boxCoor[0];
gSys.SendS(HStr(PcollectBB)+boxCoor[0]);
boxlist.Delete(j);
end;
if posbetween(STRtoINT(myposx), STRtoINT(boxCoor[1])-1000, STRtoINT(boxCoor[1])+1000) and posbetween(STRtoINT(myposy), STRtoINT(boxCoor[2])-1000, STRtoINT(boxCoor[2])+1000) then
begin
end
else
begin
end;
end;
gSys.SetTimer(3, 100);
end
else
begin
gSys.SetTimer(3, 0);
end;
end;
end;
end;
end;
begin
if (_gFromServ)and(hbox.count>1)and(_gAbsNumPkt>30) then
begin
S := _gBuff;
Stmp := S;
for i:=1 to 10 do
begin
lastPackStartPos := 0;
lastPackStartPos := Pos('0|A|SLA|', copy(S, 1, length(S)));
if lastPackStartPos>0 then
begin
S[lastPackStartPos+1] := #10;
S[lastPackStartPos+2] := #10;
S[lastPackStartPos+3] := #10;
end
else
begin
Break;
end;
end;
Stmp := S;
for i:=1 to 100 do
begin
lastPackStartPos := 0;
lastPackStartPos := Pos('0|c|', copy(Stmp, 1, length(Stmp)));
if lastPackStartPos>0 then
begin
boxtmp.Clear;
Parser(copy(Stmp, lastPackStartPos, 100), Hstr('7C'), boxtmp);
box := boxtmp[2];
boxposx := boxtmp[4];
boxposy := boxtmp[5];
boxtype := boxtmp[3];
if not (hbox.IndexOf(box)>-1)and((boxtype='2')or(boxtype='220')) then
begin
boxcount := boxcount+1;
boxlist.Add(box+'|'+boxposx+'|'+boxposy+'|'+boxtype+'|'+INTtoSTR(boxcount));
if boxtype='22' then
begin
end;
if boxlist.count>0 then
gSys.SetTimer(3, 100);
end;
end
else
begin
Break;
end;
Stmp[lastPackStartPos+1] := '0';
end;
Stmp := S;
for i:=1 to 100 do
begin
lastPackStartPos := 0;
lastPackStartPos := Pos('0|2|', copy(Stmp, 1, length(Stmp)));
if lastPackStartPos>0 then
begin
boxtmp.Clear;
Parser(copy(Stmp, lastPackStartPos, 100), Hstr('7C'), boxtmp);
box := boxtmp[2];
for j:=0 to (boxlist.Count-1) do
begin
boxCoor.Clear;
Parser(boxlist[j], Hstr('7C'), boxCoor);
if boxCoor[0]=box then
begin
boxlist.Delete(j);
end;
end;
end
else
begin
Break;
end;
Stmp[lastPackStartPos+1] := '0';
end;
Stmp := S;
lastPackStartPos := 0;
lastPackStartPos := Pos('0|D|', copy(Stmp, 1, length(Stmp)));
if lastPackStartPos>0 then
begin
mypos.Clear;
Parser(copy(Stmp, lastPackStartPos, 100), Hstr('7C'), mypos);
myposx := mypos[2];
myposy := mypos[3];
if move>0 then
begin
if StrToint(myposx)>27058 then
move := 1;
if StrToint(myposx)<14207 then
move := 2;
end;
end;
_gOutBuff := S;
end;
end.
[/QUOTE]
пылесос палится или они отловили тех кто со старым кодом поднимал я так и не понял
|
|
|
10.09.2012, 01:38
|
#17
|
|
|
|
Старший сержант
|
Регистрация: 06.09.2010
Сообщений: 228
Популярность: 30541
Сказал(а) спасибо: 384
Поблагодарили 377 раз(а) в 220 сообщениях
|
Re: пылесос))
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Похожие темы
|
Тема |
Автор |
Раздел |
Ответов |
Последнее сообщение |
[Помогите!] пылесос
|
Александрчелны |
Общение и обсуждение |
4 |
31.08.2011 10:12 |
[Помогите!] Пылесос в WP
|
flyaftla |
Общение и обсуждение |
0 |
26.08.2011 13:31 |
[Помогите!] Пылесос
|
Fartuna |
Общение и обсуждение |
1 |
20.08.2011 18:31 |
Заявление об ответственности / Список мошенников
Часовой пояс GMT +4, время: 20:22.
|
|