Autor Tema: RequestRestartPoint : Bug Al Renacer (resuelto)  (Leído 97 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Conectado BARTxSIMPSON

  • Grado D
  • *
  • Topic Author
  • Mensajes: 71
  • es
  • Agradecimientos: 9
  • Cronica: : l2interlude
  • Revision: Acis 370
  • S.O: Windows 7
  • Serverpack : l2jaCis
RequestRestartPoint : Bug Al Renacer (resuelto)
« en: Octubre 05, 2018, 09:06:47 am »
gracias
Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    buenas como dice el titulo me gustaria saber como poder resolver este bug que sucede muy rara la vez. pero sucede, y quizas cuando ayan muchos players on suceda mas.
    adjunto imagenes y videos de como sucedio y tambien el archivo requestrestartpoint.java.

    aqui en el video se puede ver como me salta el error en la consola y como el pj al nacer se demora en levantarse, a veces no se levanta. :
    https://www.youtube.com/watch?v=biv_xVoMnUs

    aqui en la imagen puedes ver el error que me salta en la consola. :


    aqui esta mi archivo RequestRestartPoint.java :


    Código: [Seleccionar]
    package net.sf.l2j.gameserver.network.clientpackets;

    import net.sf.l2j.commons.concurrent.ThreadPool;
    import net.sf.l2j.commons.random.Rnd;

    import net.sf.l2j.Config;
    import net.sf.l2j.gameserver.data.xml.MapRegionData;
    import net.sf.l2j.gameserver.data.xml.MapRegionData.TeleportType;
    import net.sf.l2j.gameserver.instancemanager.CastleManager;
    import net.sf.l2j.gameserver.instancemanager.ClanHallManager;
    import net.sf.l2j.gameserver.instancemanager.ZoneRandom;
    import net.sf.l2j.gameserver.model.actor.instance.Player;
    import net.sf.l2j.gameserver.model.entity.ClanHall;
    import net.sf.l2j.gameserver.model.entity.ClanHall.ClanHallFunction;
    import net.sf.l2j.gameserver.model.entity.Siege;
    import net.sf.l2j.gameserver.model.entity.Siege.SiegeSide;
    import net.sf.l2j.gameserver.model.location.Location;
    import net.sf.l2j.gameserver.model.pledge.Clan;
    import net.sf.l2j.gameserver.model.zone.ZoneId;

    public final class RequestRestartPoint extends L2GameClientPacket
    {
    protected static final Location JAIL_LOCATION = new Location(-114356, -249645, -2984);

    protected int _requestType;
    public int RANGESPAWN = Config.RANGE_SPAWN;

    @Override
    protected void readImpl()
    {
    _requestType = readD();
    }

    @Override
    protected void runImpl()
    {
    final Player player = getClient().getActiveChar();
    if (player == null)
    return;

    if (player.isFakeDeath())
    {
    player.stopFakeDeath(true);
    return;
    }

    if (!player.isDead())
    return;

    // Schedule a respawn delay if player is part of a clan registered in an active siege.
    if (player.getClan() != null)
    {
    final Siege siege = CastleManager.getInstance().getSiege(player);
    if (siege != null && siege.checkSide(player.getClan(), SiegeSide.ATTACKER))
    {
    ThreadPool.schedule(() -> portPlayer(player), Config.ATTACKERS_RESPAWN_DELAY);
    return;
    }
    }

    portPlayer(player);
    }

    /**
    * Teleport the {@link Player} to the associated {@link Location}, based on _requestType.
    * @param player : The player set as parameter.
    */
    private void portPlayer(Player player)
    {
    final Clan clan = player.getClan();

    Location loc = null;

    // Enforce type.
    if (player.isInJail())
    _requestType = 27;
    else if (player.isFestivalParticipant())
    _requestType = 4;

    // To clanhall.
    if (_requestType == 1)
    {
    if (clan == null || !clan.hasHideout())
    return;

    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.CLAN_HALL);

    final ClanHall ch = ClanHallManager.getInstance().getClanHallByOwner(clan);
    if (ch != null)
    {
    final ClanHallFunction function = ch.getFunction(ClanHall.FUNC_RESTORE_EXP);
    if (function != null)
    player.restoreExp(function.getLvl());
    }
    }
    // To castle.
    else if (_requestType == 2)
    {
    final Siege siege = CastleManager.getInstance().getSiege(player);
    if (siege != null)
    {
    switch (siege.getSide(clan))
    {
    case DEFENDER:
    case OWNER:
    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.CASTLE);
    break;

    case ATTACKER:
    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.TOWN);
    break;

    default:
    return;
    }
    }
    else
    {
    if (clan == null || !clan.hasCastle())
    return;

    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.CASTLE);
    }
    }
    // To siege flag.
    else if (_requestType == 3)
    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.SIEGE_FLAG);
    // Fixed.
    else if (_requestType == 4)
    {
    if (!player.isGM() && !player.isFestivalParticipant())
    return;

    loc = player.getPosition();
    }
    // To jail.
    else if (_requestType == 27)
    {
    if (!player.isInJail())
    return;

    loc = JAIL_LOCATION;
    }
    else if (player.isInsideZone(ZoneId.RANDOM_ZONE) && player.isDead())
    {
    Location location = ZoneRandom.getInstance().getCurrentZone();

    // Randomize location position.
    int getX = location.getX() + Rnd.get(-RANGESPAWN, RANGESPAWN);
    int getY = location.getY() + Rnd.get(-RANGESPAWN, RANGESPAWN);

    player.doRevive();
    player.teleToLocation(getX, getY, location.getZ(), 20);
    return;
    }
    // Nothing has been found, use regular "To town" behavior.
    else
    loc = MapRegionData.getInstance().getLocationToTeleport(player, TeleportType.TOWN);

    player.setIsIn7sDungeon(false);

    if (player.isDead())
    player.doRevive();

    player.teleToLocation(loc, 20);
    }
    }
    « Última modificación: Octubre 06, 2018, 10:21:36 pm por BARTxSIMPSON »
    el que persevera alcanza...

    Conectado Dagger

    • Grado S84
    • *
    • Mensajes: 1628
    • ar
    • Agradecimientos: 445
    • Cronica: : Interlude
    • Revision: 374,1132,001
    • S.O: Windows 8
    • Serverpack : Acis,frozen,Ps
    A cesar le gusta este post.

    Re:RequestRestartPoint : Bug Al Renacer
    « Respuesta #1 en: Octubre 05, 2018, 12:40:51 pm »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    Cuando el player muere sucede también ? fíjate dejando los xml de la carpeta zone zone default sin ningún agregado

    Conectado ReynalDev

    • Administrator
    • *
    • Mensajes: 4647
    • mx
    • Agradecimientos: 1617
    • I took a pill in Ibiza
      • ReynalDev
    • Cronica: : Interlude, C4
    • Revision: 1132, FREE,582
    • S.O: Linux CentOS
    • Serverpack : Frozen,aCis,Lisvus
    A cesar le gusta este post.

    Re:RequestRestartPoint : Bug Al Renacer
    « Respuesta #2 en: Octubre 05, 2018, 02:41:16 pm »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    Un consejo, todas tus pruebas deben hacerse con personajes NORMALES.

    Evita usar el admin.
    Hay dos caminos; aprender a hacer lo que quieres o pagar para que alguien más lo haga.
    WTS Servicios de desarrollo
    - Facebook: https://goo.gl/DCzNiG
    - Youtube: https://goo.gl/a7m6tc
    - Messenger: https://goo.gl/QzgEBe

    Conectado BARTxSIMPSON

    • Grado D
    • *
    • Topic Author
    • Mensajes: 71
    • es
    • Agradecimientos: 9
    • Cronica: : l2interlude
    • Revision: Acis 370
    • S.O: Windows 7
    • Serverpack : l2jaCis
    Re:RequestRestartPoint : Bug Al Renacer
    « Respuesta #3 en: Octubre 05, 2018, 08:32:43 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    gracias por responder, dagger el pj a veces cuando muere aparece ese error y hay veces que no, pero ya me dijeron que era por la zona random que esta desactualizada y ya he puesto bien la randomzone actualizada, aqui esta el link por si alguien tiene el mismo problema lo actualice, gracias reynald0 por tu consejo, de ahora en adelante lo are asi como dices, voy a testear la zona a ver si no vuelve a pasar el error y cuando ya no pase mas, le doy resuelto al post




    http://l2devsadmins.net/l2devsAdmins2-0-11/index.php?topic=9193.msg47524#msg47524
    el que persevera alcanza...

    Conectado Dagger

    • Grado S84
    • *
    • Mensajes: 1628
    • ar
    • Agradecimientos: 445
    • Cronica: : Interlude
    • Revision: 374,1132,001
    • S.O: Windows 8
    • Serverpack : Acis,frozen,Ps
    A cesar le gusta este post.

    Re:RequestRestartPoint : Bug Al Renacer
    « Respuesta #4 en: Octubre 06, 2018, 02:44:11 am »
    gracias
    Este post tiene 1 agradecimientos
  • Añade a tus favoritos
    Vale amigo saludos y suerte  :ok:
    « Última modificación: Octubre 06, 2018, 06:36:38 am por Dagger »

    Conectado BARTxSIMPSON

    • Grado D
    • *
    • Topic Author
    • Mensajes: 71
    • es
    • Agradecimientos: 9
    • Cronica: : l2interlude
    • Revision: Acis 370
    • S.O: Windows 7
    • Serverpack : l2jaCis
    Re:RequestRestartPoint : Bug Al Renacer (resuelto)
    « Respuesta #5 en: Octubre 06, 2018, 10:22:27 pm »
    gracias
    Este post tiene 0 agradecimientos
  • Añade a tus favoritos
    igualmente bro, si era el randomzone que estaba desactualizado, ya no me ha vuelto a dar
    el que persevera alcanza...