{.Script Info: # ScriptName = Kin's Barrel Monkey # Author = Kinslayer # Description = Barrel Vice Macro # Version = 0.1 # Date = 9/4/2009 # Comments = kurisui@gmail.com # 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' + 'gvwYBF/oGrgsViO+VHVxkZBEJIgMoLReUheUleLEvMaPae3qZnkLA' + 'wIZWngEGaqVm60/v09LR7n02y/4O/242JUp7qunXudu79vvOdc2du' + 'LtKYQ7s+MflYZ0YGi26kM4FCu2LFESl8Vrsw6JSGPcqTaXM/Z7Urc' + '3Nzgco5YtWTGU9mfYWDEShMpPGxIUQaNzaEWGNGOh/IaLmpKUQKA3' + 'vYKXkiFcpVdEca+ez2tt3KemLFl6hhpwDPmPV6WFbGIOwhTm9ue71' + 'KqDBej0o2crHKoYsW3eSs2qS/MzYfzfq7I6PhSexssHf049OfhnsY' + '8WUGt0Ibqdzcr78j91+z4T8P3X9H5t50+Gz+7CkMOgCi1Owu7Ugsj' + 'NjcsXv0oMtgyldrjsQ4Ep2CRYvjYqMe6cJksPuT+yxScb0CwM4GO0' + 'f2bqxxIMSVqqFCA+Zs0Dj88Wms8WCV3ESrgSs4gedp/1GocRFZT4d' + 'K1ekUPYmCH+JQrIx0FvbYFDAFNkIVa+hAro40dqzzY4PHQZ5Iw8nU' + 'bMws0oYqG6m8JzEw3uC9t/LJxHo8Gz4Brh36b+kgwuqr9UGHcZW6K' + '/Oh3nBEpt+hMRUZj32tMRRrZKRdcYm3mk84+X48+B68+VIVR0wHT6' + 'f209ngCWbRdbpUoLKxWf85eHbkPx+Z32GjJ2MjF6g8WIXnsbkDP0Q' + '2Modxu0O5EhtqQmyQ0yO9AVZn9h4JmcKhBY1EMyo7MgTEmohKYYAX' + 'YMdmDczEGhtIFQgGzKS41m5cIRA0Zmxyw27hvXdPLl+9gBG7lRk08' + '3PHfmxuXfrPJolvEtZ+M4/FdPaOJ1VWrl6YP3NydenK+bNvB3LR7R' + 'VciFBlEmFzsIft7eOu6qWvJqYADdvtrNvNO50cDIyvXr+YLnjv9Am' + '3R1nNnN2ljm8UivdHRh1GrXh//syp9DJoG+UH82fehgFJz+wn95Y/' + 'OX/21NrSR9BqjChrtZHZSD1M7B20d29+fOQ+FkpfkvTUeaLnHslcq' + '5WzWtlQ5xuV+xiUXmSS+NY9hV1evBgZgiOzd258fPva5UivD3uVeu' + 'lLkBDqiBEdEe3xh/ajiEAu44tJcaAANgmlYLeLTq+E5A2UKg4i5C9' + 'd8iSSv7Xc+q2rFwbNbH8/M+zkPbGIZOezd8npCsmpW4sfICUDqQq3' + 'hKhrl+EE2vZlem3pQ3xJftV3q389f/b3sfEYqnuNt9+4u/wRMUz23' + 'B/eWlm84EsldIe9IvCiLgGv29mGNwz+9zmJb6Pyda34hStVUNxcqZ' + 'zIoxoo5UE7CxURzqW8LxdivToxmUOrhly2Xn3rdLYjnZ6Y3NQSkjW' + 'U3dp2u4VIpeEcwBMsFM6yWw/9LoEPvNZBFikcyDSgQboYjHUS0IAU' + 'qxrKF4oASXyzMdJRxKrpPTEVSGWnnYkVsgWceNJrPSMEiCyMP557B' + '60nU5FaTfCWzGb+1uKl43JSXjxEC6kIpa9JYTGEofh/ekt/vlSBRJ' + 'Eg+FD8cbR1kLl97eLxNcgCu503DzKehNCDW1KfPbFkN7es/Q23Q+Q' + '9aGWNl5vLn/3p+MZAJFTYzYehXArlMmgkJKhMIBbQRWL+9j6kWia0' + '4Dezdw/dvTs3SYhXFhfcpAzCtlokeZcXF8xXm0636KskKOpLcg3kQ' + 'p160KAehGYDhZrEBYqVyJsVJqWYyKxL6jM4n5pQHdHAyucLvljEla' + 'Z94h9TkF//IGM1s8huO0lwwHRaW9arjRSFkyT17cUFPFJAFKaxM8l' + '2p1tCpMYG3iYqSVs21qqRiveOnDW1auiGSmVsopbCgJYyKd6piVzm' + 'MLh24xLoHTQzuBXGjR++QUtt3DR/2ICozp0+ga72YjN5f5EmFJ9f5' + '3LrUPvt65dWFj+wDrY8scBkV+ffPeF2t3FV+JkY1YmOt4NwWy+uQ2' + '+AiZqW4p2aPEoWimRAwkTo5bNrvpiHpBulL25++r69v5UOBsmrhJJ' + 'INiYRxMaRRvt4qXvktmO8faaQPlhrS1fuLf8Z7x1KxHfMX7Ar1lkv' + 'AZUooRwppVgpBWI+kEr9/a1AItJCoWCz995IIv+PqyS+z79JSiI17' + 'JJSAxLorVUoc/VXrZ47/Tshv243M4CPNlaKkZRD1JjN5TeuarlV4q' + 'SbjZWC/vzvEDAwDpoPk7L81utX4/qC9XLD6+Tob/+3kd8m9SpVC1I' + 'bfLqdXFr5IeYp/i+hZEnlWKXvLF1Ot5w/c5LLroJAhGDuF4AZaPI=' + ''); 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.