PDA

View Full Version : AutoFighting and AutoMiner



R0b0t1
05-23-2007, 12:40 AM
These aren't really my first scripts, there my second and third.

Well, I hope there a good beggining, and I hope someone tried to get it to work.

I'm having some problems with the autofighter, like duplicate identifier '', and am confused. I need help with it.


I'm also having errors I can't correct in my miner. I need help with it also if you can.

Thanks!:D

Pwnt by Pwnt
05-23-2007, 05:19 AM
well i fixed them both, heres the powerminer program RockSmasher;
{Made By R0B0T1 Be sure to set up variables and players below.
-you can add more than the specified players, if you know how.
-You can also use less. Might need to change colors....}

{.Include SRL/SRL.scar}
{.Include SRL/SRL/Skill/Mining.scar}
{.Include SRL/SRL/extended/xAntiBan.scar}
Const
TPlayers= 5;//How many? remember player 0 counts as 1
MaxTimeWait= 10;//Max time to wait to mine. Seconds
RunDirection= 'N';//Set depending on location
LoadsPerPlayer= 25;//Well....
Wield= False;//Yo pick wielded homey?
RockColor= 2832993;//*caugh* (current Iron)
RockColor2= 0;//
RockColor3= 0;//
RockTol= 10;//Rock tolerance
Rounds= 30;//Times declared players will be looped through
TimeToWait= 5;//Seconds. Not MS

Var
mined, missedore,looped, i, MaskColor:Integer;
DidRandomHappen{, Result}, UnKnown, Pmod{, Mime}:Boolean;
Info:String;

Procedure DeclarePlayers;
begin;
HowManyPlayers:= TPlayers;
NumberOfPlayers(TPlayers);
CurrentPlayer:=1;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].Active:=True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].Active:=True;

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].Active:=True;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].Active:=True;

Players[4].Name :='';
Players[4].Pass :='';
Players[4].Nick :='';
Players[4].Active:=True;
end;

Procedure Sig;
begin;
WriteLn('R0b0t1 made this');
end;



Procedure FreeBMPs;
begin;
Freebitmap(mined);
Freebitmap(missedore);
end;

Function FindFastRandoms:Boolean; //WT-Fakawi... I think. I edited
Var i:Integer;
begin;
For i := 1 to 12 Do
begin;
Case I of
1: If FindDead then
begin
UnKnown:= True;
Result:= True;
end;
2: If FindMod then
begin
Pmod := True;
Result:= True;
end;
3: If FindMime then
begin
UnKnown := True;
Result := True;
Players[CurrentPlayer].loc:= 'Mime';
end;
4: If FindMaze then
begin
Result := True;
UnKnown := True;
Players[CurrentPlayer].loc:= 'Maze';
end;
5: If FindQuiz then
begin;
Result := True;
SolveQuiz;
end;
6: If FindDemon then
Result := True;
7: If NoGameTab then
begin
UnKnown := True;
Players[CurrentPlayer].loc := 'No GameTab';
end;
8: If InBlack then
begin
Result:= True;
UnKnown := True;
Players[CurrentPlayer].loc := 'InBlack';
end;
9: If FindFrogCave Then
begin
SolveFrogSwamp;
end;
10: if FindScapeRune then
begin
Result := True;
UnKnown:= True;
Players[CurrentPlayer].loc:= 'ScapeRune';
end;
11: if FindTalk then // Call it twice
Result := True;
end;
Wait(1);
end;
If (Result = True) Then
DidRandomHappen := True;
If (UnKnown = True) Then
begin;
Info:= Players[CurrentPlayer].loc;
WriteLn('Lost Player. Reason: ' + Info);
Logout;
NextPlayer(false);
end;
If (Pmod = true) Then
begin;
Logout;
Wait(60000);
NextPlayer(true);
end;
end;

Procedure AntiRandoms;
begin;
FindPick;
FindTalk;
FindNormalRandoms;
FindFastRandoms;
FindLamp('mining');
If (FindFight = True) Then
begin;
RunAwayDirection(RunDirection);
Wait(10000+random(2000));
RunBack;
end;
If (ClickToContinue = True) Then
begin;
TalkToRand;
end;
If (FindNewBox = True) Then
begin;
OpenBox;
Wait(3000);
SolveBox;
end;
If FindCerter Then
begin
CerterLoadBmps;
Wait(500);
SolveCerter;
Wait(500);
end;
end;

Procedure AntiBans; //Yakman, edit by me.
begin;
case Random(10) of
0: IdleTime(1000 + Random(200), 500, 1.0);
1: IdleTime(1000 + Random(350), 1075, 1.0);
2: SleepAndMoveMouse(2500 + Random(2500));
3: SleepAndMoveMouse(2500 + Random(1500));
4: SleepAndmoveMouse(500 + Random(500));
5: IdleTime(100 + Random(250), 750, 0.5);
6: RotateEvery(0+Random(5));
7: BoredEvery(0+Random(5));
8: LeaveScreenEvery(0+Random(5));
9: HoverSkill('mining', False);
end;
end;

Procedure LookGas;
begin;
If FindGas(x, y) Then
begin;
RunAwayDirection(RunDirection);
Wait(10000 + Random(2000));
RunBack;
end;
end;

Procedure RotateDirection(Direction:String);//Anyone Can use this, just credit me
begin;
WriteLn('Rotating screen.');
If (Direction = 'right') Then
begin
WriteLn('Condition selected is: RIGHT');
KeyDown(37);
Wait(1000+Random(500));
KeyUp(37);
end;
If (Direction = 'left') Then
begin;
WriteLn('Condition selected is: LEFT');
KeyDown(39);
Wait(1000+Random(500));
KeyUp(39);
end;
If (Direction = 'random') Then
begin;
WriteLn('Condition selected is: RANDOM')
case Random(2) of
0: begin;
KeyDown(37);
Wait(1000+Random(500));
KeyUp(37);
end;
1: begin;
KeyDown(39);
Wait(1000+Random(500));
KeyUp(39);
end;
end;
end;
end;

Procedure Mine;
Var
v:Integer;
begin;
repeat;
LookGas;
If not (LoggedIn) Then
NextPlayer(true);
If (FindColorTolerance(x, y, RockColor, 0, 0, 500, 300, RockTol)) Or
(FindColorTolerance(x, y, RockColor2, 0, 0, 500, 300, RockTol)) Or
(FindColorTolerance(x, y, RockColor3, 0, 0, 500, 300, RockTol)) Then
MMouse(x, y, 5, 1);
If (IsUpTextMulti('ine', 'ock', 'Min')) Then
Mouse(x, y, 3, 3, True);
Wait(TimeToWait*1000 + Random(2000));
until (invfull);
end;

Procedure Drop;
begin;
If (Wield = True) Then
begin;
DropAll;
i:= i + 1;
end;
If (Wield = False) Then
begin;
DropTo(2, 28);
i:= i + 1;
end;
end;


Procedure ProgressReport;
begin;
ClearDebug;
WriteLn('______________________________________');
WriteLn('RockSmasher by r0b0t1 ');
WriteLn(' Progress Report ');
WriteLn(' Did '+InttoStr(i)+' Loads on ');
WriteLn(' '+Players[CurrentPlayer].Name);
WriteLn('Worked For: ' + ScriptTime2(2) + ' ');
WriteLn('Loops Worked: ' + InttoStr(Looped) );
WriteLn('Loops Left: '+InttoStr(Rounds-Looped) );
SRLRandomsReport;
end;

Procedure All;
begin;
Looped := Looped+1
i:= 0
SetUpSRL;
FindPickHeadColor;
FreeBMPs;
repeat;
Antibans;
Mine;
AntiRandoms;
Drop;
until(i = LoadsPerPlayer);
NextPlayer(True);
i:= 0;
ProgressReport;
end;

begin
Looped:=0
repeat
All;
until(looped = Rounds)
end. see what i have changed? the main thing is that u need to close the " ( ) " and for every Begin; there needs to be and End; and for every Repeat; there needs to be an Until;

and for the autofighter program KungfooFightin;
{Created for SRL mems app. You can't use this. Don't ask. }
{Be sure to set up all stuff. NO LEECHING - May be pay Script }
{Only allowed to use if I approve of testing - please don't leech }
{.Include SRL/SRL.scar}
{.Include SRL/SRL/Skill/Fighting.scar}
{.Include SRL/SRL/extended/xAntiBan.scar}

Const {PLAYER}
VerNum= '1.0'; //You shouldn't need to change.
Roundz= 10; //Total times to cycle players.
TPlayers= 4; //How many players?
BuryBones= False; //Recomended False
Kills= 50; //Kills per player please?
Eat= True; //Well?
HpToEat= 5; //HP to eat at.
HpToStp= 10; //Hp to eat to.
RunDir= 'N'; //You should change this dep on location
LampSkl= 'hitpoints'; //Self-explanitory?
AtkNPC= False; //Color-Finding Only? Not recomended
TimeKill= 15; //Time to kill NPC if above True. Sec.
Skill= 'Atk'; //Atk, Str, or Def.
CustomEat= False; //Use my custom eat procedure?
Foodlogout= False; //Logout when food gone?
Const {COLORS+GLOBAL STUFF}
FoodColor= 0; //Food color if your eating
FoodColor2= 0; //Only if two diff colors.
TheBoneColor= 0; //Put this in even if not burying.
MonsterName= 'Chicken'; //Name of monster to fight
MColor1= 3954534; //A color. These can be the same
MColor2= 8497344; //
MColor3= 462453; //
MColor4= 0; //Below is only needed if useing AtkNPC
MColor5= 0; //
MColor6= 0; //
EnemTol= 10; //Fill out below this line
FoodTol= 5; //
BoneTol= 5; //Set to 1 if fighting chikens

Var
DidRandomHappen{, Result}, UnKnown, Pmod{, Mime}:Boolean;
Info:String;
i, xx, yy, Rounds:Integer;

Procedure DeclarePlayers;
begin
HowManyPlayers :=TPlayers;
NumberOfPlayers(HowManyPlayers);
CurrentPlayer:=0;

Players[0].Name :='';
Players[0].Pass :='';
Players[0].Nick :='';
Players[0].String1 := 'Atk'; //Attack setting.
Players[0].Active:=True;

Players[1].Name :='';
Players[1].Pass :='';
Players[1].Nick :='';
Players[1].String1 := 'Str';
Players[1].Active:=True;

Players[2].Name :='';
Players[2].Pass :='';
Players[2].Nick :='';
Players[2].String1 := 'Def';
Players[2].Active:=True;

Players[3].Name :='';
Players[3].Pass :='';
Players[3].Nick :='';
Players[3].String1 := 'Atk';
Players[3].Active:=True;

NickNameBMP := CreateBitmapMaskFromText(Players[CurrentPlayer].Nick, UpChars);
end;

Procedure SetUpPlayer;
begin;
If not (LoggedIn) Then
begin;
LoginPlayer;
SetChat('On', 1);
SetChat('Off', 2);
SetChat('Off', 3);
SetRun(True);
HighestAngle;
PerfectNorth;
end;
end;
//-------------------------------------------------------------------//
//------------------------RANDOMS-BAN--------------------------------//
//-------------------------------------------------------------------//

Function FindFastRandoms:Boolean; //WT-Fakawi... I think. I edited
Var i:Integer;
begin;
For i := 1 to 12 Do
begin;
Case I of
1: If FindDead then
begin
UnKnown:= True;
Result:= True;
end;
2: If FindMod then
begin
Pmod := True;
Result:= True;
end;
3: If FindMime then
begin
UnKnown := True;
Result := True;
Players[CurrentPlayer].loc:= 'Mime';
end;
4: If FindMaze then
begin
Result := True;
UnKnown := True;
Players[CurrentPlayer].loc:= 'Maze';
end;
5: If FindQuiz then
begin;
Result := True;
SolveQuiz;
end;
6: If FindDemon then
Result := True;
7: If NoGameTab then
begin
UnKnown := True;
Players[CurrentPlayer].loc := 'No GameTab';
end;
8: If InBlack then
begin
Result:= True;
UnKnown := True;
Players[CurrentPlayer].loc := 'InBlack';
end;
9: If FindFrogCave Then
begin
SolveFrogSwamp;
Result:= True;
end;
10: if FindScapeRune then
begin
Result := True;
UnKnown:= True;
Players[CurrentPlayer].loc:= 'ScapeRune';
end;
11: if FindTalk then // Call it twice
Result := True;
end;
Wait(1);
end;
If (Result = True) Then
DidRandomHappen := True;
If (UnKnown = True) Then
begin;
Info:= Players[CurrentPlayer].loc;
WriteLn('Lost Player. Reason: ' + Info);
Logout;
NextPlayer(false);
end;
If (Pmod = true) Then
begin;
Logout;
Wait(60000);
NextPlayer(true);
end;
end;

Procedure AutoRespond;
begin;
If (InChat(Skill + ' lvls') or
InChat(Skill + ' lvls?') or
InChat(Skill + ' levels') or
InChat(Skill + ' levels?')) Then
begin;
TypeSend(IntToStr(GetSkillLevel('Attack')));
end;
end;

Procedure Heal;
begin;
If (CustomEat = True) Then
begin;
WriteLn('Checking health.');
If (Eat = True) Then
begin;
If (GetHp > HpToEat) Then
WriteLn('Health is ' + IntToStr(GetHp) + ', just fine');
If (GetHp <= HpToEat) Then
begin;
repeat;
WriteLn('Hp is too low. Eating');
If (GameTab(4)) Then
begin;
If (FindColorTolerance(x, y, FoodColor, MIX1, MIY1, MIX2, MIY2, FoodTol)or
FindColorTolerance(x, y, FoodColor2, MIX1, MIY1, MIX2, MIY2, FoodTol)) Then
begin;
MMouse(x, y, 2, 3);
If (IsUpText('Eat')) Then
begin;
MMouse(x, y, 2, 3);
Mouse(x, y, 2, 3, True);
end;
end;
end else;
begin;
GameTab(4);
end;
until(GetHp >= HpToStp);
end;
end;
end;
If (CustomEat = False) and (Eat = True) Then
begin;
repeat;
RealEatIfNeeded(FoodColor, HpToEat, False);
until(GetHp >= HpToStp);
end;
If (FoodLogout = True) Then
begin;
If not (FindColorTolerance(x, y, FoodColor, 560, 205, 735, 460, FoodTol)and
FindColorTolerance(x, y, FoodColor2, 560, 205, 735, 460, FoodTol)) Then
NextPlayer(False);
end;
end;

Procedure AntiRandoms;
begin;
FindTalk;
FindNormalRandoms;
FindFastRandoms;
FindLamp(Lampskl);
If (GetHp <= HpToEat) Then
begin;
RunAwayDirection(RunDir);
Heal;
RunBack;
end;
If (ClickToContinue = True) Then
begin;
TalkToRand;
end;
If (FindNewBox = True) Then
begin;
OpenBox;
Wait(3000);
SolveBox;
end;
If FindCerter Then
begin
CerterLoadBmps;
Wait(500);
SolveCerter;
Wait(500);
end;
If FindTalk Then
AutoRespond;
end;

Procedure SetMode;
begin;
If (Players[CurrentPlayer].String1 = 'Atk') Then
SetFightMode(1);
If (Players[CurrentPlayer].String1 = 'Str') Then
SetFightMode(2);
If (Players[CurrentPlayer].String1 = 'Def') Then
SetFightMode(3);
end;

Procedure AntiBans; //Yakman, edit by me.
begin;
case Random(10) of
0: IdleTime(1000 + Random(200), 500, 1.0);
1: IdleTime(1000 + Random(350), 1075, 1.0);
2: SleepAndMoveMouse(2500 + Random(2500));
3: SleepAndMoveMouse(2500 + Random(1500));
4: SleepAndmoveMouse(500 + Random(500));
5: IdleTime(100 + Random(250), 750, 0.5);
6: RotateEvery(0+Random(5));
7: BoredEvery(0+Random(5));
8: LeaveScreenEvery(0+Random(5));
9: HoverSkill('mining', False);
end;
end;

Procedure FightIt;
begin;
If (AtkNPC = False) Then
begin;
FindMonster(MColor1, MColor2, MColor3, EnemTol, MonsterName);
OutFight;
AntiRandoms;
end;
If (AtkNPC = True) Then
begin;
FightNPC(MColor1, MColor2, MColor3, MColor4, MColor5, MColor6, EnemTol, TimeKill);
OutFight;
AntiRandoms;
end;
AntiBans;
If (FindColorTolerance(x, y, TheBoneColor, 0, 0, 500, 800, BoneTol)) Then
begin;
Mouse(x, y, 2, 3, True);
end
else
WriteLn('BONE NOT FOUND');
end;

Procedure ProgressReport;
begin;
SRLRandomsReport;
end;

Procedure Main;
begin;
Rounds:= 0
SetUpSRL;
DeclarePlayers;
Repeat;
SetUpPlayer;
SetMode;
i:=0;
repeat;
AntiBans;
FightIt;
i:= i+1;
until(i = Kills);
NextPlayer(True);
Rounds:= Rounds+1
until(Rounds = Roundz);
end;

begin
Main;
end. this one was a little harder to fix... but most of it is just spelling errors :p ;) really nice job on these tho :) keep workin on it :D

R0b0t1
05-23-2007, 09:13 PM
Yay... thank you. Was it really just spelling? Well, do you know what causes "duplicate identifier '' "?

But thanks for helping me, any idea how much work these would need for a members application?

stupedspam
05-23-2007, 09:18 PM
Well for members aplication the members vote whenthey see your script so I wold say make it look nice, have nice progress (can run for more than an hour), and is complex useing Srl also...

If you have more questions I belive theres a Tut just look it up :D

Hope this helps
~Stupedspam

gjharb
09-13-2007, 10:29 PM
error failed when compiling whats that mean?

Smile
09-13-2007, 11:05 PM
Really nice sripts man!

quaker_66
11-21-2007, 06:28 PM
Tried the power miner...work great.

tbssagvw2
04-13-2008, 12:58 AM
Hey. When I try the autominer it says:Failed when compiling

What do I do? Thanks

ads_almighty
04-19-2008, 01:45 PM
New client targeted
Successfully executed
New client targeted
Include file C:\Program Files\SCAR 3.15\includes\SRL\SRL\extended\xAntiBan.scar does not exist.
Failed when compiling
Include file C:\Program Files\SCAR 3.15\includes\SRL\SRL\extended\xAntiBan.scar does not exist.
Failed when compiling


Help is appreciated.

-thx

Richard
04-19-2008, 02:00 PM
This is outdated please don't gravedig. Look at the dates of posts, then think whether it will still work...

Mark
05-08-2008, 11:55 AM
wat rev version do i use this with peeps

fearmi
05-08-2008, 04:22 PM
can someone help me i continue to get error failed when compiling idk what it is?

P1nky
05-08-2008, 10:52 PM
uh cmon guys look here:
http://www.villavu.com/forum/showthread.php?t=6964

and it states:
Bumping and Grave Digging. Very annoying indeed. Infractionized.

nielsie95
05-08-2008, 11:07 PM
Take a look at the dates, it's outdated ;)
Closed.