Results 1 to 12 of 12

Thread: Symbol Constants

  1. #1
    Join Date
    Oct 2011
    Location
    UK
    Posts
    1,329
    Mentioned
    1 Post(s)
    Quoted
    1 Post(s)

    Default Symbol Constants

    I don't think that these exist already, and I read somewhere that SRL was trying to move to constants and away from strings, so here you go:
    Simba Code:
    Const
      Symbol_agility = 'agility';
      Symbol_furnace = 'furnace';
      Symbol_altar = 'altar';
      Symbol_anvil = 'anvil';
      Symbol_apothecary = 'apothecary';
      Symbol_archery_shop = 'archery shop';
      Symbol_arrow = 'arrow';
      Symbol_axe_shop = 'axe shop';
      Symbol_bar = 'bar';
      Symbol_bank = 'bank';
      Symbol_candle_shop = 'candle shop';
      Symbol_lodestone = 'lodestone';
      Symbol_churn = 'churn';
      Symbol_clothes_shop = 'clothes shop';
      Symbol_cookery_shop = 'cookery shop';
      Symbol_cookery = 'cookery';
      Symbol_cook = Symbol_cookery;
      Symbol_crafting_shop = 'crafting shop';
      Symbol_dungeon = 'dungeon';
      Symbol_farming_shop = 'farming shop';
      Symbol_fishing_shop = 'fishing shop';
      Symbol_fishing_store = Symbol_fishing_shop;
      Symbol_fishing_spot = 'fishing spot';
      Symbol_fish = Symbol_fishing_spot;
      Symbol_food_shop = 'food shop';
      Symbol_food_store = Symbol_food_shop;
      Symbol_fur_trader = 'fur trader';
      Symbol_rare_trees = 'rare trees';
      Symbol_tree = Symbol_rare_trees;
      Symbol_resting_spot = 'resting spot';
      Symbol_rest = Symbol_resting_spot;
      Symbol_runecrafting = 'runecrafting';
      Symbol_rcing = Symbol_runecrafting;
      Symbol_rc = Symbol_runecrafting;
      Symbol_gem_stall = 'gem stall';
      Symbol_guide = 'guide';
      Symbol_hair_dresser = 'hair dresser';
      Symbol_herbalist = 'herbalist';
      Symbol_house = 'house';
      Symbol_hunter_store = 'hunter store';
      Symbol_hunter_training = 'hunter training';
      Symbol_jewelery = 'jewelery';
      Symbol_kebab_shop = 'kebab shop';
      Symbol_mace_shop = 'mace shop';
      Symbol_magic_shop = 'magic shop';
      Symbol_makeover_mage = 'makeover mage';
      Symbol_mill = 'mill';
      Symbol_minigame = 'minigame';
      Symbol_Mini_Obelisk = 'mini obelisk';
      Symbol_mining_shop = 'mining shop';
      Symbol_mining_spot = 'mining spot';
      Symbol_mining_site = Symbol_mining_spot;
      Symbol_mine = Symbol_mining_spot;
      Symbol_pet_shop = 'pet shop';
      Symbol_platebody_shop = 'platebody shop';
      Symbol_plateskirt_shop = 'plateskirt shop';
      Symbol_portal = 'portal';
      Symbol_pottery = 'pottery';
      Symbol_pot = Symbol_pottery;
      Symbol_quest = 'quest';
      Symbol_windmill = 'windmill';
      Symbol_sandpit = 'sandpit';
      Symbol_saw_mill = 'saw mill';
      Symbol_scimitar_shop = 'scimitar shop';
      Symbol_shield = 'shield';
      Symbol_shop = 'shop';
      Symbol_store = Symbol_shop;
      Symbol_short_cut = 'short cut';
      Symbol_silk_stall = 'silk stall';
      Symbol_silver_stall = 'silver stall';
      Symbol_slayer_master = 'slayer master';
      Symbol_spice_stall = 'spice stall';
      Symbol_spinning_wheel = 'spinning wheel';
      Symbol_spin = Symbol_spinning_wheel;
      Symbol_staff_shop = 'staff shop';
      Symbol_summoning_store = 'summoning store';
      Symbol_summoning_obelisk = 'summoning obelisk';
      Symbol_sword_shop = 'sword shop';
      Symbol_tanner = 'tanner';
      Symbol_training_dummy = 'training dummy';
      Symbol_transportation = 'transportation';
      Symbol_underground = 'underground';
      Symbol_water_source = 'water source';
      Symbol_water = Symbol_water_source;
      Symbol_weave = 'weave';

    For addition to Symbol.simba, if these don't get added then the list of valid symbols at the top of Symbol.simba needs updating anyway...


    Also:
    Simba Code:
    Symbol_Mini_Obelisk:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'meJxjYGDYjwTO75ymWJUpaO7FKyw' +
            '7f/58ZCkGMEAW0QrM8q3vAapPz/AgqFg2wguoGEhyKfHhVwx0w4NH' +
            'D4AIaL5TQh4Q4VEMcQNQDVA90HAeRStkw4EqAbnwdxs=');
            result := 12566463;
          end;

    Full Symbol.simba:
    Simba Code:
    (*
    Symbol
    ======

    The Symbol include contains minimap symbol related functions.

    *)

    //-----------------------------------------------------------------//
    //--               SRL 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                    - rare trees, tree           -windmill
      - altar                    - gem stall                  - rest, resting spot
      - 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
      - bank                     - jewelery                   - silk stall
      - candle shop              - kebab shop                 - silver stall
                                 - lodestone
      - churn                    - mace shop                  - slayer master
      - clothes shop             - magic shop                 - spice stall
      - cookery shop             - makeover mage              - spinning wheel, spin
      - cookery, cook            - mill                       - staff shop
      - crafing shop             - minigame                   - summoning store
      - dungeon                  - mining shop                - summoning obelisk
      - farming shop             - pet shop                   - sword shop
      - farming spot             - platebody shop             - tanner
      - fishing shop, fish store - plateskirt shop            - training dummy
      - fishing spot, fish       - portal (to player owned houses) - underground
      - food shop                - pottery, pot               - water source, water
      - fur trader               - quest                      - weave

    *******************************************************************************}


    Const     //Symbol Constants, may be changed to integers in SRL6
      Symbol_Agility = 'agility';
      Symbol_Furnace = 'furnace';
      Symbol_Altar = 'altar';
      Symbol_Anvil = 'anvil';
      Symbol_Apothecary = 'apothecary';
      Symbol_ArcheryShop = 'archery shop';
      Symbol_Arrow = 'arrow';
      Symbol_AxeShop = 'axe shop';
      Symbol_Bar = 'bar';
      Symbol_Bank = 'bank';
      Symbol_CandleShop = 'candle shop';
      Symbol_Lodestone = 'lodestone';
      Symbol_Churn = 'churn';
      Symbol_ClothesShop = 'clothes shop';
      Symbol_CookeryShop = 'cookery shop';
      Symbol_Cookery = 'cookery';
      Symbol_Cook = Symbol_Cookery;
      Symbol_CraftingShop = 'crafting shop';
      Symbol_Dungeon = 'dungeon';
      Symbol_FarmingShop = 'farming shop';
      Symbol_FarmingSpot = 'farming spot';
      Symbol_FishingShop = 'fishing shop';
      Symbol_FishingStore = Symbol_FishingShop;
      Symbol_FishingSpot = 'fishing spot';
      Symbol_Fish = Symbol_FishingSpot;
      Symbol_FoodShop = 'food shop';
      Symbol_FoodStore = Symbol_FoodShop;
      Symbol_FurTrader = 'fur trader';
      Symbol_RareTrees = 'rare trees';
      Symbol_Tree = Symbol_RareTrees;
      Symbol_RestingSpot = 'resting spot';
      Symbol_Rest = Symbol_RestingSpot;
      Symbol_Runecrafting = 'runecrafting';
      Symbol_Rcing = Symbol_Runecrafting;
      Symbol_Rc = Symbol_Runecrafting;
      Symbol_GemStall = 'gem stall';
      Symbol_Guide = 'guide';
      Symbol_HairDresser = 'hair dresser';
      Symbol_Herbalist = 'herbalist';
      Symbol_House = 'house';
      Symbol_HunterStore = 'hunter store';
      Symbol_HunterTraining = 'hunter training';
      Symbol_Jewelery = 'jewelery';
      Symbol_KebabShop = 'kebab shop';
      Symbol_MaceShop = 'mace shop';
      Symbol_MagicShop = 'magic shop';
      Symbol_MakeoverMage = 'makeover mage';
      Symbol_Mill = 'mill';
      Symbol_Minigame = 'minigame';
      Symbol_MiniObelisk = 'mini obelisk';
      Symbol_MiningShop = 'mining shop';
      Symbol_MiningSpot = 'mining spot';
      Symbol_MiningSite = Symbol_MiningSpot;
      Symbol_Mine = Symbol_MiningSpot;
      Symbol_PetShop = 'pet shop';
      Symbol_PlatebodyShop = 'platebody shop';
      Symbol_PlateskirtShop = 'plateskirt shop';
      Symbol_Portal = 'portal';
      Symbol_Pottery = 'pottery';
      Symbol_Pot = Symbol_Pottery;
      Symbol_Quest = 'quest';
      Symbol_Windmill = 'windmill';
      Symbol_Sandpit = 'sandpit';
      Symbol_SawMill = 'saw mill';
      Symbol_ScimitarShop = 'scimitar shop';
      Symbol_Shield = 'shield';
      Symbol_Shop = 'shop';
      Symbol_Store = Symbol_Shop;
      Symbol_ShortCut = 'short cut';
      Symbol_SilkStall = 'silk stall';
      Symbol_SilverStall = 'silver stall';
      Symbol_SlayerMaster = 'slayer master';
      Symbol_SpiceStall = 'spice stall';
      Symbol_SpinningWheel = 'spinning wheel';
      Symbol_Spin = Symbol_SpinningWheel;
      Symbol_StaffShop = 'staff shop';
      Symbol_SummoningStore = 'summoning store';
      Symbol_SummoningObelisk = 'summoning obelisk';
      Symbol_SwordShop = 'sword shop';
      Symbol_Tanner = 'tanner';
      Symbol_TrainingDummy = 'training dummy';
      Symbol_Transportation = 'transportation';
      Symbol_Underground = 'underground';
      Symbol_WaterSource = 'water source';
      Symbol_Water = Symbol_WaterSource;
      Symbol_Weave = 'weave';

    (*
    LoadSymbolBitmapColor
    ~~~~~~~~~~~~~~~~~~~~~

    .. code-block:: pascal


        function LoadSymbolBitmapColor(Name: String): Integer;

    Loads Bitmap and Color of a Specific Symbol.

    .. note::

      by Stupid3ooo, WT-Fakawi, Bebemycat2, Ron, and StarBlaster100

    Example:

    .. code-block:: pascal

    *)

    function LoadSymbolBitmapColor(Name: string): Integer;
    begin
      case LowerCase(Name) of
        Symbol_Bank:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDwAAxsWun/9NjnbX' +
           '/D9BUUgOR8GILJAlWiKIcogJBAdQAKYiiHqIQiiHpfJyOqRHYNLMa' +
           'ZjEIoBKZB32A==');
            result := 2216175;
          end;
        Symbol_MiniObelisk:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'meJxjYGDYjwTO75ymWJUpaO7FKyw' +
            '7f/58ZCkGMEAW0QrM8q3vAapPz/AgqFg2wguoGEhyKfHhVwx0w4NH' +
            'D4AIaL5TQh4Q4VEMcQNQDVA90HAeRStkw4EqAbnwdxs=');
            result := 12566463;
          end;
        Symbol_MiningSpot, 'mining site', 'mine':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDyAAXqrfB' +
           'vCddIzMsrKSiMiIiCCQJWYiufk2INUWova2dkD1Xv7ec+fPx+rYrj' +
           'K+WAANBaXYqDK7GDtIAsBiEqgCFAxnI2seEKsNVCluzoPXBauGOpm' +
           'ADVlcCo=');
            Result := 5077645;
          end;
        Symbol_Transportation:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303534347074353' +
              '4B73032219E34763173348592A62E666E66A6C8B20660330D904C' +
              '86A841D6858BC454896C3EA6C9C498899FC465B291A3B193910B3' +
              '124A69910715C269317CEC866229B0C00B3496273');
            Result := 2650848;
          end;
        Symbol_MagicShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0510A80300806' +
              'E02B9906B6C77F3AEF7FA4A0066DABC17A1111FD1469A74CC5C46' +
              '0D6C60875CEA17288D63CE08C771D02A09BA5CBA499DC99AD3CFA' +
              'EB72041B97B9D9C83F6F2ECE69C3D71F46F9EE5C979D155AFDBAA' +
              '5BBFF312D915399C927AF756C82');
            Result := 1714669;
          end;
        Symbol_WaterSource, 'water':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDyABFJrHmt' +
         'm/ACi+fPnH0AFQJW4FAMRfsUQlYfPPgSS7Hb30QzHVAxUCVcMRHgUQ2xHVoxs' +
         'OAMAbyOCjQ==');
            Result := 16279593;
          end;
        Symbol_Furnace:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA3334353435B470' +
              '3101423308696A028466E6C6A6A626E66E6E1640062E12A206A2D' +
              'EC90408A1261882CD3424CA6427472320DBCDCDC810C61EFC2653' +
              '3F34882171990C0058F36390');
            Result := 3508223;
          end;
        Symbol_Anvil:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CF510AC0300803D02B' +
              'A59DE0F2D9F6FE771A2CFB10CAC4FE04117C443434D8E4C2EA4A8' +
              '7DFCE8B06FB369AF38C025E139B5C7194EA106F73B9D2991C187D' +
              '3773F92F2BE6A91CBFD05CE9FC00C9DB6164');
            Result := 4012591;
          end;
        Symbol_RareTrees, 'tree':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDwABmw+jCx5' +
           'vBDE08sOQZK7GYAkRAFQJX7FcISpGK4eKIumZf78+ZiKsZo/HwyQF' +
           'cPVA8Xd1XmAJLJKkDMAo5RFgw==');
            Result := 494860;
          end;
        Symbol_FishingSpot, 'fish':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE410E80300844D12B4D5BA' +
              '9BAA404EE7F2413675343AA6EFE82D217D061682636ACCCADA779' +
              '045B641F117987CDAFB84D2479D67257B28A0EFD90B9C9F9BB3FD' +
              'FF02EC337F347B39977D83F37AFFEA2D76EDEA4543DE870B2922F' +
              'BB6B6878');
            Result := 16743189;
          end;
        Symbol_Cookery, 'cook':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA590410AC0200C04BFB41' +
              'B4D5B8F2ACDFF9FD4D25008885EBC0C21EC0E211010EC6CD66EE7' +
              'C1A4F869A9524AD74BB2CF3139233E2782D9BB713F52CE37A1D98' +
              '4A823D7E678A15FAE4CC4EDDDB5B9B258D932BB61C67DF3FACF0F' +
              '3E40632F');
            Result := 1194607;
          end;
        Symbol_Quest:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDwAA22Tnkzffim1' +
         '5jEQAdmmPvuB5Pz58yGyQJVwxUBxIAIqg6iHqIQgNMUQ0/AgrCbDXQI0GeIYi' +
         'EuAAFkx3M0Qx8BdAlEJMhkAMoB+aA==');
            Result := 14908517;
          end;
        Symbol_mill:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAB58F3B0AC0300C43AF24A' +
              '75D3CD621BEFF9102D52228822C5D1EC69F878C8140CCA8AEE5D8' +
              'DD0BA97C223BED3E5E27C48CBAE7B878ABF54987B5337FB3E995D' +
              '26DF2973F323B33C9A9D26573A47303B52569D1');
            Result := 655103;
          end;
        Symbol_Dungeon:
          begin
            SymbolBitmap :=BitmapFromString(8, 9, 'meJw7cAAEFiz4ExDwBYi0tD4wMMSw' +
            '5vwDCs6cORMoApHCKg4URBOHiBAUl3b9CxGHG8LPPx8oDkRg50Clg' +
            'ILp6a+BbEYGhgMwMBMJHEACEKOAJIQLAAEpc48=');
            Result := 2698232;
          end;
        Symbol_weave:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303230343074367472' +
              '73724526CD0C4C0C8CDC1C0D2DDD2C5D8DDD8C4C0CA0E2103644D' +
              'CDCD1CCD4C40CC246D66B0036D300AFC9986622B3293119979B21' +
              'ECC1E966649793EA6600F03E685F');
            Result := 926783;
          end;
        Symbol_Pottery, 'pot':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE5B0AC0200C44D1' +
              '2D6592691B3F2DD5FD2FA98F08554A410217C9C73102B966673E7' +
              '64617AA094DA16349D4B15E96621EED05C13B5F19F9DEFF178E14' +
              '3F869CE8479A9267FCFEE619992A55100D7F8519CC37562DBDD6F' +
              'AECE76FEEFD55D5A50983FFBCB76A807CE5139EC460AC');
            Result := 270148;
          end;
        Symbol_SpinningWheel, 'spin':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDwABtn' +
         '+gvPnz28I1wGygSQaG8gAqoQoDrIQAJIQQbgauMiEWGs0xenWokAE0QVXD0dA' +
         'XciK58MAUAvIVcHaEJMh7kFWDAQQNZgk3D0MAH8HZ/A=');
            Result := 2710649;
          end;
        Symbol_guide:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400424717470B27' +
              '33086961E168E4EC64E866E264EE0C614349170B0B4B336411143' +
              '56059880906860848C06488995432193F89CB47F84D869A8FE14E' +
              '8869F8CD24C664E2431E533DC44C00EBA66771');
            Result := 13345416;
          end;
        Symbol_shop, 'store':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0410EC4200' +
              '840D12B2102C25290DEFF486DCA2C4C9A6666363F46E2D308020D' +
              '32D83DA2AA3E6804276633B66B7AB4006E7D5F57E9406E51DD05B' +
              '84D78C8435849DD5970E9EC0629AB13B692ABB5B34F279BCF6F32' +
              '12A15CE3E8B9B7EE3265C52C73EFF0818A6FB2CA085D4FF317598' +
              '484FA9B6C69689FB37FBFF9FEC35D3E01559765AB');
            Result := 3176384;
          end;
        Symbol_Shield:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DACDCC3112C0200844D12' +
              'B611484920DE4FE47CA8CA63085BDCD9F6DF6511614BE233CEADA' +
              '16ECFC9553204DD36055D92EF56E2AFD99DB038EDF97864927C8C' +
              '339595EFD9D3CCD9DFC02CAE26976');
            Result := 9542286;
          end;
        Symbol_altar:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33703574323475767171' +
              '7431B670B574B2A4888498630036D300C96464F3DD880610F58E2' +
              'E4E8E4E501297C9C49B8F69267E37936732B25EFC26131F1AB84C' +
              '06006E357035');
            Result := 9542286;
          end;
        Symbol_arrow:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303570333470353437' +
              '3372249E343633B33475829026161646E626C8B20660330D904C8' +
              '6A841D6858BC454896C3EA6C9C498899FC465B2919BB1A5B12931' +
              '24A69910715C269317CEC866229B0C001E5A61CB');
            Result := 2782945;
          end;
        Symbol_bar:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAB5CC310EC0200C43D12B41' +
              'E3001D0389EF7FA44ACD82D4952E5F968757B5B4E28EA56B66E33' +
              '685908EEEA4115736FF1523A016BD8113A636079B0877A1BE663D' +
              '24E73E25A7F99F9CE659F96BEEF2031A5D69A8');
            Result := 4433385;
          end;
        Symbol_underground:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400422743' +
              '272727134CD2D5C2C8D4D01993B47033303630B434B474B2C4A2C' +
              'BC01001E96FB28B9BA3A10516335D5DCC8C4D9D293119D97C62CC' +
              '24D5646412622631260300830265FA');
            Result := 1844712;
          end;
        Symbol_tanner:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D904B0EC0200805AF0' +
              '4F85F4ABDFF991AFB162521D26E26462703919898BAAACEAB82B5' +
              'E5C4ABB52289FED316E8699229DBE63ECB8AA7F8D75319843374C' +
              'C594B4FC2C5177003C7FAE0A90CC2C92ACA392E5B3FDED9F22DCB' +
              '47D9FFF30DFAEB6308');
            Result := 3363443;
          end;
        Symbol_churn:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9590410A00210845AFA4' +
              'A5FE5A564CF73FD240CE40502DDA3C5CE8031F318150D1ACE94C4' +
              '104C7D04365F159253E2C16A5737342B5735F6F6938E960D66430' +
              '9B0D1B5292146ECD92156ABF1F013CD39DBE736D1E05FCF644FFE' +
              '8BAC6A8FAF927AEB5338A958DF905A105631F');
            Result := 1720403;
          end;
        Symbol_house:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9D90410AC0300804BF6' +
              '41B2DF66863F3FF2715BA978560A0BD0C32E2B228F766123D53BB' +
              '33E5F5A08DC3ECD434550779BBBE9D3D1290C9846FDEC63EC02A8' +
              '13D9B7F5C77AE9AF337B86DE4A5E1E0D7649EABE4F9F601C37765' +
              'F5');
            Result := 4740173
          end;
        Symbol_AxeShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D04B0EC3300804D02B91' +
              '0033F6127F72FF23A52A1BA4AA55BA1959483C036202E953A74F7' +
              'EA6BBC35B260C403335377680767CEB92B7293FE59A71BEBE187D' +
              '1136D2C7C583CAC6E0CCCABF7235B9A13A728B34EB2EA1E1F148E' +
              'E8D8655CDECADF7C977D69FC8B1BA0269E2B27DEEDA9B13D63933' +
              'EB356E4B7C6439');
            Result := 6841956;
          end;
        Symbol_CookeryShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCE410AC0300804C0' +
              '2F194CDCE42896FCFF49856E0F421072D983BA83D2C56485C608E' +
              '4C484236CA341999CBBFA7020A6CEFEDF74339B9CF3463E530A99' +
              '4993ADDCA55C6D6F647E955B959CB757F22754F2F9ED8DBCCCD01' +
              'B137B3CDAB290E76797E60B5A736560');
            Result := 7565679
          end;
        Symbol_windmill:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330313033B074367' +
              '6367536C745BA0181A11132E968EC68EA8853BD01D84C0324930D' +
              '5C4C8D8C9C217A91D9C48840D8B84CC6741BB22E6412974A885F6' +
              '8E1665C264348882C3289CB6DB848889900AC8467DB');
            Result := 1245183;
          end;
        Symbol_minigame:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D90410EC0200804B' +
              'FB4AD22E568B1FFFF52132129C6DAF432214626CB22A340342929' +
              '47B68DAE82066E2C0D99323BFBBB0A0E88CD3555AAC32EBA1393D' +
              '99D6E36E7E38FCEC86FF3906D412D09FBB9E4FFCCA113DFED996D' +
              '8E7FAC13E3CAFCD2B3DD1BB34D3DC7B6CD79039CA16371');
            Result := 4670928;
          end;
        Symbol_furtrader:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330313033B0743' +
              '67636753647262D2C4C8C0D2C31497357A07A0B64D2D1D8D1D4D1' +
              '1C4242F41A80CD34C06132A6F9C49849BCC9B8CCC76526792623B' +
              'B16BF7A52438378F321660200DE126419');
            Result := 607112;
          end;
        Symbol_archeryshop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5CE490AC0201' +
              '044D12BB5560F71E910EF7FA4403A0B8318846CFEAA78143129A5' +
              '8A2AD5769A9A29172F8385CD9B91253F1BBA4DDA964733A91A07D' +
              '7FEC8A366A702C59D51DB9215140BF77804BCCC2E0D6136E7AE64' +
              '37477FF5F35BBE0049C36545');
            Result := 4945565;
          end;
        Symbol_StaffShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D03B0AC0300C0' +
              '3D02BD9F1AF198D83EF7FA442BCB6C1B48B26F110020685191412' +
              'D6C9A96A8C96B2089D5CFCA103DB84B65CA60F49CC32FFCBA55D8' +
              'B7DD0D9ECCBFD9DDFE4F3AB6FF20D38E96664');
            Result := 4286358;
          end;
        Symbol_ClothesShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DD04B0AC0200' +
              'C45D12D3DF2D13A0CE9FED754681CA4484A267720CF8308C1C072' +
              '76F51925BE2023CAB2A0D66916F09A487236CF66A73AAFE4686C8' +
              'C4D6DE25622AFE4D8E4FDBE55C8D1BE9CF7FF6FFEFC585B3EFFF9' +
              '012BE4618A');
            Result := 5935156;
          end;
        Symbol_FarmingSpot:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDyAAwRZC' +
         'Lir87iJ8c2fPx/IBarEpRiicj4M4FGMrBIuiKm4rKw0PSMDqBhNJaZiiEoIQl' +
         'MJUgwAOf97Lg==');
            Result := 12632256;
          end;
        Symbol_Apothecary:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD0310AC030088' +
              '5E12B69A3A68ED6D6FB1FA9D02C4230942CFF241F0F814040BD39' +
              '7BAFAA8748C46847C2A75B33B6F21E3E13967236B33CBA2767CDD' +
              '5EFE05926C5F3D23DB932B33C7FE6FFE66AED5A7E01E72B65AE');
            Result := 16737938;
          end;
        Symbol_SwordShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0410AC030080' +
              '4C02FD9C66CE25125FFFF524BBD08A5C520EC41964124269078F3' +
              'EEE33FC5EF918535971A1B0C6000539B761D91D1A4C7A4829CCD1' +
              '06293E5DCFF929BF231CEBAB92B47EE9A956FBC2FAF9859BE0057' +
              'DB6637');
            Result := 10067100;
          end;
        Symbol_PlatebodyShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DD0410AC02' +
              '00C44D12BA56832761902BDFF910A9DCD8055DCFC850C4FD1BA85' +
              'DDD5CA0B6CF48818F1E042633190A87D55B0CF349167534FD459D' +
              'DBB92596EB2A527DC3DFC4FFE6EE446F7EC4A66CF65DDEFDFAC3D' +
              '97E77F7E014609646B');
            Result := 8157816;
          end;
        Symbol_ScimitarShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD04D0AC340' +
              '0805E02B8D7FCF71399349EF7FA4A6B8A825109A203C5CE887D8A' +
              '81D356962CA3FD9475FDD96AE581012880405E267A6D1B7CE0277' +
              '61DBAB56CDEC6963A2F14CAE5AA69B0FF76ADE95315CBDA59FBB2' +
              'AEAAAF50367F35A0630711C0AB697B1B9E9678223F3DAACF21B5C' +
              '65625E');
            Result := 8752522;
          end;
        Symbol_GemStall:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA58E4B0AC0300844' +
              'AFA4F96719F3B9FF919A640A154A3729836F21FA18629A1196201' +
              '6ECCD772FE0E03AAA057B32F350338DF50B6A03F1932FF34DEDDC' +
              '1BED0433E7900FCD835C76011B89BFCDAFB6AEAEFB504FCC6013F' +
              '6C4DA8C9E306B1653E29C4D6DBE0027B7630B');
            Result := 1777896;
          end;
        Symbol_SilkStall:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA333034004227432' +
              '733276364D2C2C4C0D0D488181253AF81210262CA42484B67030B' +
              '33476248DA996C696869664994C9C48706B299F84D36733630347' +
              '62486849889CB6400B4306127');
            Result := 5374340;
          end;
        Symbol_PlateskirtShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330340042' +
              '2743273327634CD2D9D8CCC2D9009974323235763282909686966' +
              '696587419182220F126239B4F9EC9B8DC8929423B93315D4E2034' +
              '709843BCC900457662CC');
            Result := 12609731;
          end;
        Symbol_Agility:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpjYGRgYDwABkAGEM2fPx' +
         '+NAWHDFRyAAbgssgIIA1Mxsnq4GjyK0czHFMcUmQ8G6I4EAIrAWyc=');
            Result := 65536;
          end;
        Symbol_TrainingDummy:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5CC5B0AC43' +
              '00805D02D69468DF9BC6DEAFE97D401032384F92845B8888F434C' +
              'DF0210386A6A6B9D3833270E0F5F5B7371D2FD2B93F857FFE4D4A' +
              'AE962D402E738ED1A0768E08D5CE743FA14A49CB9DF3C95CDA4B3' +
              'A6EC1FB73E6BBE974D6572403C74F9AB2F9769DEA32D69B5');
            Result := 1586538;
          end;
        Symbol_FoodShop, 'food store':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D0610AC0200806' +
              'D02B559ADA4F37DAFD8F3499C11C6D63B02F900A79882959B28AC' +
              'A825E09908A0893A0B4C25441ED49A0DA2AB3DFFDDF7B467FE64D' +
              'C88594CF13E56651A08C1DD66146F9A82E47532C0DDFE531F92C8' +
              '77A9183F945BED9C66F396EC385D91F321AD29FE41DF6B66191');
            Result := 7837098;
          end;
        Symbol_FishingShop, 'fish store':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA3330340042470B470B' +
              '27134CD2D2C2C4C8C010425A0081A509844456832962608880E49' +
              '9099431773425DE64E2CD4426F19B8C6CA6990950812BAE50C234' +
              '19D9765C6E8698894C62BA193334304D0600DE086263');
            Result := 9734280;
          end;
        Symbol_Jewelery:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9D904B0AC0300844A' +
              'F646843E2D24FBCFF911A6217820DB4DD0C32EA43070A28B08088' +
              '6054AB664DB46B07E64276220109A1D7EEFB4CDE85C5840D79E0E' +
              '05223D3D5BBEEFB4CF4DF933333AA5FFE957CFFDB95DB5356CBFF' +
              '479E471FB395F2DCE59FC917FB9B6AAB');
            Result := 4829105;
          end;
        Symbol_CraftingShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CEC10AC020' +
              '0C03D05F8AD3D979AC71FFFF4BC27A29C8A45E420EE111240C748' +
              '2648B24BEFDD5B36414149626F793E45D3708CBDEACA98EAA662A' +
              '94DA2C4FE5D5F49A374FE53F73FF642F9B693D627A79020EC868E' +
              'C');
            Result := 3159851;
          end;
        Symbol_Portal:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC0300805' +
              'C02B69D2D6B8D47CEE7FA4045CD442ED22457848D0410208AB549' +
              '4942D2F4858DAA9B05A6A4895251DB93FD2DE6DC6E6BD0078D7B7' +
              'A98374A0CFC86761E2173977C052F764DB8DE43F375B46F2DE3F7' +
              'BD3CB13F26764CE');
            Result := 15287202;
          end;
        Symbol_MakeoverMage:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA333034703170' +
              '7236707676B68490066011571367734B174CD2D2D8CCD5C418993' +
              '4C06182015E9391D5608A209BEC68E0E8EC4882C9C4BB99129391' +
              'DD499EC9F8CDC76526A6C9003E5F6688');
            Result := 10340324;
          end;
        Symbol_MaceShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD14B0A80300C04' +
              'D02B4D4CF3E93226DEFF4A82155404296EB21A1E330484C29AC8C' +
              'CFE7DAD7BB89A38D9A6696EA2A4A511888C4712878909D9521BB3' +
              'A6086368B248C969FE932F7381546BE477ED6DCEC80F135C64DFD' +
              'A8C7CDFFEEE39F39161EE1ADD6893');
            Result := 8817273;
          end;
        Symbol_HairDresser:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303470317072' +
              '36707676B68490066011030C71E2D5E0977534707476C4A206998' +
              'DAC8654B7E1B2059984C84248F27C8D6C3EB269C4BB19531CD91C' +
              '4CF7E37233005E916796');
            Result := 13225152;
          end;
        Symbol_MiningShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33B03430313074' +
              'B670367672C5241D2D1C8D2DA1A40158258474737473333285909' +
              '8BA9055E232199944360DBFF9C49B8C6926B22F20E21011FC263B' +
              '5998BAC0447099499EC9C498896C022E9301172B6823');
            Result := 10396584;
          end;
        Symbol_SilverStall:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA958E410AC0400' +
              '803BF14D1823D6E6DF3FF2715EA4510A17B09C198211008347031' +
              'A4AB4169E2E6EA071F06EFF4F5DE5BF89818C8D9ADB4AE13FF0FB' +
              '976FBF2F4F9B370726D90FBB64977C913BFA6D3E61755066363');
            Result := 8749956;
          end;
        Symbol_SpiceStall:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA9DD0C10E80200C' +
              '03D05FEA06883B22D2FFFF2413F140B240D44BD3C3FA0E8340102' +
              'A0E5619D3984CAC714B50B224D1A72B9BEEBDF71BBFC56DC2C96F' +
              'CCB5EFE5A9F9D1F77244609C66B67CE6B6CE0263997EE39FDFCD5' +
              '1BE002BE06493');
            Result := 157167;
          end;
        Symbol_FarmingShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95CE410E80200' +
              'C44D12B4D5B405C160CF73F92C461D1C498E0E6D374F1280402EB' +
              '68A30B6B559340150D25F5F95ED55392D556735365BBA96B661DE' +
              '7F025E031F192A9D1E75CAA1D52A2CFD2E42FFB7234BFE478FF8E' +
              '9CE7128332E72FEDAF1C2FDF91A319E51BD93562F0');
            Result := 1918090;
          end;
        Symbol_SlayerMaster:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAA5D04B0AC030' +
              '0804D02B8D89A5CD320D9DFB1FA9BF8D622D8582B810E6210381A' +
              '00EAC1CA2A85461E3F34C1CB366FBCE7634F6533C4C04D9FAEE62' +
              '84ECF22EDB3F9D53B89525CADF7F4E1BB864B77FB411B359C351D' +
              'E019F8C655C');
            Result := 7666933;
          end;
        Symbol_Herbalist:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA7D8E5D0AC0300883' +
              'AFA4FDD33E5AC6EE7FA415C258C0D10A22267E8DA8EC5A253C9CB' +
              'B5EF5166D7D4C89DE6DE9C45C6DF8BB1733FBBB15FD0A1B10B001' +
              '99F9CCC42C5AB77B16DFEF4C86BF370B355C653272428513EA990' +
              'C3FF3393954EEFC2327CFE4CCCFC933136A263F5CC35F29');
            Result := 682309
          end;
        Symbol_CandleShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA33303400422723' +
              '470B470B4CD2CDD0C2D5C01042BA9ABB9A9A3A218BE0D26560888' +
              '0B8D4209B8F6CB2A591051040488A4C367035753571317136B134' +
              '8390B8CC1CEA26030022F6653F');
            Result := 6022631;
          end;
        Symbol_SawMill:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DAB58EB10DC03008045' +
              '70A600C2EFDF1FE33450A299088A53469AEB08FD3D3498D7861C9' +
              '3A2A4D3ABA0FF1E99619EFBB2BBA9B54CA0A157D69C66FED87FFA' +
              '55CD7663FF7C30120F87173EEEFCA266DF2431F0AB6E11D3C770C' +
              'A76EBE00CD48658B');
            Result := 8882835;
          end;
        Symbol_KebabShop:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'beNpj4OBg4Dh37BgQZTtJRDFwZM8' +
              'xhKD/mpo9DAwgEScJiAKgSohioIjEFJBKIAlEQJUQxcjqkRUDVULE' +
              'gSQQzUl2ArKB5N7qKCBj6dKlyIoh4lhJNMWY6iEIZCNYJUgxALQIU' +
              '2Q=');
            Result := 7316427;
          end;
        Symbol_ShortCut:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8D90410AC0300804' +
              'BFA421A1E95137EDFF9F54E8F62088259741161D64C5B4E98573E' +
              '9821B1A206E3EE49F5DAC1F835724F36F7E9D12CCD370DBE40EE7' +
              '9854FE9864330DF993C8ECC9CC66F65039F7FD551B3BDCFFF9018' +
              '756682E');
            Result := 5286667
          end;
        Symbol_HunterStore:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA95D0510AC3300' +
              '806E02BC558CDEFA309F6FE47DAC08E3942A143F041934FB1517B' +
              '87C78447CD76BA591CCA445015EE5DD641C459F9D4F554C997F56' +
              'FA36FEC3204819E663A77F25CAE633C972F01BC48AAB9FBB9C373' +
              '79DFB6E69C98DDE1E0813FAE1106FCF897564C992A6277F20B925' +
              '96443');
            Result := 1261916;
          end;
        Symbol_HunterTraining:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCF410A00' +
              '210C03C02FC52D76E9B18AFFFF92B0EB2150025E728876AC78916' +
              '8D3678C55D360F6F89FE919211B9EC267A2C87CB32F6FFD08EC70' +
              'CF6FDDC8D554597F712FF3AC3AE546C96A1FE573B2BC0197F063A' +
              'B');
            Result := 10398118
          end;
        Symbol_Sandpit:
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'z78DA8DCF4B0AC0300' +
              '804D02B8DA9F9B84CA4BDFF91526A16820D64330CA20F0481208A' +
              '51B4FA1C4998CBD07EE5D5EFA654B34F9BC75B7C2682BC336D72E' +
              '247B921239137577766ECB629E9BD959D5CC14CCF8F1FBE88A665' +
              '8794BE952DFDFE49DA95972794856206');
            Result := 7717352;
          end;
        Symbol_PetShop:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'beNpj42Nm4zt87GxnbWFhUkh' +
             'skCsQ7dm7CYIgXKB4dUkYUA1QJVwxULyypllFSQMoBUEQLlAcyF68' +
             'bA1ccV1hBlAQKAXkQoxdOL0LyMalGCgLUQYRhOsCOgOI0BQfWt0JQ' +
             'TomBhAEVAnkAo0FGg5SDADYtlua');
            result:= 11713980;
          end;
        Symbol_SummoningObelisk:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'beNpj42Nm4zt87CwE2SVP1' +
             'XaoKeidC0SeUTWfHj4AiixetgYoCCSBKuGKgSKVNc1AZXMO3AOpWf' +
             '8EqBiiEaIFrhioEigCRJPnrAAqBqJjl98BEVAlxFigGmSTIVqAtgM' +
             'VAI0FqgeSEBMwFQNVAo0FigPVgxjrnwB1Obj4IBQDAImMdLM=');
            result:= 10325360;
          end;
        Symbol_SummoningStore:
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'meJyzicq0QUKMDAzIyAZVFk3ZAVS' +
             'AVQtQJGrCfCA6gA0gqweyFyxY8OjFi5MPvwLVb9uyEVM9muLJ377C' +
             '1WNqgRgOABDhZzk=');
            result:= 9697013;
          end;
        Symbol_RestingSpot, 'rest':
          begin
           SymbolBitmap := BitmapFromString(15, 5, 'beNptjUENwDAMAw2lU' +
             'AylUAyljwEZtFryukVd7xHpYisBzF2wjnEdFfjKWCTdtJY9exfJpJ' +
             'u6kKVhAxeNyj76f/ReM5IceVZ9yhPESE1p');
            result:= 84113280;
          end;
        Symbol_Runecrafting, 'rc', 'rcing':
          begin
            SymbolBitmap := BitmapFromString(15, 5, 'meJxjZGA4cOBAREpJY3M7U+tPxu3' +
              'fgAjICAmJBCKIOJABVMPIwMAIVgwR5/T8C1QGIZkFvsPVY1UMJOGG' +
              'A7VA1GMq1rawgQgCFQCVwdUD9QLFgbLIilV0teCGABFcPcRwoCxEM' +
              'QBG91kH');
            result := 542972;
          end;
        Symbol_Lodestone:
          begin
            SymbolBitmap := BitmapFromString(7, 7, 'meJzb09k0KSgPgvZ0Ni2qzb0yDyRS' +
            'YhkMQUA2UBCIfv/5DWQ72tkBSQh7D1jvw8cPgVwgCdEFIYEiEARUD' +
            'xfcvXX9y/MHgCTcZCAXyICYCWEDzQQA7QVQBA==');
            result := 13934210;
          end;
      end;
    end;

    (*
    GetSymbolColorIn
    ~~~~~~~~~~~~~~~~

    .. code-block:: pascal

        function GetSymbolColorIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Integer;

    Returns the Color of the Chosen Symbol, Searching in a selected area
    of the Minimap

    .. note::

      by Starblaster100 based off of the ideas of Stupid3000

    Example:

    .. code-block:: pascal

    *)

    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;

    (*
    GetSymbolColor
    ~~~~~~~~~~~~~~

    .. code-block:: pascal

        function GetSymbolColor(var rx, ry: Integer; Name: string): Integer;

    Returns the Color of the Chosen Symbol, searching the whole Minimap

    .. note::

      by Stupid3ooo and Modified by Starblaster100

    Example:

    .. code-block:: pascal

    *)

    function GetSymbolColor(var rx, ry: Integer; Name: string): Integer;
    begin
      Result := GetSymbolColorIn(rx, ry, LowerCase(Name), MMX1, MMY1, MMX2, MMY2);
    end;

    (*
    FindSymbol
    ~~~~~~~~~~

    .. code-block:: pascal

        function FindSymbol(var rx, ry: Integer; Name: String): Boolean;

    Finds a minimap Symbol and returns a Boolean if True.

    .. note::

      by Stupid3ooo

    Example:

    .. code-block:: pascal

    *)

    function FindSymbol(var rx, ry: Integer; Name: string): Boolean;
    begin
      Result := (GetSymbolColor(rx, ry, LowerCase(Name)) > 0);
    end;

    (*
    FindSymbolIn
    ~~~~~~~~~~~~

    .. code-block:: pascal

        function FindSymbolIn(var rx, ry: Integer; Name: string; xs, ys, xe, ye: Integer): Boolean;

    Finds a minimap Symbol and returns a Boolean if True.
    Searches a selected area of the Minimap

    .. note::

      by Starblaster100, based on the ideas of Stupid3ooo

    Example:

    .. code-block:: pascal

    *)

    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;

    (*
    IsPointInTPA
    ~~~~~~~~~~~~

    .. code-block:: pascal

        function IsPointInTPA(Point:TPoint; TPA:TPointArray): Boolean;

    Returns true if a point is in a TPA.

    .. note::

      by IceFire908

    Example:

    .. code-block:: pascal

    *)

    function IsPointInTPA(Point: TPoint; TPA: TPointArray): Boolean;
    var
      I: LongInt;
    begin
      for I := High(TPA) downto 0 do
        if (TPA[I].X = Point.X) then
          if (TPA[I].Y = Point.Y) then
          begin
            Result:= True;
            Exit;
          end;
    end;

    (*
    FindSymbolsIn
    ~~~~~~~~~~~~~

    .. code-block:: pascal

        function FindSymbolsIn(var AnsTPA: TPointArray; SymbolName: string; x1, y1, x2, y2: integer): Boolean;

    Finds a symbol in multiple places within the search coords. Results
    true if at least 1 symbol is found.

    .. note::

      by lordsaturn Fixed by Bad Boy JH

    Example:

    .. code-block:: pascal

    *)

    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 IsPointInTPA(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;

    (*
    FindSymbols
    ~~~~~~~~~~~

    .. code-block:: pascal

        function FindSymbols(var AnsTPA: TPointArray; SymbolName: string): Boolean;

    Finds a symbol in multiple places searching the whole minimap.
    Results true if at least 1 symbol is found.

    .. note::

      by lordsaturn

    Example:

    .. code-block:: pascal

    *)

    function FindSymbols(var AnsTPA: TPointArray; SymbolName: string): Boolean;
    begin
      Result := FindSymbolsIn(AnsTPA, SymbolName, MMX1, MMY1, MMX2, MMY2);
    end;

    (*
    FindSymbolsMultiIn
    ~~~~~~~~~~~~~~~~~~

    .. code-block:: pascal

        function FindSymbolsMultiIn(var aTPA: TPointArray; Symbols: TStringArray; x1, y1, x2, y2: integer): Boolean;

    Finds multiple symbols the specified area. Results true if at least
    1 symbol is found.

    .. note::

      by Nava2 & NCDS

    Example:

    .. code-block:: pascal

    *)

    function FindSymbolsMultiIn(var aTPA: TPointArray; Symbols: TStringArray; x1, y1, x2, y2: integer): Boolean;
    var
      gTPA: TPointArray;
      I, H: Integer;
    begin
      H := High(Symbols);
      for I := 0 to H do
      begin
        if FindSymbolsIn(gTPA, Symbols[i], x1, y1, x2, y2) then
          Result := True;
        aTPA := CombineTPA(gTPA, aTPA);
      end;
    end;

    (*
    FindSymbolsMulti
    ~~~~~~~~~~~~~~~~

    .. code-block:: pascal


        function FindSymbolsMulti(var aTPA: TPointArray; Symbols: TStringArray): Boolean

    Finds multiple symbols in multiple places. Results true if at least
    1 symbol is found.

    .. note::

      by NCDS

    Example:

    .. code-block:: pascal

    *)

    function FindSymbolsMulti(var aTPA: TPointArray; Symbols: TStringArray): Boolean;
    begin
      Result := FindSymbolsMultiIn(aTPA, Symbols, MMx1, MMy1, MMx2, MMy2);
    end;
    Last edited by putonajonny; 05-11-2012 at 04:02 PM.

  2. #2
    Join Date
    Jul 2007
    Location
    Finland
    Posts
    304
    Mentioned
    0 Post(s)
    Quoted
    0 Post(s)

    Default

    Very usefull also makes autocomplete easy

  3. #3
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    5,988
    Mentioned
    30 Post(s)
    Quoted
    10 Post(s)

    Default

    I'm not opposed to it by any means, though I'm not sure how much symbol.simba is used these days, or how useful it even is anymore.

    Regardless, it needs to be made up of integer constants. I thought we had already changed all string cases to integers, but apparently not all of them were done.
    ~
    SRL6| Git |SRL5
    ~



  4. #4
    Join Date
    Oct 2011
    Location
    UK
    Posts
    1,329
    Mentioned
    1 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by NCDS View Post
    I'm not opposed to it by any means, though I'm not sure how much symbol.simba is used these days, or how useful it even is anymore.

    Regardless, it needs to be made up of integer constants. I thought we had already changed all string cases to integers, but apparently not all of them were done.
    Why would it need to be integers, unless the parameters became variants that would break scripts. Symbols are very useful for scripts that teleport for example from my RC script:

    Simba Code:
    While(not FindSymbol(x, y, 'quest'))do
        Wait(200+Random(200));  //with a fails safe ofcourse

    This is as it uses the balloon method to craft law runes, as it travels via balloons it waits until it sees the quest symbol which will only appear once it has finished, symbol finding is also used in my essence miner because the portals change location on every login / teleport, so it finds the symbol and clicks on it to get to the portal.

    And btw banks use string constants still

  5. #5
    Join Date
    Dec 2006
    Location
    Sydney, New South Wales, Australia
    Posts
    4,346
    Mentioned
    15 Post(s)
    Quoted
    42 Post(s)

    Default

    Quote Originally Posted by putonajonny View Post
    Why would it need to be integers
    Comparison speed.

  6. #6
    Join Date
    Oct 2011
    Location
    UK
    Posts
    1,329
    Mentioned
    1 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by Daniel View Post
    Comparison speed.
    I'm no expert at all, but I think that having to change the parameter to a variant and then determine the variable type would take longer than just having the constant as a string, correct me if I am wrong, this is just based on intuition not anything I have tested / researched.

  7. #7
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    5,988
    Mentioned
    30 Post(s)
    Quoted
    10 Post(s)

    Default

    Quote Originally Posted by putonajonny View Post
    And btw banks use string constants still
    Odd. I know for a fact when preparring SRL5 I made bank.simba take integer constants as that was one of the goals of SRL5. Must be those changes were lost/reversed at some point.
    Actually, I just remembered what happened here..
    Quote Originally Posted by putonajonny View Post
    I'm no expert at all, but I think that having to change the parameter to a variant and then determine the variable type would take longer than just having the constant as a string, correct me if I am wrong, this is just based on intuition not anything I have tested / researched.
    The parameter wouldn't be a variant. Integer comparison is the quickest type comparison, and is what SRL will eventually use in all cases.
    ~
    SRL6| Git |SRL5
    ~



  8. #8
    Join Date
    Oct 2011
    Location
    UK
    Posts
    1,329
    Mentioned
    1 Post(s)
    Quoted
    1 Post(s)

    Default

    Quote Originally Posted by NCDS View Post
    Odd. I know for a fact when preparring SRL5 I made bank.simba take integer constants as that was one of the goals of SRL5. Must be those changes were lost/reversed at some point.
    Actually, I just remembered what happened here..

    The parameter wouldn't be a variant. Integer comparison is the quickest type comparison, and is what SRL will eventually use in all cases.
    Yeah they are still strings, I do agree with you now though, if the parameter is going to be changed to an integer then I am all for it, just not if it is a variant, so is it a good idea to add constants for these or not?

    Symbols with integers:
    Simba Code:
    Const
      Symbol_agility = 0;
      Symbol_furnace = 1;
      Symbol_altar = 2;
      Symbol_anvil = 3;
      Symbol_apothecary = 4;
      Symbol_archery_shop = 5;
      Symbol_arrow = 6;
      Symbol_axe_shop = 7;
      Symbol_bar = 8;
      Symbol_bank = 9;
      Symbol_candle_shop = 10;
      Symbol_lodestone = 11;
      Symbol_churn = 12;
      Symbol_clothes_shop = 13;
      Symbol_cookery_shop = 14;
      Symbol_cookery = 15;
      Symbol_cook = Symbol_cookery;
      Symbol_crafting_shop = 16;
      Symbol_dungeon = 17;
      Symbol_farming_shop = 18;
      Symbol_fishing_shop = 19;
      Symbol_fishing_store = Symbol_fishing_shop;
      Symbol_fishing_spot = 20;
      Symbol_fish = Symbol_fishing_spot;
      Symbol_food_shop = 21;
      Symbol_food_store = Symbol_food_shop;
      Symbol_fur_trader = 22;
      Symbol_rare_trees = 23;
      Symbol_tree = Symbol_rare_trees;
      Symbol_resting_spot = 24;
      Symbol_rest = Symbol_resting_spot;
      Symbol_runecrafting = 25;
      Symbol_rcing = Symbol_runecrafting;
      Symbol_rc = Symbol_runecrafting;
      Symbol_gem_stall = 26;
      Symbol_guide = 27;
      Symbol_hair_dresser = 28;
      Symbol_herbalist = 29;
      Symbol_house = 30;
      Symbol_hunter_store = 31;
      Symbol_hunter_training = 32;
      Symbol_jewelery = 33;
      Symbol_kebab_shop = 34;
      Symbol_mace_shop = 35;
      Symbol_magic_shop = 36;
      Symbol_makeover_mage = 37;
      Symbol_mill = 38;
      Symbol_minigame = 39;
      Symbol_mining_shop = 40;
      Symbol_mining_spot = 41;
      Symbol_mining_site = Symbol_mining_spot;
      Symbol_mine = Symbol_mining_spot;
      Symbol_pet_shop = 42;
      Symbol_platebody_shop = 43;
      Symbol_plateskirt_shop = 44;
      Symbol_portal = 45;
      Symbol_pottery = 46;
      Symbol_pot = Symbol_pottery;
      Symbol_quest = 47;
      Symbol_windmill = 48;
      Symbol_sandpit = 49;
      Symbol_saw_mill = 50;
      Symbol_scimitar_shop = 51;
      Symbol_shield = 52;
      Symbol_shop = 53;
      Symbol_store = Symbol_shop;
      Symbol_short_cut = 54;
      Symbol_silk_stall = 55;
      Symbol_silver_stall = 56;
      Symbol_slayer_master = 57;
      Symbol_spice_stall = 58;
      Symbol_spinning_wheel = 59;
      Symbol_spin = Symbol_spinning_wheel;
      Symbol_staff_shop = 60;
      Symbol_summoning_store = 61;
      Symbol_summoning_obelisk = 62;
      Symbol_sword_shop = 63;
      Symbol_tanner = 64;
      Symbol_training_dummy = 65;
      Symbol_transportation = 66;
      Symbol_underground = 67;
      Symbol_water_source = 68;
      Symbol_water = Symbol_water_source;
      Symbol_weave = 69;

    Banks with integer constants:
    Simba Code:
    Const
      Bank_FE = 0; // (Falador East Bank)
      Bank_FW = 1; // (Falador West Bank)
      Bank_VE = 2; // (Varrock East Bank)
      Bank_VW = 3; // (Varrock West Bank)
      Bank_GE = 4; // (Varrock GE Bank)
      Bank_DR = 5; // (Draynor Bank)
      Bank_AK = 6; // (Al-Kharid Bank)
      Bank_EV = 7 ; // (Edgeville Bank)
      Bank_CT = 8; // (Catherby bank)
      Bank_CM = 9; // (Camelot bank)
      Bank_NA = 10; // (North Ardougne bank)
      Bank_SA = 11; // (South Ardougne bank)
      Bank_YN = 12; // (Yanille bank)
      Bank_NG = 13; // (North gnome bank)
      Bank_SG = 14; // (South gnome bank)
      Bank_WG = 15; // (Warrior guild bank)
      Bank_FG = 16; // (Fishing guild bank)

      SRL_BANK_SW = 20;   // Soul Wars chest
      SRL_BANK_CW = 21;   // Castle Wars chest
      SRL_BANK_B  = 22;   // Burthrope chest (outside warriors guild)
      SRL_BANK_GG = 23;   // Gamer's Grotto (north of Falador)
    Last edited by putonajonny; 05-02-2012 at 01:08 PM.

  9. #9
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    5,988
    Mentioned
    30 Post(s)
    Quoted
    10 Post(s)

    Default

    As integers, not right now. As strings, perhaps if people find it useful.

    I wouldn't mind adding your string contants when I get back from work. Sorry for the confusion. I had forgotten that we put off the type changes for srl6.
    ~
    SRL6| Git |SRL5
    ~



  10. #10
    Join Date
    Dec 2011
    Location
    Brampton, Ontario
    Posts
    6,024
    Mentioned
    53 Post(s)
    Quoted
    608 Post(s)

    Default

    @NCDS.
    I use symbol ALOT, as detection in my Nat crafter and other scripts to find if it's in a certain area.
    I 100% support this idea.

  11. #11
    Join Date
    Oct 2007
    Location
    #srl
    Posts
    5,988
    Mentioned
    30 Post(s)
    Quoted
    10 Post(s)

    Default

    Quote Originally Posted by Sin View Post
    @NCDS.
    I use symbol ALOT, as detection in my Nat crafter and other scripts to find if it's in a certain area.
    I 100% support this idea.
    I understand that symbol recognition is a very popular element when scripting for RS. I just didn't think SRL's symbol.simba was used very heavily.

    Although, now that I look through symbol.simba, it's structure has a few flaws.

    I'll add in these constants today, and keep the rest in mind for the future.
    ~
    SRL6| Git |SRL5
    ~



  12. #12
    Join Date
    Oct 2011
    Location
    UK
    Posts
    1,329
    Mentioned
    1 Post(s)
    Quoted
    1 Post(s)

    Default

    I have also added a new symbol to the OP fyi

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •