Madara 767 Posted October 10, 2016 Report Share Posted October 10, 2016 Hey fellow leakers. Im in need of some assistance, Vencillio deletes objects by putting a blank id in its place, this causes lag and heaps of unused data. I was wondering if anyone knew the fix to actually delete the object. Any help at all would be great! ? Edit: this is the obectmanager Private static final void remove(int x, int y, int z) { RSObject object = Region.getObject(x, y, z); if (Region.getDoor(x, y, z) != null) { Region.removeDoor(x, y, z); } if (object == null) { active.add(new GameObject(2376, x, y, z, 10, 0)); return; } MapLoading.removeObject(object.getId(), x, y, z, object.getType(), object.getFace()); active.add(new GameObject(2376, x, y, z, object.getType(), 0)); Region region = Region.getRegion(x, y); region.setClipToZero(x, y, z); } private static final void deleteWithObject(int x, int y, int z, int type) { active.add(new GameObject(2376, x, y, z, type, 0)); } public static List<GameObject> getActive() { return active; } public static final GameObject getBlankObject(Location p) { return new GameObject(2376, p.getX(), p.getY(), p.getZ(), 10, 0, false); } public static GameObject getBlankObject(Location p, int type) { return new GameObject(2376, p.getX(), p.getY(), p.getZ(), type, 0, false); } public static GameObject getGameObject(int x, int y, int z) { int index = active.indexOf(new GameObject(x, y, z)); if (index == -1) { return null; } return active.get(index); } public static Queue<GameObject> getSend() { return send; } public static boolean objectExists(Location location) { for (GameObject object : active) { if (location.equals(object.getLocation())) { return true; } } return false; } public static void process() { for (Iterator<GameObject> i = register.iterator(); i.hasNext();) { GameObject reg = i.next(); active.remove(reg); active.add(reg); send.add(reg); i.remove(); } } public static void queueSend(GameObject o) { send.add(o); } public static void register(GameObject o) { register.add(o); } public static void remove(GameObject o) { removeFromList(o); send.add(getBlankObject(o.getLocation(), o.getType())); } public static void removeFromList(GameObject o) { active.remove(o); } Replacement code public static void remove(GameObject o) { removeFromList(o); send.add(getBlankObject(o.getLocation(), o.getType())); } Link to comment Share on other sites More sharing options...
penta 20 Posted October 10, 2016 Report Share Posted October 10, 2016 This is the hidden content, please Sign In or Sign Up download that, look at the remove object packet implemented. Link to comment Share on other sites More sharing options...
Madara 767 Posted October 10, 2016 Author Report Share Posted October 10, 2016 20 minutes ago, penta said: This is the hidden content, please Sign In or Sign Up download that, look at the remove object packet implemented. I did, the object methods are identical, i havnt loaded it up to see if it was fixed or not. But i really couldnt find a difference in the code, i will look again tho Link to comment Share on other sites More sharing options...
penta 20 Posted October 10, 2016 Report Share Posted October 10, 2016 1 hour ago, Madara said: I did, the object methods are identical, i havnt loaded it up to see if it was fixed or not. But i really couldnt find a difference in the code, i will look again tho Just run a diff on there. Quite a big difference.. I believe theres even a diff link of the entire release posted on that thread. 1 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now