SRL Archive - SRL Archives

Symbol counter! w00t!


m0u53m4t

2007-03-18 11:19:50

Written for the web walker, I thought I'd post it here as well!

function CountSymbols(Name: string): Integer;
// l33t symbol counter by m0u53m4t - Enjoy!
var
Bitmap, Color, findx, cx,cy: Integer;
acc: Extended;
begin
Bitmap := 0;
if (LowerCase(Name) = 'bank') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B434B4343473B' +
'100421364D2D9D2C9C9D4C4CDCDD5D1CCD0C2D5DCC5D00299ED04' +
'8226C824B25E43B0998664990C213175116F32B2F9C824B2F9A4B' +
'A1997F9B842865493890F734C9301ACE46928');
Color := 6417151;
end;
if (LowerCase(Name) = 'mining spot') or (LowerCase(Name) = 'mining site') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D03B0EC430' +
'0804D02B610C832931D9DCFF48894293C8DAD5464853F07905342' +
'91A67A46FF43BA31914AE602183A9E5686799A64E3C04BA4CFA43' +
'7E98439C770971257CB09F934B8E089F2FE43287A2F534166629A' +
'1121D03DB5BB94C0B1D9D811E2DEF66ED94BCF6BFC97753A33BF3' +
'7ABBCAEB9F0FD413672D');
Color := 4219541;
// Color:=4092315;
end;
if (LowerCase(Name) = 'transportation') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
'4B73032219E34763173348592A62E666E66A6C8B20660330D904C' +
'86A841D6858BC454896C3EA6C9C498899FC465B291A3B193910B3' +
'124A69910715C269317CEC866229B0C00B3496273');
Color := 2650848;
end;
if (LowerCase(Name) = 'magic shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC5C46' +
'0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD3CFA' +
'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AFDBAA' +
'5BBFF312D915399C927AF756C82');
Color := 1714669;
end;
if (LowerCase(Name) = 'water source') or (LowerCase(Name) = 'water') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CF410A80300C44' +
'D12B25B6A964E9907AFF2329CC42A5448A12F874111EA9A89C830' +
'A438C6DB646B7A51BF6C27A75F3C8F659D16BE665F68F7C37B121' +
'3AF8162D2DE2FDF21999E628B3DFE4C7DF1339BB9CE601EA0F684' +
'0');
Color := 14497281;
end;
if (LowerCase(Name) = 'furnace') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3334353435B470' +
'3101423308696A028466E6C6A6A626E66E6E1640062E12A206A2D' +
'EC90408A1261882CD3424CA6427472320DBCDCDC810C61EFC2653' +
'3F34882171990C0058F36390');
Color := 3508223;
end;
if (LowerCase(Name) = 'anvil') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2EA4A8' +
'7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C187D' +
'3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
Color := 4012591;
end;
if (LowerCase(Name) = 'rare trees') or (LowerCase(Name) = 'tree') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424757270' +
'B4757086960686209128390E6F84833470B20696C618E6E020262' +
'33D99C0C9238938976391269E16A69614192C96012EC6B2889C34' +
'CFC26639A0F516FE46CE80267BB9AB919B8426C413613393400AC' +
'8C5FC9');
Color := 96513;
end;
if (LowerCase(Name) = 'fishing spot') or (LowerCase(Name) = 'fish') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
'BB6B6878');
Color := 16743189;
end;
if (LowerCase(Name) = 'cook') or (LowerCase(Name) = 'cookery') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA590410AC0200C04BFB41' +
'B4D5B8F2ACDFF9FD4D25008885EBC0C21EC0E211010EC6CD66EE7' +
'C1A4F869A9524AD74BB2CF3139233E2782D9BB713F52CE37A1D98' +
'4A823D7E678A15FAE4CC4EDDDB5B9B258D932BB61C67DF3FACF0F' +
'3E40632F');
Color := 1194607;
end;
if (LowerCase(Name) = 'quest') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410A80300C04BF94' +
'B49A36475BD3FF3F497011564AC5CB1042322C2B4954B46B1B2D9' +
'8D53C45F1DEFCCC25D51206629FCBD69F9B437DF8EB576EA74C66' +
'DC83B0B19F9DCC6F33675B71DBCDC257FC9F993BC12F3263E61B7' +
'402AECC73CF9839DBDC33B70DE70515B06618');
Color := 15107954;
end;
if (LowerCase(Name) = 'mill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB58F3B0AC0300C43AF24A' +
'75D3CD621BEFF9102D52228822C5D1EC69F878C8140CCA8AEE5D8' +
'DD0BA97C223BED3E5E27C48CBAE7B878ABF54987B5337FB3E995D' +
'26DF2973F323B33C9A9D26573A47303B52569D1');
Color := 655103;
end;
if (LowerCase(Name) = 'dungeon') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAC5CC310E80300C04C1' +
'2F9D2DE5229736C1FF7F121269229922888266BB1D28047248649' +
'CB5D974A8D55A82682E96F670E136F1971CDE9DD5CCC14E7E9157' +
'7FC77C2BAF9DE68E7C01216D6A72');
Color := 2698741;
end;
if (LowerCase(Name) = 'weave') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303230343074367472' +
'73724526CD0C4C0C8CDC1C0D2DDD2C5D8DDD8C4C0CA0E2103644D' +
'CDCD1CCD4C40CC246D66B0036D300AFC9986622B3293119979B21' +
'ECC1E966649793EA6600F03E685F');
Color := 926783;
end;
if (LowerCase(Name) = 'pottery') or (LowerCase(Name) = 'pot') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE5B0AC0200C44D1' +
'2D6592691B3F2DD5FD2FA98F08554A410217C9C73102B966673E7' +
'64617AA094DA16349D4B15E96621EED05C13B5F19F9DEFF178E14' +
'3F869CE8479A9267FCFEE619992A55100D7F8519CC37562DBDD6F' +
'AECE76FEEFD55D5A50983FFBCB76A807CE5139EC460AC');
Color := 270148;
end;
if (LowerCase(Name) = 'spinning wheel') or (LowerCase(Name) = 'spin') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7D90510E803' +
'00843AF04B2E1F894B9FB5FC9C4EE0383DB4FD314F22025A642EC' +
'DEC507545B31BECD2FB1715AED872187FFC9ABB21CC891D0CBA44' +
'0AE2E46731A37333FEFB4A155DA9EAC5A9C053EDECAFC8F86CF57' +
'644CA3E256EC2AFE3CFBD99273272B1FF9B91F301FD6076714');
Color := 2710649;
end;
if (LowerCase(Name) = 'guide') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424717470B27' +
'33086961E168E4EC64E866E264EE0C614349170B0B4B336411143' +
'56059880906860848C06488995432193F89CB47F84D869A8FE14E' +
'8869F8CD24C664E2431E533DC44C00EBA66771');
Color := 13345416;
end;
if (LowerCase(Name) = 'shop') or (LowerCase(Name) = 'store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0410AC4300805D02B' +
'99A889596AECFDAF3461FE26A52D9DD97C41E1A1D251A2E8CCF46' +
'4A41D2306776FC415A929B39E3AD7E92ED0D7A4ABDC8C34669849' +
'73EBCC03D95269F9A15AFBA86A4591E87886C78B8C4D209F527B6' +
'389D2A5E42E236D55F327197FB8317F90D738449E64E72037DCFE' +
'F7CEF8E1267F0053466502');
Color := 3498103;
end;
if (LowerCase(Name) = 'shield') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DACDCC3112C0200844D12' +
'B611484920DE4FE47CA8CA63085BDCD9F6DF6511614BE233CEADA' +
'16ECFC9553204DD36055D92EF56E2AFD99DB038EDF97864927C8C' +
'339595EFD9D3CCD9DFC02CAE26976');
Color := 9542286;
end;
if (LowerCase(Name) = 'altar') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33703574323475767171' +
'7431B670B574B2A4888498630036D300C96464F3DD880610F58E2' +
'E4E8E4E501297C9C49B8F69267E37936732B25EFC26131F1AB84C' +
'06006E357035');
Color := 9542286;
end;

if (LowerCase(Name) = 'arrow') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303570333470353437' +
'3372249E343633B33475829026161646E626C8B20660330D904C8' +
'6A841D6858BC454896C3EA6C9C498899FC465B2919BB1A5B12931' +
'24A69910715C269317CEC866229B0C001E5A61CB');
Color := 2782945;
end;

if (LowerCase(Name) = 'bar') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB5CC310EC0200C43D12B41' +
'E3001D0389EF7FA44ACD82D4952E5F968757B5B4E28EA56B66E33' +
'685908EEEA4115736FF1523A016BD8113A636079B0877A1BE663D' +
'24E73E25A7F99F9CE659F96BEEF2031A5D69A8');
Color := 4433385;
end;

if (LowerCase(Name) = 'underground') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400422743' +
'272727134CD2D5C2C8D4D01993B47033303630B434B474B2C4A2C' +
'BC01001E96FB28B9BA3A10516335D5DCC8C4D9D293119D97C62CC' +
'24D5646412622631260300830265FA');
Color := 1844712;
end;

if (LowerCase(Name) = 'tanner') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D904B0EC0200805AF0' +
'4F85F4ABDFF991AFB162521D26E26462703919898BAAACEAB82B5' +
'E5C4ABB52289FED316E8699229DBE63ECB8AA7F8D75319843374C' +
'C594B4FC2C5177003C7FAE0A90CC2C92ACA392E5B3FDED9F22DCB' +
'47D9FFF30DFAEB6308');
Color := 3363443;
end;

if (LowerCase(Name) = 'churn') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9590410A00210845AFA4' +
'A5FE5A564CF73FD240CE40502DDA3C5CE8031F318150D1ACE94C4' +
'104C7D04365F159253E2C16A5737342B5735F6F6938E960D66430' +
'9B0D1B5292146ECD92156ABF1F013CD39DBE736D1E05FCF644FFE' +
'8BAC6A8FAF927AEB5338A958DF905A105631F');
Color := 1720403;
end;
if (LowerCase(Name) = 'house') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9D90410AC0300804BF6' +
'41B2DF66863F3FF2715BA978560A0BD0C32E2B228F766123D53BB' +
'33E5F5A08DC3ECD434550779BBBE9D3D1290C9846FDEC63EC02A8' +
'13D9B7F5C77AE9AF337B86DE4A5E1E0D7649EABE4F9F601C37765' +
'F5');
color := 4740173
end;
if (LowerCase(Name) = 'axe shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D04B0EC3300804D02B91' +
'0033F6127F72FF23A52A1BA4AA55BA1959483C036202E953A74F7' +
'EA6BBC35B260C403335377680767CEB92B7293FE59A71BEBE187D' +
'1136D2C7C583CAC6E0CCCABF7235B9A13A728B34EB2EA1E1F148E' +
'E8D8655CDECADF7C977D69FC8B1BA0269E2B27DEEDA9B13D63933' +
'EB356E4B7C6439');
color := 6841956;
end;
if (LowerCase(Name) = 'cookery shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410AC0300804C0' +
'2F194CDCE42896FCFF49856E0F421072D983BA83D2C56485C608E' +
'4C484236CA341999CBBFA7020A6CEFEDF74339B9CF3463E530A99' +
'4993ADDCA55C6D6F647E955B959CB757F22754F2F9ED8DBCCCD01' +
'B137B3CDAB290E76797E60B5A736560');
color := 7565679
end;
if (LowerCase(Name) = 'windmill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330313033B074367' +
'6367536C745BA0181A11132E968EC68EA8853BD01D84C0324930D' +
'5C4C8D8C9C217A91D9C48840D8B84CC6741BB22E6412974A885F6' +
'8E1665C264348882C3289CB6DB848889900AC8467DB');
color := 1245183;
end;
if (LowerCase(Name) = 'minigame') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410EC0200804B' +
'FB4AD22E568B1FFFF52132129C6DAF432214626CB22A340342929' +
'47B68DAE82066E2C0D99323BFBBB0A0E88CD3555AAC32EBA1393D' +
'99D6E36E7E38FCEC86FF3906D412D09FBB9E4FFCCA113DFED996D' +
'8E7FAC13E3CAFCD2B3DD1BB34D3DC7B6CD79039CA16371');
color := 4670928;
end;
if (LowerCase(Name) = 'fur trader') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330313033B0743' +
'67636753647262D2C4C8C0D2C31497357A07A0B64D2D1D8D1D4D1' +
'1C4242F41A80CD34C06132A6F9C49849BCC9B8CCC76526792623B' +
'B16BF7A52438378F321660200DE126419');
color := 607112;
end;
if (LowerCase(Name) = 'archery shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CE490AC0201' +
'044D12BB5560F71E910EF7FA4403A0B8318846CFEAA78143129A5' +
'8A2AD5769A9A29172F8385CD9B91253F1BBA4DDA964733A91A07D' +
'7FEC8A366A702C59D51DB9215140BF77804BCCC2E0D6136E7AE64' +
'37477FF5F35BBE0049C36545');
color := 4945565;
end;
if (LowerCase(Name) = 'staff Shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D03B0AC0300C0' +
'3D02BD9F1AF198D83EF7FA442BCB6C1B48B26F110020685191412' +
'D6C9A96A8C96B2089D5CFCA103DB84B65CA60F49CC32FFCBA55D8' +
'B7DD0D9ECCBFD9DDFE4F3AB6FF20D38E96664');
color := 4286358;
end;
if (LowerCase(Name) = 'clothes shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DD04B0AC0200' +
'C45D12D3DF2D13A0CE9FED754681CA4484A267720CF8308C1C072' +
'76F51925BE2023CAB2A0D66916F09A487236CF66A73AAFE4686C8' +
'C4D6DE25622AFE4D8E4FDBE55C8D1BE9CF7FF6FFEFC585B3EFFF9' +
'012BE4618A');
color := 5935156;
end;
if (LowerCase(Name) = 'farming spot') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DCCD10A80300885E1' +
'57D29CC775698BBDFF2315B98BC120AC9B1F41FDA810686FD2B45' +
'9BE2A02D6D2B7CA22C7E60C17571F5B7A4CFA2887190D6DEE3F19' +
'24276335D7CB8C6CD5EE577463938C9991875900D490637E3767F' +
'9024D406555');
color := 1390163;
end;
if (LowerCase(Name) = 'apothecary') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD0310AC030088' +
'5E12B69A3A68ED6D6FB1FA9D02C4230942CFF241F0F814040BD39' +
'7BAFAA8748C46847C2A75B33B6F21E3E13967236B33CBA2767CDD' +
'5EFE05926C5F3D23DB932B33C7FE6FFE66AED5A7E01E72B65AE');
color := 16737938;
end;
if (LowerCase(Name) = 'sword shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0410AC030080' +
'4C02FD9C66CE25125FFFF524BBD08A5C520EC41964124269078F3' +
'EEE33FC5EF918535971A1B0C6000539B761D91D1A4C7A4829CCD1' +
'06293E5DCFF929BF231CEBAB92B47EE9A956FBC2FAF9859BE0057' +
'DB6637');
color := 10067100;
end;
if (LowerCase(Name) = 'platebody shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DD0410AC02' +
'00C44D12BA56832761902BDFF910A9DCD8055DCFC850C4FD1BA85' +
'DDD5CA0B6CF48818F1E042633190A87D55B0CF349167534FD459D' +
'DBB92596EB2A527DC3DFC4FFE6EE446F7EC4A66CF65DDEFDFAC3D' +
'97E77F7E014609646B');
color := 8157816;
end;
if (LowerCase(Name) = 'scimitar shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD04D0AC340' +
'0805E02B8D7FCF71399349EF7FA4A6B8A825109A203C5CE887D8A' +
'81D356962CA3FD9475FDD96AE581012880405E267A6D1B7CE0277' +
'61DBAB56CDEC6963A2F14CAE5AA69B0FF76ADE95315CBDA59FBB2' +
'AEAAAF50367F35A0630711C0AB697B1B9E9678223F3DAACF21B5C' +
'65625E');
color := 8752522;
end;
if (LowerCase(Name) = 'gem stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA58E4B0AC0300844' +
'AFA4F96719F3B9FF919A640A154A3729836F21FA18629A1196201' +
'6ECCD772FE0E03AAA057B32F350338DF50B6A03F1932FF34DEDDC' +
'1BED0433E7900FCD835C76011B89BFCDAFB6AEAEFB504FCC6013F' +
'6C4DA8C9E306B1653E29C4D6DBE0027B7630B');
color := 1777896;
end;
if (LowerCase(Name) = 'silk stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034004227432' +
'733276364D2C2C4C0D0D488181253AF81210262CA42484B67030B' +
'33476248DA996C696869664994C9C48706B299F84D36733630347' +
'62486849889CB6400B4306127');
color := 5374340;
end;
if (LowerCase(Name) = 'plateskirt shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330340042' +
'2743273327634CD2D9D8CCC2D9009974323235763282909686966' +
'696587419182220F126239B4F9EC9B8DC8929423B93315D4E2034' +
'709843BCC900457662CC');
color := 12609731;
end;
if (LowerCase(Name) = 'agility') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034B03030743276' +
'3677328590066011086969EC686E494004591CD30464933165F19' +
'B802C428CC9B8CCC734873C93F1BB9F18F5C4A881B80D339C71E9' +
'020052926073');
;
Color := 67585;
end;
if (LowerCase(Name) = 'training dummy') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CC5B0AC43' +
'00805D02D69468DF9BC6DEAFE97D401032384F92845B8888F434C' +
'DF0210386A6A6B9D3833270E0F5F5B7371D2FD2B93F857FFE4D4A' +
'AE962D402E738ED1A0768E08D5CE743FA14A49CB9DF3C95CDA4B3' +
'A6EC1FB73E6BBE974D6572403C74F9AB2F9769DEA32D69B5');
Color := 9146250;
end;
if (LowerCase(Name) = 'food shop') or (LowerCase(Name) = 'food store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D0610AC0200806' +
'D02B559ADA4F37DAFD8F3499C11C6D63B02F900A79882959B28AC' +
'A825E09908A0893A0B4C25441ED49A0DA2AB3DFFDDF7B467FE64D' +
'C88594CF13E56651A08C1DD66146F9A82E47532C0DDFE531F92C8' +
'77A9183F945BED9C66F396EC385D91F321AD29FE41DF6B66191');
Color := 7837098;
end;
if (LowerCase(Name) = 'fishing shop') or (LowerCase(Name) = 'fish store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330340042470B470B' +
'27134CD2D2C2C4C8C010425A0081A509844456832962608880E49' +
'9099431773425DE64E2CD4426F19B8C6CA6990950812BAE50C234' +
'19D9765C6E8698894C62BA193334304D0600DE086263');
Color := 9734280;
end;
if (LowerCase(Name) = 'jewelery') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9D904B0AC0300844A' +
'F646843E2D24FBCFF911A6217820DB4DD0C32EA43070A28B08088' +
'6054AB664DB46B07E64276220109A1D7EEFB4CDE85C5840D79E0E' +
'05223D3D5BBEEFB4CF4DF933333AA5FFE957CFFDB95DB5356CBFF' +
'479E471FB395F2DCE59FC917FB9B6AAB');
color := 4829105;
end;
if (LowerCase(Name) = 'crafting shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CEC10AC020' +
'0C03D05F8AD3D979AC71FFFF4BC27A29C8A45E420EE111240C748' +
'2648B24BEFDD5B36414149626F793E45D3708CBDEACA98EAA662A' +
'94DA2C4FE5D5F49A374FE53F73FF642F9B693D627A79020EC868E' +
'C');
color := 3159851;
end;
if (LowerCase(Name) = 'portal') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC0300805' +
'C02B69D2D6B8D47CEE7FA4045CD442ED22457848D0410208AB549' +
'4942D2F4858DAA9B05A6A4895251DB93FD2DE6DC6E6BD0078D7B7' +
'A98374A0CFC86761E2173977C052F764DB8DE43F375B46F2DE3F7' +
'BD3CB13F26764CE');
color := 15287202;
end;
if (LowerCase(Name) = 'makeover mage') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034703170' +
'7236707676B68490066011571367734B174CD2D2D8CCD5C418993' +
'4C06182015E9391D5608A209BEC68E0E8EC4882C9C4BB99129391' +
'DD499EC9F8CDC76526A6C9003E5F6688');
color := 10340324;
end;
if (LowerCase(Name) = 'mace shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD14B0A80300C04' +
'D02B4D4CF3E93226DEFF4A82155404296EB21A1E330484C29AC8C' +
'CFE7DAD7BB89A38D9A6696EA2A4A511888C4712878909D9521BB3' +
'A6086368B248C969FE932F7381546BE477ED6DCEC80F135C64DFD' +
'A8C7CDFFEEE39F39161EE1ADD6893');
color := 8817273;
end;
if (LowerCase(Name) = 'hair dresser') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303470317072' +
'36707676B68490066011030C71E2D5E0977534707476C4A206998' +
'DAC8654B7E1B2059984C84248F27C8D6C3EB269C4BB19531CD91C' +
'4CF7E37233005E916796');
color := 13225152;
end;
if (LowerCase(Name) = 'mining shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B03430313074' +
'B670367672C5241D2D1C8D2DA1A40158258474737473333285909' +
'8BA9055E232199944360DBFF9C49B8C6926B22F20E21011FC263B' +
'5998BAC0447099499EC9C498896C022E9301172B6823');
color := 10396584;
end;
if (LowerCase(Name) = 'silver stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA958E410AC0400' +
'803BF14D1823D6E6DF3FF2715EA4510A17B09C198211008347031' +
'A4AB4169E2E6EA071F06EFF4F5DE5BF89818C8D9ADB4AE13FF0FB' +
'976FBF2F4F9B370726D90FBB64977C913BFA6D3E61755066363');
color := 8749956;
end;
if (LowerCase(Name) = 'spice stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD0C10E80200C' +
'03D05FEA06883B22D2FFFF2413F140B240D44BD3C3FA0E8340102' +
'A0E5619D3984CAC714B50B224D1A72B9BEEBDF71BBFC56DC2C96F' +
'CCB5EFE5A9F9D1F77244609C66B67CE6B6CE0263997EE39FDFCD5' +
'1BE002BE06493');
color := 157167;
end;
if (LowerCase(Name) = 'farming shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CE410E80200' +
'C44D12B4D5B405C160CF73F92C461D1C498E0E6D374F1280402EB' +
'68A30B6B559340150D25F5F95ED55392D556735365BBA96B661DE' +
'7F025E031F192A9D1E75CAA1D52A2CFD2E42FFB7234BFE478FF8E' +
'9CE7128332E72FEDAF1C2FDF91A319E51BD93562F0');
color := 1918090;
end;
if (LowerCase(Name) = 'slayer master') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC030' +
'0804D02B8D89A5CD320D9DFB1FA9BF8D622D8582B810E6210381A' +
'00EAC1CA2A85461E3F34C1CB366FBCE7634F6533C4C04D9FAEE62' +
'84ECF22EDB3F9D53B89525CADF7F4E1BB864B77FB411B359C351D' +
'E019F8C655C');
color := 7666933;
end;
if (LowerCase(Name) = 'herbalist') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7D8E5D0AC0300883' +
'AFA4FDD33E5AC6EE7FA415C258C0D10A22267E8DA8EC5A253C9CB' +
'B5EF5166D7D4C89DE6DE9C45C6DF8BB1733FBBB15FD0A1B10B001' +
'99F9CCC42C5AB77B16DFEF4C86BF370B355C653272428513EA990' +
'C3FF3393954EEFC2327CFE4CCCFC933136A263F5CC35F29');
color := 682309
end;
if (LowerCase(Name) = 'candle shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400422723' +
'470B470B4CD2CDD0C2D5C01042BA9ABB9A9A3A218BE0D26560888' +
'0B8D4209B8F6CB2A591051040488A4C367035753571317136B134' +
'8390B8CC1CEA26030022F6653F');
color := 6022631;
end;
if (LowerCase(Name) = 'saw mill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB58EB10DC03008045' +
'70A600C2EFDF1FE33450A299088A53469AEB08FD3D3498D7861C9' +
'3A2A4D3ABA0FF1E99619EFBB2BBA9B54CA0A157D69C66FED87FFA' +
'55CD7663FF7C30120F87173EEEFCA266DF2431F0AB6E11D3C770C' +
'A76EBE00CD48658B');
color := 8882835;
end;
if (LowerCase(Name) = 'kebab shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7DD0410E4321080' +
'4D02B8922C812F473FF2335E97441627E3713A399274A4A83DA91' +
'D3F75353D670B2877733DDE143122987981AF248F092BB4B5F932' +
'E192D986F895BBA51D06FFD5FAE26E6412BCFE9AE48ECBBE9E055' +
'5F51FD5BCE787277C8A1A632EF3921E3D453F79C3164D2821F12D' +
'D5F7F03DDAA455B3E1B1C4C8BB42636962647679855FE005B3666' +
'35');
color := 7316427;
end;
if (LowerCase(Name) = 'short cut') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410AC0300804' +
'BFA421A1E95137EDFF9F54E8F62088259741161D64C5B4E98573E' +
'9821B1A206E3EE49F5DAC1F835724F36F7E9D12CCD370DBE40EE7' +
'9854FE9864330DF993C8ECC9CC66F65039F7FD551B3BDCFFF9018' +
'756682E');
color := 5286667
end;
if (LowerCase(Name) = 'hunter store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510AC3300' +
'806E02BC558CDEFA309F6FE47DAC08E3942A143F041934FB1517B' +
'87C78447CD76BA591CCA445015EE5DD641C459F9D4F554C997F56' +
'FA36FEC3204819E663A77F25CAE633C972F01BC48AAB9FBB9C373' +
'79DFB6E69C98DDE1E0813FAE1106FCF897564C992A6277F20B925' +
'96443');
color:=1261916;
end;
if (LowerCase(Name) = 'hunter training') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCF410A00' +
'210C03C02FC52D76E9B18AFFFF92B0EB2150025E728876AC78916' +
'8D3678C55D360F6F89FE919211B9EC267A2C87CB32F6FFD08EC70' +
'CF6FDDC8D554597F712FF3AC3AE546C96A1FE573B2BC0197F063A' +
'B');
color:=10398118
end;
if (Bitmap = 0) then
begin
WriteLn('Please enter a valid symbol name');
Exit;
end;
Findx := MMX1
Repeat

FindDeformedBitmapToleranceIn(Bitmap, cx, cy, FindX, MMY1, MMX2, MMY2, 70, 0, True,
acc);
if (acc > SymbolAccuracy) then
begin
Result := Result + 1
Findx := CX + 15
end;

Until ((acc < SymbolAccuracy) or (Findx > 718))
FreeBitmap(Bitmap);
end;

XcanadamanX

2007-03-18 12:38:18

very nice.

WT-Fakawi

2007-03-18 12:47:04

Make me a Symbol recogniser :) WhichSymbol; TheSymbol:string.

It recognises a SymbolCircle by its mask. It compares the ref color (Pixel 8,0: see Symbol.scar) to the list and performs deformed checks on the found set.

I would really like that :)

Ruroken

2007-03-18 13:12:24

Ok. I'll write one of those if i have time.

XcanadamanX

2007-03-20 17:20:00

ive got a problem
it finds the one in the top right corner and then only finds that one. which doent help finding lumby. just so you know.

TOB

2007-03-20 17:53:28

I made a temporary FindSymbolIn(until next SRL) so check my thread of functions and procedures.

m0u53m4t

2007-03-21 04:26:26

From: XcanadamanX
ive got a problem
it finds the one in the top right corner and then only finds that one. which doent help finding lumby. just so you know.


As yet it can't find 2 if they're on the same y axis :duh:

I'll fix that tonight.

ruler

2007-03-22 05:30:27

Well i do map symbols finding by first removing all those things that npcs, items, players from the minimap.
http://www.rscheata.net/javadocs/impsoft/nexus/bots/color/methods/WalkingMethods.html#getZoneCoveredByMMObjects()

We use SRL's symbols. SRL's Symbols are rectangles of the middle of the symbol. However we will be changing to using the entire circle. Now that we have a copy of them.

Silabsoft extracted the map symbols diirectly from the cache.
http://www.rscheata.net/tp/index.php/topic,2861.msg26903.html#msg26903

Boreas

2007-03-22 07:18:11

From: m0u53m4t
As yet it can't find 2 if they're on the same y axis :duh:

I'll fix that tonight.


How about doing it both ways?

m0u53m4t

2007-03-22 08:02:49

Thats what I'm going to do. Log the X and Y coords of the symbols in an array and then check both the X and Y direction and see if it comes up with the same location twice, then get the length of the arrays, and thats the result :p

Edit:Needs quite a bit of work, and possibly restructuring, but meh. Its a little better now.
Function InArrayTol(YourArray : Array of integer;FindValue,Tol:Integer):Boolean;
Var i,h: integer;
Begin
For i := 0 to GetArrayLength(YourArray)-1 do
Begin
For h := 0 to Tol do
Begin
if YourArray[i]=FindValue+h then Result := True
if YourArray[i]=FindValue-h then Result := True
If Result = true then break
End;
If Result = true then break
End;
End;


function CountSymbols(Name: string): Integer;
// l33t symbol counter by m0u53m4t - Enjoy!
var
Bitmap, Color, findx, findy, cx,cy,timeout,CurrTot: Integer;
acc: Extended;
XArray, YArray : Array of Integer;
begin
Bitmap := 0;
if (LowerCase(Name) = 'bank') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B434B4343473B' +
'100421364D2D9D2C9C9D4C4CDCDD5D1CCD0C2D5DCC5D00299ED04' +
'8226C824B25E43B0998664990C213175116F32B2F9C824B2F9A4B' +
'A1997F9B842865493890F734C9301ACE46928');
Color := 6417151;
end;
if (LowerCase(Name) = 'mining spot') or (LowerCase(Name) = 'mining site') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D03B0EC430' +
'0804D02B610C832931D9DCFF48894293C8DAD5464853F07905342' +
'91A67A46FF43BA31914AE602183A9E5686799A64E3C04BA4CFA43' +
'7E98439C770971257CB09F934B8E089F2FE43287A2F534166629A' +
'1121D03DB5BB94C0B1D9D811E2DEF66ED94BCF6BFC97753A33BF3' +
'7ABBCAEB9F0FD413672D');
Color := 4219541;
// Color:=4092315;
end;
if (LowerCase(Name) = 'transportation') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
'4B73032219E34763173348592A62E666E66A6C8B20660330D904C' +
'86A841D6858BC454896C3EA6C9C498899FC465B291A3B193910B3' +
'124A69910715C269317CEC866229B0C00B3496273');
Color := 2650848;
end;
if (LowerCase(Name) = 'magic shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC5C46' +
'0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD3CFA' +
'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AFDBAA' +
'5BBFF312D915399C927AF756C82');
Color := 1714669;
end;
if (LowerCase(Name) = 'water source') or (LowerCase(Name) = 'water') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CF410A80300C44' +
'D12B25B6A964E9907AFF2329CC42A5448A12F874111EA9A89C830' +
'A438C6DB646B7A51BF6C27A75F3C8F659D16BE665F68F7C37B121' +
'3AF8162D2DE2FDF21999E628B3DFE4C7DF1339BB9CE601EA0F684' +
'0');
Color := 14497281;
end;
if (LowerCase(Name) = 'furnace') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3334353435B470' +
'3101423308696A028466E6C6A6A626E66E6E1640062E12A206A2D' +
'EC90408A1261882CD3424CA6427472320DBCDCDC810C61EFC2653' +
'3F34882171990C0058F36390');
Color := 3508223;
end;
if (LowerCase(Name) = 'anvil') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2EA4A8' +
'7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C187D' +
'3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
Color := 4012591;
end;
if (LowerCase(Name) = 'rare trees') or (LowerCase(Name) = 'tree') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424757270' +
'B4757086960686209128390E6F84833470B20696C618E6E020262' +
'33D99C0C9238938976391269E16A69614192C96012EC6B2889C34' +
'CFC26639A0F516FE46CE80267BB9AB919B8426C413613393400AC' +
'8C5FC9');
Color := 96513;
end;
if (LowerCase(Name) = 'fishing spot') or (LowerCase(Name) = 'fish') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
'9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
'045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
'BB6B6878');
Color := 16743189;
end;
if (LowerCase(Name) = 'cook') or (LowerCase(Name) = 'cookery') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA590410AC0200C04BFB41' +
'B4D5B8F2ACDFF9FD4D25008885EBC0C21EC0E211010EC6CD66EE7' +
'C1A4F869A9524AD74BB2CF3139233E2782D9BB713F52CE37A1D98' +
'4A823D7E678A15FAE4CC4EDDDB5B9B258D932BB61C67DF3FACF0F' +
'3E40632F');
Color := 1194607;
end;
if (LowerCase(Name) = 'quest') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410A80300C04BF94' +
'B49A36475BD3FF3F497011564AC5CB1042322C2B4954B46B1B2D9' +
'8D53C45F1DEFCCC25D51206629FCBD69F9B437DF8EB576EA74C66' +
'DC83B0B19F9DCC6F33675B71DBCDC257FC9F993BC12F3263E61B7' +
'402AECC73CF9839DBDC33B70DE70515B06618');
Color := 15107954;
end;
if (LowerCase(Name) = 'mill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB58F3B0AC0300C43AF24A' +
'75D3CD621BEFF9102D52228822C5D1EC69F878C8140CCA8AEE5D8' +
'DD0BA97C223BED3E5E27C48CBAE7B878ABF54987B5337FB3E995D' +
'26DF2973F323B33C9A9D26573A47303B52569D1');
Color := 655103;
end;
if (LowerCase(Name) = 'dungeon') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAC5CC310E80300C04C1' +
'2F9D2DE5229736C1FF7F121269229922888266BB1D28047248649' +
'CB5D974A8D55A82682E96F670E136F1971CDE9DD5CCC14E7E9157' +
'7FC77C2BAF9DE68E7C01216D6A72');
Color := 2698741;
end;
if (LowerCase(Name) = 'weave') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303230343074367472' +
'73724526CD0C4C0C8CDC1C0D2DDD2C5D8DDD8C4C0CA0E2103644D' +
'CDCD1CCD4C40CC246D66B0036D300AFC9986622B3293119979B21' +
'ECC1E966649793EA6600F03E685F');
Color := 926783;
end;
if (LowerCase(Name) = 'pottery') or (LowerCase(Name) = 'pot') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE5B0AC0200C44D1' +
'2D6592691B3F2DD5FD2FA98F08554A410217C9C73102B966673E7' +
'64617AA094DA16349D4B15E96621EED05C13B5F19F9DEFF178E14' +
'3F869CE8479A9267FCFEE619992A55100D7F8519CC37562DBDD6F' +
'AECE76FEEFD55D5A50983FFBCB76A807CE5139EC460AC');
Color := 270148;
end;
if (LowerCase(Name) = 'spinning wheel') or (LowerCase(Name) = 'spin') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7D90510E803' +
'00843AF04B2E1F894B9FB5FC9C4EE0383DB4FD314F22025A642EC' +
'DEC507545B31BECD2FB1715AED872187FFC9ABB21CC891D0CBA44' +
'0AE2E46731A37333FEFB4A155DA9EAC5A9C053EDECAFC8F86CF57' +
'644CA3E256EC2AFE3CFBD99273272B1FF9B91F301FD6076714');
Color := 2710649;
end;
if (LowerCase(Name) = 'guide') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400424717470B27' +
'33086961E168E4EC64E866E264EE0C614349170B0B4B336411143' +
'56059880906860848C06488995432193F89CB47F84D869A8FE14E' +
'8869F8CD24C664E2431E533DC44C00EBA66771');
Color := 13345416;
end;
if (LowerCase(Name) = 'shop') or (LowerCase(Name) = 'store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0410AC4300805D02B' +
'99A889596AECFDAF3461FE26A52D9DD97C41E1A1D251A2E8CCF46' +
'4A41D2306776FC415A929B39E3AD7E92ED0D7A4ABDC8C34669849' +
'73EBCC03D95269F9A15AFBA86A4591E87886C78B8C4D209F527B6' +
'389D2A5E42E236D55F327197FB8317F90D738449E64E72037DCFE' +
'F7CEF8E1267F0053466502');
Color := 3498103;
end;
if (LowerCase(Name) = 'shield') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DACDCC3112C0200844D12' +
'B611484920DE4FE47CA8CA63085BDCD9F6DF6511614BE233CEADA' +
'16ECFC9553204DD36055D92EF56E2AFD99DB038EDF97864927C8C' +
'339595EFD9D3CCD9DFC02CAE26976');
Color := 9542286;
end;
if (LowerCase(Name) = 'altar') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33703574323475767171' +
'7431B670B574B2A4888498630036D300C96464F3DD880610F58E2' +
'E4E8E4E501297C9C49B8F69267E37936732B25EFC26131F1AB84C' +
'06006E357035');
Color := 9542286;
end;

if (LowerCase(Name) = 'arrow') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303570333470353437' +
'3372249E343633B33475829026161646E626C8B20660330D904C8' +
'6A841D6858BC454896C3EA6C9C498899FC465B2919BB1A5B12931' +
'24A69910715C269317CEC866229B0C001E5A61CB');
Color := 2782945;
end;

if (LowerCase(Name) = 'bar') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB5CC310EC0200C43D12B41' +
'E3001D0389EF7FA44ACD82D4952E5F968757B5B4E28EA56B66E33' +
'685908EEEA4115736FF1523A016BD8113A636079B0877A1BE663D' +
'24E73E25A7F99F9CE659F96BEEF2031A5D69A8');
Color := 4433385;
end;

if (LowerCase(Name) = 'underground') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400422743' +
'272727134CD2D5C2C8D4D01993B47033303630B434B474B2C4A2C' +
'BC01001E96FB28B9BA3A10516335D5DCC8C4D9D293119D97C62CC' +
'24D5646412622631260300830265FA');
Color := 1844712;
end;

if (LowerCase(Name) = 'tanner') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D904B0EC0200805AF0' +
'4F85F4ABDFF991AFB162521D26E26462703919898BAAACEAB82B5' +
'E5C4ABB52289FED316E8699229DBE63ECB8AA7F8D75319843374C' +
'C594B4FC2C5177003C7FAE0A90CC2C92ACA392E5B3FDED9F22DCB' +
'47D9FFF30DFAEB6308');
Color := 3363443;
end;

if (LowerCase(Name) = 'churn') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9590410A00210845AFA4' +
'A5FE5A564CF73FD240CE40502DDA3C5CE8031F318150D1ACE94C4' +
'104C7D04365F159253E2C16A5737342B5735F6F6938E960D66430' +
'9B0D1B5292146ECD92156ABF1F013CD39DBE736D1E05FCF644FFE' +
'8BAC6A8FAF927AEB5338A958DF905A105631F');
Color := 1720403;
end;
if (LowerCase(Name) = 'house') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9D90410AC0300804BF6' +
'41B2DF66863F3FF2715BA978560A0BD0C32E2B228F766123D53BB' +
'33E5F5A08DC3ECD434550779BBBE9D3D1290C9846FDEC63EC02A8' +
'13D9B7F5C77AE9AF337B86DE4A5E1E0D7649EABE4F9F601C37765' +
'F5');
color := 4740173
end;
if (LowerCase(Name) = 'axe shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D04B0EC3300804D02B91' +
'0033F6127F72FF23A52A1BA4AA55BA1959483C036202E953A74F7' +
'EA6BBC35B260C403335377680767CEB92B7293FE59A71BEBE187D' +
'1136D2C7C583CAC6E0CCCABF7235B9A13A728B34EB2EA1E1F148E' +
'E8D8655CDECADF7C977D69FC8B1BA0269E2B27DEEDA9B13D63933' +
'EB356E4B7C6439');
color := 6841956;
end;
if (LowerCase(Name) = 'cookery shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCE410AC0300804C0' +
'2F194CDCE42896FCFF49856E0F421072D983BA83D2C56485C608E' +
'4C484236CA341999CBBFA7020A6CEFEDF74339B9CF3463E530A99' +
'4993ADDCA55C6D6F647E955B959CB757F22754F2F9ED8DBCCCD01' +
'B137B3CDAB290E76797E60B5A736560');
color := 7565679
end;
if (LowerCase(Name) = 'windmill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330313033B074367' +
'6367536C745BA0181A11132E968EC68EA8853BD01D84C0324930D' +
'5C4C8D8C9C217A91D9C48840D8B84CC6741BB22E6412974A885F6' +
'8E1665C264348882C3289CB6DB848889900AC8467DB');
color := 1245183;
end;
if (LowerCase(Name) = 'minigame') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410EC0200804B' +
'FB4AD22E568B1FFFF52132129C6DAF432214626CB22A340342929' +
'47B68DAE82066E2C0D99323BFBBB0A0E88CD3555AAC32EBA1393D' +
'99D6E36E7E38FCEC86FF3906D412D09FBB9E4FFCCA113DFED996D' +
'8E7FAC13E3CAFCD2B3DD1BB34D3DC7B6CD79039CA16371');
color := 4670928;
end;
if (LowerCase(Name) = 'fur trader') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330313033B0743' +
'67636753647262D2C4C8C0D2C31497357A07A0B64D2D1D8D1D4D1' +
'1C4242F41A80CD34C06132A6F9C49849BCC9B8CCC76526792623B' +
'B16BF7A52438378F321660200DE126419');
color := 607112;
end;
if (LowerCase(Name) = 'archery shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CE490AC0201' +
'044D12BB5560F71E910EF7FA4403A0B8318846CFEAA78143129A5' +
'8A2AD5769A9A29172F8385CD9B91253F1BBA4DDA964733A91A07D' +
'7FEC8A366A702C59D51DB9215140BF77804BCCC2E0D6136E7AE64' +
'37477FF5F35BBE0049C36545');
color := 4945565;
end;
if (LowerCase(Name) = 'staff Shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D03B0AC0300C0' +
'3D02BD9F1AF198D83EF7FA442BCB6C1B48B26F110020685191412' +
'D6C9A96A8C96B2089D5CFCA103DB84B65CA60F49CC32FFCBA55D8' +
'B7DD0D9ECCBFD9DDFE4F3AB6FF20D38E96664');
color := 4286358;
end;
if (LowerCase(Name) = 'clothes shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DD04B0AC0200' +
'C45D12D3DF2D13A0CE9FED754681CA4484A267720CF8308C1C072' +
'76F51925BE2023CAB2A0D66916F09A487236CF66A73AAFE4686C8' +
'C4D6DE25622AFE4D8E4FDBE55C8D1BE9CF7FF6FFEFC585B3EFFF9' +
'012BE4618A');
color := 5935156;
end;
if (LowerCase(Name) = 'farming spot') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DCCD10A80300885E1' +
'57D29CC775698BBDFF2315B98BC120AC9B1F41FDA810686FD2B45' +
'9BE2A02D6D2B7CA22C7E60C17571F5B7A4CFA2887190D6DEE3F19' +
'24276335D7CB8C6CD5EE577463938C9991875900D490637E3767F' +
'9024D406555');
color := 1390163;
end;
if (LowerCase(Name) = 'apothecary') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD0310AC030088' +
'5E12B69A3A68ED6D6FB1FA9D02C4230942CFF241F0F814040BD39' +
'7BAFAA8748C46847C2A75B33B6F21E3E13967236B33CBA2767CDD' +
'5EFE05926C5F3D23DB932B33C7FE6FFE66AED5A7E01E72B65AE');
color := 16737938;
end;
if (LowerCase(Name) = 'sword shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0410AC030080' +
'4C02FD9C66CE25125FFFF524BBD08A5C520EC41964124269078F3' +
'EEE33FC5EF918535971A1B0C6000539B761D91D1A4C7A4829CCD1' +
'06293E5DCFF929BF231CEBAB92B47EE9A956FBC2FAF9859BE0057' +
'DB6637');
color := 10067100;
end;
if (LowerCase(Name) = 'platebody shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DD0410AC02' +
'00C44D12BA56832761902BDFF910A9DCD8055DCFC850C4FD1BA85' +
'DDD5CA0B6CF48818F1E042633190A87D55B0CF349167534FD459D' +
'DBB92596EB2A527DC3DFC4FFE6EE446F7EC4A66CF65DDEFDFAC3D' +
'97E77F7E014609646B');
color := 8157816;
end;
if (LowerCase(Name) = 'scimitar shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD04D0AC340' +
'0805E02B8D7FCF71399349EF7FA4A6B8A825109A203C5CE887D8A' +
'81D356962CA3FD9475FDD96AE581012880405E267A6D1B7CE0277' +
'61DBAB56CDEC6963A2F14CAE5AA69B0FF76ADE95315CBDA59FBB2' +
'AEAAAF50367F35A0630711C0AB697B1B9E9678223F3DAACF21B5C' +
'65625E');
color := 8752522;
end;
if (LowerCase(Name) = 'gem stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA58E4B0AC0300844' +
'AFA4F96719F3B9FF919A640A154A3729836F21FA18629A1196201' +
'6ECCD772FE0E03AAA057B32F350338DF50B6A03F1932FF34DEDDC' +
'1BED0433E7900FCD835C76011B89BFCDAFB6AEAEFB504FCC6013F' +
'6C4DA8C9E306B1653E29C4D6DBE0027B7630B');
color := 1777896;
end;
if (LowerCase(Name) = 'silk stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034004227432' +
'733276364D2C2C4C0D0D488181253AF81210262CA42484B67030B' +
'33476248DA996C696869664994C9C48706B299F84D36733630347' +
'62486849889CB6400B4306127');
color := 5374340;
end;
if (LowerCase(Name) = 'plateskirt shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330340042' +
'2743273327634CD2D9D8CCC2D9009974323235763282909686966' +
'696587419182220F126239B4F9EC9B8DC8929423B93315D4E2034' +
'709843BCC900457662CC');
color := 12609731;
end;
if (LowerCase(Name) = 'agility') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034B03030743276' +
'3677328590066011086969EC686E494004591CD30464933165F19' +
'B802C428CC9B8CCC734873C93F1BB9F18F5C4A881B80D339C71E9' +
'020052926073');
;
Color := 67585;
end;
if (LowerCase(Name) = 'training dummy') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5CC5B0AC43' +
'00805D02D69468DF9BC6DEAFE97D401032384F92845B8888F434C' +
'DF0210386A6A6B9D3833270E0F5F5B7371D2FD2B93F857FFE4D4A' +
'AE962D402E738ED1A0768E08D5CE743FA14A49CB9DF3C95CDA4B3' +
'A6EC1FB73E6BBE974D6572403C74F9AB2F9769DEA32D69B5');
Color := 9146250;
end;
if (LowerCase(Name) = 'food shop') or (LowerCase(Name) = 'food store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D0610AC0200806' +
'D02B559ADA4F37DAFD8F3499C11C6D63B02F900A79882959B28AC' +
'A825E09908A0893A0B4C25441ED49A0DA2AB3DFFDDF7B467FE64D' +
'C88594CF13E56651A08C1DD66146F9A82E47532C0DDFE531F92C8' +
'77A9183F945BED9C66F396EC385D91F321AD29FE41DF6B66191');
Color := 7837098;
end;
if (LowerCase(Name) = 'fishing shop') or (LowerCase(Name) = 'fish store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA3330340042470B470B' +
'27134CD2D2C2C4C8C010425A0081A509844456832962608880E49' +
'9099431773425DE64E2CD4426F19B8C6CA6990950812BAE50C234' +
'19D9765C6E8698894C62BA193334304D0600DE086263');
Color := 9734280;
end;
if (LowerCase(Name) = 'jewelery') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9D904B0AC0300844A' +
'F646843E2D24FBCFF911A6217820DB4DD0C32EA43070A28B08088' +
'6054AB664DB46B07E64276220109A1D7EEFB4CDE85C5840D79E0E' +
'05223D3D5BBEEFB4CF4DF933333AA5FFE957CFFDB95DB5356CBFF' +
'479E471FB395F2DCE59FC917FB9B6AAB');
color := 4829105;
end;
if (LowerCase(Name) = 'crafting shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CEC10AC020' +
'0C03D05F8AD3D979AC71FFFF4BC27A29C8A45E420EE111240C748' +
'2648B24BEFDD5B36414149626F793E45D3708CBDEACA98EAA662A' +
'94DA2C4FE5D5F49A374FE53F73FF642F9B693D627A79020EC868E' +
'C');
color := 3159851;
end;
if (LowerCase(Name) = 'portal') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC0300805' +
'C02B69D2D6B8D47CEE7FA4045CD442ED22457848D0410208AB549' +
'4942D2F4858DAA9B05A6A4895251DB93FD2DE6DC6E6BD0078D7B7' +
'A98374A0CFC86761E2173977C052F764DB8DE43F375B46F2DE3F7' +
'BD3CB13F26764CE');
color := 15287202;
end;
if (LowerCase(Name) = 'makeover mage') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA333034703170' +
'7236707676B68490066011571367734B174CD2D2D8CCD5C418993' +
'4C06182015E9391D5608A209BEC68E0E8EC4882C9C4BB99129391' +
'DD499EC9F8CDC76526A6C9003E5F6688');
color := 10340324;
end;
if (LowerCase(Name) = 'mace shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD14B0A80300C04' +
'D02B4D4CF3E93226DEFF4A82155404296EB21A1E330484C29AC8C' +
'CFE7DAD7BB89A38D9A6696EA2A4A511888C4712878909D9521BB3' +
'A6086368B248C969FE932F7381546BE477ED6DCEC80F135C64DFD' +
'A8C7CDFFEEE39F39161EE1ADD6893');
color := 8817273;
end;
if (LowerCase(Name) = 'hair dresser') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303470317072' +
'36707676B68490066011030C71E2D5E0977534707476C4A206998' +
'DAC8654B7E1B2059984C84248F27C8D6C3EB269C4BB19531CD91C' +
'4CF7E37233005E916796');
color := 13225152;
end;
if (LowerCase(Name) = 'mining shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33B03430313074' +
'B670367672C5241D2D1C8D2DA1A40158258474737473333285909' +
'8BA9055E232199944360DBFF9C49B8C6926B22F20E21011FC263B' +
'5998BAC0447099499EC9C498896C022E9301172B6823');
color := 10396584;
end;
if (LowerCase(Name) = 'silver stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA958E410AC0400' +
'803BF14D1823D6E6DF3FF2715EA4510A17B09C198211008347031' +
'A4AB4169E2E6EA071F06EFF4F5DE5BF89818C8D9ADB4AE13FF0FB' +
'976FBF2F4F9B370726D90FBB64977C913BFA6D3E61755066363');
color := 8749956;
end;
if (LowerCase(Name) = 'spice stall') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA9DD0C10E80200C' +
'03D05FEA06883B22D2FFFF2413F140B240D44BD3C3FA0E8340102' +
'A0E5619D3984CAC714B50B224D1A72B9BEEBDF71BBFC56DC2C96F' +
'CCB5EFE5A9F9D1F77244609C66B67CE6B6CE0263997EE39FDFCD5' +
'1BE002BE06493');
color := 157167;
end;
if (LowerCase(Name) = 'farming shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95CE410E80200' +
'C44D12B4D5B405C160CF73F92C461D1C498E0E6D374F1280402EB' +
'68A30B6B559340150D25F5F95ED55392D556735365BBA96B661DE' +
'7F025E031F192A9D1E75CAA1D52A2CFD2E42FFB7234BFE478FF8E' +
'9CE7128332E72FEDAF1C2FDF91A319E51BD93562F0');
color := 1918090;
end;
if (LowerCase(Name) = 'slayer master') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC030' +
'0804D02B8D89A5CD320D9DFB1FA9BF8D622D8582B810E6210381A' +
'00EAC1CA2A85461E3F34C1CB366FBCE7634F6533C4C04D9FAEE62' +
'84ECF22EDB3F9D53B89525CADF7F4E1BB864B77FB411B359C351D' +
'E019F8C655C');
color := 7666933;
end;
if (LowerCase(Name) = 'herbalist') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7D8E5D0AC0300883' +
'AFA4FDD33E5AC6EE7FA415C258C0D10A22267E8DA8EC5A253C9CB' +
'B5EF5166D7D4C89DE6DE9C45C6DF8BB1733FBBB15FD0A1B10B001' +
'99F9CCC42C5AB77B16DFEF4C86BF370B355C653272428513EA990' +
'C3FF3393954EEFC2327CFE4CCCFC933136A263F5CC35F29');
color := 682309
end;
if (LowerCase(Name) = 'candle shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA33303400422723' +
'470B470B4CD2CDD0C2D5C01042BA9ABB9A9A3A218BE0D26560888' +
'0B8D4209B8F6CB2A591051040488A4C367035753571317136B134' +
'8390B8CC1CEA26030022F6653F');
color := 6022631;
end;
if (LowerCase(Name) = 'saw mill') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DAB58EB10DC03008045' +
'70A600C2EFDF1FE33450A299088A53469AEB08FD3D3498D7861C9' +
'3A2A4D3ABA0FF1E99619EFBB2BBA9B54CA0A157D69C66FED87FFA' +
'55CD7663FF7C30120F87173EEEFCA266DF2431F0AB6E11D3C770C' +
'A76EBE00CD48658B');
color := 8882835;
end;
if (LowerCase(Name) = 'kebab shop') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA7DD0410E4321080' +
'4D02B8922C812F473FF2335E97441627E3713A399274A4A83DA91' +
'D3F75353D670B2877733DDE143122987981AF248F092BB4B5F932' +
'E192D986F895BBA51D06FFD5FAE26E6412BCFE9AE48ECBBE9E055' +
'5F51FD5BCE787277C8A1A632EF3921E3D453F79C3164D2821F12D' +
'D5F7F03DDAA455B3E1B1C4C8BB42636962647679855FE005B3666' +
'35');
color := 7316427;
end;
if (LowerCase(Name) = 'short cut') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8D90410AC0300804' +
'BFA421A1E95137EDFF9F54E8F62088259741161D64C5B4E98573E' +
'9821B1A206E3EE49F5DAC1F835724F36F7E9D12CCD370DBE40EE7' +
'9854FE9864330DF993C8ECC9CC66F65039F7FD551B3BDCFFF9018' +
'756682E');
color := 5286667
end;
if (LowerCase(Name) = 'hunter store') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA95D0510AC3300' +
'806E02BC558CDEFA309F6FE47DAC08E3942A143F041934FB1517B' +
'87C78447CD76BA591CCA445015EE5DD641C459F9D4F554C997F56' +
'FA36FEC3204819E663A77F25CAE633C972F01BC48AAB9FBB9C373' +
'79DFB6E69C98DDE1E0813FAE1106FCF897564C992A6277F20B925' +
'96443');
color:=1261916;
end;
if (LowerCase(Name) = 'hunter training') then
begin
Bitmap := BitmapFromString(15, 5, 'z78DA8DCF410A00' +
'210C03C02FC52D76E9B18AFFFF92B0EB2150025E728876AC78916' +
'8D3678C55D360F6F89FE919211B9EC267A2C87CB32F6FFD08EC70' +
'CF6FDDC8D554597F712FF3AC3AE546C96A1FE573B2BC0197F063A' +
'B');
color:=10398118
end;
if (Bitmap = 0) then
begin
WriteLn('Please enter a valid symbol name');
Exit;
end;
Findx := MMX1
MarkTime(Timeout)
Repeat
FindDeformedBitmapToleranceIn(Bitmap, cx, cy, FindX, MMY1, MMX2, MMY2, 70, 0, True,
acc);
if (acc > SymbolAccuracy) then
begin
//Writeln('Found one at ' + inttostr(cx)+',' + inttostr(cy) + ' in the x loop' )
If Not InArrayTol(YArray,cy,20) then
Begin
//Writeln('And stored it')
CurrTot := CurrTot + 1
SetArrayLength(XArray,GetArrayLength(XArray)+1)
XArray[GetArrayLength(XArray)-1] := cx
SetArrayLength(YArray,GetArrayLength(YArray)+1)
YArray[GetArrayLength(YArray)-1] := cy
End
Findx := CX + 15
end;

Until ((acc < SymbolAccuracy) or (Findx > 718) or (TimeFromMark(Timeout)>10000))
Findy := MMY1
Repeat
FindDeformedBitmapToleranceIn(Bitmap, cx, cy, MMX1, FindY, MMX2, MMY2, 70, 0, True,
acc);
if (acc > SymbolAccuracy) then
begin
//Writeln('Found one at ' + inttostr(cx)+',' + inttostr(cy) + ' in the y loop' )
If Not InArrayTol(XArray,cx,20) then
Begin
// Writeln('And stored it')
CurrTot := CurrTot + 1
SetArrayLength(XArray,GetArrayLength(XArray)+1)
XArray[GetArrayLength(XArray)-1] := cx
SetArrayLength(YArray,GetArrayLength(YArray)+1)
YArray[GetArrayLength(YArray)-1] := cy
End
Findy := CY + 15
end;

Until ((acc < SymbolAccuracy) or (Findy > 159) or (TimeFromMark(Timeout)>20000))
FreeBitmap(Bitmap);
Result := CurrTot
end;

m0u53m4t

2007-07-30 07:16:16

[doublepost]

And 6 months on, webwalker is dead, and this is still on the 3rd page of new functions :p

Shows how fast we churn out functions here xD

Boreas

2007-07-30 08:19:23

I haven't forgotten about it, I'll get there.

Bobarkinator

2007-07-30 09:18:14

Are you going to bring it back up again after you finish B4. Because after I finish the script I am working on now I should be free to help if you want any.

Boreas

2007-07-30 10:01:15

B4, laws, then WebWalker, I promise. Laws is cuz I get tired of writing script components and never scripts, plus I need to craft 60k laws to get to 91 RC :p. Rubiks cube solver and Mordaut random have been slowing me down, so I'll try to not get distracted. B4 is much more important for SRL 4 than WW, so it gets first priority.

Bobarkinator

2007-07-30 10:31:37

I loled at the Rubiks cube solver :p. Just tell me when you start because I would be glad to help.

nielsie95

2007-07-30 11:17:06

Bob, it wont be that hard..

There're only (8! × 38&#8722;1) × (12! × 212&#8722;1)/2 = 43,252,003,274,489,856,000 different position. That's about forty-three quintillion. :p

To put this into perspective, if every permutation of a Rubik's Cube was lined up end to end, it would stretch out approximately 261 light years. If they were laid side by side, it would cover the Earth approximately 256 times.

According to Wikipedia :stirthepot:

n3ss3s

2007-07-30 11:40:47

Niels wat was billion * 1000 in english? Its hard since in finnish 1000 * Billion = a word close to Billion so it quite mixes up.

However, if one light year is approx one 1000 * Billion kilometers,
do you mean that Rubiks cube would be about (261 * (1000 * Billion))?
lol, who even invented such a rediculous toy ? :D Jk

Bobarkinator

2007-07-30 11:44:20

I was talking about when he starts WebWalker lol. Their would be no way I could help him with the Rubik's cube lol

Boreas

2007-07-30 12:42:18

Rubik's cube solver isn't that hard.

program New;


var sides:array [0..5] of array [0..5] of array[0..2] of integer;;

function ColorToNumber(Color:string):integer;
begin
case Color of
'orange': result:=0;
'green': result:=1;
'white': result:=2;
'blue': result:=3;
'red': result:=4;
'yellow': result:=5;
end;
end;

function NumberToColor(Number:integer):string;
begin
case Number of
0: result:='orange';
1: result:='green';
2: result:='white';
3: result:='blue';
4: result:='red';
5: result:='yellow';
end;
end;






{ /////////////////////////////////////////////////////////////////////////////
ad88888ba 888888888888 db 88888888ba 888888888888
d8" "8b 88 d88b 88 "8b 88
Y8, 88 d8'`8b 88 ,8P 88
`Y8aaaaa, 88 d8' `8b 88aaaaaa8P' 88
`"""""8b, 88 d8YaaaaY8b 88""""88' 88
`8b 88 d8""""""""8b 88 `8b 88
Y8a a8P 88 d8' `8b 88 `8b 88
"Y88888P" 88 d8' `8b 88 `8b 88
/////////////////////////////////////////////////////////////////////////////

_______
/ B /|
/_____ / |
| | Y/
| R | /
|_____|/

_______
/ G /|
/_____ / |
| | O/
| W | /
|_____|/


012
345 2
678 15
012 048
345 37
678 6

}
procedure LoadSides;
var MySide:array [0..5] of array [0..8] of integer;

begin

MySide[ColorToNumber('blue')][0]:=ColorToNumber('white');
MySide[ColorToNumber('blue')][1]:=ColorToNumber('red');
MySide[ColorToNumber('blue')][2]:=ColorToNumber('blue');
MySide[ColorToNumber('blue')][3]:=ColorToNumber('yellow');
MySide[ColorToNumber('blue')][4]:=ColorToNumber('blue');
MySide[ColorToNumber('blue')][5]:=ColorToNumber('red');
MySide[ColorToNumber('blue')][6]:=ColorToNumber('white');
MySide[ColorToNumber('blue')][7]:=ColorToNumber('green');
MySide[ColorToNumber('blue')][8]:=ColorToNumber('orange');

MySide[ColorToNumber('red')][0]:=ColorToNumber('blue');
MySide[ColorToNumber('red')][1]:=ColorToNumber('yellow');
MySide[ColorToNumber('red')][2]:=ColorToNumber('yellow');
MySide[ColorToNumber('red')][3]:=ColorToNumber('blue');
MySide[ColorToNumber('red')][4]:=ColorToNumber('red');
MySide[ColorToNumber('red')][5]:=ColorToNumber('green');
MySide[ColorToNumber('red')][6]:=ColorToNumber('white');
MySide[ColorToNumber('red')][7]:=ColorToNumber('green');
MySide[ColorToNumber('red')][8]:=ColorToNumber('green');

MySide[ColorToNumber('yellow')][0]:=ColorToNumber('green');
MySide[ColorToNumber('yellow')][1]:=ColorToNumber('green');
MySide[ColorToNumber('yellow')][2]:=ColorToNumber('red');
MySide[ColorToNumber('yellow')][3]:=ColorToNumber('white');
MySide[ColorToNumber('yellow')][4]:=ColorToNumber('yellow');
MySide[ColorToNumber('yellow')][5]:=ColorToNumber('yellow');
MySide[ColorToNumber('yellow')][6]:=ColorToNumber('orange');
MySide[ColorToNumber('yellow')][7]:=ColorToNumber('white');
MySide[ColorToNumber('yellow')][8]:=ColorToNumber('red');

MySide[ColorToNumber('green')][0]:=ColorToNumber('white');
MySide[ColorToNumber('green')][1]:=ColorToNumber('red');
MySide[ColorToNumber('green')][2]:=ColorToNumber('green');
MySide[ColorToNumber('green')][3]:=ColorToNumber('orange');
MySide[ColorToNumber('green')][4]:=ColorToNumber('green');
MySide[ColorToNumber('green')][5]:=ColorToNumber('orange');
MySide[ColorToNumber('green')][6]:=ColorToNumber('orange');
MySide[ColorToNumber('green')][7]:=ColorToNumber('blue');
MySide[ColorToNumber('green')][8]:=ColorToNumber('blue');

MySide[ColorToNumber('white')][0]:=ColorToNumber('blue');
MySide[ColorToNumber('white')][1]:=ColorToNumber('orange');
MySide[ColorToNumber('white')][2]:=ColorToNumber('yellow');
MySide[ColorToNumber('white')][3]:=ColorToNumber('white');
MySide[ColorToNumber('white')][4]:=ColorToNumber('white');
MySide[ColorToNumber('white')][5]:=ColorToNumber('yellow');
MySide[ColorToNumber('white')][6]:=ColorToNumber('red');
MySide[ColorToNumber('white')][7]:=ColorToNumber('red');
MySide[ColorToNumber('white')][8]:=ColorToNumber('red');

MySide[ColorToNumber('orange')][0]:=ColorToNumber('orange');
MySide[ColorToNumber('orange')][1]:=ColorToNumber('white');
MySide[ColorToNumber('orange')][2]:=ColorToNumber('yellow');
MySide[ColorToNumber('orange')][3]:=ColorToNumber('blue');
MySide[ColorToNumber('orange')][4]:=ColorToNumber('orange');
MySide[ColorToNumber('orange')][5]:=ColorToNumber('orange');
MySide[ColorToNumber('orange')][6]:=ColorToNumber('green');
MySide[ColorToNumber('orange')][7]:=ColorToNumber('blue');
MySide[ColorToNumber('orange')][8]:=ColorToNumber('yellow');
{ /////////////////////////////////////////////////////////////////////////////
ad88888ba 888888888888 ,ad8888ba, 88888888ba
d8" "8b 88 d8"' `"8b 88 "8b
Y8, 88 d8' `8b 88 ,8P
`Y8aaaaa, 88 88 88 88aaaaaa8P'
`"""""8b, 88 88 88 88""""""'
`8b 88 Y8, ,8P 88
Y8a a8P 88 Y8a. .a8P 88
"Y88888P" 88 `"Y8888Y"' 88
/////////////////////////////////////////////////////////////////////////////}

Sides[ColorToNumber('blue')][ColorToNumber('orange')][0]:=MySide[ColorToNumber('blue')][0];
Sides[ColorToNumber('blue')][ColorToNumber('orange')][1]:=MySide[ColorToNumber('blue')][1];
Sides[ColorToNumber('blue')][ColorToNumber('orange')][2]:=MySide[ColorToNumber('blue')][2];
Sides[ColorToNumber('blue')][ColorToNumber('red')][0]:=MySide[ColorToNumber('blue')][8];
Sides[ColorToNumber('blue')][ColorToNumber('red')][1]:=MySide[ColorToNumber('blue')][7];
Sides[ColorToNumber('blue')][ColorToNumber('red')][2]:=MySide[ColorToNumber('blue')][6];
Sides[ColorToNumber('blue')][ColorToNumber('yellow')][0]:=MySide[ColorToNumber('blue')][2];
Sides[ColorToNumber('blue')][ColorToNumber('yellow')][1]:=MySide[ColorToNumber('blue')][5];
Sides[ColorToNumber('blue')][ColorToNumber('yellow')][2]:=MySide[ColorToNumber('blue')][8];
Sides[ColorToNumber('blue')][ColorToNumber('white')][0]:=MySide[ColorToNumber('blue')][6];
Sides[ColorToNumber('blue')][ColorToNumber('white')][1]:=MySide[ColorToNumber('blue')][3];
Sides[ColorToNumber('blue')][ColorToNumber('white')][2]:=MySide[ColorToNumber('blue')][0];

Sides[ColorToNumber('red')][ColorToNumber('blue')][0]:=MySide[ColorToNumber('red')][0];
Sides[ColorToNumber('red')][ColorToNumber('blue')][1]:=MySide[ColorToNumber('red')][1];
Sides[ColorToNumber('red')][ColorToNumber('blue')][2]:=MySide[ColorToNumber('red')][2];
Sides[ColorToNumber('red')][ColorToNumber('green')][0]:=MySide[ColorToNumber('red')][8];
Sides[ColorToNumber('red')][ColorToNumber('green')][1]:=MySide[ColorToNumber('red')][7];
Sides[ColorToNumber('red')][ColorToNumber('green')][2]:=MySide[ColorToNumber('red')][6];
Sides[ColorToNumber('red')][ColorToNumber('yellow')][0]:=MySide[ColorToNumber('red')][2];
Sides[ColorToNumber('red')][ColorToNumber('yellow')][1]:=MySide[ColorToNumber('red')][5];
Sides[ColorToNumber('red')][ColorToNumber('yellow')][2]:=MySide[ColorToNumber('red')][8];
Sides[ColorToNumber('red')][ColorToNumber('white')][0]:=MySide[ColorToNumber('red')][6];
Sides[ColorToNumber('red')][ColorToNumber('white')][1]:=MySide[ColorToNumber('red')][3];
Sides[ColorToNumber('red')][ColorToNumber('white')][2]:=MySide[ColorToNumber('red')][0];

Sides[ColorToNumber('yellow')][ColorToNumber('red')][0]:=MySide[ColorToNumber('yellow')][6];
Sides[ColorToNumber('yellow')][ColorToNumber('red')][1]:=MySide[ColorToNumber('yellow')][3];
Sides[ColorToNumber('yellow')][ColorToNumber('red')][2]:=MySide[ColorToNumber('yellow')][0];
Sides[ColorToNumber('yellow')][ColorToNumber('blue')][0]:=MySide[ColorToNumber('yellow')][0];
Sides[ColorToNumber('yellow')][ColorToNumber('blue')][1]:=MySide[ColorToNumber('yellow')][1];
Sides[ColorToNumber('yellow')][ColorToNumber('blue')][2]:=MySide[ColorToNumber('yellow')][2];
Sides[ColorToNumber('yellow')][ColorToNumber('orange')][0]:=MySide[ColorToNumber('yellow')][2];
Sides[ColorToNumber('yellow')][ColorToNumber('orange')][1]:=MySide[ColorToNumber('yellow')][5];
Sides[ColorToNumber('yellow')][ColorToNumber('orange')][2]:=MySide[ColorToNumber('yellow')][8];
Sides[ColorToNumber('yellow')][ColorToNumber('green')][0]:=MySide[ColorToNumber('yellow')][8];
Sides[ColorToNumber('yellow')][ColorToNumber('green')][1]:=MySide[ColorToNumber('yellow')][7];
Sides[ColorToNumber('yellow')][ColorToNumber('green')][2]:=MySide[ColorToNumber('yellow')][6];

Sides[ColorToNumber('green')][ColorToNumber('red')][0]:=MySide[ColorToNumber('green')][0];
Sides[ColorToNumber('green')][ColorToNumber('red')][1]:=MySide[ColorToNumber('green')][1];
Sides[ColorToNumber('green')][ColorToNumber('red')][2]:=MySide[ColorToNumber('green')][2];
Sides[ColorToNumber('green')][ColorToNumber('orange')][0]:=MySide[ColorToNumber('green')][8];
Sides[ColorToNumber('green')][ColorToNumber('orange')][1]:=MySide[ColorToNumber('green')][7];
Sides[ColorToNumber('green')][ColorToNumber('orange')][2]:=MySide[ColorToNumber('green')][6];
Sides[ColorToNumber('green')][ColorToNumber('yellow')][0]:=MySide[ColorToNumber('green')][2];
Sides[ColorToNumber('green')][ColorToNumber('yellow')][1]:=MySide[ColorToNumber('green')][5];
Sides[ColorToNumber('green')][ColorToNumber('yellow')][2]:=MySide[ColorToNumber('green')][8];
Sides[ColorToNumber('green')][ColorToNumber('white')][0]:=MySide[ColorToNumber('green')][6];
Sides[ColorToNumber('green')][ColorToNumber('white')][1]:=MySide[ColorToNumber('green')][3];
Sides[ColorToNumber('green')][ColorToNumber('white')][2]:=MySide[ColorToNumber('green')][0];

Sides[ColorToNumber('white')][ColorToNumber('green')][0]:=MySide[ColorToNumber('white')][0];
Sides[ColorToNumber('white')][ColorToNumber('green')][1]:=MySide[ColorToNumber('white')][1];
Sides[ColorToNumber('white')][ColorToNumber('green')][2]:=MySide[ColorToNumber('white')][2];
Sides[ColorToNumber('white')][ColorToNumber('blue')][0]:=MySide[ColorToNumber('white')][8];
Sides[ColorToNumber('white')][ColorToNumber('blue')][1]:=MySide[ColorToNumber('white')][7];
Sides[ColorToNumber('white')][ColorToNumber('blue')][2]:=MySide[ColorToNumber('white')][6];
Sides[ColorToNumber('white')][ColorToNumber('orange')][0]:=MySide[ColorToNumber('white')][2];
Sides[ColorToNumber('white')][ColorToNumber('orange')][1]:=MySide[ColorToNumber('white')][5];
Sides[ColorToNumber('white')][ColorToNumber('orange')][2]:=MySide[ColorToNumber('white')][8];
Sides[ColorToNumber('white')][ColorToNumber('red')][0]:=MySide[ColorToNumber('white')][6];
Sides[ColorToNumber('white')][ColorToNumber('red')][1]:=MySide[ColorToNumber('white')][3];
Sides[ColorToNumber('white')][ColorToNumber('red')][2]:=MySide[ColorToNumber('white')][0];

Sides[ColorToNumber('orange')][ColorToNumber('green')][0]:=MySide[ColorToNumber('orange')][0];
Sides[ColorToNumber('orange')][ColorToNumber('green')][1]:=MySide[ColorToNumber('orange')][1];
Sides[ColorToNumber('orange')][ColorToNumber('green')][2]:=MySide[ColorToNumber('orange')][2];
Sides[ColorToNumber('orange')][ColorToNumber('blue')][0]:=MySide[ColorToNumber('orange')][8];
Sides[ColorToNumber('orange')][ColorToNumber('blue')][1]:=MySide[ColorToNumber('orange')][7];
Sides[ColorToNumber('orange')][ColorToNumber('blue')][2]:=MySide[ColorToNumber('orange')][6];
Sides[ColorToNumber('orange')][ColorToNumber('yellow')][0]:=MySide[ColorToNumber('orange')][2];
Sides[ColorToNumber('orange')][ColorToNumber('yellow')][1]:=MySide[ColorToNumber('orange')][5];
Sides[ColorToNumber('orange')][ColorToNumber('yellow')][2]:=MySide[ColorToNumber('orange')][8];
Sides[ColorToNumber('orange')][ColorToNumber('white')][0]:=MySide[ColorToNumber('orange')][6];
Sides[ColorToNumber('orange')][ColorToNumber('white')][1]:=MySide[ColorToNumber('orange')][3];
Sides[ColorToNumber('orange')][ColorToNumber('white')][2]:=MySide[ColorToNumber('orange')][0];


end;
var Adj:array [0..5] of array [0..3] of integer;
procedure LoadAdj;
begin
Adj[ColorToNumber('orange')][0]:=ColorToNumber('green');
Adj[ColorToNumber('orange')][1]:=ColorToNumber('yellow');
Adj[ColorToNumber('orange')][2]:=ColorToNumber('blue');
Adj[ColorToNumber('orange')][3]:=ColorToNumber('white');

Adj[ColorToNumber('white')][0]:=ColorToNumber('red');
Adj[ColorToNumber('white')][1]:=ColorToNumber('green');
Adj[ColorToNumber('white')][2]:=ColorToNumber('orange');
Adj[ColorToNumber('white')][3]:=ColorToNumber('blue');

Adj[ColorToNumber('blue')][0]:=ColorToNumber('yellow');
Adj[ColorToNumber('blue')][1]:=ColorToNumber('red');
Adj[ColorToNumber('blue')][2]:=ColorToNumber('white');
Adj[ColorToNumber('blue')][3]:=ColorToNumber('orange');

Adj[ColorToNumber('yellow')][0]:=ColorToNumber('green');
Adj[ColorToNumber('yellow')][1]:=ColorToNumber('red');
Adj[ColorToNumber('yellow')][2]:=ColorToNumber('blue');
Adj[ColorToNumber('yellow')][3]:=ColorToNumber('orange');

Adj[ColorToNumber('green')][0]:=ColorToNumber('white');
Adj[ColorToNumber('green')][1]:=ColorToNumber('red');
Adj[ColorToNumber('green')][2]:=ColorToNumber('yellow');
Adj[ColorToNumber('green')][3]:=ColorToNumber('orange');

Adj[ColorToNumber('red')][0]:=ColorToNumber('green');
Adj[ColorToNumber('red')][1]:=ColorToNumber('white');
Adj[ColorToNumber('red')][2]:=ColorToNumber('blue');
Adj[ColorToNumber('red')][3]:=ColorToNumber('yellow');
end;

procedure TurnSide(WhichSide:integer;clock:boolean);
var tmp:array [0..2] of integer;
i,i2:integer;
begin
if clock then
begin
for i:=0 to 2 do
t[i]:=Sides[WhichSide][Adj[WhichSide][0]][i];
for i2:=1 to 3 do
for i:=0 to 2 do
Sides[WhichSide][Adj[WhichSide][i2-1]][i]:=Sides[WhichSide][Adj[WhichSide][i2]][i];
for i:=0 to 2 do
Sides[WhichSide][Adj[WhichSide][3]][i]:=t[i];
end;
if not clock then
begin
for i:=0 to 2 do
t[i]:=Sides[WhichSide][Adj[WhichSide][3]][i];
for i2:=3 downto 1 do
for i:=0 to 2 do
Sides[WhichSide][Adj[WhichSide][i2]][i]:=Sides[WhichSide][Adj[WhichSide][i2-1]][i];
for i:=0 to 2 do
Sides[WhichSide][Adj[WhichSide][0]][i]:=t[i];
end;


turn edges
end;

I just gotta finish TurnSide so that it changes the side pieces.
     yyy
yyy
321
xx1 abc 3zz
xx2 def 2zz
xx3 ghi 1zz
123
www
www

Abc… is the side you're turning, and the other 4 3x3 blocks are the sides touching it. When you turn Abc clockwise, abc goes to where cfi is. I got that part. Next is making it so that the 321 on the z side, goes to the 321 on the w side. Which is easy.

Then all I have to do is convert a solving algorithm (I know an easy one that I can do in 2.5 minutes), so that it looks at sides, and turns accordingly. Which is also not too hard. Once I figured out that I needed to define the cube as a 3d array, it's easy.

Bobarkinator

2007-07-30 12:49:14

I love how your brain works Boreas. Is this for a site or for actually holding it in your hands?

Edit: I forgot to mention, I love 3d arrays lol. I wouldn't even know what to use them on.

Boreas

2007-07-30 13:04:14

Either hands or site. Just input what it looks like to start with, and it will tell you what turns to make. Could also be modified to be used with a robot, if scar/pascal could control motors and look at a webcam screen.

Bobarkinator

2007-07-30 13:37:26

That's pretty cool.

Smartzkid

2007-07-30 17:59:06

Phidgets has a delphi library available, therefore you could make phidget plugins for scar, and it could, infact, control a motor and see through a webcam.

Maybe you could just copy the minimap to a bitmap, then blank out symbols as they're found?

Santa_Clause

2007-07-30 20:02:46

Wow. That Rubik's solver is insane…

Wanted

2007-07-30 20:18:52

http://www.wrongway.org/?rubiksource

Bobarkinator

2007-07-30 21:11:34

It's just not the same without SCAR

m0u53m4t

2007-07-31 00:06:00

I never did much work on bitmaps in the debug screen, I'll work on that this holiday :)

And why cant you just build a motor controller in VB6, and have the webcam being shown onscreen, and just have scar look at that screen? :p

Wizzup?

2007-07-31 03:52:02

Is it just me or is this totally obsolete? :p
numofsymbols := Length(FindSymbols('fishing'));