Posted October 10, 20168 yr comment_4817 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())); }
October 10, 20168 yr comment_4818 https://www.rune-server.org/runescape-development/rs2-server/downloads/641411-vencillio-w-bug-fixes-including-objects.html download that, look at the remove object packet implemented.
October 10, 20168 yr Author comment_4819 20 minutes ago, penta said: https://www.rune-server.org/runescape-development/rs2-server/downloads/641411-vencillio-w-bug-fixes-including-objects.html 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
October 10, 20168 yr comment_4821 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.
Create an account or sign in to comment