SRL Archive - Other Scripts

Monster&Me autofighter (first script) V1


Knuzcano

2007-02-04 23:25:47

yeah, its my first script :P

Thanks to:
Junior - Helped me find my missing identifiers


Customizable autofighter for the popular game Monster&Me (click that to see the game :D)

Able to change:

Time between fights
Number of fights before healing
Type of healing item used

Future plans:
Heal pets
Tells how many fights you have had
Fight detection(right now it just clicks Fight every XX seconds (you set the seconds))
Smaller BMPs
Only load neccesary BMPs (will not load Amrita wine BMP if you use pain-easing dew) (DONE!)


suggestions and feedback please

heres the script, instructions are in the comments in the beginning

EDIT:
OMG finally updated after almost 6 months.
I switched some variables around, to make it only load the BMP of the healing item you chose.
In doing that, not only did I lower the lag from large bitmaps, i managed to completely drop 25 lines of coding :)
I have no way to test it at the moment, I just moved and i'm on my dad's laptop so i have to redownload the game.
After I redownload it, I can complete my Future Plans section
program AutoFightV2;
//Made by Knuzcano Knuzcano @ gawab.com
//I take requests, except for Runescape

var a,b,c,t,x,y,fight,itembag,healingitem,iX,human,ok: integer;


{Instructions:
Set Resolution to 1280 x 1024
Turn on AutoFight!! Click Command, then click AutoFight
Must be set to the Ferocious Skin or script will not function!!
Click System(S), move down to Skin, and click Ferocious}

procedure load;
Begin
t :=10000 //This is the time it takes before you win a Battle
//Time your party fighting about three or four enemies at once
//and round up by about three seconds
//add a 000 to the end of that, and put it in place of 10000
//example: t :=10000 is 10 seconds, 8000 is 8 seconds


a :=2; //this is the type of healing item you wish to use
//0=Stanching Grass
//1=Healing Powder
//2=Pain-Easing Dew
//3=Amrita Wine
//If you have no healing items, dont worry, it will still function

c :=50;//this is the ammount of battles before you want to heal


//Edit nothing below here
//Edit nothing below here
//Edit nothing below here

b :=0
Fight := BitmapFromString(23, 7, 'z78DACD924B0AC0200C05AFA4' +
'C618B38C5AEF7FA442B31154D07EA09B2C1EF3641274D15528EED' +
'52952B0569DCFC91913496216A6540E8F109006649B788B2680B6' +
'C466AEB66FED9A10B24B46134C64A2B4C9CC4419608F1834D12D7' +
'A72E63648AE8D7AFF95EE2EF9F5FBAF99FCE626F7FEC9BAC9096B' +
'8EE589');
itembag := BitmapFromString(18, 15, '27584238775A36765B3877' +
'5A14131136615039604E2758423A765C37785A38775C131315376' +
'04E385D4B2C3A2367643B5B592688833F2758423A765C38745830' +
'351E332518375E493A614F27573F38775C3A765A314B3222190A3' +
'5342024220B94915CE3DD89A9A34FA4A24D27584236775931543E' +
'4C4D253A301523161037594826554135745724322134331466633' +
'05043216B6737DADC88BAB15489843358562327584238775C4244' +
'2C81804098965B4D4D291507001401000501022C2A119F9D52B8B' +
'568999555958E46B2AD517D7626302C0724180C27584238775842' +
'593D7A743A9E9D5AD6D88F807E4B3F3921352D165450218E8645C' +
'8C26CCCC86FA49D42776F1A292C0F1D2A201B392D27584237775C' +
'3A7257575A2BABA35BE3DE8DD3D17CA4A1527974306863214F491' +
'5626224AAA74A888631302E071424191A3127192F23275842377A' +
'5936765B315D444C4D23918E4B98984E85853D635D213E3C0B474' +
'6186C6A3164612C5150182E2B0C182315142B21162D2527584239' +
'755C39785B377357100F0D1A24191B1E1317190E13190F0507066' +
'5622DDDDB84A9A55C68601F39370E1F170019291E1B3027275842' +
'3A765D36765B36755A1212122C4C3D253D30142920131A1216130' +
'2414012918C4A86813F514B19272405221D091E18081C27172758' +
'4238775A37775C3A765C11110F31554B2948380F19101E1C07686' +
'6297F7A382425051D190027260A3C3A143A38114745151E1B0C27' +
'58423A765C37765939785D1214133659451D221B3D3D19726E2EC' +
'2BD6B9D9950322C082C290852501D6E69296761257D7B3187833A' +
'27584238775A37775C38775A15151722231349441A8D8C3ACAC77' +
'AD5CE7E716E292A25053C370F78742D8A8533A09A509F9C4BADA8' +
'5427584236775936785C3B70522115075E5B24A5A045C8C576E5E' +
'09CC2BD615A581D434017827D3BB8B3578C862EA49D59D3CE7AB1' +
'AE5127584237775C3B735A282C136D6B32BAB65BCAC373E3DFA2D' +
'BD78DBBB4666260236A6730CECA6FC7C25C958E3DBBB76DDAD584' +
'CDC7712758423A765A2C3820645E2ABDBC62C3BC6BE0DC9CE0DD9' +
'AD7D485C8C578ACAA5786813DC2BD61B1AC50B9B172D7D38AD8D2' +
'86D5CF81');
iX := BitmapFromString(14, 20, 'z78DAED934B8EE5200C45B7E42F' +
'D8439BCFFE97D44E52AFF4927AB3568FAA41B29081937B8D03080' +
'DA82600D7D45A31381860AD8F2835AFDDD799634AEDE0D71A2B2F' +
'7516A091D1E609408DE67E1B4024342A76DAA0C292E00A6A283DA' +
'CA19AB9C1327486DEC1B8084221A2D8F29B096437E63590890384' +
'9734488D26087DDBBC9DD156EC2238E5F13D1F6F3A0762DD82DBF' +
'96B944A55C0D6BBDC76474F1BA5B3592F02D178304B39B4BA55BB' +
'EC423FC9EF19C4BA1B5581F40DB34FA74BD5834964D05BF684AA8' +
'92650552F3F54639ABA233B86A3BBC5846DE1EB647EF29E86B6AA' +
'3ED415F810FD9389CD293A0EDFA984D1074058065E4EEFCCE3658' +
'9BC9797E31DEF4EB93CDEDE0577D840EA4923C0FB76B93AE7C154' +
'455C2E010FA72BA4B4CD145CC5B9D599467D8A007B75D6C97CEA9' +
'CAFEABD9EC446306AD1AC54E5E072BA8793A7CDC70BB67DF69296' +
'CD77A6563BAC2F5F559D8CD357B20C9E93E7184B44A6ACC57BEA1' +
'AB74E031DAD7DF28E71FC7438CEE8786412D77726CEF5227A65EA' +
'1F91A3AE67CC335FF19D69CB3DF6DFC78B59FAB0BAFD1F0C42458' +
'EFFF1B7C53F45C3682E');
human := BitmapFromString(43, 15, 'z78DA333030B630363718254' +
'7C951124C3A3ABA98BAB951AE663404465A08E0D2855F25848D4B' +
'0D7E9720AB21C67662CCA46708902A4E0BBB880F5B5C24E569801' +
'2715AD845FF5C40B938B5E265688500EDEC1ABA213018D200ED52' +
'26317651370D8C92A3E4C8240191572A1B');
ok := BitmapFromString(27, 3, 'z78DA333030B6303637C04B3A3AB' +
'A98BAB92193F85512631A797A29378D3CF753D734FC6AA86517B2' +
'08004993678A');
if(a=0) then
healingitem := BitmapFromString(18, 7, 'z78DACD91C10E84300844' +
'7F89A154E1D8A8FFFF4B3B14B327D7DD785A929A46983714449E0' +
'4A41904DE77B862090DD3A3F5A158A17116B9E6C1DAF9C7D5C4BF' +
'405D9D4C313249EE0ABAF0260E6AD34BC90E6D30DD092D2624551' +
'AA7CB76E3C22C2BB1B2DB86318CA4585AB0FFF262367B985EE0BB' +
'8259B0521BC920B95CCAF18A7FD6205571901C4E8FA2D5342EBBB' +
'254F9982A7AB19E8733B60F93DFB237676F73F278BFDA7FDC9DD7' +
'84F37BAFAA2DCBDC813C0D93BF8B1767159383');
if(a=1) then
healingitem := BitmapFromString(11, 11, 'z78DA65515BB243' +
'2108DB9220207E8A8FFD2FE9463D6D6FA77C64986842508BD6D62' +
'AD1F35A2E3D0EAEB59A2E30A10B4C1BBBBF4C261DCA29254F4F79' +
'1FE0ABCC8303DADA37B60DDBE130FBB4E498DDC873E29AFED53DC' +
'5FD78DDBF8889E5E619539ACFDAF94EF7D43FF377596E70C616E5' +
'620C8BB050613717AE362C33996A83839EFC92BE8A6BA9161B0B6' +
'E16454F5755E8E9F7A9964C2E24FC16C227D7DC33E1804BE4EAD3' +
'3BB079C760AE820CB30A18F38E2470FE3F5D18DA4A4E1DEF423BE' +
'DDBE1F18196CAC01664843C7B16325A55F6EE6CF96A5F5BECCC79' +
'6F1150212D18A8286D15322267D36A25AF3222D4059BE6AF87704' +
'E7073C6BCF438D3FD6DB01678436EA34E17655569BF2F0995D007' +
'8FF620FA174F8913FC0F9B7ECBE9E8BE509E7E6783160ED8E5E17' +
'FEA0F5DD29B8E');
if(a=2) then
healingitem := BitmapFromString(1, 12, '00000000000000000000000' +
'0000000000000102818739263D6BE5294C3AD94DBFF6BBACE');
if(a=3) then
healingitem := BitmapFromString(5, 7, '313842C6C7D64A494A0808080' +
'0040063657B8C92A59496A5636573313839949AA5C6C3CEE7EBEF' +
'EFEFF7B5B6C69CA2ADCECFD6FFFFFFFFFBFFBDC3C69C9AA5C6C7C' +
'EFFFFFFF7F7FFB5B6BD9C9AA5C6C7CEFFFFFFF7F7FFB5B6BD9C9E' +
'A5C6CBCEFFFFFFFFF7FFBDBABD');

end;

procedure heal;
begin
if(FindBitmap(itembag,x,y)) then

begin
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
Wait(100)
ClickMouse(x,y,true);
Wait(300)
end;


Begin
if(FindBitmap(healingitem,x,y)) then

begin
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
Wait(100)
Clickmouse(x,y,true);
end;

if(findbitmap(human,x,y)) then

begin
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
wait(100)
Clickmouse(x,y,true);
end;
if(findbitmap(ok,x,y)) then
begin
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
wait(100)
Clickmouse(x,y,true);
end;
if(FindBitmap(iX,x,y)) then
begin
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
wait(100)
Clickmouse(x,y,true);
end;
end;
end;



Begin
load;
wait(500)
repeat
if(FindBitmap(fight,x,y)) then
wait(1000)


Begin
repeat
repeat
if(FindBitmap(fight,x,y)) then
wait(1000)
MoveMouseSmoothEx(x,y+random(0),20,40,45,25,20);
Wait(100)
ClickMouse(x,y,true);
wait(t)
b := b + 1;
until(b >=c)
begin
Heal;
B :=0
end;
until(false)
end;
until (isfkeydown(8))
end.

Janilabo

2007-02-05 02:56:17

Very nice as a first script. It's looking really good.. You even created your 'own' standards! :) Great job with it.

Knuzcano

2007-02-05 16:21:12

thanks :D
what do you mean by "my 'own' standards?" :confused:
i've been studying this for a while, but i never made my own script

Drew_Dawg

2007-03-06 18:15:04

i've never played this game before, it looks like it could be fun, i might try it later if i can get some free time

Knuzcano

2007-08-07 01:38:29

OMG finally updated!
After 6 months, I'm back xD
Once I download the game again, I'll finish updating this.