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

Omg ReVenGeR® u have the best share!!! Nice code.. good job .. THX!

Thank you , and thanks everyone for the good job
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

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • Well u need to change when sm1 press exit it keeps it in game..  
    • That’s just part of buying and selling; if your service didn't appeal to me at the time, there's no reason for me to force myself to buy it. After all, I regularly buy other interfaces and clients from other users mostly Russians using USDT. But *I'm* the child here, even though *you're* the incredibly arrogant one.   The payment method or the amounts were never the problem you were. But life goes on; you’d rather stay caught up in your delusions, thinking you’re the protagonist of some anime. Princess Alice 😂   I have all the interfaces for the 474/506/509/520/542/563/557. and olds too.  Some were created by me, including the ARENA P140 interface, which will soon be released for free. This includes everything you make available. It will no longer be a monopoly held by just a few people.   Including your clients with system. like  
    • NEW: Ryzen 9 9950X VPS now Available! Our most Powerful VPS plans now available with dedicated Zen 5 cores clocked up to 5.7 GHz, DDR5 ECC, blazing NVMe Gen4 storage (~7 GB/s), 10 Gbit/s uplink with up to 50 TB traffic, and premium Anti-DDoS included on every plan. No KYC, crypto payments accepted, deployed in minutes. ⭐ RYZEN 9 9950X VPS: [ 9.99 ] 2vCore | 6GB DDR5 | 30GB NVMe - DEPLOY [ 19.99 ] 4vCore | 12GB DDR5 | 50GB NVMe - DEPLOY [ 39.99 ] 8vCore | 24GB DDR5 | 80GB NVMe - DEPLOY [ 69.99 ] 12vCore | 48GB DDR5 | 120GB NVMe - DEPLOY - 10 Gbit/s Port included in ALL Plans - Premium Anti-DDoS included in ALL Plans - No-KYC signup, crypto payments accepted ✅ Ryzen 9 9950X VPS ( vpslab.cloud )
    • I thiunk RU Federation having issues now with paypal?
    • 👑 [FOR SALE] Lineage 2 Premium UCP – Modern Web Panel with Progression & Reward Systems. Looking for the ultimate edge to make your server boom and boost revenue? Introducing the L2 Premium UCP—the most comprehensive and modern User Control Panel on the market. Developed with a total focus on player experience (UX) and administrative automation. Say goodbye to outdated, buggy panels. Give your server the look and feel of an official game!  
  • Topics

×
×
  • Create New...

Important Information

This community uses essential cookies to function properly. Non-essential cookies and third-party services are used only with your consent. Read our Privacy Policy and We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue..