Jump to content
  • 0

Question

Posted

Hello all..i have created a party zone for 5+ players...and i set a check if a player leaves pt or die and pressed go to village and the party goes <5 then all going back to spawn.

but when a player leaves party he isn't teleported back to Town.. party also stay inside party zone with less than 5 players..  only if the player restart will be teleported back to town.any suggestions>?

https://pastebin.com/THVrji14 

13 answers to this question

Recommended Posts

  • 0
Posted
15 hours ago, Rootware said:

Check the L2Party or something like this the methods where player leaving from party or party disband. And add there check for zone and teleport out from zone.

        {
        }
    if (player.isInsideZone(ZoneId.PVP))
    {
        if (getMemberCount() < 5)
        {
            getPartyMembers().forEach(s -> s.teleToLocation(MapRegionTable.TeleportWhereType.Town));
        }
    }
    }

 

i added this one under this part of code on L2Party.java

 

    /**
     * Remove player from party Overloaded method that takes player's name as parameter
     * @param name
     */
    public void removePartyMember(final String name)
    {
        final L2PcInstance player = getPlayerByName(name);
        
        if (player != null)
            removePartyMember(player);

 

but i am getting an error on (ZoneId.PVP)

 

 

  • 0
Posted

Most likely bcs you remove player from party and then loop party, which doesn't exists anymore for that player.

 

Move it above, first do check for members count and teleport them ALL and then remove player from party.

 

Also, this is funny

 

  1. public boolean isInsidePartyZone()
  2. {
  3. return isInsidePartyZone();
  4. }
  • 0
Posted
On 10/16/2020 at 1:07 AM, SweeTs said:

Most likely bcs you remove player from party and then loop party, which doesn't exists anymore for that player.

 

Move it above, first do check for members count and teleport them ALL and then remove player from party.

 

Also, this is funny

 

  1. public boolean isInsidePartyZone()
  2. {
  3. return isInsidePartyZone();
  4. }

i manage to do it work for the player whos leaving the Party Inside party zone. but the rest party stays inside even if they are <5 ..here is the code i added on L2Party.java

    /**
     * Remove player from party
     * @param player
     */
    public void removePartyMember(final L2PcInstance player)
    {
        removePartyMember(player, true);
        {
            if (!player.isInsideZone(L2Character.ZONE_PARTYZONE))
            {
                if (player.getPartyMembers() < 5)
            {                
                    player.sendMessage("You can't stay inside party zone without party!");
                    {
                        player.teleToLocation(MapRegionTable.TeleportWhereType.Town);
                        return;
                }
                    }
    }
        }
    }

  • 0
Posted
1 hour ago, Rootware said:

You need use 2 checks:

1. For leaving player.

2. For patry after player kick.

Hello Rootware...you mean something like that under the code i placed?
    /**
     * Remove Party From PartyZone
     * @param Party
     */
    
    public void removeParty(final L2PcInstance Party)
    {
        removePartyMember(Party, true);
        {
            if (!Party.isInsideZone(L2Character.ZONE_PARTYZONE))
            {
             if (Party.getPartyMembers() < 5)
            {                
                    Party.sendMessage("You can't stay inside party zone with less than 5 players party!");
                    {
                        getPartyMembers.teleToLocation(MapRegionTable.TeleportWhereType.Town);
                        return;
                }
            }
            }
        }
    }
 

  • 0
Posted

No. Inside L2PartyZone you need manages only 2 events: enter or exit from zone. All other cases with Party you need manage inside L2Party.java class with checking all actions for location in this zone.

  • 0
Posted
2 hours ago, Rootware said:

No. Inside L2PartyZone you need manages only 2 events: enter or exit from zone. All other cases with Party you need manage inside L2Party.java class with checking all actions for location in this zone.

even this one is not working.. 

 

 

    public void removePartyMember(final L2PcInstance player)
    {
        removePartyMember(player, true);
        {
            if (player.isInsideZone(L2Character.ZONE_PARTYZONE) && (player.isInParty() && player.getPartyMembers() < 5 ))
            {            
                    player.sendMessage("You can't stay inside party zone without party!");
                    {
                        getPartyMembers().forEach(s -> s.teleToLocation(MapRegionTable.TeleportWhereType.Town));
                        return;
                }
            }
            }
        }

  • 0
Posted (edited)

When you do Party#removePartyMember, it does what it says ; therefore all additional checks about Player's Party will return false, since he is ALREADY OUT OF THE PARTY. Interrogating Player#getParty() will therefore return ALWAYS NULL, which is PERFECTLY LOGICAL.

 

If you want to code such thing, you have to either :

  • In case of a second method using Party#removePartyMember (what you currently do) RETAIN the Party of the Player into a variable, and reuse it just after Party#removePartyMember if != null (Party can be disband by default in removePartyMember)
  • In case of Party#removePartyMember method edit : write directly in the method whatever check (there are already such checks for Duel and Dimensional Rift, DuelManager/DimensionalRiftManager#onPartyEdit - in L2J, EVERYTHING ALREADY EXISTS).

The good approach is the SECOND approach, since some vars are already validated inside the method (notably, player != null and Party#contains)

Edited by Tryskell
  • 0
Posted
On 10/18/2020 at 11:49 AM, MoNsT3ReN4RgY said:

i manage to do it work for the player whos leaving the Party Inside party zone. but the rest party stays inside even if they are <5

I already told you what to do. Not my fault you don't listen.

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.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.



  • Posts

    • it's great that you know who these files come from... you shouldn't forget vanganth too! now it is very easy, you take my last revision of svn and compare it against those files.... when you finish analyzing and comparing you should do the following... which will be very easy to check...   once everything is checked, analyze what did L2Devs do hahaha   I who give away the files, make me problem. L2Devs is SCAMMING people, selling something free and you don't say anything... It is something very strange what happens .... Besides you ripped me off 100usd, but I hope you got server to eat at least. PD: the day you take it back and return my 100usd I will forgive you and pretend that nothing ever happened 😉
    • 🔥 Apresentação I present to you a new fully customized DressMe system, developed for DreamV2, inspired by the best servers and enhanced with unique features that guarantee performance, customization and stunning visuals. ✨ Funcionalidades ✅ Aplicação de visual de armas e armaduras sem alterar o item real equipado. ✅ Compatível com qualquer tipo de arma/armadura (ex: skins de bow visíveis apenas com bows equipados). ✅ Remoção automática do visual quando parte do set real é desequipada. ✅ Efeitos visuais (skills) aplicados com suporte a: Aplicação única ou recorrente Intervalo configurável via XML Remoção automática ao desativar o visual ✅ Interface limpa e lógica modular, fácil de expandir com novos visuais ou efeitos.     <?xml version="1.0" encoding="UTF-8"?> <dressMeList> <dress skillId="9100" name="Draconic Armor" type="ARMOR" isVip="false" > <visualSet chest="6379" legs="0" gloves="6380" feet="6381" helmet="6841" /> <visualEffect skillId="445" level="1" recurring="true" interval="35" /> </dress> <dress skillId="9102" name="Cloak Style Armor" type="CLOAK" isVip="false"> <visualSet chest="7000" legs="0" gloves="0" feet="0" helmet="0" /> <visualEffect skillId="10005" level="1" recurring="false" /> </dress> <dress skillId="9103" name="Valakas Style Weapon" type="WEAPON" isVip="false"> <visualWep type="bow" rhand="7575" lhand="0" lrhand="0" /> <visualEffect skillId="10005" level="1" recurring="false" /> </dress> </dressMeList> 📸 Imagens & Vídeo 🛠️ Detalhes Técnicos Desenvolvido com base no L2J DreamV2 Integração direta com L2PcInstance, Inventory, ThreadPoolManager e SkillTable Sistema de gerenciamento central via DressMeEffectManager Agendamento e cancelamento seguro de efeitos recorrentes Totalmente thread-safe e compatível com jogadores offline 📂 Instalação A instalação é feita via patch e inclui: Classes: DressMeHolder, DressMeEffectManager, modificações em L2PcInstance XML de exemplo Suporte completo à expansão por armas, cloaks e visuais parciais 📎 Download https://pastebin.com/raw/7i843yKh 💬 Feedback & Sugestões Sinta-se à vontade para comentar abaixo com sugestões, dúvidas ou feedbacks. Toda contribuição é bem-vinda para futuras versões!
    • @Tinker123aa Guytis, I have nothing against you, but it's very clear to me who is behind this files. I'm talking about the one that came with the captcha anti-bot system. I personally bought it from the real owner, who was one of the administrators of L2Gold.cc. This can be confirmed by him if he wishes. 😊 Maybe you worked on the files, but they didn’t start from you.   To the people trying to buy the files I’m just advising you not to waste your money. This is 100% verified information.   I honestly don't know how people believe you. 🙂 I'll share the link to the guy's topic below.   ps  
    • Hello,  Anyone knows how I can communicate to purchase this emulator.  Nobody answered in the forum of eternity neither Kate neither lord winter.    Thanks in advance.
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock