Save allowed player instances instead of object ids.

This commit is contained in:
MobiusDev
2018-06-08 16:27:20 +00:00
parent 913dbff9a6
commit 3cd9404a34
71 changed files with 422 additions and 363 deletions

View File

@@ -29,7 +29,6 @@ import com.l2jmobius.commons.concurrent.ThreadPool;
import com.l2jmobius.commons.util.CommonUtil;
import com.l2jmobius.gameserver.enums.ChatType;
import com.l2jmobius.gameserver.model.L2Object;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.StatsSet;
import com.l2jmobius.gameserver.model.actor.L2Npc;
@@ -120,10 +119,9 @@ public final class ChamberOfDelusion extends AbstractInstance
}
else
{
for (int objId : instance.getAllowed())
for (L2PcInstance plr : instance.getAllowed())
{
final L2PcInstance pl = L2World.getInstance().getPlayer(objId);
if ((pl != null) && pl.isOnline() && !pl.isInParty())
if ((plr != null) && plr.isOnline() && !plr.isInParty())
{
instance.finishInstance(0);
break;

View File

@@ -27,7 +27,6 @@ import com.l2jmobius.gameserver.data.xml.impl.SkillData;
import com.l2jmobius.gameserver.instancemanager.InstanceManager;
import com.l2jmobius.gameserver.model.L2Party;
import com.l2jmobius.gameserver.model.L2Spawn;
import com.l2jmobius.gameserver.model.L2World;
import com.l2jmobius.gameserver.model.Location;
import com.l2jmobius.gameserver.model.actor.L2Character;
import com.l2jmobius.gameserver.model.actor.L2Npc;
@@ -841,13 +840,12 @@ public final class Kamaloka extends AbstractInstance
sm.addInstanceName(world.getTemplateId());
// set instance reenter time for all allowed players
for (int oid : world.getAllowed())
for (L2PcInstance plr : world.getAllowed())
{
final L2PcInstance obj = L2World.getInstance().getPlayer(oid);
if ((obj != null) && obj.isOnline())
if ((plr != null) && plr.isOnline())
{
InstanceManager.getInstance().setReenterPenalty(oid, world.getTemplateId(), reenter.getTimeInMillis());
obj.sendPacket(sm);
InstanceManager.getInstance().setReenterPenalty(plr.getObjectId(), world.getTemplateId(), reenter.getTimeInMillis());
plr.sendPacket(sm);
}
}
world.finishInstance();