Jump to content
  • 0

teleport clan help l2jfrozen


Question

Posted (edited)

Hello, I need help with this. I wanted to make a teleport so that a clan leader can take the whole clan, but they have to be close to the clan leader so that he can teleport. I was able to do it, but if 1 pj is not close, it won't let me travel to no one what he wanted to do if 1 pj of the clan is not close that pj does not travel but the others do thanks anyway

 

	private void doClanTeleport(L2PcInstance player, int val) 
	{

        L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
        
		if(!player.isClanLeader() && player.getClan() != null) 
		{
			player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
			return;
		}
	    if(player.getClan() == null) 
	    {
	    	player.sendMessage("No Estas en un clan");
			return;
	    }
		

		for (L2PcInstance member : player.getClan().getOnlineMembers(""))
		{
			if (!member.isInsideRadius(player, 1000, false, false))
			{
				player.sendMessage("El Jugador " + member.getName() + " Esta muy Lejos y no sera teleportado.");
				return;
			}
			
		}
		

		for (L2PcInstance member : player.getClan().getOnlineMembers(""))
			{


				if ((member == null) || (member == player))
				{
					continue;
				}
				if (member.isInDuel() && ((member.getDuelId() != member.getDuelId())))
				{
					continue;
				}	

				
				
				if (player.getClanId() == member.getClanId() && member.getLevel() >= 76 && member.getClan() != null && player.getClan() != null && member.getClanId() == player.getClanId())
				{
					
					member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());	
					member.sendMessage("Entrando A una Zona De Clan");	
					player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
					
				}
				else
				{
					
					player.sendMessage("No Cumples Los Requisitos.");
					return;
				}
				
			}
		}

 

Edited by Vision

4 answers to this question

Recommended Posts

  • 0
Posted
2 hours ago, tensador3 said:
				player.sendMessage("El Jugador " + member.getName() + " Esta muy Lejos y no sera teleportado.");
				return;

Change the return to continue

  • 0
Posted (edited)
private void doClanTeleport(L2PcInstance player, int val) 
	{

        L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
        
		if(!player.isClanLeader() && player.getClan() != null) 
		{
			player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
			return;
		}
	    if(player.getClan() == null) 
	    {
	    	player.sendMessage("No Estas en un clan");
			return;
	    }
		
  
		for (L2PcInstance member : player.getClan().getOnlineMembers(""))
			{


				if ((member == null) || (member == player))
				{
					continue;
				}
          
				if (member.isInDuel() && ((member.getDuelId() != member.getDuelId())))
				{
					continue;
				}	

				if (!member.isInsideRadius(player, 1000, false, false))
				{
					player.sendMessage("El Jugador " + member.getName() + " Esta muy Lejos y no sera teleportado.");
					continue;
				}
				
				if (player.getClanId() == member.getClanId() && member.getLevel() >= 76 && member.getClan() != null && player.getClan() != null && member.getClanId() == player.getClanId())
				{
					
					member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());	
					member.sendMessage("Entrando A una Zona De Clan");	
					player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
					
				}
				else
				{
					
					player.sendMessage("No Cumples Los Requisitos.");
					return;
				}
				
			}
		}

 

Should be like this I think. 🙂

EDIT:
Also, player (clan leader) teleportation is in wrong place, because he will be teleported as many times as there is online members.

Edited by xJustMe
  • 0
Posted
2 hours ago, xJustMe said:
private void doClanTeleport(L2PcInstance player, int val) 
	{

        L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
        
		if(!player.isClanLeader() && player.getClan() != null) 
		{
			player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
			return;
		}
	    if(player.getClan() == null) 
	    {
	    	player.sendMessage("No Estas en un clan");
			return;
	    }
		
  
		for (L2PcInstance member : player.getClan().getOnlineMembers(""))
			{


				if ((member == null) || (member == player))
				{
					continue;
				}
          
				if (member.isInDuel() && ((member.getDuelId() != member.getDuelId())))
				{
					continue;
				}	

				if (!member.isInsideRadius(player, 1000, false, false))
				{
					player.sendMessage("El Jugador " + member.getName() + " Esta muy Lejos y no sera teleportado.");
					continue;
				}
				
				if (player.getClanId() == member.getClanId() && member.getLevel() >= 76 && member.getClan() != null && player.getClan() != null && member.getClanId() == player.getClanId())
				{
					
					member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());	
					member.sendMessage("Entrando A una Zona De Clan");	
					player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
					
				}
				else
				{
					
					player.sendMessage("No Cumples Los Requisitos.");
					return;
				}
				
			}
		}

 

Should be like this I think. 🙂

EDIT:
Also, player (clan leader) teleportation is in wrong place, because he will be teleported as many times as there is online members.

 

Try this

 

private void doClanTeleport(L2PcInstance player, int val) 
{
    L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
    
    if (player.getClan() == null) 
    {
        player.sendMessage("No Estas en un clan");
        return;
    }
  
    if (player.isClanLeader())
    {
        // Teleport all online members of the clan
        for (L2PcInstance member : player.getClan().getOnlineMembers(""))
        {
            // Skip the player and any members that are in a different duel
            if ((member == null) || (member == player) || (member.isInDuel() && (member.getDuelId() != member.getDuelId())))
            {
                continue;
            }
          
            // Check if the member meets the level requirement
            if (member.getLevel() >= 76)
            {
                member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());
                member.sendMessage("Entrando A una Zona De Clan");
            }
            else
            {
                player.sendMessage("El Jugador " + member.getName() + " no cumple los requisitos.");
            }
        }

        // Teleport the clan leader
        player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
    }
    else
    {
        player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
    }
}

 

  • 0
Posted
9 hours ago, Celestine said:

 

Try this

 

private void doClanTeleport(L2PcInstance player, int val) 
{
    L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
    
    if (player.getClan() == null) 
    {
        player.sendMessage("No Estas en un clan");
        return;
    }
  
    if (player.isClanLeader())
    {
        // Teleport all online members of the clan
        for (L2PcInstance member : player.getClan().getOnlineMembers(""))
        {
            // Skip the player and any members that are in a different duel
            if ((member == null) || (member == player) || (member.isInDuel() && (member.getDuelId() != member.getDuelId())))
            {
                continue;
            }
          
            // Check if the member meets the level requirement
            if (member.getLevel() >= 76)
            {
                member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());
                member.sendMessage("Entrando A una Zona De Clan");
            }
            else
            {
                player.sendMessage("El Jugador " + member.getName() + " no cumple los requisitos.");
            }
        }

        // Teleport the clan leader
        player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
    }
    else
    {
        player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
    }
}

 

it works thank you all for answering only add him if a player is far from the leader do not teleport to that player

 

	private void doClanTeleport(L2PcInstance player, int val) 
	{
	    L2TeleportLocation list = TeleportLocationTable.getInstance().getTemplate(val);
	    
	    if (player.getClan() == null) 
	    {
	        player.sendMessage("No Estas en un clan");
	        return;
	    }
	  
	    if (player.isClanLeader())
	    {
	        // Teleport all online members of the clan
	        for (L2PcInstance member : player.getClan().getOnlineMembers(""))
	        {
	            // Skip the player and any members that are in a different duel
	            if ((member == null) || (member == player) || (member.isInDuel() && (member.getDuelId() != member.getDuelId())))
	            {
	                continue;
	            }
	          
	            // Check if the member meets the level requirement
	            if (member.getLevel() >= 76  && member.isInsideRadius(player, 1000, false, false))
	            {
	                member.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ());
	                member.sendMessage("Entrando A una Zona De Clan");
	            }
	            else
	            {
	            	player.sendMessage("El Jugador " + member.getName() + " Esta muy Lejos y no sera teleportado.");
	            }
	        }

	        // Teleport the clan leader
	        player.teleToLocation(list.getLocX(), list.getLocY(), list.getLocZ()); 
	    }
	    else
	    {
	        player.sendMessage("Solo El lider de Clan Puede Usar El Teleport");
	    }
	}

 

 

 

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.

×
×
  • Create New...