Welcome, guest! Please login or register.

    * Shoutbox

    RefreshHistory
    • united0wnage: holy shit this place is still here?
      January 25, 2021, 06:21:53 PM
    • thewraith500: check out autoscape.org custom osrs server! inferno hydra konar
      January 22, 2021, 04:02:52 PM
    • jennipher11: better play dodian.net
      January 21, 2021, 02:53:53 PM
    • Project_Czar: Yes @Zymus..
      January 21, 2021, 04:49:17 AM
    • Zymus: Are you the programmer?
      January 20, 2021, 05:04:26 PM
    • Project_Czar: FizzerX - Allstar server is now ONLINE!
      January 20, 2021, 06:46:51 AM
    • Mazeingmaze: sick
      January 12, 2021, 08:56:35 PM
    • jennipher11: dodian.net
      January 11, 2021, 02:12:23 PM
    • jennipher11: yes it's back online
      January 11, 2021, 02:12:04 PM
    • arham 4: nice
      January 10, 2021, 04:43:09 PM
    • Togasa: Dodian is back online!? Dodian.net
      January 08, 2021, 10:04:21 PM
    • Pwnd: Y'all don't even know there's a community inside talk section
      January 06, 2021, 07:49:05 PM
    • drubrkletern: damn
      January 06, 2021, 01:04:50 AM
    • Zymus: Nobody cares
      January 04, 2021, 06:39:43 AM
    • wildskiller: or does no one give a shit about moparscape anymore?
      January 03, 2021, 09:24:08 PM
    • wildskiller: So, anyone gonna ban the guy in Server and Client development showoff?
      January 03, 2021, 09:24:00 PM
    • zachrida: wheres all my work?
      December 08, 2020, 09:50:22 AM
    • zachrida: what happend?
      December 08, 2020, 09:49:53 AM
    • zachrida: yo
      December 08, 2020, 09:49:36 AM
    • Shady Aftermath: try out skyfire317.com it has 5 custom skills, max level 168 and combat level 255
      December 07, 2020, 12:55:12 PM

    Show Posts

    This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


    Topics - Davidi2

    Pages: [1] 23
    1
    General Server Discussion / [530] Client Script Constants
    « on: April 03, 2016, 05:47:49 PM »
    For those that don't understand what this is, the client scripts (if you've heard of a 'cs dumper', thats what I'm referring to) oftentimes refer to constants to get information. For example, you probably know that there are scripts to show the shop items on the shop interface, or scripts to show the skill level up interfaces, or the spell names for the spellbook (table 1527). Those shop item ids are not in code anywhere, so there is an opcode that grabs those constants from the cache for use in the script. Thats what this information is. Is this of use to anyone? Probably not. I used it to get the shop item ids to do server-sided verification. If you know what to look for, you might have other use of it for cache editing.

    Basic layout:

    Code: [Select]
    Table [table_id]: - [unknwn1] [unknwn2]
    STR: [string_value] INT: [int value]
    (if sub table exists:)
    ======TABLE======
    [key] - [value]
    I believe unkwn1 and 2 are the type of table, but im not 100% sure, didnt refactor enough.

    EXAMPLE (theiving level up table - 'people')
    Code: [Select]
    Table 1540 - 115 105
    STR:  INT: 0
    ======TABLE========
    0 - bearded Pollnivnian bandits
    1 - cave goblins
    2 - chests
    3 - elves
    4 - farmers
    5 - Fremenniks
    6 - gnomes
    7 - guards
    8 - H.A.M. members
    9 - heroes
    10 - knights
    11 - master farmers
    12 - men and women
    13 - paladins
    14 - rogues
    15 - stalls
    16 - warriors
    17 - watchmen
    18 - Pollnivnian bandits
    19 - desert bandits
    20 - Menaphite thugs

    So anyway, here it is:

    Script Constants Tables - Pastebin.com

    5
    Off-Topic (Spam) / STAR WARS?! [WARNING: SPOILERS]
    « on: December 17, 2015, 03:47:02 AM »
    Han solo dies?!  :confused::confused:

    6
    Off-Topic (Spam) / Oiram (My new puzzle platformer!)
    « on: September 24, 2015, 11:28:21 AM »
    Hey guys! Just wanted to show you all some screenshots of my new platformer game I'm working on. It make look similar to another game you might have played or heard of, but it's not going to end up like that at all. I am going to completely change it. Please don't judge the game at all based on what you see here!


    7
    Server and Client Development Showoff / 530 Construction
    « on: September 01, 2015, 06:58:24 PM »
    I decided to make a short video to show off my progress on construction in the 530 server base. I'm honestly feeling too lazy to type out what exactly it has, so if you have any questions just ask and I'll respond.


    8
    Snippets / Fight Caves enemy count formula
    « on: August 21, 2015, 09:11:03 PM »
    I don't know if this is already a common thing, but I was bored and came up with the formula for figuring out how many npcs to spawn per wave:

    Code: Java
    1.         waves =newint[63][CaveEnemy.values().length];
    2.         for(int wave =1; wave < waves.length+1; wave++){
    3.             int points = wave;
    4.             for(int i = CaveEnemy.values().length-1; i >=0; i--){
    5.                 int cost =(1<<(i +1))-1;
    6.                 int count =(points / cost)%3;
    7.                 waves[wave -1][i]= count;
    8.                 points -= cost * count;
    9.             }
    10.         }

    you see wave-1 etc because of array indexes, wave 1 is index 0 etc. and obviously you can make it a bit more efficient with a simple break if points <= 0 after the deduction, but i was just going for lowest line count while being readable.

    Code: [Select]
    Wave 1: [1, 0, 0, 0, 0, 0]
    Wave 2: [2, 0, 0, 0, 0, 0]
    Wave 3: [0, 1, 0, 0, 0, 0]
    Wave 4: [1, 1, 0, 0, 0, 0]
    Wave 5: [2, 1, 0, 0, 0, 0]
    Wave 6: [0, 2, 0, 0, 0, 0]
    Wave 7: [0, 0, 1, 0, 0, 0]
    Wave 8: [1, 0, 1, 0, 0, 0]
    Wave 9: [2, 0, 1, 0, 0, 0]
    Wave 10: [0, 1, 1, 0, 0, 0]
    Wave 11: [1, 1, 1, 0, 0, 0]
    Wave 12: [2, 1, 1, 0, 0, 0]
    Wave 13: [0, 2, 1, 0, 0, 0]
    Wave 14: [0, 0, 2, 0, 0, 0]
    Wave 15: [0, 0, 0, 1, 0, 0]
    Wave 16: [1, 0, 0, 1, 0, 0]
    Wave 17: [2, 0, 0, 1, 0, 0]
    Wave 18: [0, 1, 0, 1, 0, 0]
    Wave 19: [1, 1, 0, 1, 0, 0]
    Wave 20: [2, 1, 0, 1, 0, 0]
    Wave 21: [0, 2, 0, 1, 0, 0]
    Wave 22: [0, 0, 1, 1, 0, 0]
    Wave 23: [1, 0, 1, 1, 0, 0]
    Wave 24: [2, 0, 1, 1, 0, 0]
    Wave 25: [0, 1, 1, 1, 0, 0]
    Wave 26: [1, 1, 1, 1, 0, 0]
    Wave 27: [2, 1, 1, 1, 0, 0]
    Wave 28: [0, 2, 1, 1, 0, 0]
    Wave 29: [0, 0, 2, 1, 0, 0]
    Wave 30: [0, 0, 0, 2, 0, 0]
    Wave 31: [0, 0, 0, 0, 1, 0]
    Wave 32: [1, 0, 0, 0, 1, 0]
    Wave 33: [2, 0, 0, 0, 1, 0]
    Wave 34: [0, 1, 0, 0, 1, 0]
    Wave 35: [1, 1, 0, 0, 1, 0]
    Wave 36: [2, 1, 0, 0, 1, 0]
    Wave 37: [0, 2, 0, 0, 1, 0]
    Wave 38: [0, 0, 1, 0, 1, 0]
    Wave 39: [1, 0, 1, 0, 1, 0]
    Wave 40: [2, 0, 1, 0, 1, 0]
    Wave 41: [0, 1, 1, 0, 1, 0]
    Wave 42: [1, 1, 1, 0, 1, 0]
    Wave 43: [2, 1, 1, 0, 1, 0]
    Wave 44: [0, 2, 1, 0, 1, 0]
    Wave 45: [0, 0, 2, 0, 1, 0]
    Wave 46: [0, 0, 0, 1, 1, 0]
    Wave 47: [1, 0, 0, 1, 1, 0]
    Wave 48: [2, 0, 0, 1, 1, 0]
    Wave 49: [0, 1, 0, 1, 1, 0]
    Wave 50: [1, 1, 0, 1, 1, 0]
    Wave 51: [2, 1, 0, 1, 1, 0]
    Wave 52: [0, 2, 0, 1, 1, 0]
    Wave 53: [0, 0, 1, 1, 1, 0]
    Wave 54: [1, 0, 1, 1, 1, 0]
    Wave 55: [2, 0, 1, 1, 1, 0]
    Wave 56: [0, 1, 1, 1, 1, 0]
    Wave 57: [1, 1, 1, 1, 1, 0]
    Wave 58: [2, 1, 1, 1, 1, 0]
    Wave 59: [0, 2, 1, 1, 1, 0]
    Wave 60: [0, 0, 2, 1, 1, 0]
    Wave 61: [0, 0, 0, 2, 1, 0]
    Wave 62: [0, 0, 0, 0, 2, 0]
    Wave 63: [0, 0, 0, 0, 0, 1]

    9
    General Questions / MOVED: My rsps
    « on: June 10, 2015, 03:03:35 PM »

    12
    Downloads / MOVED: OS RS Buddy
    « on: February 09, 2015, 01:52:46 AM »
    This topic has been moved to RS2007 Discussion[/url].

    https://forum.moparscape.org/index.php?topic=668685.0

    13
    Off-Topic (Spam) / Happy birthday Tom!
    « on: February 07, 2015, 08:52:57 PM »
    I know it's not for a little while, but I wanted to be the first one to make a thread.


    Happy birthday Tom!!!!

    14
    Official Server Discussion / Potential Groovy Scripting (Opinions?)
    « on: February 04, 2015, 04:18:38 PM »
    Sinisoul is working on his new base that will probably have a lua scripting system, but in the event that it doesn't work out I wanted an alternative that I could use. I was creating content in Java and it just got too ugly for my liking, and I didn't want to have to put other people through that either.

    One the main advantages of this scripting system is that you can be as verbose as you like, but it also allows for a lot of shortcuts as you learn them. For example, normal java code will compile correctly, but you can also shorten code with the different groovy language specifics. This means I think it will be easy for other people to develop scripts rather than have to learn something like ruby.

    Now I wont pretend to be a Groovy expert, I only heard about it a couple of days ago and only really been researching it for a couple days. However I think it looks pretty neat and will help cut down a lot of useless lines of code. (Anyone that does know groovy and perhaps sees bad practice please point it out, Im still new with this!)


    bootstrap.groovy
    Code: Groovy
    1. importstatic net.scapeemulator.game.model.Option.ONE
    2. importstatic net.scapeemulator.game.dispatcher.command.CommandDispatcher.getInstanceas cmdDispatcher
    3. importnet.scapeemulator.game.dispatcher.command.CommandHandler
    4. importnet.scapeemulator.game.model.player.Player;
    5.  
    6. publicclass Bootstrap {
    7.  
    8.     staticvoid bind(type, args, closure){
    9.         switch(type){
    10.             case"cmd":
    11.                 cmdDispatcher().bind(new CommandHandler(args["name"]){
    12.                     void handle(Player player, String[] cArgs){
    13.                         closure(player, cArgs)
    14.                     }
    15.                 })
    16.                 break
    17.             case"object":
    18.                 println"bind obj"
    19.                 break
    20.         }
    21.     }
    22. }

    test.groovy
    Code: Groovy
    1. bootstrap.bind("cmd", [name:"test"], {player, args ->println args})

    Code: Java
    1.     publicstaticvoid main(String... args){
    2.         new GroovyScriptEnvironment("data/game/groovy");
    3.     }
    4.  
    5.     public GroovyScriptEnvironment(String... roots){
    6.         try{
    7.             gse =new GroovyScriptEngine(roots);
    8.             GroovyClassLoader gcl =new GroovyClassLoader();
    9.             Class bootstrap = gcl.parseClass(newFile("data/game/groovy/bootstrap.groovy"));
    10.             Binding binding =newBinding();
    11.             binding.setVariable("bootstrap", bootstrap.newInstance());
    12.             gse.run("test.groovy", binding);
    13.             CommandDispatcher.getInstance().handle(null, "test test1 test2");
    14.         }catch(Exception e){
    15.             e.printStackTrace();
    16.         }
    17.     }

    Will output:
    [test1, test2]


    Some of the code there like closures will seem foreign to some people, they are extremely simple and if you really do despise them you can create normal java methods and convert them to closures with a simple syntax (I think its .& or something like that)


    I'll put up more examples as I experiment, but what are your general thoughts on the idea?

    15
    Off-Topic (Spam) / Happy birthday Tom!!!!!
    « on: January 31, 2015, 01:56:04 PM »
    I know it's not for a while but i wanted tobe th efirst person to make the thread!!!!

    happybirthday tom!!! :)

    16
    Official Server Discussion / Alpha Plans
    « on: January 31, 2015, 01:01:32 PM »
    After getting all the complaints about the current alpha format, I thought about the alternatives and decided to change how we're doing it. Because people can't seem to understand the layered testing model, we'll be switching to one that tests everything at once.

    What this means:
    • Unfortunately, a public alpha probably wont be available for a while. A few weeks, at the least. I'll want all of the important skills done, and a lot more content outside of that.
    • However, when the public alpha is out, you guys will get your wish and it will be completely open range. Teleport around, teleport to players, spawn items, set your skills, spam yell, try to break everything you can. Because there is so much more available, there will probably be a lot more bugs to fix. The alpha will be going on for a while, probably until the majority of the bugs are found, even if that's a week or more. One that happens, the server will come off and we will work on fixing the remaining found bugs and prepare for beta!
    • Obviously, accounts will still be wiped at the end of alpha.


    Sorry to anyone that was looking forward to the test this Saturday, but stay tuned for a list of new content that will be added for the later alpha!



    17
    Web Design/Development / MySQL question
    « on: January 29, 2015, 02:52:43 PM »
    Hey, random MySQL question. Is there a way to design a table so that one of the columns is cross checked against another table when you insert values, and it rejects it if the value doesn't exist?

    For example:

    Manufacturers table
    Company, Plant, HQ, PID

    Boeing, 56, Seattle, 5571
    Boeing, 27, Houston, 1671
    Airbus, 12, Frankfurt, 1673
    Blahblah, 271, Toronto, 1234
    (company -> plant is a unique index)

    And now I want to create a table of planes that has a 'company' field that matches up to a company in the manufacturers table. The index is between Company & Plant in that table, but is there a way to just make sure that when inserting into the planes table that the company exists, not necessarily the exact company & plant? What sort of relationship would that be?

    18
    Official Server Discussion / XP Rate Discussion
    « on: January 29, 2015, 02:04:57 PM »
    After looking at the results from the poll for the first alpha, I'm pretty happy to see that the majority of people were okay with the XP rate we had, which was a simple 3x. Because there were a pretty large number of people that voted that it was a bit too slow, for the next alpha I'm going to try out 6x. I'm expecting that this will be too fast, but it'll be good to see what people think and work from there, maybe come up with a middle ground like 4.5 or something.

    You can use this topic to discuss your thoughts from the last alpha, but most of the real discussion will be after the next one.

    19
    This alpha test will be available Saturday, February 7th, 2015 (Countdown)



    Thank you for your interest in the MoparScape official server! Soon we will be launching the second and last alpha before we move to the beta stages. Accounts from the previous alpha will be reset, and they will be reset after this one, but now is your chance to get a taste of how the official server will work when it gets closer to real launch day!

    The server is currently: OFFLINE

    Client Information
    The version of the RuneScape we are using for the server is 530. This is based in January, 2009; almost exactly 6 years ago. We apologize if you were expecting an 'older' version.

    Loading the client

    Playing the game should be as simple as going to the webclient. The webclient supports HD (but not fullscreen) for most platforms.
    WEBCLIENT LINK[/url][/b]
    Because of changes to Java security defaults, you may need to go to your Java settings (in your OS control panel), security tab, and then either change your security level to medium or add our site to your whitelist. Picture instructions[/url] [/size]

    If this still doesn't work for you, you can use the downloadable client.
    DOWNLOAD LINK[/url][/i]
    Note that the downloadable client does not support HD unless you download the JOGL binaries yourself and put them in your cache folder.

    Logging in
    For alpha, all registration is done in the client. When your client loads up, simply click on 'Create Account' and follow the steps.
    Notes:
    • You must change your birth year to be 13 years of age or older.
    • While the client text boxes allow special characters, they are not sent to the server and may cause your client to crash excessively when attempting to log in. It is suggested to follow the alphanumeric and underscore protocol for best success.
    • If you cannot log in, post a bug report with the username(s) you attempted to use, your computer specs (OS/browser especially), and your java version.

    Game Information

    Though the main purpose of this alpha is to just test the server on a larger scale than the private alpha, there is still content for people to explore and test! A lot of the basic skills are functional and most of Varrock/Lumbridge/Al Kharid spawns are complete (no NPC drops yet though except chickens for feathers for Fletching). We invite you to peruse the content we have done and suggest what content should be highest priority to add.


    Reporting Issues/Bugs/Missing content
    Every issue you have can go in either a new thread or in this topic. If you post a new thread, it will likely be examined and then moved to the linked topic. Please feel free to post about anything we are missing or that you'd like to see added to the server.

    20
    Official Server Discussion / Alpha Changelog (Alpha v2.0pre)
    « on: January 24, 2015, 12:50:02 AM »
      Public alpha 2 is coming soon, expect an announcement! To prepare for it, we've been hard at work fixing bugs and adding content!

      For a full commit change history, see here:
    https://github.com/davidi2/mopar/commits/master


    A general list of bug fixes and changes can be found below. When the alpha goes live, it would be appreciated if you could double check bug fixes and any new content.

    Fixes:
    • Randomly crashing when attempting to login
    • Crashes when firemaking
    • Ground items disappearing on logout (complete rewrite of item list, please try and test all ground item logic)
    • You can no longer sell any items worth less than 1 coin
    • Cooking should cancel when a fire expires
    • Item stackable and noted id logic fixed
    • Changes in the object list should now properly be translated to the traversal map (before this change, if you were behind a closed door you would walk right through it if starting combat with a npc)
    • Logging out and back in instantly on a different client no longer resets your character
    • Area math fixed, no more combat over diagonals or chopping trees/mining from far away

    Misc changes:
    • You can now only sell items to general stores. This means you can't sell items to stores with infinite stock even if they contain the item you are selling.
    • Greatly nerfed npc strength

    New content:
    • Crawfish fishing/cooking
    • ItemOnNPC and ItemOnGroundItem packets now have handlers (firemaking additions, tinderbox on log item and right click -> "light" for preplaced logs)

    I know the new content list looks pretty meager, but these changes (especially the area math) really help create a more realistic gameplay experience and we're getting really close to being done with the 'behind the scenes' work and able to fully dedicate to adding more stuff. That said, with zuppers help I plan on using the NPC spawn data that is in the cache to make sure we have a LOT more of the map populated during the next alpha. [/list]

    Pages: [1] 23
    Copyright © 2017 MoparScape. All rights reserved.
    Powered by SMFPacks SEO Pro Mod |
    SimplePortal 2.3.5 © 2008-2012, SimplePortal