Wanted Posted March 6, 2013 Share Posted March 6, 2013 (edited) https://github.com/OfficialSCARInclude/OSI2/commit/23f52c6a3609d068514b9f079930bc76688fe9e4 Our SVN http://svn.scar-divi.com/osi2 is online in the includes manager now RS07 globals nearly completeRS07 fonts uploaded and integrated Compile-OSI updated Other minor revisions, corrections, and structural changes All the global boundaries are done and almost all of the colors and other OSI RS07 related constants and variables are in place. Oh and still need to get a Mini-Map "ALL POINTS TPA" Still need to get the color differences for mmdots. All RS07 fonts are online but not necessarily tested. They are from SCAR 3.11's Aug 2007 folder for RS and match up Janilabo's fonts so they should work. A huge thanks to Freddy for making these, Janilabo for making all of his fonts and contributing OptionChars since we imported all of those even though they are very similar to ScreenChars the differences are critical, and of course thanks to me for uploading them off my external hard drive and keeping them all these years I'm still in need of testing these fonts, utilizing them, and LoginChars. Bixby, didn't you have some laying around? OSI Structure (Game-Tabs and Anti-Randoms.scar files contain all child includes in their folders) [sCAR]{$IFNDEF SCAR338_UP} begin WriteLn('Update to SCAR Divi 3.38 or newer at http://scar-divi.com'); end. {$ENDIF} {$IFNDEF RS2} {$IFNDEF RS07} {$IFNDEF UseVariance} {$DEFINE NoVariance} {$ENDIF} {$ENDIF} {$ENDIF} {$I Divi\Globals.scar} {$I Divi\TFunctions\String.scar} {$I Divi\TFunctions\Conversion.scar} {$I Divi\TFunctions\Boolean.scar} {$I Divi\TFunctions\Box.scar} {$I Divi\TFunctions\Extended.scar} {$I Divi\TFunctions\Integer.scar} {$I Divi\TFunctions\Point.scar} {$I Divi\TFunctions\TBA.scar} {$I Divi\TFunctions\TBLA.scar} {$I Divi\TFunctions\TEA.scar} {$I Divi\TFunctions\TIA.scar} {$I Divi\TFunctions\TPA.scar} {$I Divi\TFunctions\TSA.scar} {$I Divi\TFunctions\TVA.scar} {$I Divi\TFunctions\ATPA.scar} {$I Divi\Human\Timing.scar} {$I Divi\Human\Keyboard.scar} {$I Divi\Human\Mouse.scar} {$I Divi\Pixel\Bitmap.scar} {$I Divi\Pixel\Color.scar} {$IFDEF RS07} {$I RS07\Core\Globals.scar} {$I RS07\Core\OCR.scar} {$I RS07\Core\Game-Tabs\Game-Tabs.scar} {$I RS07\Core\Chat.scar} {$I RS07\Core\Login.scar} {$I RS07\Core\Object.scar} {$I RS07\Core\Map.scar} {$I RS07\Core\Bank.scar} {$IFDEF OSI_RS07_Color_Anti_Randoms} {$I RS07\Anti-Randoms\Anti-Randoms.scar} {$ENDIF} {$ENDIF}[/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= var RS07FontsLoaded: Boolean; Contributors: Wanted Description: True if RS07 fonts are loaded. Date Created: March 6th, 2013. By Wanted. RS07 Build ???. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} var RS07FontsLoaded: Boolean; [/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= var Font Variables Contributors: Wanted, Janilabo. Description: Variables for RS07 fonts memory handles. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} var UpChars, NPCChars, OptionChars, ScreenChars, SmallChars, StatChars, TradeChars: LongInt; [/sCAR] LoadRS07Fonts Done automatically in SetUpOSI; unless {$DEFINE DisableRS07Fonts} FreeRS07FontsDone automatically in FreeOSI; unless {$DEFINE DisableRS07Fonts} Player array is online. Removed world info, added trips and world (preferred world). [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= type TRS07Player = record Contributors: Wanted Description: Handles all of player related info and variables. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} type TRS07Player = record Name: string; // In-game handle Login: string; // Login handle Pass: string; // Login password Pin: string; // Bank Pin Loc: string; // Player location Status: string; // Player status LampSkill: string; // Skill for lamp/exp randoms Rand: string; // Current Random Worked: Integer; // Time player has worked Banked: Integer; // Number of times player banked Trips: Integer; // Number of trips player has made World: Integer; // Preferred world Level: array[0..Skill_Count] of Integer; // Levels of all skills Active: Boolean; // Player active Booleans: array of Boolean; // Boolean records Integers: array of Integer; // Integer records Strings: array of string; // String records Extendeds: array of Extended; // Extended records Arrays: array of TVariantArray; // Custom records TIA: T2DIntArray; // TIA records end; [/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= var Players: array of TRS07Player; Contributors: Wanted Description: Handles all of player related info and variables. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} var Players: array of TRS07Player; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= var CurrentPlayer: LongInt; & PlayerStartTime Contributors: Wanted Description: Variable used to keep track of your current RS2 player index. PlayerStartTime is for keeping track of Players[].Worked Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: August 8th, 2011. By Wanted. RS2 Build 660. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} var CurrentPlayer, PlayerStartTime: LongInt; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= function ActivePlayers: Integer; Contributors: Wanted Description: Returns the number of active players. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: November 21st, 2011. By Wanted. RS2 Build 681. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} function ActivePlayers: Integer; var I, H: Integer; begin Result := 0; H := High(Players); for I := 0 to H do if (Players.Active) then Inc(Result); end; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= function AllPlayersInActive: Boolean; Contributors: Wanted Description: Returns true if all players are in-active. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: August 8th, 2011. By Wanted. RS2 Build 660. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} function AllPlayersInActive: Boolean; begin Result := (ActivePlayers = 0); end; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= function NextPlayerIndex: Integer; Contributors: Wanted Description: Returns next player index after CurrentPlayer. Date Created: August 7th, 2011. By Wanted. RS2 Build 661. Last Modified: August 10th, 2011. By Wanted. RS2 Build 661. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} function NextPlayerIndex: Integer; begin Result := CurrentPlayer; if (Result < High(Players)) then Inc(Result) else Result := 0; end; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= function NextActivePlayerIndex: Integer; Contributors: Wanted Description: Returns next active player index after CurrentPlayer. Date Created: August 10th, 2011. By Wanted. RS2 Build 661. Last Modified: November 21st, 2011. By Wanted. RS2 Build 681. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} function NextActivePlayerIndex: Integer; var H: LongInt; begin Result := 0; if (AllPlayersInActive) then Exit; H := High(Players); Result := NextPlayerIndex; repeat if (not (Players[Result].Active)) then if (Result < H) then Inc(Result) else Result := 0; until (Players[Result].Active); end;[/sCAR] Here's a glimpse of what you'll be working with OSI constants that's online now. You'll see there's less counts and no duplicates (for universal cleanliness) Box/Point 'constants' for game boundaries [sCAR] * function RSCP: TPoint; By: Wanted * function RSB: TBox; By: Wanted * function MSCP: TPoint; By: Wanted * function MSB: TBox; By: Wanted * function MMCP: TPoint; By: Wanted * function MMB: TBox; By: Wanted * function MICP: TPoint; By: Wanted * function MIB: TBox; By: Wanted * function MCCP: TPoint; By: Wanted * function MCB: TBox; By: Wanted * function MBCP: TPoint; By: Wanted * function MBB: TBox; By: Wanted * function MDCP: TPoint; By: Wanted * function MDB: TBox; By: Wanted[/sCAR] Game/screen/etc boundaries [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const Useful in game boundaries, points, areas, widths, etc. etc. Contributors: Wanted, LordJashin, Janilabo. Description: MMX1, MSCX, etc. etc. Date Created: August 7th, 2011. By Wanted. RS2 Build 660. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} const // Description Modified By Build # RSCX = 382; // RS07 Client Center Points // March 5, 2013 Wanted ??? RSCY = 251; // March 5, 2013 Wanted ??? RSX1 = 0; // RS07 Client Edge Points // March 5, 2013 Wanted ??? RSY1 = 0; // March 5, 2013 Wanted ??? RSX2 = 764; // March 5, 2013 Wanted ??? RSY2 = 502; // March 5, 2013 Wanted ??? RSPW = (RSX2 - RSX1) + 1; // RS07 Client Width // October 6, 2012 LordJashin 735 RSPH = (RSY2 - RSY1) + 1; // RS07 Client Height // October 6, 2012 LordJashin 735 RSPA = RSPW * RSPH; // RS07 Client Pixel Area // September 17, 2012 LordJashin 718 MSCX = 260; // Main Screen Center Points // August 7, 2011 Wanted 660 MSCY = 171; // August 7, 2011 Wanted 660 MSX1 = 4; // Main Screen Edge Points // August 7, 2011 Wanted 660 MSY1 = 4; // August 7, 2011 Wanted 660 MSX2 = 515; // August 7, 2011 Wanted 660 MSY2 = 337; // August 7, 2011 Wanted 660 MSPW = (MSX2 - MSX1) + 1; // Main Screen Width // June 23, 2012 LordJashin 718 MSPH = (MSY2 - MSY1) + 1; // Main Screen Height // June 23, 2012 LordJashin 718 MSPA = MSPW * MSPH; // Main Screen Pixel Area // June 23, 2012 LordJashin 718 MSCXe = (MSX1 + MSX2) / 2; // June 23, 2012 LordJashin 718 MSCYe = (MSY1 + MSY2) / 2; // June 23, 2012 LordJashin 718 MMCX = 643; // Map Center Points // March 5, 2013 Wanted ??? MMCY = 83; // March 5, 2013 Wanted ??? MMX1 = 570; // Map Edge Points // March 5, 2013 Wanted ??? MMY1 = 9; // March 5, 2013 Wanted ??? MMX2 = 714; // March 5, 2013 Wanted ??? MMY2 = 159; // March 5, 2013 Wanted ??? MMRD = 70; // Map Radius // March 5, 2013 Wanted ??? MMPW = (MMX2 - MMX1) + 1; // Map Width // March 5, 2013 Wanted ??? MMPH = (MMY2 - MMY1) + 1; // Map Height // March 5, 2013 Wanted ??? MMPA = 15742; // Pixel Area (Pixel Count) // March 5, 2013 Janilabo ??? MICX = 644; // Inventory Center Points // March 5, 2013 Wanted ??? MICY = 337; // March 5, 2013 Wanted ??? MIX1 = 547; // Inventory Edge Points // March 5, 2013 Wanted ??? MIY1 = 205; // March 5, 2013 Wanted ??? MIX2 = 736; // March 5, 2013 Wanted ??? MIY2 = 465; // March 5, 2013 Wanted ??? MIPW = (MIX2 - MIX1) + 1; // Inventory Width // June 23, 2012 LordJashin 718 MIPH = (MIY2 - MIY1) + 1; // Inventory Height // June 23, 2012 LordJashin 718 MIPA = MIPW * MIPH; // Pixel Area // June 23, 2012 LordJashin 718 MICXe = (MIX1 + MIX2) / 2; // June 23, 2012 LordJashin 718 MICYe = (MIY1 + MIY2) / 2; // June 23, 2012 LordJashin 718 MCCX = 176; // Chat Box Center Points // March 5, 2013 Wanted ??? MCCY = 409; // March 5, 2013 Wanted ??? MCX1 = 7; // Chat Box Edge Points // August 8, 2011 Wanted 660 MCY1 = 345; // August 8, 2011 Wanted 660 MCX2 = 496; // March 5, 2013 Wanted ??? MCY2 = 473; // March 5, 2013 Wanted ??? MCPW = (MCX2 - MCX1) + 1; // Chat Box Width // June 23, 2012 LordJashin 718 MCPH = (MCY2 - MCY1) + 1; // Chat Box Height // June 23, 2012 LordJashin 718 MCPA = MIPW * MIPH; // Chat Box Area // June 23, 2012 LordJashin 718 MBCX = 254; // Bank Screen Center Points // March 5, 2013 Wanted ??? MBCY = 173; // March 5, 2013 Wanted ??? MBX1 = 41; // Bank Screen Edge Points // March 5, 2013 Wanted ??? MBY1 = 59; // March 5, 2013 Wanted ??? MBX2 = 467; // March 5, 2013 Wanted ??? MBY2 = 287; // March 5, 2013 Wanted ??? MBPW = (MBX2 - MBX1) + 1; // Bank Screen Width // June 23, 2012 LordJashin 718 MBPH = (MBY2 - MBY1) + 1;// Bank Screen Height // June 23, 2012 LordJashin 718 MBPA = MBPW * MBPH; // Pixel Area // June 23, 2012 LordJashin 718 MDCX = 269; // Deposit Box Center Points // August 8, 2011 Wanted 660 MDCY = 162; // August 8, 2011 Wanted 660 MDX1 = 130; // Deposit Box Edge Points // March 5, 2013 Wanted ??? MDY1 = 74; // March 6, 2013 Wanted ??? MDX2 = 402; // March 6, 2013 Wanted ??? MDY2 = 232; // March 6, 2013 Wanted ??? MDPH = (MDX2 - MDX1) + 1; // Deposit Box Width // June 23, 2012 LordJashin 718 MDPW = (MDY2 - MDY1) + 1; // Deposit Box Height // June 23, 2012 LordJashin 718 MDPA = MDPW * MDPH; // Deposit Box Area // June 23, 2012 LordJashin 718[/sCAR] Bunch of indexes [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const Skill_ Indexes Contributors: Wanted Description: Index handles for various RS07 skills. Date Created: November 3rd, 2011. By Wanted. RS2 Build 674. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} const Skill_Count = 23; Skill_Attack = 0; Skill_Hitpoints = 1; Skill_Mining = 2; Skill_Strength = 3; Skill_Agility = 4; Skill_Smithing = 5; Skill_Defence = 6; Skill_Herblore = 7; Skill_Fishing = 8; Skill_Range = 9; Skill_Thieving = 10; Skill_Cooking = 11; Skill_Prayer = 12; Skill_Crafting = 13; Skill_Firemaking = 14; Skill_Magic = 15; Skill_Fletching = 16; Skill_Woodcutting = 17; Skill_Runecrafting = 18; Skill_Slayer = 19; Skill_Farming = 20; Skill_Construction = 21; Skill_Hunter = 22; [/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const Game Tab Indexes Contributors: Wanted, Dynamite. Description: Index handles for Game RS2 tabs. Date Created: August 31st, 2011. By Dynamite & Wanted. RS2 Build 662. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} const Tab_Count = 14; Tab_Combat = 0; Tab_Stats = 1; Tab_Quest = 2; Tab_Inv = 3; Tab_Equip = 4; Tab_Prayer = 5; Tab_Magic = 6; Tab_Clan = 7; Tab_Friends = 8; Tab_Ignore = 9; Tab_LogOut = 10; Tab_Options = 11; Tab_Emotes = 12; Tab_Music = 13;[/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const Equip Tab Indexes Contributors: Wanted Description: Index handles for Game RS2 tabs. Date Created: September 1st, 2011. By Wanted. RS2 Build 662. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} Tab_Equip_Count = 11; Tab_Equip_Head = 0; Tab_Equip_Cape = 1; Tab_Equip_Neck = 2; Tab_Equip_Quiver = 3; Tab_Equip_Weapon = 4; Tab_Equip_Body = 5; Tab_Equip_Shield = 6; Tab_Equip_Legs = 7; Tab_Equip_Gloves = 8; Tab_Equip_Boots = 9; Tab_Equip_Ring = 10; [/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const RS2 direction/angle Indexes Contributors: Wanted Description: Index handles for MakeCompass and all runescape directions. Date Created: November 4th, 2011. By Wanted. RS2 Build 675. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} const Dir_North = 0; Dir_NorthEast = 45; Dir_East = 90; Dir_SouthEast = 135; Dir_South = 180; Dir_SouthWest = 225; Dir_West = 270; Dir_NorthWest = 315; [/sCAR] [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= const Useful in game colors Contributors: Wanted Description: Static useful in game colors Date Created: August 7th, 2011. By Wanted. RS2 Build 661. Last Modified: March 6th, 2013. By Wanted. RS07 Build ???. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} const // Modified By Build # clMessage = clBlack; // August 7, 2011 Wanted 660 clChat = clBlue; // August 7, 2011 Wanted 660 clTrade = clPurple; // August 7, 2011 Wanted 660 clFriend = 128; // August 7, 2011 Wanted 660 clNPCOption = clYellow; // October 20, 2011 Wanted 668 clObjectOption = clAqua; // October 20, 2011 Wanted 668 clPlayerOption = clWhite; // October 20, 2011 Wanted 668 clItemOption = 4231423; // October 20, 2011 Wanted 668 clObjectOutline = 65536; // March 6, 2013 Wanted ??? clOptionsBox = clBlack; // March 6, 2013 Wanted ??? clOptionsBox2 = 4674653; // March 6, 2013 Wanted ??? clSkillInfoBox = 10551295; // March 6, 2013 Wanted ??? [/sCAR] You can see all of the Current Defines/ files etc in Compile-OSI.scar [sCAR]{=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= Official SCAR Include Include Compile Testing File -------------------------------------------------------------------------------- * procedure TestCompileOSI; By: Wanted =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} // OSI Defines // Comment out or in, test all combinations //{$DEFINE UseVariance} //{$DEFINE NoVariance} //{$DEFINE RS2} {$DEFINE RS07} {$DEFINE OSI_RS07_Color_Anti_Randoms} //{$DEFINE DisableRS07Fonts} {$I OSI.scar} // Required* {$I Divi\Misc\Debug.scar} // Comment out or in, test all combinations. {$IFDEF RS07} {$I RS07\Misc\Game-Tabs\Tab2-Quest.scar} {$I RS07\Misc\Game-Tabs\Tab7-Clan.scar} {$I RS07\Misc\Game-Tabs\Tab8-Friends.scar} {$I RS07\Misc\Game-Tabs\Tab9-Ignore.scar} {$I RS07\Misc\Game-Tabs\Tab12-Emotes.scar} {$I RS07\Misc\Game-Tabs\Tab13-Music.scar} {$I RS07\Skill\Fighting.scar} {$I RS07\Skill\Mining.scar} {$I RS07\Skill\Agility.scar} {$I RS07\Skill\Smithing.scar} {$I RS07\Skill\Herblore.scar} {$I RS07\Skill\Fishing.scar} {$I RS07\Skill\Ranging.scar} {$I RS07\Skill\Thieving.scar} {$I RS07\Skill\Cooking.scar} {$I RS07\Skill\Prayer.scar} {$I RS07\Skill\Crafting.scar} {$I RS07\Skill\Firemaking.scar} {$I RS07\Skill\Magic.scar} {$I RS07\Skill\Fletching.scar} {$I RS07\Skill\Woodcutting.scar} {$I RS07\Skill\Runecrafting.scar} {$I RS07\Skill\Slayer.scar} {$I RS07\Skill\Farming.scar} {$I RS07\Skill\Construction.scar} {$I RS07\Skill\Hunting.scar} {$ENDIF} procedure ScriptTerminate; begin FreeOSI; end; {=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= procedure TestCompileOSI; Contributors: Wanted Description: Test compiles all of OSI. Comment out every combination of defines. Date Created: August 7th, 2011. By Wanted Last Modified: August 8th, 2011. By Wanted =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=} procedure TestCompileOSI; var T: LongInt; begin T := GetSystemTime; SetUpOSI; WriteLn('OSI succefully set up (' + IntToStr(GetSystemTime - T) + ' ms)'); end; begin SetUpOSI; end.[/sCAR] Added RS07 Template Worldswitching will now be done within Login.scar (at least for RS07 since it's so much more simple than RS2) In other news Strange box detection should be up soon, and lots of other anti-randoms since the old ones will be portable soon Next thing I will have out is OCR (GetUpText, ChooseOption, etc) and gametabs (SetGameTab, Logout, InvCount etc.) tomorrow hopefully and then Login (LoggedIn, LoginPlayer, etc.) if I have time. -Cheers - - - Updated - - - [sCAR]{$DEFINE RS07} {$DEFINE OSI_RS07_Color_Anti_Randoms} {$I OSI\OSI.scar} {$I OSI\Divi\Misc\Debug.scar} procedure ScriptTerminate; begin FreeOSI; end; begin SetUpOSI; DebugTBA([RSB, MSB, MMB, MBB, MIB, MCB]); //DebugBox(MDB); end.[/sCAR] Edited March 6, 2013 by Wanted Quote Link to comment Share on other sites More sharing options...
LordJashin Posted March 6, 2013 Share Posted March 6, 2013 Yeah I love debugging the boxes like that. Let me say, it is an awesome idea to keep testing files. So later, you can setup a character and test tons of functions at once. That's what I did anyway, good for lazy checkers. You could grab some stuff from the OLD OSI, from back when RS2007 was around (use svn)? Good job, so far your just pumping stuff out! I hope in the future, that the humanizing routines, and map walking routines will get better. Might add one to tell users what preferences Runescape should be set at. E.g. 100% brightness, min/fixed, or w/e. Or you could try to change it for them << Jashinism. Either way it's fine, more user friendly the first way... For the humanizing, I have some ideas. Like what are the odds the person clicks the same spot? Or that he will click the CORNER coordinate e.g. MSX2 MSY2... could exclude some coordinates altogether from box functions? Quote Link to comment Share on other sites More sharing options...
Wanted Posted March 6, 2013 Author Share Posted March 6, 2013 (edited) Yeah I love debugging the boxes like that. Let me say, it is an awesome idea to keep testing files. So later, you can setup a character and test tons of functions at once. That's what I did anyway, good for lazy checkers. You could grab some stuff from the OLD OSI, from back when RS2007 was around (use svn)? Good job, so far your just pumping stuff out! I hope in the future, that the humanizing routines, and map walking routines will get better. Might add one to tell users what preferences Runescape should be set at. E.g. 100% brightness, min/fixed, or w/e. Or you could try to change it for them << Jashinism. Either way it's fine, more user friendly the first way... For the humanizing, I have some ideas. Like what are the odds the person clicks the same spot? Or that he will click the CORNER coordinate e.g. MSX2 MSY2... could exclude some coordinates altogether from box functions? There is no old OSI. OSI 1 was released in 2011 during RS2. The Official SCAR Include of the time was SRL 4 Beta, which I have lots of copies from different times of. Fortunately most of the random solvers are made by developers of the current Official SCAR Include and most other crucial things. Anything that wasn't made by a non simbahumping advocate has plently of room to be improved upon and made by myself if it wasn't already made for OSI1 and needs slight adjustments for RS2->RS07. There will be notes in the RS07 Login Tablet to use V-Bright settings and I'll probably add an option in OSI to allow us to automatically check that, since it is as simple as a GetColor check and Mouse on VBright on SetGameTab(Tab_Options) Humanizing... I don't understand what you're saying. All area clicking has central variance already. Those pictures are just for circles, check out variance visualizer in \Tools\ you can test, visualize, and you can use different variances you want in your own scripts by settings OSI_Variance after SetUpOSI, 3 is just the default. Edited March 6, 2013 by Wanted Quote Link to comment Share on other sites More sharing options...
Bixby Sayz Posted March 7, 2013 Share Posted March 7, 2013 (edited) I'm still in need of testing these fonts, utilizing them, and LoginChars. Bixby, didn't you have some laying around? The MSSL fonts will do want you want. I did develop my own login/uptext font, but I notice I put the spacing pixel after the character while everyone puts it before. Throws off the coordinates for reading text if you do it half one way and half the other way. (I had better luck with the accuracy of find text tpa with the spacing after the char, but if for reading text either works equally fine) Oddly enough getting the spacing just right so text tpa works meant a slight decrease in get uptext accuracy depending on the background colors. Crazy busy with equipment upgrade and lead up to office move so not a lot of free time lately. Been "playing" with developing my own Old School stuff just for the challenge of it. On a side note: It would have been so much less painless for the end user if you had put the 2 versions of OSI in different folders so we can have both installed at the same time. Edit: I found I could get insanely accurate uptext recognition by not including spacing in fonts (so it is truly a spacing of 0) but it completely broke finding text by tpa since Freddy hasn't included the ability to specify the spacing when generating the tpa of text. Edited March 7, 2013 by Bixby Sayz Quote Link to comment Share on other sites More sharing options...
Wanted Posted March 7, 2013 Author Share Posted March 7, 2013 The MSSL fonts will do want you want. I did develop my own login/uptext font, but I notice I put the spacing pixel after the character while everyone puts it before. Throws off the coordinates for reading text if you do it half one way and half the other way. (I had better luck with the accuracy of find text tpa with the spacing after the char, but if for reading text either works equally fine) Oddly enough getting the spacing just right so text tpa works meant a slight decrease in get uptext accuracy depending on the background colors. Crazy busy with equipment upgrade and lead up to office move so not a lot of free time lately. Been "playing" with developing my own Old School stuff just for the challenge of it. On a side note: It would have been so much less painless for the end user if you had put the 2 versions of OSI in different folders so we can have both installed at the same time. Edit: I found I could get insanely accurate uptext recognition by not including spacing in fonts (so it is truly a spacing of 0) but it completely broke finding text by tpa since Freddy hasn't included the ability to specify the spacing when generating the tpa of text. Create an OSI1 folder and checkout from the SVN link or use github. Interesting thing with the fonts. I'll have to try that In other news got big updates for tonight Quote Link to comment Share on other sites More sharing options...
Bixby Sayz Posted March 8, 2013 Share Posted March 8, 2013 In other news got big updates for tonight Hope it includes menu options. Reminds me of the early days of OSI1: I'd write a function that is missing from OSI for a script only to find it included in OSI the next day. Quote Link to comment Share on other sites More sharing options...
Wanted Posted March 8, 2013 Author Share Posted March 8, 2013 Hope it includes menu options. Reminds me of the early days of OSI1: I'd write a function that is missing from OSI for a script only to find it included in OSI the next day. Good times =P Yea progress will probably be about 4x faster this time considering most of the code is already written it just needs adapting. Quote Link to comment Share on other sites More sharing options...