Noticias:

No tienes permiso para ver los enlaces. Para poder verlos Registrate o Conectate.

Menú Principal

Auto Vote - Teleport

Iniciado por Swarlog, Jul 25, 2025, 11:54 PM

Tema anterior - Siguiente tema

Swarlog

package com.l2jserver.gameserver.model.actor.instance;

import javolution.text.TextBuilder;

import com.l2jserver.gameserver.ThreadPoolManager;
import com.l2jserver.gameserver.model.L2World;
import com.l2jserver.gameserver.model.actor.templates.L2NpcTemplate;
import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage;

/**
 * @author Marwan
 * @version 1.0
 */
public class L2VoteInstance extends L2NpcInstance
{
	public static int giran = 0, aden = 0, gludio = 0;
	
	public L2VoteInstance (int objectId, L2NpcTemplate template)
	{
		super(objectId, template);
		ThreadPoolManager.getInstance().scheduleAiAtFixedRate(new vote(), 60000, 150000);
	}
	
	public class vote implements Runnable
	{
		L2PcInstance p;
		
		public void vote(L2PcInstance i)
		{
			p = i;
		}
		
		@Override
		public void run()
		{
			voteWindow();
			
		}
	}
	
	@Override
	public void onBypassFeedback(L2PcInstance activeChar, String command)
	{
		if (command.startsWith("giran"))
		{
			
			activeChar.teleToLocation(82854, 148506, -3472);
			
		}
		else if (command.startsWith("aden"))
		{
			
			activeChar.teleToLocation(147450, 27064, -2208);
			
		}
		else if (command.startsWith("gludio"))
		{
			
			activeChar.teleToLocation(-14225, 123540, -3121);
			
		}
		else if (command.startsWith("vgiran"))
		{
			
			giran += 1;
			
		}
		else if (command.startsWith("vaden"))
		{
			
			aden += 1;
		}
		else if (command.startsWith("vgludio"))
		{
			
			gludio += 1;
		}
	}
	
	@Override
	public void showChatWindow(L2PcInstance player, int val)
	{
		player.getClient().getConnection().getInetAddress().getHostAddress();
		Events e = new Events();
		TextBuilder tb = new TextBuilder();
		tb.append("<html><title>GK</title><body><br>");
		
		if ((giran > aden) && (giran > gludio))
		{
			tb.append("<center><button value=\"Giran\" action=\"bypass -h  npc_" + this.getObjectId() + "_giran\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		}
		else if ((aden > giran) && (aden > gludio))
		{
			tb.append("<center><button value=\"Aden\" action=\"bypass -h  npc_" + this.getObjectId() + "_aden\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		}
		else if ((gludio > giran) && (gludio > aden))
		{
			tb.append("<center><button value=\"Gludio\" action=\"bypass -h  npc_" + this.getObjectId() + "_gludio\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		}
		else if ((gludio == 0) && (giran == 0) && (aden == 0))
		{
			tb.append("<center>Voting...</center>");
		}
		
		tb.append("</body></html>");
		NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
		msg.setHtml(tb.toString());
		player.sendPacket(msg);
	}
	
	public void voteWindow()
	{
		TextBuilder tb = new TextBuilder();
		giran = 0;
		aden = 0;
		gludio = 0;
		tb.append("<html><title>Vote</title><body><br>");
		tb.append("Vote for which map you want :");
		tb.append("<center><button value=\"Giran\" action=\"bypass -h  npc_" + this.getObjectId() + "_vgiran\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		tb.append("<center><button value=\"Aden\" action=\"bypass -h  npc_" + this.getObjectId() + "_vaden\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		tb.append("<center><button value=\"Gludio\" action=\"bypass -h  npc_" + this.getObjectId() + "_vgludio\" width=160 height=32 back=\"L2UI_CT1.Button_DF_Down\" fore=\"L2UI_ct1.button_df\"></center>");
		
		tb.append("</body></html>");
		NpcHtmlMessage msg = new NpcHtmlMessage(this.getObjectId());
		msg.setHtml(tb.toString());
		for (L2PcInstance i : L2World.getInstance().getAllPlayersArray())
		{
			i.sendPacket(msg);
		}
	}
}

Cada 15 minutos aparecerá una ventana html en donde votar a donde ir mediante GK, está puesto en Giran, Aden y Gludio.