Thread: open633 - A new revision of development

Results 1 to 8 of 8
  1. #1 open633 - A new revision of development 
    Donator

    .css's Avatar
    Join Date
    Dec 2018
    Age
    26
    Posts
    307
    Thanks given
    48
    Thanks received
    103
    Discord
    View profile
    Rep Power
    114
    Hello everyone. Today I'm proud to announce one of my side projects I'll be working on. This revision has never been done before and for that reason and various others I feel so proud to take up this challenge. I know there'll be a lot of things to learn like Networking and how Packets work; but hopefully with the support from the rsps scene I can learn accordingly. I personally love this very specific revision myself might I add although it's not too far off of more commonly known revisions.

    Anyways; if you're curious about my [Only registered and activated users can see links. ] it's still alive; however I feel more focused on creating a new & open sourced revision for beginners and others to check out and try for themselves; I'll still work on the 727 project from time to time but it's no longer my main focus. Would also be nice to create a 633 prefix tag!

    There's a lot of work needed to be done such as code re-writing and identifying and reading packets accordingly since this was a 718 originally, the packets now need to be converted as such.
    Today just managed to do the Object clicking, Chat packet, etc.. so that's a nice confidence boost for myself haha.

    Any advice is greatly appreciated, and as always thanks for those who help & support!

    DM me for Discord invite

    So, with that being said lets get to the main parts.

    GitHub Repository - [Only registered and activated users can see links. ] - [Only registered and activated users can see links. ] / [Only registered and activated users can see links. ]
    Discord - DM me for Discord invite
    Official 633 cache - [Only registered and activated users can see links. ]

    Feel free to contribute anything, preferably Packets and more core related contents as that's the primary focus till a more structured server base can be established (in general).


    Media
    Combat (basic shit mx)


    Chat Packet (example packet fixed)


    Runtime


    Fixing Map keys (what a nice transitional gif lol)


    Live Memory (I actively check out jProfiler to see what's a big load on the server, etc...)


    Simple plugin systems added (overtime)
    Code:
    package com.rs.plugin.impl.interfaces;
    
    import com.rs.game.player.Player;
    import com.rs.plugin.listener.RSInterface;
    import com.rs.plugin.wrapper.RSInterfaceSignature;
    
    @RSInterfaceSignature(interfaceId = {182})
    public class LogoutButton implements RSInterface {
    
    	@Override
    	public void execute(Player player, int interfaceId, int componentId, int packetId, byte slotId, int slotId2) throws Exception {
    		if (player.hasFinished())
    			return;
    		player.logout(componentId != 10);
    	}
    }
    Code:
    package com.rs.plugin.impl.inventory;
    
    import com.rs.game.item.Item;
    import com.rs.game.player.Player;
    import com.rs.plugin.listener.InventoryType;
    import com.rs.plugin.wrapper.InventoryWrapper;
    
           @[Only registered and activated users can see links. ]oryWrapper(itemId = {1050})
    public class SantaHatItem implements InventoryType {
    
    	@Override
    	public void execute(Player player, Item item, int option) throws Exception {
    		System.out.println(option);
    	}
    }

    credits:
    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]
    Last edited by .css; 06-02-2021 at 10:02 PM. Reason: remove discord

    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]

    Zed#3343
    Reply With Quote  
     

  2. #2  
    WVWVWVWVWVWVWVW

    _jordan's Avatar
    Join Date
    Nov 2012
    Age
    23
    Posts
    2,874
    Thanks given
    63
    Thanks received
    1,542
    Discord
    View profile
    Rep Power
    5000
    Goodluck!

    Spoiler for signature:
    When your vision is crystal clear, they say it's razor-sharp
    A focused mind is said to be like a knife, but the scalpel is wisdom
    All one can do is accept that life is a double-edged sword
    Stay on the edge

    -



    Reply With Quote  
     

  3. Thankful user:


  4. #3  
    ⚔️ Battle614 - Superiority ⚔️
    Battle614's Avatar
    Join Date
    Aug 2020
    Posts
    221
    Thanks given
    63
    Thanks received
    409
    Discord
    View profile
    Rep Power
    520
    Best of luck with this!

    [Only registered and activated users can see links. ]

    [Only registered and activated users can see links. ]
    Reply With Quote  
     

  5. Thankful user:


  6. #4  
    Registered Member

    Join Date
    Feb 2013
    Posts
    1,677
    Thanks given
    248
    Thanks received
    398
    Rep Power
    332
    Good luck with the project! Def. a nice revision!
    Reply With Quote  
     

  7. #5  
    Funky Winston
    Funky Grabs's Avatar
    Join Date
    Aug 2015
    Posts
    40
    Thanks given
    14
    Thanks received
    4
    Discord
    View profile
    Rep Power
    33
    Goodluck!
    Reply With Quote  
     

  8. #6  
    Donator

    .css's Avatar
    Join Date
    Dec 2018
    Age
    26
    Posts
    307
    Thanks given
    48
    Thanks received
    103
    Discord
    View profile
    Rep Power
    114
    Made some not bad progress. Been quite busy IRL. Still so much to do. If you'd like to help and get involved join the official discord!

    Switching branches overall to Developers and Development (Development now being the final output branch; developers being the one a user would commit on).
    [Only registered and activated users can see links. ]


    Combat improvements & effects



    Decoder & Encoder packets support



    Json mob spawns



    Current Plugin supports



    Players Details (Demo class with Lambok example)
    Code:
    package com.rs.game.player;
    
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.LinkedList;
    import java.util.List;
    import java.util.Optional;
    
    import com.rs.game.player.type.impl.AntifireDetails;
    import com.rs.utils.MutableNumber;
    import com.rs.utils.Stopwatch;
    import com.rs.utils.Utils;
    
    import lombok.Data;
    
    /**
     * All personal variables of the Player shall be stored here for easier access.
     * 
     * @author Dennis
     *
     */ @[Only registered and activated users can see links. ]
    public final class PlayerDetails {
    
    	/**
    	 * Constructs a new Player's details
    	 */
    	public PlayerDetails() {
    		pouches = new byte[4];
    		creationDate = Utils.currentTimeMillis();
    		runEnergy = 100;
    		allowChatEffects = true;
    		mouseButtons = true;
    		profanityFilter = true;
    		if (charges == null)
    			charges = new ChargesManager();
    		ownedObjectsManagerKeys = new LinkedList<String>();
    		passwordList = new ArrayList<String>();
    		ipList = new ArrayList<String>();
    		if (watchMap == null)
    			watchMap = new HashMap<>();
    	}
    
    	/**
    	 * Represents a Players password for login
    	 */
    	private String password;
    	
    	/**
    	 * The amount of authority this player has over others.
    	 */
    	public Rights rights = Rights.PLAYER;
    
    	/**
    	 * An array of Runecrafting pouches that possibly contain values.
    	 */
    	private byte[] pouches;
    
    	private long displayTime;
    
    	/**
    	 * The length of a Player being Muted (Unable to chat)
    	 */
    	private long muted;
    
    	/**
    	 * Length of the Player being Jailed (stuck in a remote area)
    	 */
    	private long jailed;
    
    	/**
    	 * Adds Players display time
    	 * 
    	 * @[Only registered and activated users can see links. ] i
    	 */
    	public void addDisplayTime(long i) {
    		this.displayTime = i + Utils.currentTimeMillis();
    	}
    	
    	/**
    	 * Represents the last known IP from the Player
    	 */
    	private String lastIP;
    
    	/**
    	 * Represents if a Player is filtering out their chatbox messages
    	 */
    	private boolean filterGame;
    	/**
    	 * Represents if the Player has their experience locked
    	 */
    	private boolean xpLocked;
    
    	/**
    	 * An array of possible changes to the Max Cape customization
    	 */
    	private int[] maxedCapeCustomized;
    	/**
    	 * An array of possible changes to the Completionist Cape customization
    	 */
    	private int[] completionistCapeCustomized;
    
    	/**
    	 * Represents if the Player should be using older item models to display
    	 */
    	public boolean oldItemsLook;
    
    	/**
    	 * Represents the default Yell color for a Player
    	 */
    	public String yellColor = "ff0000";
    
    	/**
    	 * The creation date
    	 */
    	private long creationDate;
    
    	/**
    	 * The Run Engery amount a Player has
    	 */
    	private byte runEnergy;
    	
    	/**
    	 * A collection of Stopwatches
    	 */
    	public HashMap<String, Stopwatch> watchMap = new HashMap<>();
    
    	/**
    	 * TODO: Add documentation to rest of these imports. Documentation is super
    	 * important so take your time to explain their functions so others can learn!
    	 */
    	/**
    	 * Should the player be allowed to see Chat effects
    	 */
    	private boolean allowChatEffects;
    	
    	/**
    	 * Should the Player accept aid from other players?
    	 */
    	private boolean acceptAid;
    	
    	/**
    	 * Should the Player use 1-click mode, or be allowed to use both
    	 * mouse buttons for general gameplay
    	 */
    	private boolean mouseButtons;
    	
    	/**
    	 * Should the Player see profanity?
    	 */
    	private boolean profanityFilter;
    	
    	/**
    	 * The Players Private Chat options
    	 */
    	private byte privateChatSetup;
    	
    	/**
    	 * The Players Clan Chat options
    	 */
    	private byte clanChatSetup;
    
    	private boolean forceNextMapLoadRefresh;
    	
    	/**
    	 * The length of the players Ban
    	 */
    	private long banned;
    	
    	/**
    	 * Is the Player permanently banned?
    	 */
    	private boolean permBanned;
    	
    	/**
    	 * Does the Player have their Yell off?
    	 */
    	private boolean yellOff;
    	
    	// game bar status
    	private byte publicStatus;
    	private byte clanStatus;
    	private byte tradeStatus;
    	private byte assistStatus;
    
    	// Used for storing recent ips and password
    	/**
    	 * A list of the Players known Passwords to exist
    	 */
    	private ArrayList<String> passwordList = new ArrayList<String>();
    	
    	/**
    	 * A list of the Players known IP's
    	 */
    	private ArrayList<String> ipList = new ArrayList<String>();
    
    	/**
    	 * The Players Items that contain Charges
    	 */
    	private ChargesManager charges;
    
    	/**
    	 * The Players current friends chat
    	 */
    	private String currentFriendChatOwner;
    
    	/**
    	 * The Players specified quick right click action option
    	 * from the Summoning orb
    	 */
    	private byte summoningLeftClickOption;
    	
    	/**
    	 * A list of possible Objects the Player may have existing
    	 */
    	private List<String> ownedObjectsManagerKeys;
    	
    	
    	/**
    	 * A Player's Poison & Skull Timer
    	 */
    	private final MutableNumber poisonImmunity = new MutableNumber(), skullTimer = new MutableNumber();
    	
    
    	/**
    	 * Holds an optional wrapped inside the Antifire details.
    	 */
    	private Optional<AntifireDetails> antifireDetails = Optional.empty();
    	
    	/**
    	 * Sets the new anti-fire instance for this class directly.
    	 * @[Only registered and activated users can see links. ] details the anti-fire instance to set.
    	 */
    	public void setAntifireDetail(AntifireDetails details) {
    		setAntifireDetail(details == null ? Optional.empty() : Optional.of(details));
    	}
    	
    	/**
    	 * Sets a new anti-fire instance for this class.
    	 * @[Only registered and activated users can see links. ] details the anti-fire instance to set.
    	 */
    	public void setAntifireDetail(Optional<AntifireDetails> details) {
    		this.antifireDetails = details;
    	}
    	
    	/**
    	 * Populates the {@link #watchMap}
    	 */
    	{
    		watchMap.put("FOOD", new Stopwatch());
    		watchMap.put("DRINKS", new Stopwatch());
    		watchMap.put("TOLERANCE", new Stopwatch());
    	}
    }
    }

    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]

    Zed#3343
    Reply With Quote  
     

  9. #7  
    Donator

    .css's Avatar
    Join Date
    Dec 2018
    Age
    26
    Posts
    307
    Thanks given
    48
    Thanks received
    103
    Discord
    View profile
    Rep Power
    114
    Some more nice progress; work has been picking up quite a bit and will most likely have less time to work on this once covid stages update.

    A bit of everything in terms of updating. Mainly focused on workflow layout & cleaning.

    Some more JVM improvements overall as well. Coming along quite nicely.



    Implemented & fixed a few bits of the new Dialogue system. Here's a demo class.
    Code:
    package com.rs.game.dialogue.impl;
    
    import com.rs.game.dialogue.DialogueEventListener;
    import com.rs.game.npc.NPC;
    import com.rs.game.player.Player;
    
    public class TestD extends DialogueEventListener {
    
    	public TestD(Player player, NPC npc) {
    		super(player, npc);
    	}
    
    	@Override
    	public void start() {
    		mes("yo sup i'm a regular message");
    		player(happy, "lol okay");
    		option("Yes", () -> {
    			System.out.println("hi");
    		}, "No", () -> {
    			System.out.println("bye");
    		}, "maybe", () -> {
    			System.out.println("bye");
    		}, "idk", () -> {
    			System.out.println("byess");
    		});
    		npc(sad, "I'm sad man..");
    		item(1050, "I'm a santa hat mate.");
    	}
    }






    I wrote down some Chatbox related interfaces that may be useful. They're quite scattered in the cache so your welcome.

    Code:
    dialogue interfaces
    26 - npc seems
    64-71 - player
    90-93  npc - no continue option
    131 - possible Item dialogue
    173 - unknown - probably player (?)
    210-219 - blank statements (no entity involved)
    227-238 - select options (with swords)
    240-248 - Dialogue to far left side with npc/item on right side
    372 - Information dialogue (blue title dialogue)
    421 - A list of information lines (more than 7 with a scroll bar feature)
    451, 458 - a 3 option dialogue
    519 - npc or item model dialogue
    554 - 557 - more option
    668 - pick a puppy
    718 - 2 options dialogue
    737 - cat picking
    740 - chatbox flashing icon chat message dialogue
    757 - npc/item dialogue
    835, 846, 1020 - weird click to continue dialogue..hm
    905, 916 - looks like slidable options box
    944 - how many to make (dungeoneering)
    1018 - weirdly placed single message dialogue
    Last edited by .css; 06-10-2021 at 10:36 PM.

    [Only registered and activated users can see links. ]
    [Only registered and activated users can see links. ]

    Zed#3343
    Reply With Quote  
     

  10. Thankful user:


  11. #8  
    ⚔️ Battle614 - Superiority ⚔️

    Yuuji's Avatar
    Join Date
    Feb 2012
    Posts
    671
    Thanks given
    207
    Thanks received
    150
    Discord
    View profile
    Rep Power
    190
    Love to see it mate! Keep up the progress!

    Wish the best of luck with this!

    [Only registered and activated users can see links. ]
    Reply With Quote  
     


Thread Information
Users Browsing this Thread

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


User Tag List

Similar Threads

  1. New 3D Unity RPG [Early Stages of Development]
    By Hunter__ in forum Application Development
    Replies: 20
    Last Post: 07-08-2018, 11:39 PM
  2. Replies: 28
    Last Post: 12-23-2012, 03:02 PM
  3. Replies: 8
    Last Post: 07-18-2012, 08:21 PM
  4. Replies: 16
    Last Post: 02-27-2011, 06:55 PM
  5. [TUT] - New Style of Userbar!
    By 007 Snoop in forum Tutorials
    Replies: 7
    Last Post: 04-29-2007, 09:44 PM
Posting Permissions
  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •