SCAR Code:
//-----------------------------------------------------------------//
//-- Scar Standard Resource Library --//
//-- ยป Symbol Routines --//
//-----------------------------------------------------------------//
// * function LoadSymbolBitmapColor(Name: String): Integer; // * by Stupid3ooo, WT-Fakawi, Bebemycat2, Ron, and StarBlaster100
// * function GetSymbolColorIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Integer; // * by Starblaster100 based off of the ideas of Stupid3000
// * function GetSymbolColor(var rx, ry: Integer; Name: string): Integer; // * by Stupid3ooo and Modified by Starblaster100
// * function FindSymbol(var rx, ry: Integer; Name: String): Boolean; // * by Stupid3ooo
// * function FindSymbolIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Boolean; // * by Starblaster100, based on the ideas of Stupid3ooo
// * function FindSymbolsIn(var AnsTPA: TPointArray; SymbolName: string; x1, y1, x2, y2: integer): Boolean; // * by lordsaturn
// * function FindSymbols(var AnsTPA: TPointArray; SymbolName: string): Boolean; // * by lordsaturn
// * procedure FindSymbolsMulti(var aTPA: TPointArray; Symbols: TStringArray); // * by Nava2
{ var SymbolAccuracy: Extended;
Description: How accurate it must be, in %, to find symbols or icons on the minimap. }
var
SymbolAccuracy: Extended;
SymbolBitmap: Integer;
// Comment fix by drizzt:
{*******************************************************************************
Valid Arguments are:
- agility - furnace - quest
- altar - gem stall - rare trees, tree
- anvil - guide - sandpit
- apothecary - hair dresser - saw mill
- archery shop - herbalist - scimitar shop
- arrow - house - shield
- axe shop - hunter store - shop, store
- bar - hunter training - short cut
- candle shop - jewelery - silk stall
- churn - kebab shop - silver stall
- clothes shop - mace shop - slayer master
- cookery shop - magic shop - spice stall
- cookery, cook - makeover mage - spinning wheel, spin
- crafing shop - mill - staff shop
- dungeon - minigame - summoning store
- farming shop - mining shop - sword shop
- farming spot - pet shop - tanner
- fishing shop, fish store - platebody shop - training dummy
- fishing spot, fish - plateskirt shop - underground
- food shop - portal (to player owned houses) - water source, water
- fur trader - pottery, pot - weave
- windmill
*******************************************************************************}
{*******************************************************************************
function LoadSymbolBitmapColor(Name: String): Integer;
By: Stupid3ooo, WT-Fakawi, Bebemycat2, Ron, and StarBlaster100 small fix by N1ke!
Description: Loads Bitmap and Color of a Specific Symbol.
*******************************************************************************}
function LoadSymbolBitmapColor(Name: string): Integer;
begin
case LowerCase(Name) of
'bank':
begin
SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGBkZ9x3fCcEr' +
'V9p8/lvT2Y459vrUkBy7rIZEASRZWBAVwxRBiGBCC6FVTFEPQRB1O' +
'MyGVk9smNwKcZ0DEIxAP6Ld2s=');
//result:= 3069683;
result := 2346215;
end;
'mining spot', 'mining site':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D03B0EC430' +
'0804D02B610C832931D9DCFF48894293C8DAD5464853F07905342' +
'91A67A46FF43BA31914AE602183A9E5686799A64E3C04BA4CFA43' +
'7E98439C770971257CB09F934B8E089F2FE43287A2F534166629A' +
'1121D03DB5BB94C0B1D9D811E2DEF66ED94BCF6BFC97753A33BF3' +
'7ABBCAEB9F0FD413672D');
Result := 4219541;
end;
'transportation':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
'4B73032219E34763173348592A62E666E66A6C8B20660330D904C' +
'86A841D6858BC454896C3EA6C9C498899FC465B291A3B193910B3' +
'124A69910715C269317CEC866229B0C00B3496273');
Result := 2650848;
end;
'magic shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC5C46' +
'0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD3CFA' +
'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AFDBAA' +
'5BBFF312D915399C927AF756C82');
Result := 1714669;
end;
'water source', 'water':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5CF410A80300C44' +
'D12B25B6A964E9907AFF2329CC42A5448A12F874111EA9A89C830' +
'A438C6DB646B7A51BF6C27A75F3C8F659D16BE665F68F7C37B121' +
'3AF8162D2DE2FDF21999E628B3DFE4C7DF1339BB9CE601EA0F684' +
'0');
Result := 14497281;
end;
'furnace':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA3334353435B470' +
'3101423308696A028466E6C6A6A626E66E6E1640062E12A206A2D' +
'EC90408A1261882CD3424CA6427472320DBCDCDC810C61EFC2653' +
'3F34882171990C0058F36390');
Result := 3508223;
end;
'anvil':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2EA4A8' +
'7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C187D' +
'3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
Result := 4012591;
end;
'rare trees', 'tree':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400424757270' +
'B4757086960686209128390E6F84833470B20696C618E6E020262' +
'33D99C0C9238938976391269E16A69614192C96012EC6B2889C34' +
'CFC26639A0F516FE46CE80267BB9AB919B8426C413613393400AC' +
'8C5FC9');
Result := 96513;
end;
'fishing spot', 'fish':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
'BB6B6878');
Result := 16743189;
end;
'cook', 'cookery':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA590410AC0200C04BFB41' +
'B4D5B8F2ACDFF9FD4D25008885EBC0C21EC0E211010EC6CD66EE7' +
'C1A4F869A9524AD74BB2CF3139233E2782D9BB713F52CE37A1D98' +
'4A823D7E678A15FAE4CC4EDDDB5B9B258D932BB61C67DF3FACF0F' +
'3E40632F');
Result := 1194607;
end;
'quest':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D90410A80300C04BF94' +
'B49A36475BD3FF3F497011564AC5CB1042322C2B4954B46B1B2D9' +
'8D53C45F1DEFCCC25D51206629FCBD69F9B437DF8EB576EA74C66' +
'DC83B0B19F9DCC6F33675B71DBCDC257FC9F993BC12F3263E61B7' +
'402AECC73CF9839DBDC33B70DE70515B06618');
Result := 15107954;
end;
'mill':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAB58F3B0AC0300C43AF24A' +
'75D3CD621BEFF9102D52228822C5D1EC69F878C8140CCA8AEE5D8' +
'DD0BA97C223BED3E5E27C48CBAE7B878ABF54987B5337FB3E995D' +
'26DF2973F323B33C9A9D26573A47303B52569D1');
Result := 655103;
end;
'dungeon':
begin
SymbolBitmap := BitmapFromString(14, 4, 'beNpjYIhhYPiXw/rXVRpIQhh' +
'w9I8BJAsHcJVoCE0ZLpWYyrCqxKqMAQAyViq3');
Result := 1787389;
end;
'weave':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303230343074367472' +
'73724526CD0C4C0C8CDC1C0D2DDD2C5D8DDD8C4C0CA0E2103644D' +
'CDCD1CCD4C40CC246D66B0036D300AFC9986622B3293119979B21' +
'ECC1E966649793EA6600F03E685F');
Result := 926783;
end;
'pottery', 'pot':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE5B0AC0200C44D1' +
'2D6592691B3F2DD5FD2FA98F08554A410217C9C73102B966673E7' +
'64617AA094DA16349D4B15E96621EED05C13B5F19F9DEFF178E14' +
'3F869CE8479A9267FCFEE619992A55100D7F8519CC37562DBDD6F' +
'AECE76FEEFD55D5A50983FFBCB76A807CE5139EC460AC');
Result := 270148;
end;
'spinning wheel', 'spin':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA7D90510E803' +
'00843AF04B2E1F894B9FB5FC9C4EE0383DB4FD314F22025A642EC' +
'DEC507545B31BECD2FB1715AED872187FFC9ABB21CC891D0CBA44' +
'0AE2E46731A37333FEFB4A155DA9EAC5A9C053EDECAFC8F86CF57' +
'644CA3E256EC2AFE3CFBD99273272B1FF9B91F301FD6076714');
Result := 2710649;
end;
'guide':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400424717470B27' +
'33086961E168E4EC64E866E264EE0C614349170B0B4B336411143' +
'56059880906860848C06488995432193F89CB47F84D869A8FE14E' +
'8869F8CD24C664E2431E533DC44C00EBA66771');
Result := 13345416;
end;
'shop', 'store':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0410EC4200' +
'840D12B2102C25290DEFF486DCA2C4C9A6666363F46E2D308020D' +
'32D83DA2AA3E6804276633B66B7AB4006E7D5F57E9406E51DD05B' +
'84D78C8435849DD5970E9EC0629AB13B692ABB5B34F279BCF6F32' +
'12A15CE3E8B9B7EE3265C52C73EFF0818A6FB2CA085D4FF317598' +
'484FA9B6C69689FB37FBFF9FEC35D3E01559765AB');
Result := 3176384;
end;
'shield':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DACDCC3112C0200844D12' +
'B611484920DE4FE47CA8CA63085BDCD9F6DF6511614BE233CEADA' +
'16ECFC9553204DD36055D92EF56E2AFD99DB038EDF97864927C8C' +
'339595EFD9D3CCD9DFC02CAE26976');
Result := 9542286;
end;
'altar':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33703574323475767171' +
'7431B670B574B2A4888498630036D300C96464F3DD880610F58E2' +
'E4E8E4E501297C9C49B8F69267E37936732B25EFC26131F1AB84C' +
'06006E357035');
Result := 9542286;
end;
'arrow':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303570333470353437' +
'3372249E343633B33475829026161646E626C8B20660330D904C8' +
'6A841D6858BC454896C3EA6C9C498899FC465B2919BB1A5B12931' +
'24A69910715C269317CEC866229B0C001E5A61CB');
Result := 2782945;
end;
'bar':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAB5CC310EC0200C43D12B41' +
'E3001D0389EF7FA44ACD82D4952E5F968757B5B4E28EA56B66E33' +
'685908EEEA4115736FF1523A016BD8113A636079B0877A1BE663D' +
'24E73E25A7F99F9CE659F96BEEF2031A5D69A8');
Result := 4433385;
end;
'underground':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400422743' +
'272727134CD2D5C2C8D4D01993B47033303630B434B474B2C4A2C' +
'BC01001E96FB28B9BA3A10516335D5DCC8C4D9D293119D97C62CC' +
'24D5646412622631260300830265FA');
Result := 1844712;
end;
'tanner':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D904B0EC0200805AF0' +
'4F85F4ABDFF991AFB162521D26E26462703919898BAAACEAB82B5' +
'E5C4ABB52289FED316E8699229DBE63ECB8AA7F8D75319843374C' +
'C594B4FC2C5177003C7FAE0A90CC2C92ACA392E5B3FDED9F22DCB' +
'47D9FFF30DFAEB6308');
Result := 3363443;
end;
'churn':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9590410A00210845AFA4' +
'A5FE5A564CF73FD240CE40502DDA3C5CE8031F318150D1ACE94C4' +
'104C7D04365F159253E2C16A5737342B5735F6F6938E960D66430' +
'9B0D1B5292146ECD92156ABF1F013CD39DBE736D1E05FCF644FFE' +
'8BAC6A8FAF927AEB5338A958DF905A105631F');
Result := 1720403;
end;
'house':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9D90410AC0300804BF6' +
'41B2DF66863F3FF2715BA978560A0BD0C32E2B228F766123D53BB' +
'33E5F5A08DC3ECD434550779BBBE9D3D1290C9846FDEC63EC02A8' +
'13D9B7F5C77AE9AF337B86DE4A5E1E0D7649EABE4F9F601C37765' +
'F5');
Result := 4740173
end;
'axe shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D04B0EC3300804D02B91' +
'0033F6127F72FF23A52A1BA4AA55BA1959483C036202E953A74F7' +
'EA6BBC35B260C403335377680767CEB92B7293FE59A71BEBE187D' +
'1136D2C7C583CAC6E0CCCABF7235B9A13A728B34EB2EA1E1F148E' +
'E8D8655CDECADF7C977D69FC8B1BA0269E2B27DEEDA9B13D63933' +
'EB356E4B7C6439');
Result := 6841956;
end;
'cookery shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE410AC0300804C0' +
'2F194CDCE42896FCFF49856E0F421072D983BA83D2C56485C608E' +
'4C484236CA341999CBBFA7020A6CEFEDF74339B9CF3463E530A99' +
'4993ADDCA55C6D6F647E955B959CB757F22754F2F9ED8DBCCCD01' +
'B137B3CDAB290E76797E60B5A736560');
Result := 7565679
end;
'windmill':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330313033B074367' +
'6367536C745BA0181A11132E968EC68EA8853BD01D84C0324930D' +
'5C4C8D8C9C217A91D9C48840D8B84CC6741BB22E6412974A885F6' +
'8E1665C264348882C3289CB6DB848889900AC8467DB');
Result := 1245183;
end;
'minigame':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D90410EC0200804B' +
'FB4AD22E568B1FFFF52132129C6DAF432214626CB22A340342929' +
'47B68DAE82066E2C0D99323BFBBB0A0E88CD3555AAC32EBA1393D' +
'99D6E36E7E38FCEC86FF3906D412D09FBB9E4FFCCA113DFED996D' +
'8E7FAC13E3CAFCD2B3DD1BB34D3DC7B6CD79039CA16371');
Result := 4670928;
end;
'fur trader':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330313033B0743' +
'67636753647262D2C4C8C0D2C31497357A07A0B64D2D1D8D1D4D1' +
'1C4242F41A80CD34C06132A6F9C49849BCC9B8CCC76526792623B' +
'B16BF7A52438378F321660200DE126419');
Result := 607112;
end;
'archery shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5CE490AC0201' +
'044D12BB5560F71E910EF7FA4403A0B8318846CFEAA78143129A5' +
'8A2AD5769A9A29172F8385CD9B91253F1BBA4DDA964733A91A07D' +
'7FEC8A366A702C59D51DB9215140BF77804BCCC2E0D6136E7AE64' +
'37477FF5F35BBE0049C36545');
Result := 4945565;
end;
'staff shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D03B0AC0300C0' +
'3D02BD9F1AF198D83EF7FA442BCB6C1B48B26F110020685191412' +
'D6C9A96A8C96B2089D5CFCA103DB84B65CA60F49CC32FFCBA55D8' +
'B7DD0D9ECCBFD9DDFE4F3AB6FF20D38E96664');
Result := 4286358;
end;
'clothes shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DD04B0AC0200' +
'C45D12D3DF2D13A0CE9FED754681CA4484A267720CF8308C1C072' +
'76F51925BE2023CAB2A0D66916F09A487236CF66A73AAFE4686C8' +
'C4D6DE25622AFE4D8E4FDBE55C8D1BE9CF7FF6FFEFC585B3EFFF9' +
'012BE4618A');
Result := 5935156;
end;
'farming spot':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DCCD10A80300885E1' +
'57D29CC775698BBDFF2315B98BC120AC9B1F41FDA810686FD2B45' +
'9BE2A02D6D2B7CA22C7E60C17571F5B7A4CFA2887190D6DEE3F19' +
'24276335D7CB8C6CD5EE577463938C9991875900D490637E3767F' +
'9024D406555');
Result := 7565679;
end;
'apothecary':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD0310AC030088' +
'5E12B69A3A68ED6D6FB1FA9D02C4230942CFF241F0F814040BD39' +
'7BAFAA8748C46847C2A75B33B6F21E3E13967236B33CBA2767CDD' +
'5EFE05926C5F3D23DB932B33C7FE6FFE66AED5A7E01E72B65AE');
Result := 16737938;
end;
'sword shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0410AC030080' +
'4C02FD9C66CE25125FFFF524BBD08A5C520EC41964124269078F3' +
'EEE33FC5EF918535971A1B0C6000539B761D91D1A4C7A4829CCD1' +
'06293E5DCFF929BF231CEBAB92B47EE9A956FBC2FAF9859BE0057' +
'DB6637');
Result := 10067100;
end;
'platebody shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DD0410AC02' +
'00C44D12BA56832761902BDFF910A9DCD8055DCFC850C4FD1BA85' +
'DDD5CA0B6CF48818F1E042633190A87D55B0CF349167534FD459D' +
'DBB92596EB2A527DC3DFC4FFE6EE446F7EC4A66CF65DDEFDFAC3D' +
'97E77F7E014609646B');
Result := 8157816;
end;
'scimitar shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD04D0AC340' +
'0805E02B8D7FCF71399349EF7FA4A6B8A825109A203C5CE887D8A' +
'81D356962CA3FD9475FDD96AE581012880405E267A6D1B7CE0277' +
'61DBAB56CDEC6963A2F14CAE5AA69B0FF76ADE95315CBDA59FBB2' +
'AEAAAF50367F35A0630711C0AB697B1B9E9678223F3DAACF21B5C' +
'65625E');
Result := 8752522;
end;
'gem stall':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA58E4B0AC0300844' +
'AFA4F96719F3B9FF919A640A154A3729836F21FA18629A1196201' +
'6ECCD772FE0E03AAA057B32F350338DF50B6A03F1932FF34DEDDC' +
'1BED0433E7900FCD835C76011B89BFCDAFB6AEAEFB504FCC6013F' +
'6C4DA8C9E306B1653E29C4D6DBE0027B7630B');
Result := 1777896;
end;
'silk stall':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA333034004227432' +
'733276364D2C2C4C0D0D488181253AF81210262CA42484B67030B' +
'33476248DA996C696869664994C9C48706B299F84D36733630347' +
'62486849889CB6400B4306127');
Result := 5374340;
end;
'plateskirt shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330340042' +
'2743273327634CD2D9D8CCC2D9009974323235763282909686966' +
'696587419182220F126239B4F9EC9B8DC8929423B93315D4E2034' +
'709843BCC900457662CC');
Result := 12609731;
end;
'agility':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA333034B03030743276' +
'3677328590066011086969EC686E494004591CD30464933165F19' +
'B802C428CC9B8CCC734873C93F1BB9F18F5C4A881B80D339C71E9' +
'020052926073');
Result := 67585;
end;
'training dummy':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5CC5B0AC43' +
'00805D02D69468DF9BC6DEAFE97D401032384F92845B8888F434C' +
'DF0210386A6A6B9D3833270E0F5F5B7371D2FD2B93F857FFE4D4A' +
'AE962D402E738ED1A0768E08D5CE743FA14A49CB9DF3C95CDA4B3' +
'A6EC1FB73E6BBE974D6572403C74F9AB2F9769DEA32D69B5');
Result := 1586538;
end;
'food shop', 'food store':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D0610AC0200806' +
'D02B559ADA4F37DAFD8F3499C11C6D63B02F900A79882959B28AC' +
'A825E09908A0893A0B4C25441ED49A0DA2AB3DFFDDF7B467FE64D' +
'C88594CF13E56651A08C1DD66146F9A82E47532C0DDFE531F92C8' +
'77A9183F945BED9C66F396EC385D91F321AD29FE41DF6B66191');
Result := 7837098;
end;
'fishing shop', 'fish store':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330340042470B470B' +
'27134CD2D2C2C4C8C010425A0081A509844456832962608880E49' +
'9099431773425DE64E2CD4426F19B8C6CA6990950812BAE50C234' +
'19D9765C6E8698894C62BA193334304D0600DE086263');
Result := 9734280;
end;
'jewelery':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9D904B0AC0300844A' +
'F646843E2D24FBCFF911A6217820DB4DD0C32EA43070A28B08088' +
'6054AB664DB46B07E64276220109A1D7EEFB4CDE85C5840D79E0E' +
'05223D3D5BBEEFB4CF4DF933333AA5FFE957CFFDB95DB5356CBFF' +
'479E471FB395F2DCE59FC917FB9B6AAB');
Result := 4829105;
end;
'crafting shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CEC10AC020' +
'0C03D05F8AD3D979AC71FFFF4BC27A29C8A45E420EE111240C748' +
'2648B24BEFDD5B36414149626F793E45D3708CBDEACA98EAA662A' +
'94DA2C4FE5D5F49A374FE53F73FF642F9B693D627A79020EC868E' +
'C');
Result := 3159851;
end;
'portal':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC0300805' +
'C02B69D2D6B8D47CEE7FA4045CD442ED22457848D0410208AB549' +
'4942D2F4858DAA9B05A6A4895251DB93FD2DE6DC6E6BD0078D7B7' +
'A98374A0CFC86761E2173977C052F764DB8DE43F375B46F2DE3F7' +
'BD3CB13F26764CE');
Result := 15287202;
end;
'makeover mage':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA333034703170' +
'7236707676B68490066011571367734B174CD2D2D8CCD5C418993' +
'4C06182015E9391D5608A209BEC68E0E8EC4882C9C4BB99129391' +
'DD499EC9F8CDC76526A6C9003E5F6688');
Result := 10340324;
end;
'mace shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD14B0A80300C04' +
'D02B4D4CF3E93226DEFF4A82155404296EB21A1E330484C29AC8C' +
'CFE7DAD7BB89A38D9A6696EA2A4A511888C4712878909D9521BB3' +
'A6086368B248C969FE932F7381546BE477ED6DCEC80F135C64DFD' +
'A8C7CDFFEEE39F39161EE1ADD6893');
Result := 8817273;
end;
'hair dresser':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303470317072' +
'36707676B68490066011030C71E2D5E0977534707476C4A206998' +
'DAC8654B7E1B2059984C84248F27C8D6C3EB269C4BB19531CD91C' +
'4CF7E37233005E916796');
Result := 13225152;
end;
'mining shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33B03430313074' +
'B670367672C5241D2D1C8D2DA1A40158258474737473333285909' +
'8BA9055E232199944360DBFF9C49B8C6926B22F20E21011FC263B' +
'5998BAC0447099499EC9C498896C022E9301172B6823');
Result := 10396584;
end;
'silver stall':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA958E410AC0400' +
'803BF14D1823D6E6DF3FF2715EA4510A17B09C198211008347031' +
'A4AB4169E2E6EA071F06EFF4F5DE5BF89818C8D9ADB4AE13FF0FB' +
'976FBF2F4F9B370726D90FBB64977C913BFA6D3E61755066363');
Result := 8749956;
end;
'spice stall':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD0C10E80200C' +
'03D05FEA06883B22D2FFFF2413F140B240D44BD3C3FA0E8340102' +
'A0E5619D3984CAC714B50B224D1A72B9BEEBDF71BBFC56DC2C96F' +
'CCB5EFE5A9F9D1F77244609C66B67CE6B6CE0263997EE39FDFCD5' +
'1BE002BE06493');
Result := 157167;
end;
'farming shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CE410E80200' +
'C44D12B4D5B405C160CF73F92C461D1C498E0E6D374F1280402EB' +
'68A30B6B559340150D25F5F95ED55392D556735365BBA96B661DE' +
'7F025E031F192A9D1E75CAA1D52A2CFD2E42FFB7234BFE478FF8E' +
'9CE7128332E72FEDAF1C2FDF91A319E51BD93562F0');
Result := 1918090;
end;
'slayer master':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC030' +
'0804D02B8D89A5CD320D9DFB1FA9BF8D622D8582B810E6210381A' +
'00EAC1CA2A85461E3F34C1CB366FBCE7634F6533C4C04D9FAEE62' +
'84ECF22EDB3F9D53B89525CADF7F4E1BB864B77FB411B359C351D' +
'E019F8C655C');
Result := 7666933;
end;
'herbalist':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA7D8E5D0AC0300883' +
'AFA4FDD33E5AC6EE7FA415C258C0D10A22267E8DA8EC5A253C9CB' +
'B5EF5166D7D4C89DE6DE9C45C6DF8BB1733FBBB15FD0A1B10B001' +
'99F9CCC42C5AB77B16DFEF4C86BF370B355C653272428513EA990' +
'C3FF3393954EEFC2327CFE4CCCFC933136A263F5CC35F29');
Result := 682309
end;
'candle shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400422723' +
'470B470B4CD2CDD0C2D5C01042BA9ABB9A9A3A218BE0D26560888' +
'0B8D4209B8F6CB2A591051040488A4C367035753571317136B134' +
'8390B8CC1CEA26030022F6653F');
Result := 6022631;
end;
'saw mill':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DAB58EB10DC03008045' +
'70A600C2EFDF1FE33450A299088A53469AEB08FD3D3498D7861C9' +
'3A2A4D3ABA0FF1E99619EFBB2BBA9B54CA0A157D69C66FED87FFA' +
'55CD7663FF7C30120F87173EEEFCA266DF2431F0AB6E11D3C770C' +
'A76EBE00CD48658B');
Result := 8882835;
end;
'kebab shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'beNpj4OBg4Dh37BgQZTtJRDFwZM8' +
'xhKD/mpo9DAwgEScJiAKgSohioIjEFJBKIAlEQJUQxcjqkRUDVULE' +
'gSQQzUl2ArKB5N7qKCBj6dKlyIoh4lhJNMWY6iEIZCNYJUgxALQIU' +
'2Q=');
Result := 7316427;
end;
'short cut':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D90410AC0300804' +
'BFA421A1E95137EDFF9F54E8F62088259741161D64C5B4E98573E' +
'9821B1A206E3EE49F5DAC1F835724F36F7E9D12CCD370DBE40EE7' +
'9854FE9864330DF993C8ECC9CC66F65039F7FD551B3BDCFFF9018' +
'756682E');
Result := 5286667
end;
'hunter store':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0510AC3300' +
'806E02BC558CDEFA309F6FE47DAC08E3942A143F041934FB1517B' +
'87C78447CD76BA591CCA445015EE5DD641C459F9D4F554C997F56' +
'FA36FEC3204819E663A77F25CAE633C972F01BC48AAB9FBB9C373' +
'79DFB6E69C98DDE1E0813FAE1106FCF897564C992A6277F20B925' +
'96443');
Result := 1261916;
end;
'hunter training':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCF410A00' +
'210C03C02FC52D76E9B18AFFFF92B0EB2150025E728876AC78916' +
'8D3678C55D360F6F89FE919211B9EC267A2C87CB32F6FFD08EC70' +
'CF6FDDC8D554597F712FF3AC3AE546C96A1FE573B2BC0197F063A' +
'B');
Result := 10398118
end;
'sandpit':
begin
SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCF4B0AC0300' +
'804D02B8DA9F9B84CA4BDFF91526A16820D64330CA20F0481208A' +
'51B4FA1C4998CBD07EE5D5EFA654B34F9BC75B7C2682BC336D72E' +
'247B921239137577766ECB629E9BD959D5CC14CCF8F1FBE88A665' +
'8794BE952DFDFE49DA95972794856206');
Result := 7717352;
end;
'pet shop':
begin
SymbolBitmap := BitmapFromString(15, 5, 'beNpj42Nm4zt87GxnbWFhUkh' +
'skCsQ7dm7CYIgXKB4dUkYUA1QJVwxULyypllFSQMoBUEQLlAcyF68' +
'bA1ccV1hBlAQKAXkQoxdOL0LyMalGCgLUQYRhOsCOgOI0BQfWt0JQ' +
'TomBhAEVAnkAo0FGg5SDADYtlua');
result:= 11713980;
end;
'summoning store':
begin
SymbolBitmap := BitmapFromString(15, 5, 'beNpj42Nm4zt87CwE2SVP1' +
'XaoKeidC0SeUTWfHj4AiixetgYoCCSBKuGKgSKVNc1AZXMO3AOpWf' +
'8EqBiiEaIFrhioEigCRJPnrAAqBqJjl98BEVAlxFigGmSTIVqAtgM' +
'VAI0FqgeSEBMwFQNVAo0FigPVgxjrnwB1Obj4IBQDAImMdLM=');
result:= 10325360;
end;
end;
end;
{*******************************************************************************
function GetSymbolColorIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Integer;
By: Starblaster100 based off of the ideas of Stupid3000
Description: Returns the Color of the Chosen Symbol, Searching in a selected area
of the Minimap
*******************************************************************************}
function GetSymbolColorIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Integer;
var
TheColor, c, Speed, x, y: Integer;
acc: Extended;
begin
Speed := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
TheColor := LoadSymbolBitmapColor(LowerCase(Name));
if (TheColor <> 0) then
begin
FindDeformedBitmapToleranceIn(SymbolBitmap, x, y, xs, ys, xe, ye, 70, 0, True, acc);
if (acc > SymbolAccuracy) then
repeat
c := c + 5;
if FindColorTolerance(x, y, TheColor, x, y, x + 15, y + 5, c) then
begin
Result := GetColor(x, y);
rx := x;
ry := y;
end;
until (Result > 0) or (c > 70);
end else
srl_Warn('GetSymbolColorIn', Name + ' is not a valid name.', warn_AllVersions);
try
FreeBitmap(SymbolBitmap);
finally
ColorToleranceSpeed(Speed);
except
Result := 0;
end;
end;
{*******************************************************************************
function GetSymbolColor(var rx, ry: Integer; Name: string): Integer;
By: Stupid3ooo and Modified by Starblaster100
Description: Returns the Color of the Chosen Symbol, searching the whole Minimap
*******************************************************************************}
function GetSymbolColor(var rx, ry: Integer; Name: string): Integer;
begin
Result := GetSymbolColorIn(rx, ry, LowerCase(Name), MMX1, MMY1, MMX2, MMY2);
end;
{*******************************************************************************
function FindSymbol(var rx, ry: Integer; Name: String): Boolean;
By: Stupid3ooo
Description: Finds a minimap Symbol and returns a Boolean if True.
Searches the whole Minimap
*******************************************************************************}
function FindSymbol(var rx, ry: Integer; Name: string): Boolean;
begin
Result := (GetSymbolColor(rx, ry, LowerCase(Name)) > 0);
end;
{*******************************************************************************
function FindSymbolIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Boolean;
By: Starblaster100, based on the ideas of Stupid3ooo
Description: Finds a minimap Smbol and returns a Boolean if True.
Searches a selected area of the Minimap
*******************************************************************************}
function FindSymbolIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Boolean;
begin
Result := (GetSymbolColorIn(rx, ry, LowerCase(Name), xs, ys, xe, ye) > 0);
end;
{*******************************************************************************
function FindSymbolsIn(var AnsTPA: TPointArray; SymbolName: string; x1, y1, x2, y2: integer): Boolean;
By: lordsaturn
Description: Finds a symbol in multiple places within the search coords. Results
true if at least 1 symbol is found.
*******************************************************************************}
function FindSymbolsIn(var AnsTPA: TPointArray; SymbolName: string; x1, y1, x2, y2: integer): Boolean;
var
CTS, Col, Hi, i, x, y, fx, fy, L: integer;
aP: T2DPointArray;
P: TPointArray;
Pt: TPoint;
acc: Extended;
begin
Col := GetSymbolColorIn(fx, fy, SymbolName, x1, y1, x2, y2);
if Col = 0 then
Exit;
FindColorsTolerance(P, Col, x1, y1, x2, y2, 0);
aP := TPAtoATPA(P, 10);
Hi := High(aP);
LoadSymbolBitmapColor(LowerCase(SymbolName));
CTS := GetColorToleranceSpeed;
ColorToleranceSpeed(1);
SetLength(AnsTPA, Hi+1);
for i := 0 to Hi do
begin
Pt := MiddleTPA(aP[i]);
if PointInTPA(Point(fx, fy), aP[i]) then
acc := 1
else
FindDeformedBitmapToleranceIn(SymbolBitmap, x, y, Pt.x-15, Pt.y-5, Pt.x+15, Pt.y+5, 70, 0, True, acc);
if (acc > SymbolAccuracy) then
begin
AnsTPA[L] := Pt;
Inc(L);
end;
end;
Result := L > 0;
SetLength(AnsTPA, L);
try
FreeBitmap(SymbolBitmap);
finally
ColorToleranceSpeed(CTS);
end;
end;
{*******************************************************************************
function FindSymbols(var AnsTPA: TPointArray; SymbolName: string): Boolean;
By: lordsaturn
Description: Finds a symbol in multiple places searching the whole minimap.
Results true if at least 1 symbol is found.
*******************************************************************************}
function FindSymbols(var AnsTPA: TPointArray; SymbolName: string): Boolean;
begin
Result := FindSymbolsIn(AnsTPA, SymbolName, MMX1, MMY1, MMX2, MMY2);
end;
{*******************************************************************************
procedure FindSymbolsMulti(var aTPA: TPointArray; Symbols: TStringArray);
By: Nava2
Description: Finds multiple symbols in multiple places. Results true if at least
1 symbol is found.
*******************************************************************************}
function FindSymbolsMulti(var aTPA: TPointArray; Symbols: TStringArray): Boolean;
var
gTPA: TPointArray;
I, H: Integer;
begin
H := High(Symbols);
for I := 0 to H do
begin
if FindSymbols(gTPA, Symbols[i]) then
Result := True;
aTPA := CombineTPA(gTPA, aTPA);
end;
end;