Jump to content
  • 0

sobre respaw


Elias Garcez

Question

16 answers to this question

Recommended Posts

  • 0
59 minutos atrás, elias garcez disse:

queria saber como eu faço para ex: tem um teleport mais quando cara teleporta ele pode ir pra uma loc aleatoria , e porque tem um respaw pvp so que nego ficar nascendo no mesmo lugar os caras vao segura respaw , alguemn pode me ajudar me explicando como fazer isso?

É por isso que normalmente esses servidores por ai tem 2 opções de teleporta para determinada zona, para evitar que o respawn seja afetado por essas questões

O que você está pedindo é que magicamente o servidor teleporte o player aleatóriamente para varios lugares, só que, quando é criado um teleporte, ele é atrelado a uma coordenada X que é criada no banco de dados, porém um servidor de lineage ainda não tem inteligencia artificial para resolver essas coisas não amigo..

Possível? Sim, é possível desenvolver isso, porém tem que ser no java da source do projeto, porém, o que você está pedindo é algo um tanto trabalhoso demais para uma coisa de pouca importancia em um servidor, por isso não se vê isso por ai e o que todos fazem é apenas criar 2 ou mais opções de Spawn nos locais e o problema se resolve facilmente..

Ou, você pode criar uma zona de paz ao redor do local que o player spawna ao chegar, tem vários tutoriais no fórum sobre editar e criar zonas.

Ou, você pode verificar se o seu projeto tem, ou adicionar a função para que quando o Player teleportar, ele com proteção contra ataques e tals por X segundos.

neTiVFC.gif

9KuKwr5.gif

Link to comment
Share on other sites


  • 0
5 minutos atrás, AllInOne disse:

É por isso que normalmente esses servidores por ai tem 2 opções de teleporta para determinada zona, para evitar que o respawn seja afetado por essas questões

O que você está pedindo é que magicamente o servidor teleporte o player aleatóriamente para varios lugares, só que, quando é criado um teleporte, ele é atrelado a uma coordenada X que é criada no banco de dados, porém um servidor de lineage ainda não tem inteligencia artificial para resolver essas coisas não amigo..

Possível? Sim, é possível desenvolver isso, porém tem que ser no java da source do projeto, porém, o que você está pedindo é algo um tanto trabalhoso demais para uma coisa de pouca importancia em um servidor, por isso não se vê isso por ai e o que todos fazem é apenas criar 2 ou mais opções de Spawn nos locais e o problema se resolve facilmente..

Ou, você pode criar uma zona de paz ao redor do local que o player spawna ao chegar, tem vários tutoriais no fórum sobre editar e criar zonas.

Ou, você pode verificar se o seu projeto tem, ou adicionar a função para que quando o Player teleportar, ele com proteção contra ataques e tals por X segundos.

entendi amigo , obrigado por me responder , vou criar outros respaw entao, aproveitando queria tbm tirar duvida se tem como bloquiar entrar em pt na aria pvp pode me dizer e como?

Link to comment
Share on other sites

  • 0
2 minutos atrás, elias garcez disse:

entendi amigo , obrigado por me responder , vou criar outros respaw entao, aproveitando queria tbm tirar duvida se tem como bloquiar entrar em pt na aria pvp pode me dizer e como?

Até tem, mexendo na source, mas digamos que você faça isso e uma pt com 4 players tentem ir e descubram que é proibidocriar pt em zona pvp no seu servidor, tipo, automaticamente seu servidor perde 4 players na hora né..

neTiVFC.gif

9KuKwr5.gif

Link to comment
Share on other sites

  • 0
3 minutos atrás, AllInOne disse:

Até tem, mexendo na source, mas digamos que você faça isso e uma pt com 4 players tentem ir e descubram que é proibidocriar pt em zona pvp no seu servidor, tipo, automaticamente seu servidor perde 4 players na hora né..

nao amigo e que a aria de farm entende so que e pvp, e nao quero que possam dar pt entende , porque fiz um sistema de farm que se for em pt ajuda somente os clans

Link to comment
Share on other sites

  • 0
7 minutos atrás, elias garcez disse:

nao amigo e que a aria de farm entende so que e pvp, e nao quero que possam dar pt entende , porque fiz um sistema de farm que se for em pt ajuda somente os clans

Se o Farm em PT só tem benefício para clan, então qual a diferença de poder criar pt ou não na área de farm pvp..

neTiVFC.gif

9KuKwr5.gif

Link to comment
Share on other sites

  • 0
7 minutos atrás, AllInOne disse:

Se o Farm em PT só tem benefício para clan, então qual a diferença de poder criar pt ou não na área de farm pvp..

poxa mais e a forma que eu to fazendo mano, eu so quero saber como faz pra bloquiar party na aria flag, se nao puder falar ta ok...

Link to comment
Share on other sites

  • 0
1 minuto atrás, elias garcez disse:

poxa mais e a forma que eu to fazendo mano, eu so quero saber como faz pra bloquiar party na aria flag, se nao puder falar ta ok...

Você vai precisar realizar essa edição direto na Source do projeto que você está usando, criando as condições e variáveis para negar a entrada de players em Party na zona PvP teleportando eles de volta para a cidade caso entrem com Party formada, bloquear a ação de criar Party dentro da zona, e também condicionar as edições para afetarem todo o servidor ou apenas uma única zona específica.

neTiVFC.gif

9KuKwr5.gif

Link to comment
Share on other sites

  • 0
1 hora atrás, elias garcez disse:

poxa mais e a forma que eu to fazendo mano, eu so quero saber como faz pra bloquiar party na aria flag, se nao puder falar ta ok...

poste o seu L2FlagZone para que eu edite para desfazer party quando entrar na zona e nao permiti invite de party dentro da zone

Link to comment
Share on other sites

  • 0
Em 13/01/2023 at 17:42, S.Christian disse:

poste o seu L2FlagZone para que eu edite para desfazer party quando entrar na zona e nao permiti invite de party dentro da zone

 

/*
 * This program is free software: you can redistribute it and/or modify it under
 * the terms of the GNU General Public License as published by the Free Software
 * Foundation, either version 3 of the License, or (at your option) any later
 * version.
 *
 * This program is distributed in the hope that it will be useful, but WITHOUT
 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
 * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
 * details.
 *
 * You should have received a copy of the GNU General Public License along with
 * this program. If not, see <

This is the hidden content, please

 */
package com.l2jmega.gameserver.model.zone.type;

import com.l2jmega.Config;
import com.l2jmega.gameserver.instancemanager.PartyZoneManager;
import com.l2jmega.gameserver.model.World;
import com.l2jmega.gameserver.model.actor.Creature;
import com.l2jmega.gameserver.model.actor.instance.Player;
import com.l2jmega.gameserver.model.zone.L2SpawnZone;
import com.l2jmega.gameserver.model.zone.ZoneId;
import com.l2jmega.gameserver.network.serverpackets.ExShowScreenMessage;
import com.l2jmega.gameserver.taskmanager.PvpFlagTaskManager;

public class L2FlagZone extends L2SpawnZone
{
    private int _maxClanMembers;
    private int _maxAllyMembers;
    private int _minPartyMembers;
    private boolean _checkParty;
    private boolean _checkClan;
    private boolean _checkAlly;
    
    public L2FlagZone(int id)
    {
        super(id);
        
        _maxClanMembers = 0;
        _maxAllyMembers = 0;
        _minPartyMembers = 0;
        _checkParty = false;
        _checkClan = false;
        _checkAlly = false;
    }

    @Override
    public void setParameter(String name, String value)
    {
        if (name.equals("MaxClanMembers"))
            _maxClanMembers = Integer.parseInt(value);
        else if (name.equals("MaxAllyMembers"))
            _maxAllyMembers = Integer.parseInt(value);
        else if (name.equals("MinPartyMembers"))
            _minPartyMembers = Integer.parseInt(value);
        else if (name.equals("checkParty"))
            _checkParty = Boolean.parseBoolean(value);
        else if (name.equals("checkClan"))
            _checkClan = Boolean.parseBoolean(value);
        else if (name.equals("checkAlly"))
            _checkAlly = Boolean.parseBoolean(value);
        else
            super.setParameter(name, value);
    }
    
    @Override
    protected void onEnter(Creature character)
    {
        character.setInsideZone(ZoneId.FLAG, true);
        
        if (character instanceof Player)
        {
            final Player activeChar = (Player) character;
            
            activeChar.sendMessage("You have entered a Party Zone!");
    
            if (Config.ENABLE_FLAGZONE)
            {
                
            if (!activeChar.isInObserverMode())
                {
                    if (activeChar.getPvpFlag() > 0)
                        PvpFlagTaskManager.getInstance().remove(activeChar);
                    
                    activeChar.updatePvPFlag(1);
                    
                    if (!activeChar.isGM())
                        activeChar.getAppearance().setVisible();
                    
                }
            }           
            
            if (_checkParty)
            {
                if (!activeChar.isInParty() || activeChar.getParty().getMemberCount() < _minPartyMembers)
                {
                    activeChar.sendPacket(new ExShowScreenMessage("Your party does not have " + _minPartyMembers + " members to enter on this zone!", 6 * 1000));
                    PartyZoneManager.getInstance().RandomTeleport(activeChar);
                }
            }
            
            if(!activeChar.isPhantom())
                PartyZoneManager.getInstance().checkPlayersArea_ip(activeChar, Integer.valueOf(2), World.getInstance().getPlayers(), Boolean.valueOf(true)); 
            
            if (Config.FLAGZONE_HWID_PROTECT && !activeChar.isPhantom())
                MaxPlayersOnArea(activeChar);

            if (_checkClan)
                MaxClanMembersOnArea(activeChar);

            if (_checkAlly)
                MaxAllyMembersOnArea(activeChar);
        }
    }
    
    public boolean MaxPlayersOnArea(Player activeChar)
    {
        return PartyZoneManager.getInstance().checkPlayersArea(activeChar, Config.MAX_BOX_IN_FLAGZONE, true);
    }
    
    public boolean MaxClanMembersOnArea(Player activeChar)
    {
        return PartyZoneManager.getInstance().checkClanArea(activeChar, _maxClanMembers, true);
    }
    
    public boolean MaxAllyMembersOnArea(Player activeChar)
    {
        return PartyZoneManager.getInstance().checkAllyArea(activeChar, _maxAllyMembers, World.getInstance().getPlayers(), true);
    }
    
    @Override
    protected void onExit(Creature character)
    {
        character.setInsideZone(ZoneId.FLAG, false);
        
        if (character instanceof Player)
        {
            final Player activeChar = (Player) character;
            
            if(Config.ENABLE_FLAGZONE)
            {
                PvpFlagTaskManager.getInstance().add(activeChar, Config.PVP_NORMAL_TIME);
                activeChar.sendMessage("You have left a Party Zone!");
            }
        }
    }

    @Override
    public void onDieInside(Creature character)
    {
    }

    @Override
    public void onReviveInside(Creature character)
    {
    }
}

 

mais no caso isso nao modifica na pt farm nao né? porque la e flag tambem

Link to comment
Share on other sites

  • 0
 

Sua Revisão e a L2jMegaPack. Procure nas config por: CheckPartyInvite coloque True e tambem tem a opção DisablePartyFlagZone coloque true tambem.

" Os homens tendem a acreditar sobretudo naquilo que menos compreendem. "

Link to comment
Share on other sites

  • 0
3 minutos atrás, -= JRGames =- disse:
 

Sua Revisão e a L2jMegaPack. Procure nas config por: CheckPartyInvite coloque True e tambem tem a opção DisablePartyFlagZone coloque true tambem.

mais na flag zone tem a party farm será que eu fazendo isso nao vai poder dar pt no evento party farm tbm?

Link to comment
Share on other sites

  • 0
1 minuto atrás, elias garcez disse:

mais na flag zone tem a party farm será que eu fazendo isso nao vai poder dar pt no evento party farm tbm?

creio que não melhor criar uma variável só para a parte mesmo.

" Os homens tendem a acreditar sobretudo naquilo que menos compreendem. "

Link to comment
Share on other sites

  • 0
1 hora atrás, elias garcez disse:

pior que nao tem amigo, teria como adicionar sem dar problemas?image.png.931ccb630b59432c0851ab7abf567af2.png

 

Você pode criar multiplas los aleatorias facilmente defina no seu Gatekeeper para usar as locs da sua propria zona, caso não saiba fazer eu crio para você só me enviar seu anydesk faço isso em 2 minutos mais preciso que você poste aqui o resultado para todos.

Link to comment
Share on other sites

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.

Loading...
  • Join now

    Be part of the largest and oldest communities about Lineage2 in Latin America.





×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.