Jump to content

Search the Community

Showing results for tags 'release'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • RuneLocus
    • News & Announcements
    • Information Booth
    • Website Support
    • Introductions
    • Chat
    • Forum Games
  • RuneScape Development
    • RSPS General
    • RuneScape Private Server (RS2)
    • RuneScape Private Server (503+)
    • RuneScape Private Server (EoC 742+)
  • Other
    • Digital Art
    • Gaming
    • Webdevelopment
    • Computers
  • Marketplace
    • RuneScape Market
    • RSPS Market
    • Others Market
    • Freelance Middleman Services
  • Super Secret Club's Topics

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Found 184 results

  1. This is my old release from 2011, yes it's leeched all I did was added more teleports and some small things that doesn't even worth listing. I'm basically here to give a Dementhium link for those who wants to start a real project. :) I ripped off my release thread from MoparScape since I noticed that I never posted it here. Hope someone finds this useful. This file contains the cache, client and the server. Download: [/B\] Another package link https://mega.co.nz/#!eEYDFB7Q!S_UBBzDX_9wHZE3MxWkDxn4V9gQJcDC4SmAxX4MLP6E MEDIA: Thanks to: Lumby, Emperor and the other Dementhium developers.
  2. Hi, so I have decided to release the source now, quit RSPS fully got a job and doing better for myself and what's the use in just holding on to a source when theres no point can't be asked to sell anymore copys to anyone or deal with RSPS' anyways enjoy Includes the following stuff Soulwars (Zeal Points/Shop, All working avatars and games) Obelisks (In the wilderness obelisks will automatically teleport you around in the wilderness EXACTLY like RuneScape!) Bank Pins (Secure your banks with Bank Pins which will secure your Banks, Money Pouches and from Trading/Dropping Items!) Grand Exchange (The Grand Exchange is a Secure way to Trade within RuneScape and works great in this source, even whilst your offline you can be banking profits!) Secure Money (What I mean by this is that users coins are almost impossible to NULL we spent a lot of time making this fix and it works great!) Lottery System (Each hour or more if you wanted to edit it there will be a jackpot where users provide money into a pot to be able to win) Glacors (These work great! Just like RuneScape actually! They will split into minions giving users a great fun way of 'bossing') Duel Arena (Duel your friends/enemys and make money by gambling your items for the duel!) Dungeoneering System (Unlike other RSPS' we have a great way of training your Dungeoneering Level, making it difficult and rewarding in a wave system!) All Skills Trainable (That's right! Every skill is trainable in a fun and awesome way!) Lag Fixes (This source has the fix which you can do on any server which would make the ram usage go over the limit causing the entire game to lag) And Much Much More!!! Source Download Client Download Cache Download Anyways enjoy
  3. So I have not had much time to work on this for a little while. You may be asking why release v2? Well it is simple... Some people have got a hold of my other recent sources and have tried selling them and I have tried to stop that. I am now going to release this due to that fact. A simple list below of that is added and what still needs to be done. I also am releasing this to ONLY RUNELOCUS... Do NOT trust this on any other website that has it for download. Do NOT use Eclipse on this.... However the compiler has a couple things removed as an Anti Leech but they are not important lol kind of... List of whats added: - Equipment Item Interactions such as Gold Torch right click Emote when wielding (Other items too wildstalker/duelists etc..) - Remappped Nomad back to its original placement - Dungeoneering (Needs drops redone for the most part for legit Dungeoneering mob drops) - Drygores (yes off-hands too as well as noted) - Ground Item Examines - Global Item Spawns - Impling catching (Set the spawns yourself via NPCSpawning.java) - Reworked Runecrafting to the Altars as well as added RuneSpan (Spawn the mobs as well yourself in the NPCSpawning.java file) - Godwars drops can still need a little touch up lol other than that its good (Frozen Key system still item ID 20120 etc.. Key parts do drop from the godwars NPCs outside each door still) - Added a few more crowns (take a look inside to see lol) - Fixed male/female emotes such as ROFL, ROFLcopter etc... - Changed a few teleports around to best suit adventuring - Added in some fun commands - Removed staking from Duel Arena - Added an Eco Resetter.bat file - Construction has been removed - Gave bonuses to several NPCs such as grotworms and more so that they are harder than just like hitting a level 2 man - Readded KQ Tunnels (Do not use rope some reason it kills the object process just click to go down set spawns yourself) If I have missed anything else refer to the first project release thread - [URL="http://www.runelocus.com/forums/showthread.php?98071-Chronicscape-Project-Release"]HERE[/URL] Images are right here to show some stuff just not all of it because I am tired of people being lazy not to explore the source they get and just load it up and go on the fly. [IMG]http://i.imgur.com/Q9BQNAS.jpg[/IMG] [IMG]http://i.imgur.com/Uulp4Gf.jpg[/IMG] [IMG]http://i.imgur.com/2hohCCN.jpg[/IMG] [CODE][IMG]http://i.imgur.com/DkTbROG.jpg[/IMG] [IMG]http://i.imgur.com/Sas9xVZ.jpg[/IMG] [IMG]http://i.imgur.com/IbRE0Xe.jpg[/IMG] [IMG]http://i.imgur.com/rxCNa1u.jpg[/IMG] [IMG]http://i.imgur.com/wCZFhOe.jpg[/IMG] [IMG]http://i.imgur.com/vluwcM6.jpg[/IMG] [IMG]http://i.imgur.com/vEfkBYK.jpg[/IMG] [IMG]http://i.imgur.com/HMQYh35.jpg[/IMG] [IMG]http://i.imgur.com/w5bLdPD.jpg[/IMG] [IMG]http://i.imgur.com/MsCypJ8.jpg[/IMG] [IMG]http://i.imgur.com/bWbccOD.jpg[/IMG] [IMG]http://i.imgur.com/dzkArbj.jpg[/IMG] [IMG]http://i.imgur.com/hgjGQkF.jpg[/IMG] [IMG]http://i.imgur.com/IqfjTYq.jpg[/IMG] [IMG]http://i.imgur.com/oByuzGC.jpg[/IMG] [IMG]http://i.imgur.com/DGBy3j5.jpg[/IMG] [IMG]http://i.imgur.com/uokQ1jH.jpg[/IMG][/CODE] [COLOR="#B22222"]*NEW LATEST FIX AND RELEASE* 8/22/2015[/COLOR] [URL="https://mega.nz/#!7EcwFCDJ!1Db7SL5I_bQmqy7a-s7wovJiSFZgis143aOIJyEUWps"]Chronicscape AIO v4.5 - Client Fixes And Cache Updates[/URL] [COLOR="#FFD700"]No Fixes Needed For Final Revision + Client Should Work Without Issue Now[/COLOR] If you are having trouble with client js5 that would be the revision IDs. Go into Loader.java client sided change the 420 to 1 and will work. Also if u use jdk7 make sure to use jre7 as well same with both the j8s [COLOR="#FF0000"]Again this is only released here on RuneLocus do NOT trust any other place to get this from. I will only release here. And do NOT use eclipse.[/COLOR] Enjoy! ~ Baki ~
  4. For starters, this was Charles' Matrix 666 look-a-like release. (Echo). Feather was based on a 2011 remake. Jordan and I didn't do much to it seeing as we started on our 718. This would be a decent start for a new project. Only constructive criticism please.. You know who. Protocol: 667 Cache: 667 - First things first, clean out source of any unneeded things. - Downgraded to 667 cache. No longer 681 cache bullshit. - Organized the InterfaceManager class some. - Added the original Emotes Interface. - Added the Quest Interface back to it's rightful place. - Added the Tasks Interface back to it's rightful place. - Removed any NPC's that weren't supported by the cache anymore. - Removed all grand exchange NPC's and objects. - Started re-adding G/E clerks, bankers, and other needed NPC's.- Cleaned up over 200 Warning (All were imports.. took like 5 secs to do.) - Organized the EmotesManager class some. - Fixed emotes "You need to unlock this emote by yourself." problem that occured with all emotes. - Removed unnecessary emotes not supported by the cache. - Added correct Animations and Graphics to the correct emote. - Fixed and added item examines. - Identified the NPC Examine packet. - Added NPC Examining. (Still gotta add the actual examines for the specific NPC.) - Fixed Walking packet. - Identified the Floor Item Examine Packet. - Added Item Examining of Items on the ground. - Added Item Examining for the items in your inventory. - Currently adding working GWD killcount. - Worked on some trading stuff. - Finished dialogue for Bob in Lumbridge. - Began dialogue for Lumbridge Sage. - Found the Clan Chat Packet for 667 revision. - Worked on more of the clan chat. - Started working on shops. Currently doing some dialogue stuff. - Finished Lumbridge Sage dialogues. - Finished Father Aereck dialogue. - Finished "man" dialogue for Lumbridge. - Started Range Instructor dialogue. - Removed useless NPC's in Lumbridge. - Added more dialogue such as Doomsayer. - Finished all Musician dialogues. - Finished Grand Exchange Tutor. He gives you 5 steps of information about the G.E. - Rewrote some of the firemaking skill. (Can't light fires on a fire, or next to buildings) - Worked on Cooking. - Finished Lumbridge Cook - Added an easy setRights command.. lel. - Removed a ton of random NPC's in Lumbridge. - Started on our 2011 tutorial. - Found Quest Configs. - Found Task System Configs. - Added display of the correct number of Quest Points there were up to November 7, 2011 - Still missing some Task System configs though xD This may not be released anywhere else. If you see this posted anywhere else, please PM me with a link. Download Feather Server: Pure 667 Feather Server Download Feather Client: Official Feather Client Credits: Matrix team Charles Gircat _Jordan Jae & Xiduth team
  5. Hello guys, I'm releasing my server, Project-Succeed. (a backup) UPDATED LINKS: https://mega.nz/#!1ZNi2C7b!fk4FJay614uH0QF8U12AR0rSBqltXR7BW1GYw9LOxaA What does this server have? Content: Combat related: - Flawless combat - Flawless itemswitching - Flawless itemswitching Economy related: - Fully working PriceChecker - Perfect Drop Rates - Special items you can only get from bossing. Skilling: - Nice Skilling Shops - Toolbelt - All skills working! Monster killing: - All Regular Bosses, like GWD bosses - Custom Bosses for Regular Players - Custom Regular Donator Bosses - Custom Extreme Donator Bosses - Never seen on other servers, THE BOSSINGNETWORK (::bossingnetwork) - PS points for killing Monsters Others: - Customised Completionist Requirements - Player Based GrandExchange - Many MiniGames - Friendly Staff - Friendly Community - Login Lobby with perfect messaging - Prestige System - Questes - Vote4Cash - Trivia Now it's time for some pictures! + It now got the Scarlet Spiritshield + Master Skillcapes. Have fun with this. ( No hate) Credits: Will for Elysium Release
  6. Over 7500 Downloads. [CENTER][URL=http://www.notorious317.com][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/ExileBanner.gif[/IMG][/URL] [B][SIZE="3"]Download Project-Exile Package:[/SIZE][/B] [url=http://www.mediafire.com/download/yagqhovbdjst8fx/Project-Exile.zip]Click Here.[/url] [/CENTER] [U][B]Server base:[/B][/U] Original Xyle [SIZE=2][FONT=Arial]Project-Exile has been an on going project for me in the past 3 years, it has had it's ups and downs but it is what got me into RSPS alongside this forums. Finally though I am having to release all of the hard work and dedication that has been put into this server over the past year by me and two other developers - TheLife and Tringan who are both now great friends of mine and we speak on Skype regularly. I hope people put the source and any of it's content to good use and I hope all of the work we put into this wasn't for nothing. If anyone wants to buy the domain off of me then private message me and for anyone else wondering I am making a new server it is a pk based server and should be ready fairly soon. The main reason why I am releasing this is because I sold it to someone who then decided to refund the money but fail and then because of it they sold the source and it's basically leaked now and I have many people have been trying to sell it etc, etc... [U][B][COLOR="#FF0000"]Features of Project-Exile:[/COLOR][/B][/U] [LIST] [*]Fully workingGrand exchange [*]634 animations & Gfx [*]525 maps and objects [*]634 items [*]100% clan chat - Also includes lootshare/coinshare with loot potential & saving [*]Clipped player following, attacks, NPC's and projectiles [*]Bug free fullscreen/resizeable - webclient compatible [*]Quick prayers/curses saved on logout [*]XP counter (Saves, formatted etc) [*]All client hovers working [*]Stable source [*]634 Gfx and animations [*]Flawless 525 maps with 32k+ object interaction [*]All skills working and advance [*]Animated login screen with changer [*]Fully working Rs cursor system added [*]Many re written classes [*]8+ bosses to battle [*]Minigames re wrote [*]Flawless combat system [*]Packed with content [*]Repackaged server and client [*]Quest system added [*]Fully working hitmarks and criticals [*]Working nex armour effects [*]Working enchanted items such as ring of life, recoil and phoneix necklace etc [*]9 different user ranks with crowns + new commands system [/LIST] [SPOILER="Pictures"] [B][CENTER] [URL=http://s776.photobucket.com/user/tom14431996/media/pic_zps4a6e3fd8.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/pic_zps4a6e3fd8.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/pic2_zpsc2d83a0a.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/pic2_zpsc2d83a0a.png[/IMG][/URL] Custom login screen - Choose between animated or the non animated client backgrounds [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture6_zps7e1026e6.png[/IMG] Transforming Rock crabs and high detail maps [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture4_zpsa5e21fbc.png[/IMG] A preview of the Summoning skill and other features [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture7_zpse1e785ec.png[/IMG] Fully working Woodcutting and inferno adze [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture9_zps4d3e9ecf.png[/IMG] 100% Clan chat system - Supports kicking, ranks, crowns, options, updates take 60 seconds and more [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture5_zps94af619a.png[/IMG] A little preview of the Donator zone and also 100% quick prayers [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture1_zpsec1f60be.png[/IMG] All screen size settings which are also webclient compatible! [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture8_zpsce1fc2a4.png[/IMG] Fully working pest control [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture10_zps44ff74ce.png[/IMG] Working Dwarf multi cannon and Dagannoth kings [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/gepicture.png[/IMG] 100% Grand Exchange - Coming soon [IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Advertisement%20Thread%20Pictures/Picture3_zps0e2876db.png[/IMG] All needed global NPC spawns added [IMG]https://dl.dropbox.com/u/110125079/crowns.png[/IMG] 9 Unique ranks, with their own crown and commands [URL=http://s776.photobucket.com/user/tom14431996/media/hovers_zpsda55d653.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/hovers_zpsda55d653.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/Picture1_zps7c530d4b.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Picture1_zps7c530d4b.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/Gwd_zps5845f0ed.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Gwd_zps5845f0ed.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/Dunginterface2_zps681b88c7.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Dunginterface2_zps681b88c7.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/Dunginterface1_zps919e9c39.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Dunginterface1_zps919e9c39.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/pray_zps5ea3f00c.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/pray_zps5ea3f00c.png[/IMG][/URL] [URL=http://s776.photobucket.com/user/tom14431996/media/Corpbeast_zpsdd1f1629.png.html][IMG]http://i776.photobucket.com/albums/yy41/tom14431996/Corpbeast_zpsdd1f1629.png[/IMG][/URL] [/CENTER][/B] [/SPOILER] [CENTER][img]http://www.upload.ee/image/2999415/71players.png[/img] [U][B]Credits:[/B][/U] [URL="http://www.runelocus.com/forums/member.php?25659-Raw-Envy"]Raw Envy[/URL] TheLife Tringan [URL="http://www.runelocus.com/forums/showthread.php?101487-Visionary-Envision-a-Future-Beyond-Greatness"]New Project: Click here to check it out![/URL] [COLOR="#FF0000"][SIZE=3][B]If you like the release please thank the thread and leave feedback.[/B][/SIZE][/COLOR][/CENTER][/FONT][/SIZE]
  7. Extinction Version 2 Release. EXV2 is a 667-714 release by Poanizer. It is an edited Zenith base but most bugs have been fixed. Images Credits: -Poanizer -Steel Kiwi -Victorious -Zenith -Matrix? Features: Pvm: -Nex -Corp -GWD (no killcount) -Tormented Demons -Evil Chickens -Steel Kiwi Boss -Nomad (Drops havnt been added) -DKS -Lucien -Ice titans -Sea Troll Queen PvP: -Safe pvp -Clan wars (safe/dangerous) -Death Match Arena -Wilderness Pking Skilling: -Semi low Rate (Non combat) -All skills avaliable -Max cape rewarded when maxed Donatorzone: -Donator skilling zone -Skilling benefits -Donator Only Items Other information: -Lots of commands for each rank (besides donators) -Shops replace GE due to the GE bug. But Ge is still in game if wanted. -Home is Mos Le Harmless. -Few Custom Items -Prestige system (sorted shops) -Custom Clothes Changer -Custom Clothes Colour Changer -Full Summoning obelisk -Auto Voting was removed due to the method. (GTL VOTE) -Custom emote commands Download: Source, Cache and Client all in one. Link 1: https://mega.nz/#!AplA2A7L!CrDqdQmxwWrA881gNsI--j9dJur3rLBWLLk4_fB4wLg Shortened: https://goo.gl/W4Drfg Watch this video after download! http://www.youtube.com/watch?v=HxGFaEAe_Wc&feature=gp-n-y Videos EXv2 Release Video Extinction V2 - YouTube (Outdated Promo Video) Banana Poon is Open. ( 2:20 Minutes only, the rest is black) - YouTube
  8. See: [url]http://www.runelocus.com/forums/showthread.php?106580-Opulent-317-loading-474-v1-5&p=814154&viewfull=1#post814154[/url]
  9. RuneUnited 614/634 Release. Well, it's that time of my life I guess. This is my Junior year of high school and usually it's the year that colleges look at the most, considering they grab your GPA after the Junior year most of the time. It's also about time for me to get a job which increases my work load along side of homework and daily yard work from my parents/grandparents who I take care of. I'll still continue my studies in various programming languages of my choice in the future, but it's mostly time for me to say goodbye to the rsps community. [B]RuneUnited:[/B] You can find all the details of this server on the advertisement link below (It's very very clean and has all dupe fixes and a few well written skills). [URL]http://www.runelocus.com/forums/showthread.php?49864-RuneUnited-614-634[/URL] [B]Download Link:[/B] [B]Server:[/B] [URL]http://adf.ly/2jdX1[/URL] [URL="http://adf.ly/2jdX1"]http://adf.ly/2jdiZ[/URL] [URL]http://www.mediafire.com/?a1l5q63o6g75va7[/URL] [B]Client:[/B] [URL="http://runeunited-online.com/downloads/RuneUnited Client.rar"]http://www.runeunited-online.com/downloads/RuneUnited Client.rar[/URL] Note: To change your ip, simply edit launch.java and fill in both ip blanks. [CENTER][B][COLOR=#000000][FONT=arial black]If anyone needs me they can also contact me via any of these methods, seeing as I probably won't be on here too often.[/FONT][/COLOR][/B] [/CENTER]
  10. hi. this is my first server release :D source: http://www.mediafire.com/?bgirgtnrawkx9kx client: http://www.mediafire.com/?2cj07jpg1hezz8g cache: http://uppit.com/z7taz2ejsxqd/.rspsCache2.rar here's the training area: well.. training area changed to be not like normaly one dungeoneering: the dungeoneering work up to lvl 120 from each time finish a floor u gain 250k xp with 25k dungeoneering points dungeoneering shop: dungeoneering shop: first floor at the base: second room: boss room: finishing the floor: .................................................................................................. farming: - farming is fully work for potato only.. which after put water on it then just have to wait 1:30 to can harvest the potatoes .. in the first 30 seconds the plant grow a little bit then after 1 minute it will be ready for harvest ............................................................................................... thief: i think fully work with misc.random 5k cash ............................................................................................... hunter: hunt only work with implings .. so i think it's good but have a problem .. which's the impling not spawn automaticly after hunt them so u have to fix that ............................................................................................... slayer: slayer is fully work with slayer points but u have to make slayer points shop ................................................................................................ nex: like 30% only =S ................................................................................................ tds: .............................................................................................. clan wars: staff of light spec: fully working 10x hits: :D the 10x hits load from the client so u have to use my client... ............................................................................................... revanants: -droping pvp armour i have many other things! -new skilling area -staff of light spec working but not very well.. like only the first hit become to low after do spec .. i think it's easy to fix but u should look around :p -all junk bosses took away - added crystal keys drop from revenants and u can open chest when u type ::ckey tele to there if there any Question about some codes u can say here maybe i can help u -last.. good luck guys if u use this server credits: it based of "project dungeonfest" and other credits to me :D i hope u guys like it ...................................................................................................... Edit 22/2/2012: ...................................................................................................... since i have many views to my thread i have re-uploaded my source and fixed some bugs with add some new things 1- i have fixed some implings that wasn't work 2- i have made staff of light fully work 100% with 1 minute reduce the hits with spec 3- some other small bugs here we go:- staff of light vs npc: staff of light vs player: as i said before.. i hope u guys enjoy this server :o ...................................................................................................... Edit 23/2/2012: ...................................................................................................... re-uploaded cache and made link for client so it will be auto download client well.. idk for how long the link will works.. but it's just for now because many people get error client from the cache http://www.mediafire.com/?2cj07jpg1hezz8g :cool: also i have fixed all godswords spec , all mage spells fixed the gfx and re-uploaded the source http://www.mediafire.com/?b2yiakrgjmckcpe ...................................................................................................... Edit 24/2/2012: ...................................................................................................... i have fixed the client .. i think not sure so now it should work with normal RSPScache2. u can try here's the link http://www.mediafire.com/?2cj07jpg1hezz8g ...................................................................................................... Edit 1/3/2012: ...................................................................................................... well this is maybe will be last edit to this source i do. 1- i have put Grand exchange which is only sell or buy for mid price because it was glitched buy and sell for all prices so i changed :p here's the pictures 2- coded a good gilded altar.. which have timer to slow the click on it so, ppl will not do faster with auto clicker 3- fixed barrows.. since it sometimes glitched like not tele sometimes 4- fixed all curses prayers with thier effects here's the download link: http://www.mediafire.com/?bgirgtnrawkx9kx thx to "lukedawesome" for grand exchange i hope you guys like this the last edit :cool:
  11. [CENTER][img]http://i.imgur.com/WvLbc6n.jpg[/img] hello guys i'm release my server for the ppl want amzing rsps well now what about server Evoxscape is RuneScape Server Private What about us : FEATURES Lottery System Trivia System Bank Pin System Tutorial System Time Played System Reset Skills System Voting Rewards Custom Cosmetics Custom Bosses Custom Weapons Third Age Sword Third Age Wand Third Age Cloak Revenants Completion Cape Max Cape Fire Cape / Kiln Cape Working Jad Working Nomad Nex Gear with Specials Primal & Promethium Death Cape Community Team Speak Server Player VS Monsters Rewards Armor Bonuses Working Ring of Wealth Client Based Notifications HD Graphics HD Textures Client Loader Automatic Cache Updater Working Sounds Working Music Packet System Push Notifications High Detail / Low Detail Toggling Features Toggle Game Frame Custom Interfaces Competitive HighScores Shooting Star System Star Dust Reward Store 100% Ancients 100% Lunars 100% Perfect Switches Accurate Max Hit Formula Correct Accuracy Hit Formula Customized Weapons Loyalty Titles Well-Constructed Pk Shop Pet System Based on Bosses Pet Insurance Fog System Hit Marks HP above Users Mouse Wheel Screen Rotation Flawless Hybridding Active Community, In-Game & Forums Amazing Combat Constant Updates Hard Based Economy Automatic Donations & Voting System Daily Events Active Deep Wilderness Pking Custom Quest Tab Active Clan vs Clan Battles KillStreak & Bounty System 50+ Achievements Social Slayer (Duo Slayer) Leaderboards for Wilderness Pk Titles Target System EP System Working Mage Arena PvP Artifacts Fully Working Curses KDR System Experience Counter Working Specials Steadfast, Glaviens, Ragefires TokHar Kal & Hand Cannon Zaryte Bow & God Bows Dedicated Staff Team With Past Experience Hosted On A Dedicated Server Fully Functional Bank Tabs Complete Clan Chat System 20+ Working Skills! Customizable Client Custom vBulletin Themed Forums Mix of 474, 525, and 667 maps Gambling (Dicing & Mithril Seeds) Pest Control , Duel Arena, Barrows, Fight Caves Zombies, Castle Wars, Champion Scrolls 100% Working Money Pouch[/CODE] now want to see media here you go background [img]http://i.imgur.com/1qYqj6h.jpg[/img] pest control [img]http://i.imgur.com/ABlcfYu.jpg[/img] exchange tickets [img]http://i.imgur.com/85sOfIG.png[/img] bank taps [img]http://i.imgur.com/RkzwD6P.png[/img] system bank pin [img]http://i.imgur.com/5cVH7kX.png[/img] [img]http://i.imgur.com/7TCDPwm.png[/img] system slayer [img]http://i.imgur.com/CXJESu7.png[/img] skill cape shops [img]http://i.imgur.com/jYaqLPb.png[/img] the pkshops [img]http://i.imgur.com/QEmS8xx.png[/img] [img]http://i.imgur.com/MteDpca.png[/img] clue scrolls [img]http://i.imgur.com/akcfP7c.png[/img] prayer [img]http://i.imgur.com/57l7sfj.png[/img] system pets [img]http://i.imgur.com/8H9Z6ED.jpg[/img] [img]http://i.imgur.com/m7ngIYk.png[/img] barrows [img]http://i.imgur.com/aBBZe8h.jpg[/img] max cape [img]http://i.imgur.com/gjIlz63.png[/img] runecrafting [img]http://i.imgur.com/3HIh9Wj.jpg[/img] [img]http://i.imgur.com/YDZdLQB.png[/img] donator shops just i hide named bacause was pkshops you can change name from folder in soures called "cfg/shops [img]http://i.imgur.com/vDHEUqq.png[/img] alot of boss and alot in Evoxscape you can check it out by yourself :) well now the media done now lets go to download :) D W O N L O A D [URL=""]SERVER[/URL] [URL=""]CLIENT[/URL] cache will be auto download give me thanks if you like it :)[/CENTER]
  12. Got bored doing this by myself. Might move on from development for a while and start actually focusing on life a little more. - Experience lamps - Player Reports - Bank tabs - Running with energy (limited) - Correct RuneScape Teleports - Character Savings and loading - Character Customizing - Stronghold Security (Receiving money and boot choice when finished) - Cockroach dungeon - Bones on altar. - Water fillables (only vials so far) - Christmas Crackers (half-assed) - Double and single doors - All potions (useful ones) - Modern, ancients, and lunar magic spells - Enchanted jewelery - Ring of dueling; glory; games necklace - Teleport tabs - Player following clipping / NPC clipping - Music and sounds - Weapon poisoning - Fishing Guild - Mystery Boxes - Lumbridge Sage - Active players list Virus Scan Update log: [B]September 7, 2013[/B] -Added Alching -Fixed character saving and apperance. -Added full character customizing. -Started a tutorial. (Wont be released until the server is) -Tweaked cockroach dungeon. [B]September 8, 2013[/B] -Made bank "withdrawl X" amount stick. So if you wanted let's say 14 iron ore and 14 copper ore, it would stick instead of constantly typing in 14 in the withdrawl X amount. -Bones on altar. All bones are able to be used. Excepted noted, derp. -Added pretty decent revenant caves. -Now able to re-gain your summoning points by using obelisks. -Added report abuse. When a player is reported, if there is a staff member online it will send them a message about the report and make a System.out.println. If there is no staff member on it'll create a report in PlayerReports.txt. [B]September 9, 2013[/B] -Started Mystery boxes. -Started experience lamps. - Get these lamps from NPC drops(medium-rare) and use them to gain xp in any skill you've selected. -Rewrote player saftey exams. Credit to Fuzen Seth for creating. -Finished experience lamps. -Completed fishing guild (no requirements set right now) [B]September 10, 2013[/B] -Dementhium door fix applied. -Finished Mystery boxes. -Dialogue fixes. -Dupe / bug corrections. -Gunnjorn will not give you an Agile top unless you have 90 Agility. The Gnome Trainer will not give you Agile legs unless you have 85 Agility. Once you have one of each, you can't obtain another. Unless you lose your other set. -Started Lumbridge sage. - Shares information about the server. -Active players list (Lumbridge sage will have an option to show active players) -Clan punishments and savings. [B]September 11, 2013[/B] -All updates are on hold. Death in the family so I won't be developing much. [B]September 15, 2013[/B] -Added random server messages every 5 minutes. -World messages for reaching 99 in a skill. If I get more downloads than feedback I will remove the link, so Comment or thank this thread. Download RuneLiteV3Package: Click here to download. Credits: Mystic Flow Steve Emperor Dementhium Team Me RuneScape is copyright © Jagex Ltd 1999-2013. RuneScape and Jagex are registered trademarks of Jagex Ltd. RuneLite is not affiliated with Jagex Ltd in any way and exists solely for educational purposes.
  13. So for a while I have been ill and what not and have had no time to really do much. I am releasing my work so that others can use some other base source than those that have a lot of bugs and issues with connecting and whatnot. [COLOR="#FF0000"]DO NOT USE ECLIPSE YOU WILL LOSE A LOT OF FILES.[/COLOR] THAT IS WHY IT HAS Compiler.bat AND RunServer.bat. Added All Drygore/Off-hand Drygore (Drygores come with special!) Links: (My cache works best with this source as XTEAS are used) [URL="http://www.runelocus.com/forums/showthread.php?99334-Chronicscape-Project-v2-Final-Release"]Newest Release[/URL] NEW UPDATE: v3 Now Has Prestige! Talk to NPC 14386.. First Click Follow option to start the Prestige System (Personally coded this myself) Server Has A LOAD Of Options Which Some Of It Includes: -All Skills Trainable -25+ Shops -Loads of Areas Usable -Grotworms RS Spawn Locations -QBD With Rewards Room -Dominion Tower (Not bugged Just Fix Rewards) -Different Teleport Styles Per Teleport Command -New Rank For Server Owner Includes Its Own Crown (Reg owner has a dif crown as well) -Admin Crown Is A Golden A -Mod Crown Is A Silver M -Loads Of Item Fixes (Just need to finish the options for the attack styles so it doesnt have kick, punch etc..) -Custom Items (Like at least 15-20 of them) -Loads Of Custom Commands (like ::fly ::flash ::red etc..) -All Emotes Working On The Emotes Tab -Custom Emote For Nomad Cape (As well as a new custom Multiplayer Dungeon For it) -Multiplayer Kalphite Queen -Multiplayer Construction (Yes yes I know you guys love single player con just fix the handler) -Special Summoning Pets (Removed death at hunger and pets grow after you feed them 5 items) -Special Owner Player Option *Rampage* That Allows You To Hit Anyone Anywhere -Special Owner Commands Such As ::trial ::deathsentance ::deathsentance2 and so on -Yell Color Recoloring (Use Hexadecimal Color Codes - All players can use the command) -Donator Zone Is Huge And Is Traveled To By The Boat At ::crabs -Home Is At Keldagrim For Now (Fixed the stalls there too so you can thieve them) -Godwars Is Reconstructed (You need Keys to open god doors made from Key Parts (Ids 20120, 20121, 20122, 20123, 20124)) -Remapped The Tokhaar Jad Arena Cuz Maps Were Missing For Har-Aken (Just DL Them from someone else or w/e) -Cache uses XTEAS -Easy To Load And Has Great High Detail Settings -Client Can Be Renamed As Well As The Cache Name It Puts Into Your User Folder -Snelm Crafting -Thieving Guild -All Agility Arenas Coded (Just need to finish up wildy course) -New Banker Dialogue (exchanges 2b coins for a Money Cert) -Jadinko Lair And Vines Coded -Polypore Dungeon Objects and Spawns Coded -Custom ::afk Zone (Make sure to read what it tells you) Images: [IMG]http://i.imgur.com/V6sbHH6.jpg[/IMG] [IMG]http://i.imgur.com/G17VYXs.jpg[/IMG] [IMG]http://i.imgur.com/qeV8Kv0.jpg[/IMG] [IMG]http://i.imgur.com/cyvRQdU.jpg[/IMG] [IMG]http://i.imgur.com/RBQNMb3.jpg[/IMG] [IMG]http://i.imgur.com/BEamrE9.jpg[/IMG] [IMG]http://i.imgur.com/LTo4Snw.jpg[/IMG] [IMG]http://i.imgur.com/0uqlSVw.jpg[/IMG] [IMG]http://i.imgur.com/tceKhsQ.jpg[/IMG] [IMG]http://i.imgur.com/RkwbCUd.jpg[/IMG] [IMG]http://i.imgur.com/bnA35ME.jpg[/IMG] [IMG]http://i.imgur.com/UvPiDPZ.jpg[/IMG] [IMG]http://i.imgur.com/9HRx4Pq.jpg[/IMG] [IMG]http://i.imgur.com/uWhSffA.jpg[/IMG] [IMG]http://i.imgur.com/F7PWAcG.jpg[/IMG]
  14. [CENTER]This was just a small project for me to learn stuff, not really updated with the more recent snippets and such. [CENTER]Features: - [U]Unseen home [/U] - [U]Few new shops[/U] - [U]God starter dialogue[/U] - [U]Nice Runecrafting area[/U] - [U] Removed that dear awful glow on the teleports[/U] - [U]Own God shops (Zam, Sara, Guthix)[/U] - [U]New SOF items, few XP lamps still, but not items seen on some other servers[/U] [/CENTER] Here's some pics to make you happy, wink wink. [url]http://imgur.com/a/Gi27f[/url] [CODE]Swear to hell, this picture shit fucking hates me now. I cant fullscreen bc it only shows half the screen like the watup. So there's a album for you all on Imgur.[/CODE] [U]Downloads[/U] (Includes Server/Cache and Matrix 718 Client.) (hooplah!!): Matrix 718 Client: [url]http://www.mediafire.com/download/ot6hoconsk2g6d7/Matrix%20718%20Client.rar[/url] Cache: [url]http://www.mediafire.com/download/zmkg1no9agy273q/cache.rar[/url] Server: [url]http://www.mediafire.com/download/gdkuxpe8eqmnh78/Dethrone%20718.rar[/url] [/CENTER]
  15. Rune-Factory has been sold once to some guy who has decided to sell our hard work and then try to charge back. Him being selling the server and constantly threathing me saying that he will release it resulted in Rune-Factory being released. I really wish I did not have to do this, but well... Every nice thing comes to an end, I think? If you still would like to send us some money for our hard work we've done on this server, you may always send us some money over paypal. ([email protected]) The domain and website template have not been sold and are still for sell if anyone is wanting it. [spoiler=sellingthread] [ADMIN=amount sold] One copy has been sold[/ADMIN] [MOD=Intro]Hey all, you may wonder why we're selling Rune-Factory? There's a simple answer on that questions, Jamal and me do not have enough time to work on this anymore and I'm getting sick of the runescape private server scene more everyday. This is a beautiful server which can be hosted straight away. It got a lot of content which you will not find easily on other servers. You'll need to have some money to get it off the ground cause of an overload of leeched servers where players actually lose their time on. Anyway, I will now present you some features that Rune-Factory has. *note: the server is still online for a day or two*[/MOD] [MOD=Contact]Contact: Private Message me Skype: seppe.l98[/MOD] [MOD=How this works]How will this work? Well you can choose to either buy the entire server, with the domain, website and forums. The price will be discussed over skype with me, then if you want me to sell only one copy you should message me too.[/MOD] [MOD=amount?] How many copies am I wanting to sell? Jamal and me do not want to sell, too much of these copies. Cause otherwise it'll defeat the purpose of buying it for the people who have bought it, already. So probably around 5-7.[/MOD] [MOD=Agreement]Agreement? You'll go first with the payment. The payment will go via Paypal. You will not charge-back. You will not release/re-sell the server and will not release code which is in the server. [/MOD] [MOD=some content]What does this server provide? All skills 100% working, except for dungeoneering. A lot of minigames for example: - Barrows - Castle Wars - Clan Wars - Duel Arena - Fist of Guthix - Pest Control - Puro Puro - Lava Flow mining - Warrior Guild ... Quests: - dwarf cannon - a custom one, Crystal Myth Bosses: - Armadyl - King Black Dragon - Kalphite Queen - Giant Mole - Dagannoth Lair - Tormented Demons - All sort of dragons - Glacors - Corporeal Beast - Bandos - Zamorak - Saradomin - Leeuni - Blink - Sea monster - and it has a lot more combat scripts inside it too Misc? Full Bankpin system Grandexchange (web sided + Game) Price checker Gravestones All shortcuts Effigies Clue scrolls Mystery boxes Crystal key chest Item Lending Boss count Boss pets veteran rank after 300h achievements And much more! [/MOD] [MOD=pics]These pictures are a bit outdated, but I took them of our advertisement thread, might take new ones later [CENTER][Spoiler=Pictures_Website] [img]http://i.imgur.com/mA04ude.jpg[/img] [img]http://i.imgur.com/77Mdwkv.jpg[/img] [img]http://i.imgur.com/V61yO2k.jpg[/img] [img]http://i.imgur.com/vmaqCW6.jpg[/img] [/spoiler] [Spoiler=Game_pics] [img]http://i.imgur.com/9AZd9B5.png[/img] [img]http://i.imgur.com/MMQyoXe.png[/img] [img]http://i.imgur.com/kpC2dgE.jpg[/img] [img]http://i.imgur.com/xnUOrzd.jpg[/img] [img]http://i.imgur.com/PktID8v.jpg[/img] [img]http://i.imgur.com/qXO4H4T.jpg[/img] [img]http://i.imgur.com/ctpZ7bL.jpg[/img] [img]http://i.imgur.com/6jVtSLa.jpg[/img] [img]http://i.imgur.com/8RJP9eB.jpg[/img] [img]http://i.imgur.com/ZElyzvG.gif[/img] [img]http://i.imgur.com/UqaeJ1D.jpg[/img] [img]http://i.imgur.com/Nuqd5QQ.jpg[/img] [img]http://i.imgur.com/ZBTFlBn.jpg[/img] [img]http://i.imgur.com/JyXYXB4.jpg[/img] [img]http://i.imgur.com/SmZOPko.jpg[/img] [img]http://i.imgur.com/9kxGjdh.jpg[/img] [img]http://i.imgur.com/NvTRhiR.jpg[/img] [img]http://i.imgur.com/GGv2FmC.jpg[/img] [img]http://i.imgur.com/07SwcDm.jpg[/img] [img]http://i.imgur.com/iVG1jls.jpg[/img] [img]http://i.imgur.com/ch3Qmso.jpg[/img] [/Spoiler][/MOD] [/CENTER] [/spoiler] [URL="https://mega.co.nz/#!PpsxDRqY!roGR4xcunZscdwnm91PCDThcEl_NfSzPy79TV3Oq5II"]Rune-Factory 667 Release[/URL] I do not give permission to release this anywhere and please give credits where credits need to be given. I hope no one will purchase it off anyone anymore. Please save your money and don't let someone make money off our hard work! Thank you
  16. [B][CENTER]Since I quit this project [U]officially[/U] I might as well release it. It's been good to me though, hope whoever downloads enjoys.[/B] I am going to be playing RuneScape now so this has no need for me anymore. The HTML 5 update kind of got me stuck into RuneScape. I [B]do not[/B] want this released on any other site. I want it to be [B]RuneLocus only[/B]! [/CENTER] [B][CENTER][SIZE=5][COLOR="#FF0000"][U]Official Release[/U][/COLOR][/SIZE][/B] [B]Information:[/B] All skills trainable! Sick donator zone! All new skilling animations like runescape! Automated Double Xp Weekends! Achievement system! Noticeboard! Duel-Wielding! Solomons! Range Guild! Every EOC item up to date! SOF! Lots of teleports! Running 250 laps on barb advanced course will get you Agile. Cutting 750 ivy will get you Inferno Adze. Mining 1000 ore will get you gilded mining outfit. Mining 2000 ore will get you gilded dragon pickaxe. [spoiler="Pictures"] [IMG]http://new.tinygrab.com/d04d0df79d6660121011002c3d2e0625ce671ad5c5.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79db79bf864cebaf4bc055706787c40fd31.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d087d4a687b55a11e92cd2d621b00b5ac.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d5aa8e577148e44326e0a72bb0412724f.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d2e6fbe9fc0e370aa4ef4797dc32c4eab.png[/IMG] [IMG]http://img266.imageshack.us/img266/1905/ce44ac68914a41bb9f46248.png[/IMG] [IMG]http://img267.imageshack.us/img267/9603/b4ad95fea7ed4257a27f31c.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d3a625b555b6aee26a5d217cd43740409.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d74a4c9af2f530c650ec6c006307aa9fe.png[/IMG] [IMG]http://img809.imageshack.us/img809/6633/f0e0d011405b4faf8af501d.png[/IMG] [IMG]http://new.tinygrab.com/d04d0df79d52fd79da19a1bdf78c1ff9a3d6dea451.png[/IMG] [IMG]http://i.imgur.com/kFrSC92.png[/IMG] [IMG]http://img547.imageshack.us/img547/9719/e101f1cfc0b44778a337b6c.png[/IMG] [/spoiler] [B][SIZE=5][COLOR="#0000FF"] Downloads:[/COLOR][/SIZE][/B] Server: [URL="http://www.mediafire.com/?0m3u71s9i174ns0"]Please leave a thanks.[/URL] Cache: [URL="https://mega.co.nz/#!9o43HTLK!Uq19nEo7lepuaLXx_4ThWy_4KyEke0E8FxUM4s7Ck9U"]Please leave a thanks. -UPDATED 1/4/2014 [/url] Client: [URL="http://www.mediafire.com/?jcd3o243qozhfrp"]Please leave a thanks.[/URL] If you need help: [url]http://tapa.runelocus.com/forums/showthread.php?t=96782[/url][/CENTER]
  17. Actually, Fuck it, I'm Re-Uploading Links. Tell me if they get taken down again. AGAIN, I DO NOT GIVE ANYBODY PERMISSION TO RELEASE THIS ON ANY OTHER WEBSITE WHATSOEVER AND YOU CAN NOT CLAIM THIS AS YOUR OWN. IF YOU USE, GIVE CREDITS. Source: http://uppit.com/c8jeye528yz3/Lucifer's_SERVER.zip Source Alternative: http://dl.dropbox.com/u/65718719/Lucifer%27s%20SERVER.zip Client: http://uppit.com/owqnhf1h6jjs/Lucifer's_CLIENT.zip Client Alternative: http://dl.dropbox.com/u/65718719/Lucifer%27s%20CLIENT.zip Cache: http://uppit.com/6s6ibhyfske6/.DevilsScape.zip Cache Alternative: http://dl.dropbox.com/u/65718719/.DevilsScape.zip Enjoy. Credits: Me: 90% Trent: 1% Keiron: 9% Dragonkk: Client 90% I made some adjustments 10% If this doesn't run for you, Hint: Look at run.bat and change the Main.Launcher to lucifer.Main :) Here's media for the media faggots.
  18. Hello everybody! I got back from Israel recently, and it has come to my attention that the 317 RSPS standard is getting lower and lower, because of the amount of work getting put into these servers, almost none. My goal in releasing this project is that people will use a better base to create their next server. I am pretty much done with RSPS now, as I am 15 and they just no longer seem interesting to me. I hope everyone will benefit from this! This project was started off the Soulsplit release by Pim.
  19. [B]Video:[/B] [url=http://www.youtube.com/watch?v=417Eo6zJ_Yc]Grand Exchange Show off[/url] For the client sided part rip it from this or use the client: [url=http://www.runelocus.com/forums/showthread.php?91095-Project-Exile-The-Full-Release]Project-Exile Release[/url] But be aware there are loads of things to rip from the client.. Server: Create a folder named "GrandExchange" in "Data", and in that folder create 2 folders, one named "Buyers", and one named "Sellers" Then add these classes: [CODE] package com.exile.game.players.grandexchange; import com.exile.Constants; import com.exile.Server; import com.exile.event.CycleEvent; import com.exile.event.CycleEventContainer; import com.exile.event.CycleEventHandler; import com.exile.game.items.Item; import com.exile.game.items.ItemDefinition; import com.exile.game.players.Player; import com.exile.game.players.PlayerSave; import com.exile.util.Misc; import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileNotFoundException; import java.io.FileReader; import java.io.FileWriter; import java.io.IOException; /** * * [MENTION=52317]auth[/MENTION]or Alex(TheLife) */ public class GrandExchange { /** * Static integers */ public static int offers = 100000, totalOffers = 0; /** * []Integers */ public int Slots[] = new int[7]; public int SlotType[] = new int[7]; /** * Integers */ public int selectedItemId = 0, selectedAmount = 0, selectedPrice = 0, selectedSlot = 0, itemRecieved = 0, itemAmountRecieved = 0, firstItemStacked, secondItemStacked; /** * Static booleans */ public static boolean loading = false; /** * Booleans */ public boolean toHigh = false, recievedMessage = false, stillSearching = false; /** * Sellers */ public static Sellers sellers[] = new Sellers[offers]; /** * Buyers */ public static Buyers buyers[] = new Buyers[offers]; /** * Initializing Player c */ private Player c; /** * Setting c */ public GrandExchange (Player c) { this.c = c; } /** * Setting it for Server.java */ public GrandExchange() { } /** * Send update to player */ public void sendUniversal(String name) { for (int i = 0; i < Constants.MAX_PLAYERS; i++) { if (Server.playerHandler.players[i] != null) { if (Server.playerHandler.players[i].playerName.equalsIgnoreCase(name)) { Player c2 = (Player)Server.playerHandler.players[i]; if(c2.GE().recievedMessage != true) { c2.sendMessage("One or more of your Grand Exchange offers have been updated."); } c2.GE().recievedMessage = true; if(c2.interfaceIdOpen == 54700 || c2.interfaceIdOpen == 53700) { final Player c3 = c2; CycleEventHandler.getInstance().addEvent(c, new CycleEvent() { public void execute(CycleEventContainer container) { container.stop(); } [MENTION=15855]Over[/MENTION]ride public void stop() { c3.GE().openCollect(c3.GE().selectedSlot, false); } }, 1); } else if(c2.interfaceIdOpen == 24500) { final Player c3 = c2; CycleEventHandler.getInstance().addEvent(c, new CycleEvent() { public void execute(CycleEventContainer container) { container.stop(); } [MENTION=15855]Over[/MENTION]ride public void stop() { c3.GE().openGrandExchange(false); } }, 1); } else { c2.GE().openGrandExchange(false); } } } } } /** * Send if it has updated */ public void sendUpdate(String name) { boolean rM = false; for(int i = 0; i < offers; i++) { if(sellers[i] != null && sellers[i].owner.equalsIgnoreCase(name)) { if(sellers[i].updated == true) rM = true; } else if(buyers[i] != null && buyers[i].owner.equalsIgnoreCase(name)) { if(buyers[i].updated == true) rM = true; } } if(rM == true) { c.sendMessage("You have items from the Grand Exchange waiting in your collection box."); } } /** * Load Sellers */ public void loadSellers() { BufferedReader File = null; boolean found = false; for(int i = 0; i < offers; i++) { found = false; try { File = new BufferedReader(new FileReader("./Data/GrandExchange/Sellers/"+i+".txt")); try { File.close(); } catch(IOException o) { } found = true; } catch(FileNotFoundException e) { found = false; continue; } if(found == true) { totalOffers++; Sellers s = new Sellers(i); sellers[i] = s; loadOffer(s.id, "Sell"); } } } /** * Load Buyers */ public void loadBuyers() { BufferedReader File = null; boolean found = false; for(int i = 0; i < offers; i++) { found = false; try { File = new BufferedReader(new FileReader("./Data/GrandExchange/Buyers/"+i+".txt")); try { File.close(); } catch(IOException o) { } found = true; } catch(FileNotFoundException e) { found = false; continue; } if(found == true) { totalOffers++; Buyers b = new Buyers(i); buyers[i] = b; loadOffer(b.id, "Buy"); } } } /** * Makes a new offer */ public int newOffer(String type, int itemId, int amount, int updatedAmount, int price, int percentage, String owner, boolean completed, int slot) { if(loading == true) { return -1; } int id = -1; if(type == "Sell") { for (int a = 1; a < offers; a++) { if (sellers[a] == null) { id = a; break; } } if(id == -1) { c.sendMessage("To many offers, please try again later."); return id; } Sellers s = new Sellers(id); s.itemId = itemId; s.amount = amount; s.updatedAmount = updatedAmount; s.price = price; s.percentage = percentage; s.owner = owner; s.slot = slot; s.updated = false; Slots[slot] = id; SlotType[slot] = 1; sellers[id] = s; saveOffer(id, type); } else if(type == "Buy") { for (int a = 1; a < offers; a++) { if (buyers[a] == null) { id = a; break; } } if(id == -1) { c.sendMessage("To many offers, please try again later."); return id; } Buyers b = new Buyers(id); b.itemId = itemId; b.amount = amount; b.updatedAmount = updatedAmount; b.price = price; b.percentage = percentage; b.owner = owner; b.slot = slot; b.updated = false; Slots[slot] = id; SlotType[slot] = 2; buyers[id] = b; saveOffer(id, type); } return id; } /** * Check for items */ public int firstItemStacked(int itemId) { firstItemStacked = 0; if(ItemDefinition.forId(itemId+1). itemIsNote) { itemId++; } for (int i = 0; i < c.playerItems.length; i++) { if (c.playerItems[i] == itemId+1) firstItemStacked = c.playerItemsN[i]; } return itemId; } public int secondItemStacked(int itemId) { secondItemStacked = 0; for (int i = 0; i < c.playerItems.length; i++) { if (c.playerItems[i] == itemId+1) secondItemStacked++; } return itemId; } public boolean removeGrandExchangeItems(int selectedA, int firstItemId, int secondItemId, int firstItemA, int secondItemA, long total) { if(total < selectedA) { c.sendMessage("You don't have that many."); return false; } if(selectedA <= 0) { return false; } if(total <= 0) { return false; } if(selectedA >= secondItemA) { if (c.getItems().playerHasItem(secondItemId, secondItemA)) { c.getItems().deleteItem2(secondItemId, secondItemA); selectedA -= secondItemA; } } if(selectedA <= secondItemA) { if (c.getItems().playerHasItem(secondItemId, selectedA)) { c.getItems().deleteItem2(secondItemId, selectedA); selectedA = 0; } } if(selectedA >= firstItemA) { if (c.getItems().playerHasItem(firstItemId, firstItemA)) { c.getItems().deleteItem2(firstItemId, firstItemA); selectedA -= firstItemA; } } if(selectedA <= firstItemA) { if (c.getItems().playerHasItem(firstItemId, selectedA)) { c.getItems().deleteItem2(firstItemId, selectedA); selectedA = 0; } } if(selectedA > 0) { return false; } return true; } /** * Sell items method */ public void sellItems() { int x = selectedAmount; int y = firstItemStacked(selectedItemId); int z = secondItemStacked(selectedItemId); long l = firstItemStacked; long g = secondItemStacked; long o = l+g; if(removeGrandExchangeItems(x, y, z, firstItemStacked, secondItemStacked, o)) { final int s = selectedSlot; int b = selectedSlot; int i = newOffer("Sell", selectedItemId, selectedAmount, selectedAmount, selectedPrice, 0, c.playerName, false, b); //c.getItems().deleteItem2(selectedItemId, selectedAmount); if(i == -1) { c.getItems().addItem(selectedItemId, selectedAmount); c.sendMessage("To many offers, please try again later."); return; } openGrandExchange(true); c.sendConfig(4, b, 1, -1); c.sendConfig(5, b, 1, -1); int k = b*2; k += 24565; c.getPA().sendFrame34(selectedItemId, 0, k, selectedAmount); sellItems(i, c.playerName); CycleEventHandler.getInstance().addEvent(c, new CycleEvent() { public void execute(CycleEventContainer container) { container.stop(); } [MENTION=15855]Over[/MENTION]ride public void stop() { c.sendConfig(5, s, 3, -1); } }, 2); PlayerSave.saveGame(c); } } /** * Buy items method */ public void buyItems() { if (c.getItems().playerHasItem(995, selectedAmount*selectedPrice)) { final int s = selectedSlot; int b = selectedSlot; c.getItems().deleteItem2(995, selectedAmount*selectedPrice); int i = newOffer("Buy", selectedItemId, selectedAmount, selectedAmount, selectedPrice, 0, c.playerName, false, b); if(i == -1) { c.getItems().addItem(selectedItemId, selectedAmount); c.sendMessage("To many offers, please try again later."); return; } openGrandExchange(true); c.sendConfig(4, b, 1, -1); c.sendConfig(5, b, 2, -1); int k = b*2; k += 24565; c.getPA().sendFrame34(selectedItemId, 0, k, selectedAmount); buyItems(i, c.playerName); CycleEventHandler.getInstance().addEvent(c, new CycleEvent() { public void execute(CycleEventContainer container) { container.stop(); } [MENTION=15855]Over[/MENTION]ride public void stop() { c.sendConfig(5, s, 4, -1); } }, 2); PlayerSave.saveGame(c); } else { c.sendMessage("You don't have enough coins."); } } /** * Part of item selling */ public void sellItems(int s, String name) { for (int b = 1; b < offers; b++) { if (buyers[b] != null && sellers[s] != null) { if (buyers[b].itemId == sellers[s].itemId) { if(sellers[s].updatedAmount >= 1) { if(sellers[s].price <= buyers[b].price) { if (!sellers[s].completed && !buyers[b].completed) { if (!sellers[s].aborted && !buyers[b].aborted) { stillSearching = true; boolean done = false; done = false; if(done != true && sellers[s].updatedAmount > buyers[b].updatedAmount) { sellers[s].updatedAmount -= buyers[b].updatedAmount; sellers[s].percentage += buyers[b].updatedAmount; sellers[s].itemOneAmount += buyers[b].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); sellers[s].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += buyers[b].updatedAmount; buyers[b].total += buyers[b].updatedAmount; buyers[b].totalGp += buyers[b].updatedAmount*sellers[s].price; int sa = buyers[b].updatedAmount*sellers[s].price; int ba = buyers[b].updatedAmount*buyers[b].price; buyers[b].itemTwoAmount += ba-sa; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); buyers[b].percentage = buyers[b].amount; buyers[b].updatedAmount = 0; buyers[b].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(s, "Sell"); saveOffer(b, "Buy"); done = true; } if(done != true && sellers[s].updatedAmount == buyers[b].updatedAmount) { sellers[s].percentage = sellers[s].amount; buyers[b].percentage = buyers[b].amount; sellers[s].itemOneAmount += buyers[b].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += sellers[s].updatedAmount; sellers[s].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].total += buyers[b].updatedAmount; buyers[b].totalGp += buyers[b].updatedAmount*sellers[s].price; int sa = sellers[s].updatedAmount*sellers[s].price; int ba = buyers[b].updatedAmount*buyers[b].price; buyers[b].itemTwoAmount += ba-sa; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); sellers[s].updatedAmount = 0; buyers[b].updatedAmount = 0; buyers[b].completed = true; sellers[s].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(b, "Buy"); saveOffer(s, "Sell"); done = true; } if(done != true && buyers[b].updatedAmount > sellers[s].updatedAmount) { buyers[b].percentage += sellers[s].updatedAmount; sellers[s].percentage = sellers[s].amount; sellers[s].itemOneAmount += sellers[s].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += sellers[s].updatedAmount; int sa = buyers[b].price-sellers[s].price; int ba = sa*sellers[s].updatedAmount; buyers[b].itemTwoAmount += ba; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); sellers[s].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].total += buyers[b].updatedAmount; buyers[b].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].updatedAmount -= sellers[s].updatedAmount; sellers[s].updatedAmount = 0; sellers[s].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(b, "Buy"); saveOffer(s, "Sell"); done = true; } stillSearching = false; } } } } } } } } /** * Part of item buying */ public void buyItems(int b, String name) { for (int s = 1; s < offers; s++) { if (sellers[s] != null && buyers[b] != null) { if (sellers[s].itemId == buyers[b].itemId) { if(buyers[b].updatedAmount >= 1) { if(buyers[b].price >= sellers[s].price) { if (!sellers[s].completed && !buyers[b].completed) { if (!sellers[s].aborted && !buyers[b].aborted) { stillSearching = true; boolean done = false; done = false; if(done != true && buyers[b].updatedAmount > sellers[s].updatedAmount) { buyers[b].percentage += sellers[s].updatedAmount; sellers[s].percentage = sellers[s].amount; buyers[b].updatedAmount -= sellers[s].updatedAmount; sellers[s].itemOneAmount += sellers[s].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += sellers[s].updatedAmount; int sa = buyers[b].price-sellers[s].price; int ba = sa*sellers[s].updatedAmount; buyers[b].itemTwoAmount += ba; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); sellers[s].total += sellers[s].updatedAmount; sellers[s].totalGp += sellers[s].updatedAmount*sellers[s].price; buyers[b].total += sellers[s].updatedAmount; buyers[b].totalGp += sellers[s].updatedAmount*sellers[s].price; sellers[s].updatedAmount = 0; sellers[s].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(s, "Sell"); saveOffer(b, "Buy"); done = true; } if(done != true && buyers[b].updatedAmount == sellers[s].updatedAmount) { sellers[s].percentage = sellers[s].amount; buyers[b].percentage = buyers[b].amount; sellers[s].itemOneAmount += buyers[b].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += sellers[s].updatedAmount; int sa = sellers[s].updatedAmount*sellers[s].price; int ba = buyers[b].updatedAmount*buyers[b].price; buyers[b].itemTwoAmount += ba-sa; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); sellers[s].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].updatedAmount = 0; sellers[s].updatedAmount = 0; buyers[b].completed = true; sellers[s].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(b, "Buy"); saveOffer(s, "Sell"); done = true; } if(done != true && sellers[s].updatedAmount > buyers[b].updatedAmount) { sellers[s].percentage += buyers[b].updatedAmount; buyers[b].percentage = buyers[b].amount; sellers[s].itemOneAmount += buyers[b].updatedAmount*sellers[s].price; sellers[s].itemOne = getMoneyStackId(sellers[s].itemOneAmount); buyers[b].itemOne = buyers[b].itemId; buyers[b].itemOneAmount += buyers[b].updatedAmount; int sa = buyers[b].updatedAmount*sellers[s].price; int ba = buyers[b].updatedAmount*buyers[b].price; buyers[b].itemTwoAmount += ba-sa; buyers[b].itemTwo = getMoneyStackId(buyers[b].itemTwoAmount); sellers[s].total += buyers[b].updatedAmount; sellers[s].totalGp += buyers[b].updatedAmount*sellers[s].price; buyers[b].total += buyers[b].updatedAmount; buyers[b].totalGp += buyers[b].updatedAmount*sellers[s].price; sellers[s].updatedAmount -= buyers[b].updatedAmount; buyers[b].updatedAmount = 0; buyers[b].completed = true; buyers[b].updated = true; sellers[s].updated = true; sendUniversal(sellers[s].owner); sendUniversal(buyers[b].owner); saveOffer(b, "Buy"); saveOffer(s, "Sell"); done = true; } stillSearching = false; } } } } } } } } /** * Gets the item id of the money stack */ public int getMoneyStackId(int amount) { if(amount == 1) { return 995; } else if(amount == 2) { return 996; } else if(amount == 3) { return 997; } else if(amount == 4) { return 998; } else if(amount >= 5 && amount <= 24) { return 999; } else if(amount >= 25 && amount <= 99) { return 1000; } else if(amount >= 100 && amount <= 249) { return 1001; } else if(amount >= 250 && amount <= 999) { return 1002; } else if(amount >= 1000 && amount <= 9999) { return 1003; } else if(amount >= 10000) { return 1004; } return 995; } /** * M or K */ private static String intToKOrMil(int j) { if(j < 0x186a0) return String.valueOf(j); if(j < 0x989680) return j / 1000 + "K"; else return j / 0xf4240 + "M"; } /** * Save offers */ public void saveOffer(int id, String type) { BufferedWriter grandExchange = null; BufferedReader File = null; BufferedWriter fileW = null; if(type == "Sell") { try { try { File = new BufferedReader(new FileReader("./Data/GrandExchange/Sellers/"+id+".txt")); try { File.close(); } catch(IOException o) { } } catch(FileNotFoundException e) { try { fileW = new BufferedWriter(new FileWriter("./Data/GrandExchange/Sellers/"+id+".txt")); try { fileW.close(); } catch(IOException o) { } } catch(IOException a) { } } grandExchange = new BufferedWriter(new FileWriter("./Data/GrandExchange/Sellers/"+id+".txt")); grandExchange.write(Integer.toString(sellers[id].itemId), 0, Integer.toString(sellers[id].itemId).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].amount), 0, Integer.toString(sellers[id].amount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].updatedAmount), 0, Integer.toString(sellers[id].updatedAmount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].price), 0, Integer.toString(sellers[id].price).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].percentage), 0, Integer.toString(sellers[id].percentage).length()); grandExchange.newLine(); grandExchange.write(sellers[id].owner, 0, sellers[id].owner.length()); grandExchange.newLine(); if(sellers[id].completed == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].slot), 0, Integer.toString(sellers[id].slot).length()); grandExchange.newLine(); if(sellers[id].updated == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].itemOne), 0, Integer.toString(sellers[id].itemOne).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].itemTwo), 0, Integer.toString(sellers[id].itemTwo).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].itemOneAmount), 0, Integer.toString(sellers[id].itemOneAmount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].itemTwoAmount), 0, Integer.toString(sellers[id].itemTwoAmount).length()); grandExchange.newLine(); if(sellers[id].aborted == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].total), 0, Integer.toString(sellers[id].total).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(sellers[id].totalGp), 0, Integer.toString(sellers[id].totalGp).length()); grandExchange.close(); } catch (IOException ioexception) { } } else if(type == "Buy") { try { try { File = new BufferedReader(new FileReader("./Data/GrandExchange/Buyers/"+id+".txt")); try { File.close(); } catch(IOException o) { } } catch(FileNotFoundException e) { try { fileW = new BufferedWriter(new FileWriter("./Data/GrandExchange/Buyers/"+id+".txt")); try { fileW.close(); } catch(IOException o) { } } catch(IOException a) { } } grandExchange = new BufferedWriter(new FileWriter("./Data/GrandExchange/Buyers/"+id+".txt")); grandExchange.write(Integer.toString(buyers[id].itemId), 0, Integer.toString(buyers[id].itemId).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].amount), 0, Integer.toString(buyers[id].amount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].updatedAmount), 0, Integer.toString(buyers[id].updatedAmount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].price), 0, Integer.toString(buyers[id].price).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].percentage), 0, Integer.toString(buyers[id].percentage).length()); grandExchange.newLine(); grandExchange.write(buyers[id].owner, 0, buyers[id].owner.length()); grandExchange.newLine(); if(buyers[id].completed == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].slot), 0, Integer.toString(buyers[id].slot).length()); grandExchange.newLine(); if(buyers[id].updated == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].itemOne), 0, Integer.toString(buyers[id].itemOne).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].itemTwo), 0, Integer.toString(buyers[id].itemTwo).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].itemOneAmount), 0, Integer.toString(buyers[id].itemOneAmount).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].itemTwoAmount), 0, Integer.toString(buyers[id].itemTwoAmount).length()); grandExchange.newLine(); if(buyers[id].aborted == true) { grandExchange.write("1", 0, 1); } else { grandExchange.write("0", 0, 1); } grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].total), 0, Integer.toString(buyers[id].total).length()); grandExchange.newLine(); grandExchange.write(Integer.toString(buyers[id].totalGp), 0, Integer.toString(buyers[id].totalGp).length()); grandExchange.close(); } catch (IOException ioexception) { } } } /** * Load offer */ public void loadOffer(int id, String type) { String s = ""; int i = 1; try { BufferedReader bufferedreader = null; if(type == "Sell") { bufferedreader = new BufferedReader(new FileReader( "./Data/GrandExchange/Sellers/"+id+".txt")); } else { bufferedreader = new BufferedReader(new FileReader( "./Data/GrandExchange/Buyers/"+id+".txt")); } for (String s1 = bufferedreader.readLine(); s1 != null; s1 = bufferedreader .readLine()) { s1 = s1.trim(); if(type == "Sell") { if(i == 1) { sellers[id].itemId = Integer.parseInt(s1); } else if(i == 2) { sellers[id].amount = Integer.parseInt(s1); } else if(i == 3) { sellers[id].updatedAmount = Integer.parseInt(s1); } else if(i == 4) { sellers[id].price = Integer.parseInt(s1); } else if(i == 5) { sellers[id].percentage = Integer.parseInt(s1); } else if(i == 6) { sellers[id].owner = s1; } else if(i == 7) { int bol = Integer.parseInt(s1); if(bol == 1) sellers[id].completed = true; else sellers[id].completed = false; } else if(i == 8) { sellers[id].slot = Integer.parseInt(s1); } else if(i == 9) { int bol = Integer.parseInt(s1); if(bol == 1) sellers[id].updated = true; else sellers[id].updated = false; } else if(i == 10) { sellers[id].itemOne = Integer.parseInt(s1); } else if(i == 11) { sellers[id].itemTwo = Integer.parseInt(s1); } else if(i == 12) { sellers[id].itemOneAmount = Integer.parseInt(s1); } else if(i == 13) { sellers[id].itemTwoAmount = Integer.parseInt(s1); } else if(i == 14) { int bol = Integer.parseInt(s1); if(bol == 1) sellers[id].aborted = true; else sellers[id].aborted = false; } else if(i == 15) { sellers[id].total = Integer.parseInt(s1); } else if(i == 16) { sellers[id].totalGp = Integer.parseInt(s1); } } else { if(i == 1) { buyers[id].itemId = Integer.parseInt(s1); } else if(i == 2) { buyers[id].amount = Integer.parseInt(s1); } else if(i == 3) { buyers[id].updatedAmount = Integer.parseInt(s1); } else if(i == 4) { buyers[id].price = Integer.parseInt(s1); } else if(i == 5) { buyers[id].percentage = Integer.parseInt(s1); } else if(i == 6) { buyers[id].owner = s1; } else if(i == 7) { int bol = Integer.parseInt(s1); if(bol == 1) buyers[id].completed = true; else buyers[id].completed = false; } else if(i == 8) { buyers[id].slot = Integer.parseInt(s1); } else if(i == 9) { int bol = Integer.parseInt(s1); if(bol == 1) buyers[id].updated = true; else buyers[id].updated = false; } else if(i == 10) { buyers[id].itemOne = Integer.parseInt(s1); } else if(i == 11) { buyers[id].itemTwo = Integer.parseInt(s1); } else if(i == 12) { buyers[id].itemOneAmount = Integer.parseInt(s1); } else if(i == 13) { buyers[id].itemTwoAmount = Integer.parseInt(s1); } else if(i == 14) { int bol = Integer.parseInt(s1); if(bol == 1) buyers[id].aborted = true; else buyers[id].aborted = false; } else if(i == 15) { buyers[id].total = Integer.parseInt(s1); } else if(i == 16) { buyers[id].totalGp = Integer.parseInt(s1); } } i++; } bufferedreader.close(); } catch (Exception exception) { exception.printStackTrace(); } } /** * Updates percentage bar */ public void updateBar(String color, String type, int i, int slot, Player c2) { if(color == "Red") { c2.sendConfig(3, slot, 1, -1); c2.sendConfig(2, slot, 100, -1); } if(color == "Green") { double p; int col; if(type == "Sell" && sellers[i] != null) { p = ((double)sellers[i].percentage / sellers[i].amount) * 100; col = (int)p; c2.sendConfig(3, slot, 2, -1); c2.sendConfig(1, slot, 2, -1); c2.sendConfig(2, slot, col, -1); } else if(type == "Buy" && buyers[i] != null) { p = ((double)buyers[i].percentage / buyers[i].amount) * 100; col = (int)p; c2.sendConfig(3, slot, 2, -1); c2.sendConfig(1, slot, 2, -1); c2.sendConfig(2, slot, col, -1); } } } /** * Button click */ public void buttonClick(int buttonId) { switch(buttonId) { case 95185: selectedSlot = 1; openInterface("Buy"); break; case 95191: selectedSlot = 1; openInterface("Sell"); break; case 95203: selectedSlot = 2; openInterface("Buy"); break; case 95206: selectedSlot = 2; openInterface("Sell"); break; case 95194: selectedSlot = 3; openInterface("Buy"); break; case 95209: selectedSlot = 3; openInterface("Sell"); break; case 95188: selectedSlot = 4; openInterface("Buy"); break; case 95212: selectedSlot = 4; openInterface("Sell"); break; case 95197: selectedSlot = 5; openInterface("Buy"); break; case 95215: selectedSlot = 5; openInterface("Sell"); break; case 95200: selectedSlot = 6; openInterface("Buy"); break; case 95218: selectedSlot = 6; openInterface("Sell"); break; case 96078: c.sendConfig(6, -1, -1, -1); break; case 96174: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } completeOffer("Sell"); break; case 96074: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } completeOffer("Buy"); break; case 96082: case 96182: c.getPA().showInterface(24500); break; case 96030: case 96130: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } if(selectedAmount != 0) { selectedAmount--; updateGE(selectedItemId, selectedPrice); } break; case 96034: case 96134: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } if(selectedAmount != 2147483647) { selectedAmount++; updateGE(selectedItemId, selectedPrice); } break; case 96038: case 96138: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } if(selectedAmount != 2147483647) { selectedAmount++; updateGE(selectedItemId, selectedPrice); } break; case 96042: case 96142: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } long a = selectedAmount; long total = a+10; if(total < 2147483647) { selectedAmount += 10; updateGE(selectedItemId, selectedPrice); } else { selectedAmount = 2147483647; updateGE(selectedItemId, selectedPrice); } break; case 96046: case 96146: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } long l = selectedAmount; long t = l+100; if(t < 2147483647) { selectedAmount += 100; updateGE(selectedItemId, selectedPrice); } else { selectedAmount = 2147483647; updateGE(selectedItemId, selectedPrice); } break; case 96050: case 96150: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } long h = selectedAmount; long d = h+1000; if(d < 2147483647) { selectedAmount += 1000; updateGE(selectedItemId, selectedPrice); } else { selectedAmount = 2147483647; updateGE(selectedItemId, selectedPrice); } break; case 96058: case 96158: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } if(selectedPrice != 1) { selectedPrice *= 0.95; updateGE(selectedItemId, selectedPrice); if(selectedPrice < 1) { selectedPrice = 1; updateGE(selectedItemId, selectedPrice); } } break; case 96070: case 96170: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } long k = selectedPrice; k *= 1.05; if(k <= 2147483647) { selectedPrice *= 1.05; if(selectedPrice < 21) selectedPrice++; updateGE(selectedItemId, selectedPrice); } else { selectedPrice = 2147483647; updateGE(selectedItemId, selectedPrice); } break; case 96062: case 96162: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } selectedPrice = c.getShops().getItemShopValue(selectedItemId); updateGE(selectedItemId, selectedPrice); break; case 96086: case 96186: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } selectedPrice--; if(selectedPrice == 0) selectedPrice = 1; updateGE(selectedItemId, selectedPrice); break; case 96089: case 96189: if(selectedItemId == 0) { c.sendMessage("You must choose an item first."); return; } if(selectedPrice != 2147483647) { selectedPrice++; updateGE(selectedItemId, selectedPrice); } else { selectedPrice = 2147483647; } break; case 95223: selectedSlot = 1; openCollect(selectedSlot, true); break; case 95227: selectedSlot = 2; openCollect(selectedSlot, true); break; case 95231: selectedSlot = 3; openCollect(selectedSlot, true); break; case 95235: selectedSlot = 4; openCollect(selectedSlot, true); break; case 95239: selectedSlot = 5; openCollect(selectedSlot, true); break; case 95243: selectedSlot = 6; openCollect(selectedSlot, true); break; case 213230: case 209254: openGrandExchange(true); break; case 95221: abortOffer(1, true); break; case 95225: abortOffer(2, true); break; case 95229: abortOffer(3, true); break; case 95233: abortOffer(4, true); break; case 95237: abortOffer(5, true); break; case 95241: abortOffer(6, true); break; case 214016: case 210040: abortOffer(selectedSlot, true); openCollect(selectedSlot, false); break; } } /** * Complete offer */ public void completeOffer(String type) { if(Slots[selectedSlot] > 0) { return; } if(toHigh) { c.sendMessage("The offer you made has to high of a price."); return; } if(selectedAmount == 0) { c.sendMessage("You must buy more than one."); return; } if(type == "Sell") { sellItems(); } else if(type == "Buy") { buyItems(); } } /** * Update Grand Exchange */ public void updateGE(int id, int price) { if(price == 0) { price = 1; selectedPrice = 1; } c.getPA().sendFrame126(Misc.format(price)+" gp", 24672); c.getPA().sendFrame126(Misc.format(price)+" gp", 24772); long p = price; long s = selectedAmount; long total = s*p; if(total <= 2147483647) { c.getPA().sendFrame126(Misc.format(price*selectedAmount)+" gp", 24673); c.getPA().sendFrame126(Misc.format(price*selectedAmount)+" gp", 24773); toHigh = false; } else { c.getPA().sendFrame126("Too high!", 24673); c.getPA().sendFrame126("Too high!", 24773); toHigh = true; } c.getPA().sendFrame126(Misc.format(selectedAmount)+"", 24671); c.getPA().sendFrame126(Misc.format(selectedAmount)+"", 24771); c.getPA().sendFrame126(Misc.format(c.getShops().getItemShopValue(id))+"", 24682); c.getPA().sendFrame126(Misc.format(c.getShops().getItemShopValue(id))+"", 24782); if(id > 0) { c.getPA().sendFrame126(""+c.getItems().getItemName(id), 24669); c.getPA().sendFrame126("It's a "+c.getItems().getItemName(id), 24670); c.getPA().sendFrame126(""+c.getItems().getItemName(id), 24769); c.getPA().sendFrame126("It's a "+c.getItems().getItemName(id), 24770); c.getPA().sendFrame34(id, 0, 24780, 1); c.getPA().sendFrame34(id, 0, 24680, 1); } else { c.getPA().sendFrame34(-1, 0, 24780, 1); c.getPA().sendFrame34(-1, 0, 24680, 1); } } /** * Open the collection interface */ public void openCollect(int id, boolean open) { if(sellers[Slots[id]] != null && sellers[Slots[id]].owner.equalsIgnoreCase(c.playerName) && SlotType[id] == 1) { long p = sellers[Slots[id]].price; long a = sellers[Slots[id]].amount; long total = a*p; if(total <= 2147483647) { c.getPA().sendFrame126(Misc.format(sellers[Slots[id]].amount)+"", 54771); c.getPA().sendFrame126(Misc.format(sellers[Slots[id]].price)+" gp", 54772); c.getPA().sendFrame126(Misc.format(sellers[Slots[id]].price*sellers[Slots[id]].amount)+" gp", 54773); if(sellers[Slots[id]].itemId > 0) { c.getPA().sendFrame34(sellers[Slots[id]].itemId, 0, 54780, 1); } else { return; } if(sellers[Slots[id]].itemOne > 0 && sellers[Slots[id]].itemOneAmount > 0) { c.getPA().sendFrame34(sellers[Slots[id]].itemOne, 0, 54781, 1); if(sellers[Slots[id]].itemOneAmount > 1) { c.getPA().sendFrame126(intToKOrMil(sellers[Slots[id]].itemOneAmount)+"", 54784); } else { c.getPA().sendFrame126("", 54784); } } else { c.getPA().sendFrame34(-1, 0, 54781, 1); c.getPA().sendFrame126("", 54784); } if(sellers[Slots[id]].itemTwo > 0 && sellers[Slots[id]].itemTwoAmount > 0) { c.getPA().sendFrame34(sellers[Slots[id]].itemTwo, 0, 54782, 1); if(sellers[Slots[id]].itemTwoAmount > 1) { c.getPA().sendFrame126(intToKOrMil(sellers[Slots[id]].itemTwoAmount)+"", 54785); } else { c.getPA().sendFrame126("", 54785); } } else { c.getPA().sendFrame34(-1, 0, 54782, 1); c.getPA().sendFrame126("", 54785); } c.getPA().sendFrame126("@[email protected] sold a total of @[email protected]"+sellers[Slots[id]].total, 54788); c.getPA().sendFrame126("@[email protected] a total price of @[email protected]"+sellers[Slots[id]].totalGp+"@[email protected] gp.", 54789); c.getPA().sendFrame126(Misc.format(c.getShops().getItemShopValue(sellers[Slots[id]].itemId))+"", 54787); c.getPA().sendFrame126(""+c.getItems().getItemName(sellers[Slots[id]].itemId), 53769); c.getPA().sendFrame126("It's a "+c.getItems().getItemName(sellers[Slots[id]].itemId), 53770); c.sendConfig(4, selectedSlot, 2, -1); if(open) { c.getPA().showInterface(54700); } } else { } } else if(buyers[Slots[id]] != null && buyers[Slots[id]].owner.equalsIgnoreCase(c.playerName) && SlotType[id] == 2) { long p = buyers[Slots[id]].price; long a = buyers[Slots[id]].amount; long total = a*p; if(total <= 2147483647) { c.getPA().sendFrame126(Misc.format(buyers[Slots[id]].amount)+"", 53771); c.getPA().sendFrame126(Misc.format(buyers[Slots[id]].price)+" gp", 53772); c.getPA().sendFrame126(Misc.format(buyers[Slots[id]].price*buyers[Slots[id]].amount)+" gp", 53773); if(buyers[Slots[id]].itemId > 0) { c.getPA().sendFrame34(buyers[Slots[id]].itemId, 0, 53780, 1); } else { return; } if(buyers[Slots[id]].itemOne > 0 && buyers[Slots[id]].itemOneAmount > 0) { c.getPA().sendFrame34(buyers[Slots[id]].itemOne, 0, 53781, 1); c.getPA().sendFrame126(buyers[Slots[id]].itemOneAmount+"", 53784); if(buyers[Slots[id]].itemOneAmount > 1) { c.getPA().sendFrame126(intToKOrMil(buyers[Slots[id]].itemOneAmount)+"", 53784); } else { c.getPA().sendFrame126("", 53784); } } else { c.getPA().sendFrame34(-1, 0, 53781, 1); c.getPA().sendFrame126("", 53784); } if(buyers[Slots[id]].itemTwo > 0 && buyers[Slots[id]].itemTwoAmount > 0) { c.getPA().sendFrame34(buyers[Slots[id]].itemTwo, 0, 53782, 1); if(buyers[Slots[id]].itemTwoAmount > 1) { c.getPA().sendFrame126(intToKOrMil(buyers[Slots[id]].itemTwoAmount)+"", 53785); } else { c.getPA().sendFrame126("", 53785); } } else { c.getPA().sendFrame34(-1, 0, 53782, 1); c.getPA().sendFrame126("", 53785); } c.getPA().sendFrame126("@[email protected] bought a total of @[email protected]"+buyers[Slots[id]].total, 53788); c.getPA().sendFrame126("@[email protected] a total price of @[email protected]"+buyers[Slots[id]].totalGp+"@[email protected] gp.", 53789); c.getPA().sendFrame126(Misc.format(c.getShops().getItemShopValue(buyers[Slots[id]].itemId))+"", 53787); c.getPA().sendFrame126(""+c.getItems().getItemName(buyers[Slots[id]].itemId), 54769); c.getPA().sendFrame126("It's a "+c.getItems().getItemName(buyers[Slots[id]].itemId), 54770); c.sendConfig(4, selectedSlot, 2, -1); if(open) { c.getPA().showInterface(53700); } } else { } } } /** * Open main Grand Exchange interface */ public void openGrandExchange(boolean open) { for(int i = 1; i < Slots.length; i++) { if(Slots[i] != 0) { if(sellers[Slots[i]] != null && sellers[Slots[i]].owner.equalsIgnoreCase(c.playerName) && sellers[Slots[i]].slot == i) { if(sellers[Slots[i]].completed) { c.sendConfig(5, i, 5, -1); } else { c.sendConfig(5, i, 3, -1); } int k = i*2; k += 24565; c.getPA().sendFrame34(sellers[Slots[i]].itemId, 0, k, sellers[Slots[i]].amount); c.getPA().sendFrame126(""+c.getItems().getItemName(sellers[Slots[i]].itemId)+"", 32000+i); c.getPA().sendFrame126(Misc.format(sellers[Slots[i]].price)+" gp", 33000+i); if(sellers[Slots[i]].amount != 1) { c.getPA().sendFrame126(""+intToKOrMil(sellers[Slots[i]].amount), 33100+i); } else { c.getPA().sendFrame126("", 33100+i); } if(sellers[Slots[i]].aborted) { updateBar("Red", "Sell", Slots[i], i, c); } else { updateBar("Green", "Sell", Slots[i], i, c); } } else if(buyers[Slots[i]] != null && buyers[Slots[i]].owner.equalsIgnoreCase(c.playerName) && buyers[Slots[i]].slot == i) { if(buyers[Slots[i]].completed) { c.sendConfig(5, i, 6, -1); } else { c.sendConfig(5, i, 4, -1); } int k = i*2; k += 24565; c.getPA().sendFrame34(buyers[Slots[i]].itemId, 0, k, buyers[Slots[i]].amount); c.getPA().sendFrame126(""+c.getItems().getItemName(buyers[Slots[i]].itemId)+"", 32000+i); c.getPA().sendFrame126(Misc.format(buyers[Slots[i]].price)+" gp", 33000+i); if(buyers[Slots[i]].amount != 1) { c.getPA().sendFrame126(""+intToKOrMil(buyers[Slots[i]].amount), 33100+i); } else { c.getPA().sendFrame126("", 33100+i); } if(buyers[Slots[i]].aborted) { updateBar("Red", "Buy", Slots[i], i, c); } else { updateBar("Green", "Buy", Slots[i], i, c); } } } else { c.sendConfig(4, i, 3, -1); int k = i*2; k += 24565; c.getPA().sendFrame34(-1, 0, k, 1); c.getPA().sendFrame126("", 33000+i); c.getPA().sendFrame126("", 32000+i); c.getPA().sendFrame126("", 33100+i); } } if(open) { c.getPA().showInterface(24500); recievedMessage = false; } } /** * Open Buy or Sell interface */ public void openInterface(String type) { if(Slots[selectedSlot] > 0) { return; } selectedItemId = 0; selectedAmount = 0; selectedPrice = 0; updateGE(-1, 1); c.getPA().sendFrame126("Choose an item to exchange", 24669); c.getPA().sendFrame126("Click the icon to the left to search for items.", 24670); c.getPA().sendFrame126("Choose an item to exchange", 24769); c.getPA().sendFrame126("Select an item from your invertory to sell.", 24770); c.getPA().sendFrame126("N/A", 24682); c.getPA().sendFrame126("N/A", 24782); c.sendConfig(4, selectedSlot, 2, -1); if(type == "Sell") { c.getPA().showInterface(24700); } else if(type == "Buy") { c.getPA().showInterface(24600); } } /** * Item collecting */ public void collectItem(int i, String type) { int itemId = 0; if(type == "Sell") { if(i == 1) { if(sellers[Slots[selectedSlot]] == null) { return; } itemId = sellers[Slots[selectedSlot]].itemOne; if(ItemDefinition.forId(itemId). itemIsNote) itemId -= 1; if(c.getItems().freeSlots() == 0) { c.sendMessage("You don't have enough inventory space."); return; } if(itemId >= 996 && itemId <= 1004) { itemId = 995; } if(sellers[Slots[selectedSlot]].itemOneAmount <= 0) { return; } if(c.getItems().freeSlots() > 0 && !ItemDefinition.forId(itemId). itemStackable) { c.getItems().addItem(itemId, sellers[Slots[selectedSlot]].itemOneAmount); sellers[Slots[selectedSlot]].itemOneAmount = 0; } if(c.getItems().freeSlots() > 0 && !ItemDefinition.forId(itemId). itemStackable) { if(ItemDefinition.forId(itemId+1). itemIsNote) { itemId += 1; } else { return; } c.getItems().addItem(itemId, sellers[Slots[selectedSlot]].itemOneAmount); sellers[Slots[selectedSlot]].itemOneAmount = 0; } boolean save = true; if(sellers[Slots[selectedSlot]].itemOneAmount == 0 && sellers[Slots[selectedSlot]].itemTwoAmount == 0 && sellers[Slots[selectedSlot]].updatedAmount != 0) { sellers[Slots[selectedSlot]].updated = false; } if(sellers[Slots[selectedSlot]].itemOneAmount == 0 && sellers[Slots[selectedSlot]].itemTwoAmount == 0 && sellers[Slots[selectedSlot]].updatedAmount == 0) { deleteFile("Data/GrandExchange/Sellers/"+Slots[selectedSlot]+""); sellers[Slots[selectedSlot]].itemId = 0; sellers[Slots[selectedSlot]].amount = 0; sellers[Slots[selectedSlot]].updatedAmount = 0; sellers[Slots[selectedSlot]].price = 0; sellers[Slots[selectedSlot]].percentage = 0; sellers[Slots[selectedSlot]].slot = 0; sellers[Slots[selectedSlot]].itemOne = 0; sellers[Slots[selectedSlot]].itemTwo = 0; sellers[Slots[selectedSlot]].itemOneAmount = 0; sellers[Slots[selectedSlot]].itemTwoAmount = 0; sellers[Slots[selectedSlot]].total = 0; sellers[Slots[selectedSlot]].totalGp = 0; sellers[Slots[selectedSlot]].aborted = false; sellers[Slots[selectedSlot]].completed = false; sellers[Slots[selectedSlot]].updated = false; sellers[Slots[selectedSlot]].owner = ""; sellers[Slots[selectedSlot]] = null; Slots[selectedSlot] = 0; SlotType[selectedSlot] = 0; openGrandExchange(true); save = false; } if(save) { saveOffer(Slots[selectedSlot], "Sell"); } recievedMessage = false; PlayerSave.saveGame(c); openCollect(selectedSlot, false); } if(i == 2) { if(sellers[Slots[selectedSlot]] == null) { return; } itemId = sellers[Slots[selectedSlot]].itemTwo; if(ItemDefinition.forId(itemId). itemIsNote) itemId -= 1; if(c.getItems().freeSlots() == 0) { c.sendMessage("You don't have enough inventory space."); return; } if(itemId >= 996 && itemId <= 1004) { itemId = 995; } if(sellers[Slots[selectedSlot]].itemTwoAmount <= 0) { return; } if(c.getItems().freeSlots() > 0 && ItemDefinition.forId(itemId). itemStackable) { c.getItems().addItem(itemId, sellers[Slots[selectedSlot]].itemTwoAmount); sellers[Slots[selectedSlot]].itemTwoAmount = 0; } if(c.getItems().freeSlots() > 0 && !ItemDefinition.forId(itemId). itemStackable) { if(ItemDefinition.forId(itemId+1). itemIsNote) { itemId += 1; } else { return; } c.getItems().addItem(itemId, sellers[Slots[selectedSlot]].itemTwoAmount); sellers[Slots[selectedSlot]].itemTwoAmount = 0; } boolean save = true; if(sellers[Slots[selectedSlot]].itemOneAmount == 0 && sellers[Slots[selectedSlot]].itemTwoAmount == 0 && sellers[Slots[selectedSlot]].updatedAmount != 0) { sellers[Slots[selectedSlot]].updated = false; } if(sellers[Slots[selectedSlot]].itemOneAmount == 0 && sellers[Slots[selectedSlot]].itemTwoAmount == 0 && sellers[Slots[selectedSlot]].updatedAmount == 0) { deleteFile("Data/GrandExchange/Sellers/"+Slots[selectedSlot]+""); sellers[Slots[selectedSlot]].id = 0; sellers[Slots[selectedSlot]].itemId = 0; sellers[Slots[selectedSlot]].amount = 0; sellers[Slots[selectedSlot]].updatedAmount = 0; sellers[Slots[selectedSlot]].price = 0; sellers[Slots[selectedSlot]].percentage = 0; sellers[Slots[selectedSlot]].slot = 0; sellers[Slots[selectedSlot]].total = 0; sellers[Slots[selectedSlot]].totalGp = 0; sellers[Slots[selectedSlot]].itemOne = 0; sellers[Slots[selectedSlot]].itemTwo = 0; sellers[Slots[selectedSlot]].itemOneAmount = 0; sellers[Slots[selectedSlot]].itemTwoAmount = 0; sellers[Slots[selectedSlot]].aborted = false; sellers[Slots[selectedSlot]].completed = false; sellers[Slots[selectedSlot]].updated = false; sellers[Slots[selectedSlot]].owner = ""; sellers[Slots[selectedSlot]] = null; Slots[selectedSlot] = 0; SlotType[selectedSlot] = 0; openGrandExchange(true); save = false; } if(save) { saveOffer(Slots[selectedSlot], "Sell"); } recievedMessage = false; PlayerSave.saveGame(c); openCollect(selectedSlot, false); } } if(type == "Buy") { if(i == 1) { if(buyers[Slots[selectedSlot]] == null) { return; } itemId = buyers[Slots[selectedSlot]].itemOne; if(ItemDefinition.forId(itemId). itemIsNote) itemId -= 1; if(c.getItems().freeSlots() == 0) { c.sendMessage("You don't have enough inventory space."); return; } if(itemId >= 996 && itemId <= 1004) { itemId = 995; } if(buyers[Slots[selectedSlot]].itemOneAmount <= 0) { return; } if(c.getItems().freeSlots() > 0 && ItemDefinition.forId(itemId). itemStackable) { c.getItems().addItem(itemId, buyers[Slots[selectedSlot]].itemOneAmount); buyers[Slots[selectedSlot]].itemOneAmount = 0; } if(c.getItems().freeSlots() > 0 && !ItemDefinition.forId(itemId). itemStackable) { if(ItemDefinition.forId(itemId+1). itemIsNote) { itemId += 1; } else { return; } c.getItems().addItem(itemId, buyers[Slots[selectedSlot]].itemOneAmount); buyers[Slots[selectedSlot]].itemOneAmount = 0; } boolean save = true; if(buyers[Slots[selectedSlot]].itemOneAmount == 0 && buyers[Slots[selectedSlot]].itemTwoAmount == 0 && buyers[Slots[selectedSlot]].updatedAmount != 0) { buyers[Slots[selectedSlot]].updated = false; } if(buyers[Slots[selectedSlot]].itemOneAmount == 0 && buyers[Slots[selectedSlot]].itemTwoAmount == 0 && buyers[Slots[selectedSlot]].updatedAmount == 0) { deleteFile("Data/GrandExchange/Buyers/"+Slots[selectedSlot]+""); buyers[Slots[selectedSlot]].id = 0; buyers[Slots[selectedSlot]].itemId = 0; buyers[Slots[selectedSlot]].amount = 0; buyers[Slots[selectedSlot]].updatedAmount = 0; buyers[Slots[selectedSlot]].price = 0; buyers[Slots[selectedSlot]].percentage = 0; buyers[Slots[selectedSlot]].slot = 0; buyers[Slots[selectedSlot]].itemOne = 0; buyers[Slots[selectedSlot]].itemTwo = 0; buyers[Slots[selectedSlot]].itemOneAmount = 0; buyers[Slots[selectedSlot]].itemTwoAmount = 0; buyers[Slots[selectedSlot]].total = 0; buyers[Slots[selectedSlot]].totalGp = 0; buyers[Slots[selectedSlot]].aborted = false; buyers[Slots[selectedSlot]].completed = false; buyers[Slots[selectedSlot]].updated = false; buyers[Slots[selectedSlot]].owner = ""; buyers[Slots[selectedSlot]] = null; Slots[selectedSlot] = 0; SlotType[selectedSlot] = 0; openGrandExchange(true); save = false; } if(save) { saveOffer(Slots[selectedSlot], "Buy"); } recievedMessage = false; PlayerSave.saveGame(c); openCollect(selectedSlot, false); } if(i == 2) { if(buyers[Slots[selectedSlot]] == null) { return; } itemId = buyers[Slots[selectedSlot]].itemTwo; if(ItemDefinition.forId(itemId). itemIsNote) itemId -= 1; if(c.getItems().freeSlots() == 0) { c.sendMessage("You don't have enough inventory space."); return; } if(itemId >= 996 && itemId <= 1004) { itemId = 995; } if(buyers[Slots[selectedSlot]].itemTwoAmount <= 0) { return; } if(c.getItems().freeSlots() > 0 && ItemDefinition.forId(itemId). itemStackable) { c.getItems().addItem(itemId, buyers[Slots[selectedSlot]].itemTwoAmount); buyers[Slots[selectedSlot]].itemTwoAmount = 0; } if(c.getItems().freeSlots() > 0 && !ItemDefinition.forId(itemId). itemStackable) { if(ItemDefinition.forId(itemId+1). itemIsNote) { itemId += 1; } else { return; } c.getItems().addItem(itemId, buyers[Slots[selectedSlot]].itemTwoAmount); buyers[Slots[selectedSlot]].itemTwoAmount = 0; } boolean save = true; if(buyers[Slots[selectedSlot]].itemOneAmount == 0 && buyers[Slots[selectedSlot]].itemTwoAmount == 0 && buyers[Slots[selectedSlot]].updatedAmount != 0) { buyers[Slots[selectedSlot]].updated = false; } if(buyers[Slots[selectedSlot]].itemOneAmount == 0 && buyers[Slots[selectedSlot]].itemTwoAmount == 0 && buyers[Slots[selectedSlot]].updatedAmount == 0) { deleteFile("Data/GrandExchange/Buyers/"+Slots[selectedSlot]+""); buyers[Slots[selectedSlot]].id = 0; buyers[Slots[selectedSlot]].itemId = 0; buyers[Slots[selectedSlot]].amount = 0; buyers[Slots[selectedSlot]].updatedAmount = 0; buyers[Slots[selectedSlot]].price = 0; buyers[Slots[selectedSlot]].percentage = 0; buyers[Slots[selectedSlot]].slot = 0; buyers[Slots[selectedSlot]].itemOne = 0; buyers[Slots[selectedSlot]].itemTwo = 0; buyers[Slots[selectedSlot]].itemOneAmount = 0; buyers[Slots[selectedSlot]].itemTwoAmount = 0; buyers[Slots[selectedSlot]].total = 0; buyers[Slots[selectedSlot]].totalGp = 0; buyers[Slots[selectedSlot]].aborted = false; buyers[Slots[selectedSlot]].completed = false; buyers[Slots[selectedSlot]].updated = false; buyers[Slots[selectedSlot]].owner = ""; buyers[Slots[selectedSlot]] = null; Slots[selectedSlot] = 0; SlotType[selectedSlot] = 0; openGrandExchange(true); save = false; } if(save) { saveOffer(Slots[selectedSlot], "Buy"); } recievedMessage = false; PlayerSave.saveGame(c); openCollect(selectedSlot, false); } } } /** * Abort a offer */ public void abortOffer(int offer, boolean send) { if(sellers[Slots[offer]] != null && SlotType[offer] == 1) { if(sellers[Slots[offer]].completed == true) { c.sendMessage("Your offer is already completed!"); return; } if(sellers[Slots[offer]].updatedAmount <= 0) { return; } if(send) { c.sendMessage("Abort request acknowledged. Please be aware that your offer may have already been"); c.sendMessage("completed."); } if(stillSearching) { abortOffer(offer, false); return; } if(sellers[Slots[offer]].itemOneAmount == 0) { sellers[Slots[offer]].itemOne = sellers[Slots[offer]].itemId; sellers[Slots[offer]].itemOneAmount = sellers[Slots[offer]].updatedAmount; sellers[Slots[offer]].updatedAmount = 0; sellers[Slots[offer]].aborted = true; } else { sellers[Slots[offer]].itemTwo = sellers[Slots[offer]].itemId; sellers[Slots[offer]].itemTwoAmount = sellers[Slots[offer]].updatedAmount; sellers[Slots[offer]].updatedAmount = 0; sellers[Slots[offer]].aborted = true; } sellers[Slots[offer]].updated = true; saveOffer(Slots[offer], "Sell"); openGrandExchange(false); } else if(buyers[Slots[offer]] != null && SlotType[offer] == 2) { if(buyers[Slots[offer]].completed == true) { c.sendMessage("Your offer is already completed!"); return; } if(buyers[Slots[offer]].updatedAmount <= 0) { return; } if(send) { c.sendMessage("Abort request acknowledged. Please be aware that your offer may have already been"); c.sendMessage("completed."); } if(stillSearching) { abortOffer(offer, false); return; } if(buyers[Slots[offer]].itemOneAmount == 0) { buyers[Slots[offer]].itemOneAmount = buyers[Slots[offer]].updatedAmount*buyers[Slots[offer]].price; buyers[Slots[offer]].itemOne = getMoneyStackId(buyers[Slots[offer]].itemOneAmount); buyers[Slots[offer]].updatedAmount = 0; buyers[Slots[offer]].aborted = true; } else { buyers[Slots[offer]].itemTwoAmount = buyers[Slots[offer]].updatedAmount*buyers[Slots[offer]].price; buyers[Slots[offer]].itemOne = getMoneyStackId(buyers[Slots[offer]].itemOneAmount); buyers[Slots[offer]].updatedAmount = 0; buyers[Slots[offer]].aborted = true; } buyers[Slots[offer]].updated = true; saveOffer(Slots[offer], "Buy"); openGrandExchange(false); } } /** * Delete a file */ public void deleteFile(String FileName) { String fileName = ""+FileName+".txt"; File f = new File(fileName); if (!f.exists()) throw new IllegalArgumentException("Delete: no such file or directory: " + fileName); if (!f.canWrite()) throw new IllegalArgumentException("Delete: write protected: "+ fileName); if (f.isDirectory()) { String[] files = f.list(); if (files.length > 0) throw new IllegalArgumentException("Delete: directory not empty: " + fileName); } boolean success = f.delete(); if (!success) throw new IllegalArgumentException("Delete: deletion failed"); } } [/CODE] [CODE] package com.exile.game.players.grandexchange; /** [MENTION=52317]auth[/MENTION]or Alex(TheLife) */ public class Sellers { /** * Integers */ public int id, itemId, amount, updatedAmount, price, percentage, slot, itemOne, itemTwo, itemOneAmount, itemTwoAmount, total, totalGp; /** * Booleans */ public boolean aborted = false, completed = false, updated = false; /** * Strings */ public String owner; /** * New offer */ public Sellers(int Id) { id = Id; } } [/CODE] [CODE]package com.exile.game.players.grandexchange; /** [MENTION=52317]auth[/MENTION]or Alex(TheLife) */ public class Buyers { /** * Integers */ public int id, itemId, amount, updatedAmount, price, percentage, slot, itemOne, itemTwo, itemOneAmount, itemTwoAmount, total, totalGp; /** * Booleans */ public boolean aborted = false, completed = false, updated = false; /** * Strings */ public String owner; /** * New offer */ public Buyers(int Id) { id = Id; } }[/CODE] Commands.java: [CODE]if(playerCommand.startsWith("[A]")) { String ge = playerCommand.substring(3); int GE = Integer.parseInt(ge); c.GE().selectedItemId = GE; c.GE().selectedPrice = c.getShops().getItemShopValue(GE); if(c.getShops().getItemShopValue(GE) == 0) { c.GE().selectedPrice = 1; } c.GE().updateGE(c.GE().selectedItemId, c.GE().selectedPrice); } if(playerCommand.startsWith("[L]")) { boolean canUpdate = true; if(c.GE().selectedItemId == 0) { c.sendMessage("You must choose an item first."); canUpdate = false; } String ge = playerCommand.substring(3); int GE = Integer.parseInt(ge); if(canUpdate) { c.GE().selectedAmount = GE; c.GE().updateGE(c.GE().selectedItemId, c.GE().selectedPrice); } } if(playerCommand.startsWith("[E]")) { boolean canUpdate = true; if(c.GE().selectedItemId == 0) { c.sendMessage("You must choose an item first."); canUpdate = false; } String ge = playerCommand.substring(3); int GE = Integer.parseInt(ge); if(canUpdate) { c.GE().selectedPrice = GE; c.GE().updateGE(c.GE().selectedItemId, c.GE().selectedPrice); } } if(playerCommand.startsWith("[BS1]")) { c.GE().collectItem(1, "Sell"); } if(playerCommand.startsWith("[BS2]")) { c.GE().collectItem(2, "Sell"); } if(playerCommand.startsWith("[BB1]")) { c.GE().collectItem(1, "Buy"); } if(playerCommand.startsWith("[BB2]")) { c.GE().collectItem(2, "Buy"); }[/CODE] Clickingbuttons.java: [CODE] case 95185: case 95191: case 95203: case 95206: case 95194: case 95209: case 95188: case 95212: case 95197: case 95215: case 95200: case 95218: case 96078: case 96174: case 96074: case 96082: case 96182: case 96030: case 96130: case 96034: case 96134: case 96038: case 96138: case 96042: case 96142: case 96046: case 96146: case 96050: case 96150: case 96058: case 96158: case 96070: case 96170: case 96062: case 96162: case 96086: case 96186: case 96089: case 96189: case 95223: case 95227: case 95231: case 95235: case 95239: case 95243: case 213230: case 209254: case 95221: case 95225: case 95229: case 95233: case 95237: case 95241: case 214016: case 210040: c.GE().buttonClick(actionButtonId); break; case 93196: c.getPA().closeAllWindows(); break;[/CODE] Client.java in initialize: [CODE]GE().sendUpdate(playerName);[/CODE] [CODE]public void sendConfig(int x, int y, int z, int i) { getOutStream().createFrameVarSize(166); getOutStream().writeByte(x);// readUnsignedByte getOutStream().writeByte(y);// readUnsignedByte getOutStream().writeByte(-1);// readUnsignedByte getOutStream().writeByte(z);// readUnsignedByte getOutStream().writeByte(i);// readUnsignedByte getOutStream().endFrameVarSize(); }[/CODE] [CODE]public GrandExchange GE() { return GE; }[/CODE] [CODE]public GrandExchange GE() { return GE; }[/CODE] Server.java: [CODE]public static GrandExchange GE = new GrandExchange();[/CODE] [CODE]GrandExchange.loading = true; GE.loadSellers(); GE.loadBuyers(); GrandExchange.loading = false; System.out.println("Total offers loaded " + GE.totalOffers);[/CODE] Credits: TheLife Enjoy - releasing this for people to add the server sided part to add to my Project-Exile release as we removed it a while ago for some reason. Thank the thread if you like it.
  20. [CENTER][img]http://i61.tinypic.com/35lc9hi.png[/img] [B]Credits[/B] [COLOR="#DAA520"]Fuzen Seth Demon scopez Ardi Sanity and other winterlove devs [/COLOR] Download: [url]https://mega.co.nz/#!DtpTUIKI!94Mo3BmJmbb8ofzhCNUdRvHeMA866Pwx742XLoqYePU[/url] Features Dupe free OSRS characters OSRS items Some 484 mapdata Proper 'project instanity' Salve amulet effect against undead npcs Slayer amulet effect against assigned task npc Much more cbf listing [B]Media[/B] [img]http://puu.sh/auIHf/24f9319074.jpg[/img] [img]http://puu.sh/aya2k/1a86ed05d9.jpg[/img] [img]http://puu.sh/aDSw0/29443d57a2.jpg[/img] [img]http://puu.sh/anen9/15f68fa0b0.jpg[/img] [img]http://puu.sh/anjVj/89119324c3.jpg[/img] [img]http://puu.sh/axJmw/33df9e6344.jpg[/img] [img]http://puu.sh/aVUq0/9fb96fe71e.jpg[/img] [img]http://puu.sh/aMajG/be0a478218.jpg[/img] [img]http://puu.sh/aICx8/7c2de5da47.jpg[/img] [img]http://puu.sh/ayXY7/ce55580e27.jpg[/img][/CENTER]
  21. Project Runescape [718 with a 742 cache] some customs Since it looks like all players stop play rsps's i decided to release my project im sorry if i do some miss spellings DEVELOPMENT BLOG [CODE]21 October Lobby will update tomorrow Ash Scattering New level up sprite New daemonheim bosses 19 October Removed admins from highscores Fixed Crate of capes in clan citadel If you logout at citadel u get teled home 18 October Anti bot registration (forum) New custom Spinal cord cape 17 October Clan system Clan citadels Clan wars (not finished yet) 16 October Summoning scroll making (not finished yet) 15 October Fixed close & return to shop button (Loyalty Program) 14 October Fixed ranging at sea troll queen & corporeal beast Moved the scimitar stall Added armadyl runes to the shop Fixed the categorys in loyalty program 99 Lamp Updated donation page Fixed regular donator icon 13 October Fixed clippings at home Loyalty program Loyalty points for donators Better mystery boxes Fixed spirit shard pack Updated donation page 12 October Fixed most of the emotes Fixed web highscores bug Fixed prestige command 11 October Fixed dragon hatchet bonuses You can now activate your prayer after you're in dungeoneering Cannon redirect to your bank when picking it up New vote rewards Fixed spirit wolf Colored dark bows bonuses Changed all rewards in mystery box 8 October Added goliath gloves to bandos drop Added swift gloves to armadyl drop Frostmourne offhand now got crush bonuses New custom Troll Face Removed random events for mods+ Added gilded altar at donorzone Removed the bugged dung shop 7 October Frostmourne offhand is now in the left hand Updated donation page Updated highscores page Highscores saving when logout Fixed if your in jail or zombie minigame u wont get teled by event 6 October Frostmourne Offhand Added royal crossbow to qbd chest 10% chance to get it Malevolant kiteshield Merciless kiteshield Vengeful kiteshield Fixed Frostmourne offhand invisible bug Highscores saves when login Frostmourne&Drygores now got crush bonuses Fixed combat style tab for Frostmourne Frostmourne offhand bonuses Ramsey Ramsey Ramsey... 5 October Made free for all portal at dungeoneering for donators only Crystal bow stats Updated Extreme&Super donator stores 4 October New custom Frostmourne ::ESTQ Boss drops frostmourne Undead minigame is not afkable anymore If you login while your in undead minigame u lose Finally fixed dungeoneering map bug Super donator rank Super donator shop 3 October Fixed Dungeoneerings free-for-all portal If the maps in daemonheim is gone use the portal to the west 2 October Removed firecapzors from reveants ROFL messages like "Jens has been banned for 48 hours!" Fixed whip selling price Staff-Coordinator title&yell ::Latest command Removed drygore from extreme donator shop Added drygore to nex drop 1 October Cleaning guam requires 1 herblore Nerfed reveants drop New friendschat world icon New level token system Made dungeoneering a bit easier 30 September Changed login background Fixed level shop prices Drygore stats Made drygore untradeable Temporary removed primal from chest 29 September Auto donation Added customs Removed spawn command for admins 28 September Eco reset Changed donation prices New items in some stores Fixed bank at summoning place 27 September Cannons sends to your bank when you die Cannonballs to ranged shop Added wear option to quickfire bow Made Royal C'bow better Godwars Prices added Changed some rewards in donator boxes Elite void requires 30 pest queen kills now not 100 as before Fixed destabiliser prices 26 September Vote4Items Lost city does not give you 66m dung exp anymore 25 September Correct donor,extreme donor crowns Updated trivia Changed ::vote and ::forums links Level up shop Updated donatable items Lower exp rate Fixed random event shop[/CODE] Some features: quest daemonheim dungeoneering player owned houses location system global trivia Donation.sql table: [QUOTE]-- phpMyAdmin SQL Dump -- version 3.5.4 -- [url]http://www.phpmyadmin.net[/url] -- -- Host: localhost -- Generation Time: Dec 18, 2012 at 09:56 PM -- Server version: 5.5.16 -- PHP Version: 5.3.8 SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO"; SET time_zone = "+00:00"; /*!40101 SET @[email protected]@CHARACTER_SET_CLIENT */; /*!40101 SET @[email protected]@CHARACTER_SET_RESULTS */; /*!40101 SET @[email protected]@COLLATION_CONNECTION */; /*!40101 SET NAMES utf8 */; -- -- Database: `Donations` -- -- -------------------------------------------------------- -- -- Table structure for table `donations` -- CREATE TABLE IF NOT EXISTS `donations` ( `id` int(11) NOT NULL AUTO_INCREMENT, `username` varchar(255) NOT NULL, `claimed` enum('0','1') NOT NULL DEFAULT '0', `package` int(11) NOT NULL DEFAULT '0', PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; /*!40101 SET [email protected]_CHARACTER_SET_CLIENT */; /*!40101 SET [email protected]_CHARACTER_SET_RESULTS */; /*!40101 SET [email protected]_COLLATION_CONNECTION */;[/QUOTE] Hiscores SQL table [QUOTE]CREATE TABLE IF NOT EXISTS `skillsoverall` ( `playerName` varchar(15) NOT NULL DEFAULT '', `lvl` int(11) DEFAULT NULL, `xp` bigint(11) DEFAULT NULL, PRIMARY KEY (`playerName`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;[/QUOTE] AND!#"#! [QUOTE]CREATE TABLE IF NOT EXISTS `skills` ( `playerName` varchar(15) NOT NULL DEFAULT '', `Attacklvl` double DEFAULT NULL, `Attackxp` double DEFAULT NULL, `Defencelvl` double DEFAULT NULL, `Defencexp` double DEFAULT NULL, `Strengthlvl` double DEFAULT NULL, `Strengthxp` double DEFAULT NULL, `Hitpointslvl` double DEFAULT NULL, `Hitpointsxp` double DEFAULT NULL, `Rangelvl` double DEFAULT NULL, `Rangexp` double DEFAULT NULL, `Prayerlvl` double DEFAULT NULL, `Prayerxp` double DEFAULT NULL, `Magiclvl` double DEFAULT NULL, `Magicxp` double DEFAULT NULL, `Cookinglvl` double DEFAULT NULL, `Cookingxp` double DEFAULT NULL, `Woodcuttinglvl` double DEFAULT NULL, `Woodcuttingxp` double DEFAULT NULL, `Fletchinglvl` double DEFAULT NULL, `Fletchingxp` double DEFAULT NULL, `Fishinglvl` double DEFAULT NULL, `Fishingxp` double DEFAULT NULL, `Firemakinglvl` double DEFAULT NULL, `Firemakingxp` double DEFAULT NULL, `Craftinglvl` double DEFAULT NULL, `Craftingxp` double DEFAULT NULL, `Smithinglvl` double DEFAULT NULL, `Smithingxp` double DEFAULT NULL, `Mininglvl` double DEFAULT NULL, `Miningxp` double DEFAULT NULL, `Herblorelvl` double DEFAULT NULL, `Herblorexp` double DEFAULT NULL, `Agilitylvl` double DEFAULT NULL, `Agilityxp` double DEFAULT NULL, `Thievinglvl` double DEFAULT NULL, `Thievingxp` double DEFAULT NULL, `Slayerlvl` double DEFAULT NULL, `Slayerxp` double DEFAULT NULL, `Farminglvl` double DEFAULT NULL, `Farmingxp` double DEFAULT NULL, `Runecraftlvl` double DEFAULT NULL, `Runecraftxp` double DEFAULT NULL, `Hunterlvl` double DEFAULT NULL, `Hunterxp` double DEFAULT NULL, `Constructionlvl` double DEFAULT NULL, `Constructionxp` double DEFAULT NULL, `Summoninglvl` double DEFAULT NULL, `Summoningxp` double DEFAULT NULL, `Dungeoneeringlvl` double DEFAULT NULL, `Dungeoneeringxp` double DEFAULT NULL, PRIMARY KEY (`playerName`) ) ENGINE=MyISAM DEFAULT CHARSET=latin1;[/QUOTE] [B]If you got any questions im willing to help, haters gonna hate i don't care!!!#"¤"&#&346943648968[/B] Source from: [url]http://www.************.org/runescape-development/rs-503-client-server/downloads/543000-companionscape-release.html[/url] thx cookie i did play your server <3 :P Client from foxtrot thx king fox <3 Cache from Rune-Evo V3 i think thx king fox <3 MEDIA: [IMG]http://i.imgur.com/yd4JXn4.png[/IMG][IMG]http://i.imgur.com/NopAUnt.png[/IMG][IMG]http://i.imgur.com/9sv3Nf4.png[/IMG][IMG]http://i.imgur.com/nLE8nYP.png[/IMG][IMG]http://i.imgur.com/mgjMn5W.png[/IMG][IMG]http://i.imgur.com/T2yv1vh.png[/IMG][IMG]http://i.imgur.com/0UGFDCr.png[/IMG][IMG]http://i.imgur.com/6x5Y46V.png[/IMG][IMG]http://i.imgur.com/f0eqPzj.png[/IMG][IMG]http://i.imgur.com/h7xOjGQ.png[/IMG][IMG]http://i.imgur.com/y7XAwWW.png[/IMG][IMG]http://i.imgur.com/45I4Yc3.png[/IMG][IMG]http://i.imgur.com/9BKBEEv.png[/IMG][IMG]http://i.imgur.com/AN7qEJp.jpg[/IMG][IMG]http://i.imgur.com/aGh97kC.png[/IMG][IMG]http://i.imgur.com/tx4VSvX.png[/IMG][IMG]http://i.imgur.com/oYAVeaD.png[/IMG][IMG]http://i.imgur.com/HoB6MUn.png[/IMG][IMG]http://i.imgur.com/cOizuEC.png[/IMG][IMG]http://i.imgur.com/LBPUqaI.png[/IMG][IMG]http://i.imgur.com/1R4jlxM.png[/IMG][IMG]http://i.imgur.com/t8qogb6.png[/IMG][IMG]http://i.imgur.com/ADL0LhM.png[/IMG][IMG]http://i.imgur.com/AqEQDfK.png[/IMG] already took to many pictures reply if u want a picture of something xD DOWNLOAD: Client: [url]https://mega.co.nz/#!WEV3SRKL!cNBo4TCPbBonq3vOHGkAP_E1CfxLrV_U9xt_YpE5bdk[/url] Source: [URL="https://mega.co.nz/#!fVEXwQCY!NdPnbD47CJVpnRKfVeD2bLF80FuTiXDDwGhNiCNOSJg"]https://mega.co.nz/#!fVEXwQCY!NdPnbD47CJVpnRKfVeD2bLF80FuTiXDDwGhNiCNOSJg[/URL] Hiscores,Vote and Donation page: [URL="https://mega.co.nz/#!KRM3VJyQ!xfpv4bdIQyPCA3AmOg55NDHy6_FGHgc2aqE1W1E_e3M"]https://mega.co.nz/#!KRM3VJyQ!xfpv4bdIQyPCA3AmOg55NDHy6_FGHgc2aqE1W1E_e3M[/URL]
  22. You people always looked at Avarrocka as a server with corrupted future. People ignored it for the enormous threads that were posted over and over. Therefore the client got leaked and I'm releasing that version. Our team have done a lot of updates since so I don't really see as something bad to release this. Enjoy! [B][I][COLOR="#FF8C00"]Download:[/COLOR][/I][/B] [url=https://mega.co.nz/#!Y1xDzTzb!X5CCa71JnW74SOWZT_LT3T096JtaV6SaXlj4bTrof6E]Package (client & asteria 2.0)[/url] [B][I][COLOR="#FF8C00"]Features:[/COLOR][/I][/B] [LIST] [*]High quality content [*]Tweening [*]Fog (Depth buffering). [*]Small fraction of the custom gameframe. [*]UI System (gameframes in both fixed and resize modes). [*]All 474 Data. [*]Good aesthetics(can still be improved). [*]Error system. [*]Sprite packing tool included(open source) Thanks [USER]Galkon[/USER]. [*]Few interfaces packed(code & sprites). [*]Much more... [/LIST] [B][COLOR="#FF8C00"][I]Caution:[/I][/COLOR][/B] [LIST] [*]It's not a host ready server/client. [*]You may expect some bugs. [/LIST] [CENTER][IMG]http://i.imgur.com/NAWNszQ.gif[/IMG] [IMG]http://i.imgur.com/JNuvjaf.gif[/IMG] [IMG]http://i.imgur.com/4JoGTVa.png[/IMG] [IMG]http://i.imgur.com/4BClr65.png[/IMG] [IMG]http://i.imgur.com/hwz1ctQ.png[/IMG] [IMG]http://i.imgur.com/OFNfmmK.png[/IMG] [IMG]http://i.imgur.com/pKgYwzj.png[/IMG][/CENTER]
×