just a bit rework:
package com.l2jfree.gameserver.handler.voicedcommandhandlers;
import com.l2jfree.gameserver.handler.IVoicedCommandHandler;
import com.l2jfree.gameserver.model.actor.instance.L2PcInstance;
import com.l2jfree.gameserver.model.entity.events.CTF;
import com.l2jfree.gameserver.model.entity.events.DM;
import com.l2jfree.gameserver.model.entity.events.TvT;
import com.l2jfree.gameserver.network.serverpackets.NpcHtmlMessage;
public class Eventjoin implements IVoicedCommandHandler
{
private static final String[] VOICED_COMMANDS =
{ "join", "leave" };
public boolean useVoicedCommand(String command, L2PcInstance activeChar, String target)
{
if (!TvT._joining && !DM._joining && !CTF._joining)
{
NOevent(activeChar);
}
if (command.startsWith("join"))
{
if (TvT._joining)
{
JoinTVT(activeChar);
}
if (DM._joining)
{
JoinDM(activeChar);
}
if (CTF._joining)
{
JoinCTF(activeChar);
}
}
else if(command.startsWith("leave"))
{
if (TvT._joining)
{
LeaveTVT(activeChar);
}
if (DM._joining)
{
LeaveDM(activeChar);
}
if (CTF._joining)
{
LeaveCTF(activeChar);
}
}
return true;
}
public String[] getVoicedCommandList()
{
return VOICED_COMMANDS;
}
public boolean JoinTVT (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage( 0 );
int playerLevel = activeChar.getLevel();
if (activeChar._inEventTvT)
{
npcHtmlMessage.setHtml("<html><body>You are participating this event already.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInOlympiadMode())
{
npcHtmlMessage.setHtml("<html><body>You are in olympiad.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInJail())
{
npcHtmlMessage.setHtml("<html><body>You are in JAIL.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if ( activeChar.isCursedWeaponEquipped())
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with a Cursed Weapon.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel < TvT._minlvl)
{
npcHtmlMessage.setHtml("<html><body>You must be at least level "+ TvT._minlvl +" to participate to this Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel > TvT._maxlvl)
{
npcHtmlMessage.setHtml("<html><body>Your lvl is bigger than "+ TvT._maxlvl +", sorry you cannot join.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (activeChar.getKarma() > 0)
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with Karma.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else
{
TvT.addPlayer(activeChar,"");
npcHtmlMessage.setHtml("<html><body>You are joined to Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return true;
}
}
public boolean JoinDM (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage( 0 );
int playerLevel = activeChar.getLevel();
if (activeChar._inEventDM)
{
npcHtmlMessage.setHtml("<html><body>You are participating this event already.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInJail())
{
npcHtmlMessage.setHtml("<html><body>You are in JAIL.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInOlympiadMode())
{
npcHtmlMessage.setHtml("<html><body>You are in olympiad.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if ( activeChar.isCursedWeaponEquipped())
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with a Cursed Weapon.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel < DM._minlvl)
{
npcHtmlMessage.setHtml("<html><body>You must be at least level "+ DM._minlvl +" to participate to this Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel > DM._maxlvl)
{
npcHtmlMessage.setHtml("<html><body>Your lvl is bigger than "+ DM._maxlvl +", sorry you cannot join.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (activeChar.getKarma() > 0)
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with Karma.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else
{
DM.addPlayer(activeChar);
npcHtmlMessage.setHtml("<html><body>You are joined to Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return true;
}
}
public boolean JoinCTF (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage( 0 );
int playerLevel = activeChar.getLevel();
if (activeChar._inEventCTF)
{
npcHtmlMessage.setHtml("<html><body>You are participating this event already.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInJail())
{
npcHtmlMessage.setHtml("<html><body>You are in JAIL.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if (activeChar.isInOlympiadMode())
{
npcHtmlMessage.setHtml("<html><body>You are in olympiad.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
if ( activeChar.isCursedWeaponEquipped())
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with a Cursed Weapon.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel < CTF._minlvl)
{
npcHtmlMessage.setHtml("<html><body>You must be at least level "+ CTF._minlvl +" to participate to this Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (playerLevel > CTF._maxlvl)
{
npcHtmlMessage.setHtml("<html><body>Your lvl is bigger than "+ CTF._maxlvl +", sorry you cannot join.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else if (activeChar.getKarma() > 0)
{
npcHtmlMessage.setHtml("<html><body>You are not allowed to participate to the Event with Karma.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return false;
}
else
{
CTF.addPlayer(activeChar, "");
npcHtmlMessage.setHtml("<html><body>You are joined to Event.</body></html>");
activeChar.sendPacket( npcHtmlMessage );
return true;
}
}
public boolean LeaveTVT (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
TvT.removePlayer(activeChar);
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(0);
npcHtmlMessage.setHtml( "<html><body>Your participation in the Team VS Team has been removed.</body></html>" );
activeChar.sendPacket( npcHtmlMessage );
return true;
}
public boolean LeaveDM (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
DM.removePlayer(activeChar);
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(0);
npcHtmlMessage.setHtml( "<html><body>Your participation in the Death Match has been removed.</body></html>" );
activeChar.sendPacket( npcHtmlMessage );
return true;
}
public boolean LeaveCTF (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
CTF.removePlayer(activeChar);
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(0);
npcHtmlMessage.setHtml( "<html><body>Your participation in the Capture The Flag has been removed.</body></html>" );
activeChar.sendPacket( npcHtmlMessage );
return true;
}
public boolean NOevent (L2PcInstance activeChar)
{
if ( activeChar == null)
{
return false;
}
NpcHtmlMessage npcHtmlMessage = new NpcHtmlMessage(0);
npcHtmlMessage.setHtml( "<html><body>We don't have any event now. Sorry</body></html>" );
activeChar.sendPacket( npcHtmlMessage );
return true;
}
}
- you can use .join/.leave command for TVT,CTF and DM.
- you can't join from jail
- you can't join when you are at olympiad
and i think much more :)
for L2jFree
enjoy