Jump to content

[Share] Special Gatekeeper


Matim

Recommended Posts

  • 3 weeks later...
  • 2 months later...

crystalia can u help me to add it on l2jfrozen?

try with this code

 

package custom.SpecialGatekeeper;

import com.l2jfrozen.Config;
import com.l2jfrozen.gameserver.instancemanager.ZoneManager;
import com.l2jfrozen.gameserver.model.actor.L2Character;
import com.l2jfrozen.gameserver.model.actor.L2Npc;
import com.l2jfrozen.gameserver.model.actor.L2Player;
import com.l2jfrozen.gameserver.model.quest.Quest;
import com.l2jfrozen.gameserver.model.quest.QuestState;
import com.l2jfrozen.gameserver.model.zone.L2ZoneType;

/**
* @author Matim
* <br>Special Gatekeeper NPC.
* <br>Show current players count from zone.
* <br>This code may be easily edited.
* <br>By default it has few arenas teleports.
*/
public class SpecialGatekeeper extends Quest
{
protected static L2Player player;

private final static String qn = "SpecialGatekeeper";
private final static int NPC = Config.SPECIAL_GK_NPC_ID;

public SpecialGatekeeper(int questId, String name, String descr) 
{
	super(questId, name, descr);
	addFirstTalkId(NPC);
	addStartNpc(NPC);
	addTalkId(NPC);
}

@Override
public String onAdvEvent(String event, L2Npc npc, L2Player player)
{
	String htmltext = "";

	if(event.equalsIgnoreCase("1"))
		player.teleToLocation(73890, 142656, -3778);
	else if (event.equalsIgnoreCase("2"))
		player.teleToLocation(-86979, 142402, -3643);
	else if (event.equalsIgnoreCase("3"))
		player.teleToLocation(147451, 46728, -3410);
	else if (event.equalsIgnoreCase("4"))
		player.teleToLocation(12312, 182752, -3558);
	else	
		htmltext = "Error, check whole GK code!";
	return htmltext;
}

@Override
public String onFirstTalk(L2Npc npc, L2Player player)
{
	String htmltext = "";
	QuestState qs = player.getQuestState(qn);
	if (qs == null)
		qs = newQuestState(player);

	htmltext = "<html><title>Special Gatekeeper</title><head><body><center>" +
			   "<br><img src=l2ui.bbs_lineage2 height=16 width=80>" +
			   "<font color=AAAAAA>Special Gatekeeper</font><br>" +
                   "<img src=L2UI_CH3.herotower_deco width=256 height=32>" +
                   
                   "Players Inside: <font color=\"LEVEL\">" + getPlayerInsideCount(11600) + "</font>" +
                   "<button value=\"Aden\" action=\"bypass -h Quest SpecialGatekeeper 1\" back=\"L2UI_ch3.bigbutton_over\" fore=\"L2UI_ch3.bigbutton\" width=95 height=21><br>" +
                   
                   "Players Inside: <font color=\"LEVEL\">" + getPlayerInsideCount(10500) + "</font>" +
                   "<button value=\"Giran\" action=\"bypass -h Quest SpecialGatekeeper 2\" back=\"L2UI_ch3.bigbutton_over\" fore=\"L2UI_ch3.bigbutton\" width=95 height=21><br>" +
                   
                   "Players Inside: <font color=\"LEVEL\">" + getPlayerInsideCount(11012) + "</font>" +
                   "<button value=\"MOS\" action=\"bypass -h Quest SpecialGatekeeper 3\" back=\"L2UI_ch3.bigbutton_over\" fore=\"L2UI_ch3.bigbutton\" width=95 height=21><br>" +
                   
                   "Players Inside: <font color=\"LEVEL\">" + getPlayerInsideCount(11013) + "</font>" +
                   "<button value=\"VARKA\" action=\"bypass -h Quest SpecialGatekeeper 4\" back=\"L2UI_ch3.bigbutton_over\" fore=\"L2UI_ch3.bigbutton\" width=95 height=21><br>" +
			   
			   "Players Inside: <font color=\"PI\">" + getPlayerInsideCount(11013) + "</font>" +
                   "<button value=\"VARKA\" action=\"bypass -h Quest SpecialGatekeeper 4\" back=\"L2UI_ch3.bigbutton_over\" fore=\"L2UI_ch3.bigbutton\" width=95 height=21><br>" +

			   "<font color=\"cc9900\"><img src=\"L2UI_CH3.herotower_deco\" width=256 height=32></font><br1></center></body></head></html>";
			   
	return htmltext;
}

/**
 * @param zoneId
 * @return player count from given zone ID
 */
public static int getPlayerInsideCount(int zoneId)
{
	int i = 0;
	for (L2ZoneType zone : ZoneManager.getInstance().getAllZones())
		if (zone.getId() == zoneId)
		{
			for (L2Character character : zone.getCharactersInside().values())
				if (character instanceof L2Player)
					i++;
				return i;
		}
	return -1;
}

public static void main(String[] args)
{
	new SpecialGatekeeper(-1, qn, "SpecialGatekeeper");
}
}

one import need fix, I will tell you whole fixed code in few minutes.

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.

Guest
Reply to this topic...

×   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...