The Wiki for Tale 4 is in read-only mode and is available for archival and reference purposes only. Please visit the current Tale 11 Wiki in the meantime.
If you have any issues with this Wiki, please post in #wiki-editing on Discord or contact Brad in-game.
User:Kinslayer/Macros/KinsBarrelMonkey
From A Tale in the Desert
< User:Kinslayer | Macros
Jump to navigationJump to searchThis is my Barrel Vice macro for SCAR Divi. If you like this macro, or have any problems, let me know! I love feedback.
TODO:
- Seriously clean up the code
- Add a GUI for options/debug/info
- Add support for multiple barrel vices running at once.
{.Script Info: # ScriptName = Kin's Barrel Monkey # Author = Kinslayer # Description = Barrel Vice Macro # Version = 0.1 # Date = 9/4/2009 # Comments = [email protected] # Ingame: Kinslayer # Newest version available at http://www.atitd.org/wiki/tale4/User:Kinslayer/Macros # Instruction = Pin Barrel vice window anywhere, have all materials you need on you. # If barrel has been started already, only wood is needed, otherwise make sure you have straps and boards as well. Try to have 100+ wood at all times. /Script Info} program BarrelMonkey; //--------- //Settings //--------- Const //Amount of time in milleseconds to wait before rescanning //If in doubt, leave this alone. CheckTime = 200; //This will track the Barrel vice window, so you can move it around //But it uses extra CPU //false = off (Default) //True = on UseActiveScan = False; //This tells the script whether to add a bundle at once when starting, //to decrease the amount used overall. You can disable this if you //Already have fuel in the barrel vice when starting the script //(Eg. You had to restart the script) Otherwise, leave this on. UseFastlane = True; //At what flame height 2 wood will not be added. MaxFlameHeight = 90; var Fuel: Integer; Fuelx: Integer; Fuely: Integer; Flame: Integer; Flamex: Integer; Flamey:Integer; Heat: Integer; Heatx: Integer; Heaty:Integer; Progress: Integer; Progressx: Integer; Progressy:Integer; Stoke: Integer; Stokex: Integer; Stokey:Integer; Tick: Integer; RedTick: Integer; NoWood: Integer; MakeBarrel: Integer; MakeBarrelx: Integer; MakeBarrely: Integer; Ticks: Integer; Stop: Boolean; i: Integer; LastAction: String; SaveX: Integer; SaveY: Integer; AlmostDone: Boolean; WoodUsed: Integer; procedure LoadMasks; begin Fuel := BitmapFromString(24, 9, 'beNpdUUty00AQ9XEgsCMklI8B4' + 'RAhqwSKHRU2UBwhqVCxPpY8kiJbSYBDkFilz8zIssuSNfqMZVucgR' + '45K09NTfXn9evuN53OzuFEX0VmGer1xEoeegtXLbBRYlQEehlq6Vh' + 'JHqWKoNzXODUBnwfa7G9vMVbBBkBNLWBgvlpTtJqYYK9ndvrYy1wF' + 'kGXYr7DGico8OR1fl0TLfXVJkajFeupK4ILNPCi3AAw863gEkTqy/' + 'qX3qauwYABuRUzo3n29d3r87vDVsxvpaw4TEqNNWTk2t7vknrSOjC' + 'KQC1/mpC+yWGuSEczD2kZFoJ19eDuUz6GvfvH5zf7zzFczX9nulbW' + 'YnbPEIsux3MyNbHyV+5KgDcVbU5W5V+nDpSj3r8s2yLyfCwGTRbsQ' + 'lVhjngTyruKbVrF+k9xlrlxRC9z1zNlpV1F7GdmCBxsFscAVVQRVV' + 'M99Bf5lM78X81CrWfwGfj4ZCp42uJqO6tjOCaqnt8BftjqzcAB21W' + 'oFGoL44kfoYDMfdg/2htKXJnFAjY8nR4Ihtj6dvB8p55zqLFC7By8' + '4RTxC7WAwA3rSJHKAClbjkV3Hzq3+DZDblKN/h3eT/GrSP93Dl9vg' + 'HfpRTx24TwtOnM5/X2hroA=='); Flame := BitmapFromString(33, 9, 'beNplkuuK00AUx/s4ovvNS3Ef' + 'QhDW9fIGWkHcVUERFVF2P/gEgrht2jSZNJe2u7Lr+gpC2yQzuZg0S' + 'Zt7UvoInpnKfliHYfjz58w5c35zGo1LK8V8YYkgYqO3mHHRtJ0Y3a' + 'XeXs64DPdLW8wwXzpyOOFik88sofbVOhiVrpxhIYIYa1C6SukMEiy' + 'kZADZEtyDbPNJd2kKsBOMUiLmFgJzMesGEyjBJZiPjW5uS4Wj1L6W' + '4H5uSdGES7GUElR5ShUMa3+YEyGadlIila5a+RoItkWoBdn+/O4uD' + 'DGm+WUa4yhgRno/xvJFd2r7Y25rIPZb9zaO0v6033qw0aP+YW4rC0' + 'O4ffPaq2ePtptb0tH7BEMv4iYgmvWg/YwImQVVUGlLFJQpxiaCvuD' + '90rfX4FSOykrsFLYifH3D9P3KOz5GX0CXzuj5k12VO1iH5xp/2Lxx' + 'dWkOFjrf+G9BwvV8CCIjCCoCbUCRE4pu5dGmMqtf+wr8EYVpcKU7q' + 'HyFfSLHbgmVKxXskanZARNiQAczFJNhao0SDKDUdfgTzCVW5PbnF0' + '8fXlSvwx9wFs649k/DCSWwwFo9P11Fv2jXevfSawt3nLuj2KJ4gyk' + 'X6TyQTLC0xGjlj2kJEzEUuxmwwqyL4ORfifA8mFInMtVqflrOz0An' + 'BhsSXciwlBE5mPZSouXeSWpTJuG0HekcHTnSB1ArBgrGBk756G2Ou' + 'Zetu6DXAfUrT4UN38dGokfnx2NgMdpr7SidD3AxMYXm9Svw3QV7Le' + 'uiBxMVGighcu7ABFI/tTSNP9gE7D2+Q0Exv/KPS28czRCDqRbeeB2' + 'ese40ILB9a2tzBX1/B8OZu3LjL8Xl8kc='); Heat := BitmapFromString(26, 9, 'beNp1UduK1EAQzd/4oPgkXtbvE' + 'NQX/QAVkV1RHwR3QRf0F5TVcTLXTDLJJJMZXcFPWHV7kg6d+066O5' + '0h8wdWJyoiWIRQdbrqVNUpRQErA6tO3SpxqtguVjogInK29KuI5iJ' + 'e0MDmgS2i5SY7FrFbZ5+rxD5DwzXqZd86kLxG4wIbhaczYkPI/YEI' + 'RgXqsFWXom7Dr9WFWxIDCplvUE8TsQU+IJvUFqGen3YZ1rMfMvkM9' + 'Qt/DN8ajSBk/ohjvUB9inoUfZT8WIfanSsXHj+8vXP5vPZhH0IRmc' + 'pv0zsHIpwqfxnDRuts0kWdH9fZUnYPJVhF7tPdu7PhmypxDfUV0ML' + 'K4FehXWcLc3Ao1SAT6hnNphonFgtmyn+MB7LvNl+K2K6SuUQIbOpw' + 'bNSp0w5ZkmmOhg0baDgB3WhDWHgmDCPITBBLNDwcm//wg9SG+nL33' + 's0/iAjnhS/Tsu9dUIljizZhibUq0DdEr6OpIEazheTcRCaEfDXIT9' + '61suw9uAV3B2Xka7Jg2Go3pagPx2JYVrGVVuIJ88YV0bkn71L62t7' + '9G6a6L4IJnObapXPwl+K/f17iETyBT1e9ogEHb5+tT9X05KidGdas' + '008idLb5F+gokdCpk+X1qxfbhPHRCxDHHLxuwyeP7jRK2pw4hnr4S' + 'wpPU34CX4yHLg=='); Progress := BitmapFromString(47, 11, 'beNpVVGuT02QU5u8siHzZ' + 'hb34J3RUdHR0/MbIjCA7rHxAQWXRD46OnxgvAwvZpm2SNpduS7vl4' + 'sogIAvD9pLrNkmTtLlnuusf8HnTlcFM5p33nLx5zznPeZ6jVQ+98p' + 'w/86GnSJ7M211m2GVGcjXURLfHxuZGqIuBIaR2MzHr6bCROe09737' + 'qbIZaNbVuT5wWPmVuOx22E7OxHz7aj57sh4/3gofp8O7E+yMyW5m7' + 'lbn3cSC1626v5MkMfkzNxkgRcHk4qEdmEzmM1FpgSKnTXpo/ujB3x' + 'JPZ3eeUtVN0ZW6ssPZOwVe4QK2M+6WxzPoKGw9qkVlH0MQSR731UO' + 'Myu5YMqrFeiTU2VJlkIGZOfeK29vx2MsDNLZyfuHcyZzNzkFXL7eH' + 'Ocmo30mELaSR2K7aa0aCOZGLnz8DcnPiPM28LptevYHVkAWtg1EeK' + 'tHji6BS6xfljgSaiQJy8cO6TA+fcEazpkNSVmiLWzLkz8e6+sXDsw' + 'rmPFo+/JtHf+UqFX786PY+S3W6h/PvK1JyfOxwNxNAQp6av150+G+' + 'i10NiAOezQWKlrK0636PXLZ0+9xa19BXC8fomnriyffjtU2fOfvSf' + 'Qq6m9MZKL3NqXOJ8MeKwS/XWsc8mgdmH54zr30553Vyp+vzT/eqCT' + 'myUGnq169eexJsHkqW8y9x5HXd0LHqTD+9Nk0L5hpzBWK/OzM8un3' + '3E7FJzqX784HQp4Yj+WS4HKen3aV0lEtCyPXsucBpIZyyT5xCRIhj' + 'Ll92+GCvHEejHRy7HGkBA94hHoK2hx5t52+yWYqCLSKoEuTLw7iXU' + 'bmL9K4LOfnvQ1yXqxnrepFlttgEbAd++RvbaReQ/yuKRM8HM/eBgo' + 'wpR4E4+UFhtiZIiT0dah/z8jmWXXLi3kDeWpS9az66VfVxZmZ2Cya' + 'xfBsXggjPLCI3PTU8TYarmQj1EzttfgtDtFMNmTy1MofJWDBCAoYu' + 'bO2KolZg37SOdzoEhdE7cJWUFNJNv06T/Z89Ru7422QqOJF8qSSj/' + 'ktOSIVAdNqfxjXgjadA8mSVsRdl8UfE1w+8xYLuvbN+Hcfb7u9sqo' + 'aPn0SZ5aDfC1x1QIZ96FnFfOfCCsX4VS+JuXpwSOdDZPqRrIxXjAf' + '/H5+1LpSmbxgUwvzh12u9TZU29GegX0y5Mp4p6xXOHpVYK83YTc/u' + 'NMxe4WERflj2VGf3qdINMtQMhEy2pl8fiRA+bPzgQqE2osgi6eIM6' + 'FuRlu7SIBSsvhMrhILePrxJGWThz8JdGrGAhQzdQU6W9BxZdmlbqc' + 'mCIKJNrpMw7eHmnKWK6Cq8qj3/RtCqMmVxODToF10BoGDjwHGSpcq' + 'FRjg/dlmiNkOIwh4ytMavLJgMxGTLbYqGRDIVLpSKHHcsHZuYU1IF' + 'MIIBedbgH9xc2x2cCIi4w6ojuyNOxxu88KdqeE0PYO1XtwTXlyQ/3' + '7xu4zCglYLyhkCMIY27ecXhl9dDoEtJfknJ9FF4qRXgW1MtSoshit' + 'mdWIdAFyC+RShMwJB1CCgMkG/jvdMmQSajxejCBwD7QP/wUHbL2a'); Stoke := BitmapFromString(29, 9, 'beNpVUttu00AQzd9QnL40V76' + 'jDagSrzSiNG3hEakoVQn0DwqNUpI2iXdr594HxBcQ23FkO77F8SUi' + 'fAhnbSrBarSamd2dOefM3nz09X4xn07FK595WimXljMaLfoIlzNiS' + '21zeofMUiWO3IHvqdSV2jgNFzTUiK92YKFO1wsh0LpBEmqkmNt+d/' + 'QyNEaBMbj7el7IpoPYx0NH4l1FNKfUkXvuTLQlavwkjtJ3lR5rqvC' + 'uTDxV8LWeP+/7qhDp4lJGo17yfOM8hEYfkCxWR1jNe6l/liXRfIZ7' + 'pMN5qGCMGFpjEMRWyKX5m4tAHz7Lb1cOSsDJN2rFXBohaV6AnSN1b' + 'QmMepEh4KE97bgKrRzs3X754MrQ4b5Tr568fr6aU5yuzVFkjk4PX/' + 'i6COftm33h9jOwkSarGZnjk8P9BEwhwzWvzgBgbQ5jnAQiJIAdmXr' + 'zYWBMYvoEO21+oq3LaMEU27g/kPntffe1/toaMy66GMAM0deF43Ip' + 't7MVsu6sGpB7cwbblXlr+s1TeV9jYTLQQo7rNqrwkdxYD6n/F34CL' + 'FwMsAMeMoHOfFZNEbx5PDuZ2rEIq7gLKCcP+WaNtmq+Jkax2pgRHK' + 'BdW5NClmtfV0OdNT16tYsQThCXbderK20AbZtX723p3tMGyOAOkjE' + 'FAi6YV6dxjhanTNvLX+ZkbY4xtePyHko9DnoLTG2p5amkfX2WJN1p' + 'Pbfz5K/4WQ5zXOnJr2YfeKVRJKEGpMOkkmvkD12DojM='); Tick := BitmapFromString(1, 12, 'beNqr/8fC3MTKepmN7S9WpK//t' + 'x4A46sNBg=='); RedTick := BitmapFromString(1, 11, 'beNqrr7/KyvKfjRUT/QMifb' + '1/ANIFDIU='); NoWood := BitmapFromString(46, 9, 'beNo9lNty2lYYhf0yre3cdYw' + 'TO+/QxuC4h+vOdGwg4xiwEy46vuor1HXBAqEDCHEY+6bvkNqMQNKW' + 'BEWAzkjgySN0STRlNJq9f0l7f/9aayNRW1tbS729NERXZdt3ZUxDv' + 'R2NxWjcDgiPKe6uwgR6e232PMKFhrDUW8+z/mf7YWX2A9JyVc4l7N' + 'JoRhMxINxSb7oqE2hNFOPVxqKjMFjcGjG2wvua4JLmatoPtNZBavc' + 'gtXORzbza2zE+VUr5k6vzH8NxNxp3C9ljfHv57odo0l9N7/GomDvx' + 'Ce8TIdA7a/PeI2DuATsad55nD6HR8dQWiq4CWnapibh7hEfRUVuWz' + 'MWN6KKjNj0izofsTGIdVcDU10Ts9f40PZeYhcSc/3KU//nbwtnRZf' + '7YU5lQ40HYZ65LueNQFyKjXcq9LebeYl80fpja3Up+h/sv0E406a7' + 'M3uuXL/4rpnZcuRZovCNTxVx6U3x/erSR1FMYDGZPlPlYtUe0DwG1' + 'FioLqT4bULbcMB8rL7/5CnixQUYPImAXqBHfjU5kdFF3FQ79gl+4K' + 'wekCf5u/RpCraY9KHnP/2aNeFvmhOpVMZsGcCGbOdzfdWTakZkvJK' + 'wzrMX7Dqh/Pt24ckJCYjZLurUGVVTmAypJRRyG0OAf+OvC2ZtQZ0v' + '5zNoUns2YMDKaQWK3TyAa5wyrnkJjup4246eTNvpyZcYe1ZOlhE3q' + '7BFjJVfSC+uMaE/lFkMKF/SE3Zs3UbelO5BYUi1h5i7fwYX0ZT5jS' + 'dWAIGzsh/OTD+ffwyafQBMmsbu5mvUQRTBj+jxvxzyzrjWigYokJ+' + 'EUEjzBI6ybXAkYtzS4QEMeKtawutQaS0KHWrymM7y1h7e+WoM4CTP' + 'To3/FprgwDsdtHI2PFz+BBFI7iKLKJev3Prt/ebqIhMQMG8XGwlyq' + 'A8NLNkULuHuEQe+OQpuDSiImDQyPNGyZdgmDTwC8Njsb4/ByoPNuc' + 'kiBuhEcRsNfhAE+QqV4TYWxhnV7WC+cpTu1j+uJ4IyoXr0MEz25Ws' + 'q96dfLs79hfU2krkq5dOxsLt2hyvOnCr56tbe98T0ax/l0CedrGOM' + 'vQlhPRbhQzB65ch0hx6m5OP1u9njrydRB6mtXrs4ff1883VjSH4FS' + 'TUhqzugO0iEeB6ntL2dnF8fKh006/3p/Z1PEU9gKEsj+/5vcTSHWR' + 'EV3DQzmT38m7iOxjRBSEPZgbxsMpVwGR2/xL1zd4HU='); MakeBarrel := BitmapFromString(80, 10, 'beNplVllzFNcV1p9xwD' + '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' + ''); end; procedure FindBmps; begin FindBitmap(Fuel,Fuelx,Fuely); FindBitmap(Flame,Flamex,Flamey); FindBitmap(Heat,Heatx,Heaty); FindBitmap(Progress,Progressx,Progressy); FindBitmap(Stoke,Stokex,Stokey); FindBitmap(MakeBarrel,MakeBarrelX,MakeBarrelY); end; //Tick Counting functions, Perform all the code to convert //blue/red bars to something we can work with easily Function ReturnFuel: Integer; begin Ticks:= CountBitmapTolerance(Tick,Fuelx + 28 ,Fuely - 4, Fuelx + 154,Fuely + 11,2); if (Ticks = 0) then begin Result:= 0; end; if (Ticks = 3) then begin Result:= 1; end; if (Ticks = 10) then begin Result:= 2; end; if (Ticks = 16) then begin Result:= 3; end; if (Ticks = 22) then begin Result:= 4; end; if (Ticks = 28) then begin; Result:= 5; end; if (Ticks = 35) then begin; Result:= 6; end; if (Ticks = 41) then begin; Result:= 7; if (Ticks >= 42) then Result:= 8; end; end; Function ReturnFlame: Integer; begin Ticks:= CountBitMapTolerance(Tick,Flamex + 38, Flamey - 4,Flamex + 162,Flamey + 11,3); Result:= Ticks; end; Function ReturnHeat: Integer; begin if((CountBitMapTolerance(RedTick,Heatx + 31, Heaty - 4,Heatx + 155,Heaty + 11,3)) <= 0) then begin Ticks:= CountBitMapTolerance(Tick,Heatx + 31, Heaty - 4,Heatx + 155,Heaty + 11,3); Result:= Ticks; end else Ticks:= CountBitMapTolerance(RedTick,Heatx + 31, Heaty - 4,Heatx + 155,Heaty + 11,3); Result:= Ticks; end; Function ReturnProgress: Integer; begin Ticks:= CountBitMapTolerance(Tick,Progressx + 52, Progressy - 4,Progressx + 176,Progressy + 11,3); Result:= Ticks; end; Function ReturnBarrel: Boolean; begin if (CountBitmap(MakeBarrel,0,0,2000,2000) >= 1) then begin Result:= True; end; if (CountBitmap(MakeBarrel,0,0,2000,2000) <= 0) then begin Result:= False; end; end; procedure Setup; begin LoadMasks(); FindBmps(); Stop:= False; end; procedure Debug; begin //i:= i + 1; ClearDebug(); Writeln('Kins Barrel Monkey Debug Output') Writeln('/Chat Kinslayer if you have any problems') Writeln('------------------'); Writeln('FuelLoc ' + IntToStr(Fuelx) + ' ' + IntToStr(Fuely)); Writeln('FlameLoc ' + IntToStr(Flamex) + ' ' + IntToStr(Flamey)); Writeln('HeatLoc ' + IntToStr(Heatx) + ' ' + IntToStr(Heaty)); Writeln('ProgressLoc ' + IntToStr(Progressx) + ' ' + IntToStr(Progressy)); Writeln('StokeLoc ' + IntToStr(Stokex) + ' ' + IntToStr(Stokey)); Writeln('------------------'); Writeln('Fuel: ' + IntToStr(ReturnFuel())); Writeln('Flame: ' + IntToStr(ReturnFlame())); Writeln('Heat: ' + IntToStr(ReturnHeat())); Writeln('Progress: ' + IntToStr(ReturnProgress())); Writeln('Time: ' + IntToStr(GetTickCount())); Writeln('Last: ' + LastAction); Writeln('WoodUsed: ' + IntToStr(WoodUsed)); Writeln('------------------'); end; Procedure SilentMouseClick(x: Integer; y: Integer; left: boolean); begin GetMousePos(SaveX,SaveY); MoveMouse(x,y); ClickMouse(x,y,left); MoveMouse(SaveX,SaveY); end; Procedure StokeFire(count: Integer); begin for i:= 1 to count do begin SilentMouseClick(Stokex,stokey,true); end; WoodUsed:= WoodUsed + count; LastAction:= 'Stoked Fire ' + IntToStr(count) + ' times'; end; begin Setup(); LastAction:= 'Setup'; Debug(); if (ReturnBarrel = True) then begin SilentMouseClick(MakeBarrelx + 10, MakeBarrely + 3, True); end; if (UseFastLane = True) then begin StokeFire(7); sleep(10000); end; while(Stop = False) do begin Debug(); if (UseActiveScan = True) then begin FindBmps(); end; if (ReturnProgress >= 70) then begin AlmostDone:= True; end; if (AlmostDone = True) then begin if (ReturnProgress = 0) then begin if (ReturnFlame = 0) then begin Stop:= True end; end; end; // No fuel if(ReturnFuel <= 0) then begin if (Stop = False) then begin if (ReturnFlame >= MaxFlameHeight) then begin StokeFire(1); end; if (ReturnFlame <= MaxFlameHeight) then begin StokeFire(2); end; end; end; //1 Fuel if (ReturnFuel = 1) then begin if (Stop = False) then begin if (ReturnFlame >= MaxFlameHeight) then begin LastAction:= 'Fire Hot. Waiting'; end; if (ReturnFlame <= MaxFlameHeight) then begin StokeFire(1); end; end; end; //2 Fuel if (ReturnFuel = 2 ) then begin if (Stop = False) then begin LastAction:= 'Lots of fuel, waiting'; end; end; Sleep(CheckTime); end; end.