DiornanR Posted December 30, 2023 Posted December 30, 2023 (edited) FIX Edited January 3, 2024 by DiornanR Quote
Kamish Posted February 18, 2024 Posted February 18, 2024 Who can help me adapt these lines to frozen or orion please, it's the only thing I'm missing, because several players enter and they all stay in the same area and can see each other Index: java/net/sf/l2j/gameserver/model/WorldObject.java =================================================================== --- java/net/sf/l2j/gameserver/model/WorldObject.java (revision 17) +++ java/net/sf/l2j/gameserver/model/WorldObject.java (working copy) @@ -15,6 +15,9 @@ import net.sf.l2j.gameserver.model.actor.Creature; import net.sf.l2j.gameserver.model.actor.Playable; import net.sf.l2j.gameserver.model.actor.Player; +import net.sf.l2j.gameserver.model.actor.instance.Fence; +import net.sf.l2j.gameserver.model.entity.events.instance.Instance; +import net.sf.l2j.gameserver.model.entity.events.instance.InstanceManager; import net.sf.l2j.gameserver.model.location.Location; import net.sf.l2j.gameserver.model.location.SpawnLocation; import net.sf.l2j.gameserver.model.zone.type.subtype.ZoneType; @@ -393,6 +396,11 @@ } } + for (WorldObject object : getDifferentInstanceObjects()) + { + object.removeKnownObject(this); + removeKnownObject(object); + } // For every new surrounding area NOT SHARED with old surrounding areas. for (WorldRegion region : newAreas) { @@ -405,9 +413,8 @@ // Update all objects. for (WorldObject obj : region.getObjects()) { - if (obj == this) + if (obj == this || obj.getInstance().getId() != getInstance().getId()) continue; - obj.addKnownObject(this); addKnownObject(obj); } @@ -487,6 +494,8 @@ { if (obj == this || !type.isAssignableFrom(obj.getClass())) continue; + if (obj.getInstance().getId() != getInstance().getId() && !(obj instanceof Fence)) + continue; result.add((A) obj); } @@ -517,6 +526,8 @@ { if (obj == this || !type.isAssignableFrom(obj.getClass()) || !predicate.test((A) obj)) continue; + if (obj.getInstance().getId() != getInstance().getId() && !(obj instanceof Fence)) + continue; result.add((A) obj); } @@ -547,6 +558,8 @@ { if (obj == this || !type.isAssignableFrom(obj.getClass()) || !MathUtil.checkIfInRange(radius, this, obj, true)) continue; + if (obj.getInstance().getId() != getInstance().getId() && !(obj instanceof Fence)) + continue; result.add((A) obj); } @@ -807,6 +820,46 @@ } + private Instance _instance = InstanceManager.getInstance().getInstance(0); + + public void setInstance(Instance instance, boolean silent) + { + _instance = instance; + + if (!silent) + { + decayMe(); + spawnMe(); + } + } + + public Instance getInstance() + { + return _instance; + } + + private final List<WorldObject> getDifferentInstanceObjects() + { + final WorldRegion region = _region; + if (region == null) + return Collections.emptyList(); + + final List<WorldObject> result = new ArrayList<>(); + + for (WorldRegion reg : region.getSurroundingRegions()) + { + for (WorldObject obj : reg.getObjects()) + { + if (obj == this || obj.getInstance().getId() == getInstance().getId() || obj instanceof Fence) + continue; + + result.add(obj); + } + } + + return result; + } + public void onActionShift(Player player) { player.sendPacket(ActionFailed.STATIC_PACKET); Quote
optimousprime Posted February 25, 2024 Posted February 25, 2024 Please if any one can fix this event when you enter on zone is not protection when you whant to Unstuck from the Zone like you can unstuck from the zone or use soe and if you have a flag zone area your player get flag if you leave from zone your flag dosen't desapear's is stucked the time dosen't stop some one need to fix those things when player days or use unstuck or soe the event to stop , and clean the even't Quote
Kamish Posted February 25, 2024 Posted February 25, 2024 I have it almost fixed but I only need the dimensions to be able to publish it 3 hours ago, optimousprime said: Please if any one can fix this event when you enter on zone is not protection when you whant to Unstuck from the Zone like you can unstuck from the zone or use soe and if you have a flag zone area your player get flag if you leave from zone your flag dosen't desapear's is stucked the time dosen't stop some one need to fix those things when player days or use unstuck or soe the event to stop , and clean the even't I have it almost fixed but I only need the dimensions to be able to publish it 3 hours ago, optimousprime said: Please if any one can fix this event when you enter on zone is not protection when you whant to Unstuck from the Zone like you can unstuck from the zone or use soe and if you have a flag zone area your player get flag if you leave from zone your flag dosen't desapear's is stucked the time dosen't stop some one need to fix those things when player days or use unstuck or soe the event to stop , and clean the even't Quote
optimousprime Posted February 25, 2024 Posted February 25, 2024 5 hours ago, Kamish said: I have it almost fixed but I only need the dimensions to be able to publish it I have it almost fixed but I only need the dimensions to be able to publish it Please if any good dev can fix this problem ... to help us Quote
Banshee Garnet Posted February 25, 2024 Posted February 25, 2024 2 hours ago, optimousprime said: Please if any good dev can fix this problem ... to help us just call a userinfo / charinfo broadcast update... Quote
optimousprime Posted February 26, 2024 Posted February 26, 2024 19 hours ago, Banshee Garnet said: just call a userinfo / charinfo broadcast update... my java knowloge is poor my friend Quote
Banshee Garnet Posted February 28, 2024 Posted February 28, 2024 On 2/26/2024 at 8:42 PM, optimousprime said: my java knowloge is poor my friend check in other place where it broadcasts and use it on the method Quote
joseinacio Posted March 27, 2024 Posted March 27, 2024 I added the event to l2jMega but the players are not instantiating it Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.