Jump to content

[Share]Voice Commands


Recommended Posts

Hrm, are you 100% sure that guy made it and just didn't repost it? Vago has done a LOT of work, so I'd believe he did it over that other guy.

 

because him have done lot of works, you give other work to him?

 

F.I.U

 

STIUPED BELIVES!

Link to comment
Share on other sites

Hrm, are you 100% sure that guy made it and just didn't repost it? Vago has done a LOT of work, so I'd believe he did it over that other guy.

 

because him have done lot of works, you give other work to him?

 

F.I.U

 

STIUPED BELIVES!

 

Lol, you're reasoning is 50/50, as well as mine. So don't get all butthurt and upset.

 

Vago is a respected member of the community and has worked on many projects. The other person I don't recall seeing before. So if someone were to ask me who I thought made a mod, I'd say Vago first before the other person since Vago has more credibility. It's just simple reasoning and logic.

Link to comment
Share on other sites

------------------------------------------------------------

Commands for entering/leaving CtF and TvT.

//tvt = .join, .leave, .tvtinfo

//ctf = .ctfjoin, .ctfleave, .ctfinfo

http://www.maxcheaters.com/forum/index.php?topic=44014.0

Credits to: ˚°▫•Cobra●▫°˚

------------------------------------------------------------

 

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

Link to comment
Share on other sites

  • 7 months later...

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



  • Posts

    • I also think this feature would bring more harm than good... another example is a dwarf rushing against your mobs so he takes priority, then he plays fake death and proceeds to grief the shit out of you. A minimum damage threshold is necessary, which would basically converge to what is the default feature (i.e. biggest damage dealer)
    • I bought the premium to watch the video and it's private. 😢
    • For some Majestic reason OP can't edit their topics anymore?    Let me update the potential offers, I got up to 2 spots to fill.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1     A credible team that SGuard represents is looking for java developers.    These positions is full time only i.e. your time is mostly dedicated within the team and team tasks, side gigs are fine, as long as you are able to combine your gig and main.  All necessary tools are provided.  The team is consistent with > 10 team members and the team is looking to expand to meet various goals. A decent Lineage 2 Essense OR Main (GOD) knowledge is needed.  Experience with l2r/l2p/l2s. mobius is fine too for referrence only. The team is friendly and goal oriented, very active and resourceful.   Requirements are standard, java knowledge is optional.  Multi language is a plus but not necessary (English/Russian), any is accepted.   Terms and conditions including compensation are reasonable and considered to be up for the industry standards. Details are negotiable with suitable candidates.   You will need to have a headset and a mic just for the initial processing, there're no team meetings or conferences after that. There's a small 30min interview process to demonstrate knowledge and just to meet each other.   The team has decided it is in their best interest to not publish their information at this time. Details will be available only for suitable candidates.   CONTACT TELEGRAM ONLY: https://t.me/asupport_g1
    • Thanks for the detailed info. I also have some ideas in mind but the execution may be hard. Thanks again!
    • There are as many approaches as stars in the sky, for all I know. You could create a class variable in MonsterInstance.java, which will hold the Object_ID of its first aggressor/dmg_dealer. From there, you will have to add a check in the RequestAttack and RequestMagicSkillUse packets and/or in some doDamage()/reduceHp() method, which will check if the damage dealer is the first aggressor, and if not - reduce the damage to 0. But you also have to be mindful about special cases, such as: - what happens when a Warlord runs around an area, provoking everything just to trigger the aggression and then just goes to town waiting for someone else to kill the said mobs so that the WL can collect free rewards? You might have to play with the DefaulAI, or the AI of monsters and hook a function that would reset the aggressor_id value under certain conditions, such as - the aggressor is not in X range or the aggressor is dead, or the aggressor is not online, or the NPC/Monster's AI is in INACTIVE state, which would indicate they are not in combat. - what happens when the aggressor is in party? should the said aggressor/dmg_dealer variable be a List/Set of players which are all eligible to deal dmg or receive rewards?  
  • Topics

×
×
  • Create New...