dialeyj2
2009-06-12 01:23:28
These are the dropping procedures i used in my power chopper
some anti ban features they have are
[LEFT]
[/LEFT]
some anti ban features they have are
- chooses between random drop, column drop and order drop
- 1 in 28 chance of missing the drop option and clicking examine (but it goes back and clicks drop next)
[LEFT]
procedure RandomDrop(StartSlot, EndSlot : Integer); //Random Drop : Drops inventory in completly random order
var i,s,c : Integer;
AlreadyDropped : Array of Integer;
begin
SetArrayLength(AlreadyDropped, (EndSlot-StartSlot) + 1);
for c:= 0 to High(AlreadyDropped) - 1 do AlreadyDropped[c]:= 0;
repeat
i:= Random((EndSlot-StartSlot) + 1);
if (AlreadyDropped[i] = 0) then
begin
case Random(28) of
0..26: DropItem(AlreadyDropped[i]);
27: begin
MouseItem(AlreadyDropped[i],false);
ChooseOption('xamine');
Wait(100 + Random(200));
DropItem(AlreadyDropped[i]);
end;
end;
AntiRandoms;
AlreadyDropped[i]:= 1;
Inc(s);
Wait(200 + Random(200));
end else
begin
end;
until(s = EndSlot-StartSlot + 1);
end;
procedure OrderDrop(StartSlot, EndSlot : Integer); //OrderDrop : Drops inventory in order
var i : Integer;
begin
for i:= StartSlot to EndSlot do
begin
case Random(28) of
0..26: DropItem(i);
27: begin
MouseItem(i,false);
ChooseOption('xamine');
Wait(100 + Random(200));
DropItem(i);
end;
end;
AntiRandoms;
Wait(200 + Random(200));
end;
end;
procedure ColumnDrop(StartSlot, EndSlot : Integer); // ColumnDrop : Drops inventory in columns from top to bottom
var DynSSlot,FourFac,i : Integer;
begin
FourFac:= 4;
DynSSlot:= StartSlot;
repeat
DropItem(DynSSlot);
AntiRandoms;
Wait(200 + Random(200));
Inc(i);
repeat
case Random(28) of
0..26: DropItem(DynSSlot + FourFac);
27: begin
MouseItem(DynSSlot + FourFac,false);
ChooseOption('xamine');
Wait(100 + Random(200));
DropItem(DynSSlot + FourFac);
end;
end;
AntiRandoms;
Wait(200 + Random(200));
Inc(i);
FourFac:= FourFac + 4;
until(DynSSlot + FourFac >= EndSlot + 1);
Inc(DynSSlot);
FourFac:= 4;
until(i >= (EndSlot - StartSlot) + 1);
end;
procedure ChooseDrop(StartSlot,EndSlot : Integer); //ChooseDrop: chooses way to drop inventory from above procedures
begin
case Random(16) of
0: RandomDrop(StartSlot,EndSlot);
1..6: OrderDrop(StartSlot,EndSlot);
7..15: ColumnDrop(StartSlot,EndSlot);
end;
end;
procedure DropLogs; //DropLogs : Checks if axe is equipped
begin // Drops logs accordingly
GameTab(4);
Disguise('Dropping Logs');
if Players[CurrentPlayer].Booleans[0] then //if axe is equipped
begin
ChooseDrop(1,28);
Inc(Loads);
ActualLogs:= Loads * 28;
end else //if axe is not equipped
begin
ChooseDrop(2,28);
Inc(Loads);
ActualLogs:= Loads * 27;
end;
end;[/LEFT]