Jump to content

Recommended Posts

Posted

JoinOly.java

 

 

Hello , with theese commands , .Joinoly and .leaveoly you are gonna register and unregister your practicipation from olympiad games..

 

 

* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2, or (at your option)
* any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
* 02111-1307, USA.
*
* http://www.gnu.org/copyleft/gpl.html
*/
package net.sf.l2j.gameserver.handler.voicedcommandhandlers;

import net.sf.l2j.gameserver.Olympiad;
import net.sf.l2j.gameserver.handler.IVoicedCommandHandler;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;


/**
*
* @Author Revenger
*
*/

public class JoinOly implements IVoicedCommandHandler
{

  private static final String[] VOICED_COMMANDS = { "joinoly" , "leaveoly" };


public boolean useVoicedCommand(String command, L2PcInstance activeChar,String target)
{
    if (command.equalsIgnoreCase("joinoly"))
    {
     if (!activeChar.isInOlympiadMode() )
     {
    	 Olympiad.getInstance().registerNoble(activeChar, true);
    	 return true;
     }
    	 else if (activeChar.isParalyzed() || !activeChar.isNoble() || activeChar.isDead() 
        		 || activeChar.isFestivalParticipant() || activeChar.atEvent || activeChar.isSubClassActive() 
        		 || activeChar.isInDuel() || activeChar.isAlikeDead() || activeChar.isAfraid() || activeChar.isBetrayed() 
        		 || activeChar.getPvpFlag() > 0 || activeChar.getKarma() > 0 || activeChar.isInCombat() || activeChar.inObserverMode())     
        		 {
        	 activeChar.sendMessage("Your Status Doesnt Allow You To Join Olympiad!");
        	 return false;
         }
     }
    
    if (command.equalsIgnoreCase("leaveoly"))
     {
    	 if (activeChar.isInOlympiadMode())
    	 {
    		 Olympiad.getInstance().unRegisterNoble(activeChar);
    		 return true;
    	 }
    	 else if (activeChar.isParalyzed() || !activeChar.isNoble() || activeChar.isDead() 
        		 || activeChar.isFestivalParticipant() || activeChar.atEvent || activeChar.isSubClassActive() 
        		 || activeChar.isInDuel() || activeChar.isAlikeDead() || activeChar.isAfraid() || activeChar.isBetrayed() 
        		 || activeChar.getPvpFlag() > 0 || activeChar.getKarma() > 0 || activeChar.isInCombat() || activeChar.inObserverMode() || !activeChar.isInOlympiadMode())     
        		 {
        	 activeChar.sendMessage("Your Status Doesnt Allow You To Join Olympiad!");
        	 return false;
         }
     }
    
    
    return true;
}

public String[] getVoicedCommandList()
{
    return VOICED_COMMANDS;
}

    }

 

 

 

Don't forget to register the command on the game server ..

 

 

 

Credits , Revenger

Posted

Sorry, if I'm bad but isnt here a mistake?

 

     if (!activeChar.isInOlympiadMode() )
    {
   	 Olympiad.getInstance().registerNoble(activeChar, true);
   	 return true;
    }
   	 else if (activeChar.isParalyzed() || !activeChar.isNoble() || activeChar.isDead() 
       		 || activeChar.isFestivalParticipant() || activeChar.atEvent || activeChar.isSubClassActive() 
       		 || activeChar.isInDuel() || activeChar.isAlikeDead() || activeChar.isAfraid() || activeChar.isBetrayed() 
       		 || activeChar.getPvpFlag() > 0 || activeChar.getKarma() > 0 || activeChar.isInCombat() || activeChar.inObserverMode())     
       		 {
       	 activeChar.sendMessage("Your Status Doesnt Allow You To Join Olympiad!");
       	 return false;
        }

 

I think it should be like this:

 

    	 if (activeChar.isParalyzed() || !activeChar.isNoble() || activeChar.isDead() 
        		 || activeChar.isFestivalParticipant() || activeChar.atEvent || activeChar.isSubClassActive() 
        		 || activeChar.isInDuel() || activeChar.isAlikeDead() || activeChar.isAfraid() || activeChar.isBetrayed() 
        		 || activeChar.getPvpFlag() > 0 || activeChar.getKarma() > 0 || activeChar.isInCombat() || activeChar.inObserverMode())     
        		 {
        	 activeChar.sendMessage("Your Status Doesnt Allow You To Join Olympiad!");
        	 return false;
         }
    	 else if (!activeChar.isInOlympiadMode() )
	     {
	    	 Olympiad.getInstance().registerNoble(activeChar, true);
	    	 return true;
	     }

 

.. Sorry, if I'm bad.

 

And of course, great idea :-)

 

 

 

 

Posted

No its not :D because if you se true a char who is o paralyse or is not noble etc etc etc will be available to join olympiad

But yes. With your code, the paralyse, duel, nobless etc. check will not work.

 

If java see if (!activeChar.isInOlympiadMode()), and char will not be in oly, then code will register him/her to oly (dont matter on duel, non-nobless, or paralyse, because else if (activeChar.isParalyzed()...) will be skipped.)

 

Excuse me, if I'm bad.

Posted

This code can be deleted :

    if (command.equalsIgnoreCase("leaveoly"))

    {

    if (activeChar.isInOlympiadMode())

    {

    Olympiad.getInstance().unRegisterNoble(activeChar);

    return true;

    }

    else if (activeChar.isParalyzed() || !activeChar.isNoble() || activeChar.isDead()

        || activeChar.isFestivalParticipant() || activeChar.atEvent || activeChar.isSubClassActive()

        || activeChar.isInDuel() || activeChar.isAlikeDead() || activeChar.isAfraid() || activeChar.isBetrayed()

        || activeChar.getPvpFlag() > 0 || activeChar.getKarma() > 0 || activeChar.isInCombat() || activeChar.inObserverMode() || !activeChar.isInOlympiadMode())   

        {

        activeChar.sendMessage("Your Status Doesnt Allow You To Join Olympiad!");

        return false;

        }

In my opinion it will be better without this part...

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.


×
×
  • Create New...