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

    • Greetings, MaxCheaters community! We are the development team behind projects like AdenLand, Classic GvE, TinyEssence, PvPEssence, and several others. Over the years of managing high-traffic servers, we’ve built our own ecosystem of tools for datapack and client editing, simply because standard software often failed to meet our production needs or was too slow. Today, we are opening access to these professional solutions for our colleagues in the dev scene. You can explore our suite of editors and utilities here: 👉 https://la2.tools/ Why choose our tools? Battle-Tested: This software is used daily to maintain and update our own live projects. Efficiency: Designed to automate routine tasks that usually take hours or even days. Stability: Built to handle complex client/server structures where generic tools often crash. We are ready to provide consultations on integrating these tools into your development workflow to make your process faster and more secure.  
    • There is such a topics based on java html services!
    • L2Elixir – Patch 9 Is Live! Since November 28, when L2Elixir officially opened, we’ve been here consistently and with dedication. We sincerely thank everyone who continues to support this major effort to bring back the true legacy of L2Elixir, even after 18+ years. It truly makes us happy to see many old players reunite, just like in the old days, and enjoy the game the way it was meant to be played: without RMT, without bug abusers, and without “paid” clans/CPs that disappear after a month. We continue with vision, stability, and respect for the community. Wishing everyone to Have fun! Changelogs: 🏆 Olympiad Olympiad every Monday & Friday (last day: Friday). Fixed an issue with wrong Class ID caused by the Class Change service. ⚔️ Territory Wars Territory Wars will now be held every Tuesday to increase PvP activity. 🛡️ Antibot General updates and additional security improvements implemented. 🔧 Items Augmentation & Attribute are now allowed on PvP weapons. Implemented Premium Coupon (15 Days) (currently not available). 🎉 Events An Auto Event will begin early morning (05:00) for NA players. 💻 Client Added EXP zones to the Map → Hunting Zones section. Renamed them to “XP Bonus” so they appear at the top of the list.   Website: https://l2elixir.org/ Discord: https://discord.gg/5ydPHvhbxs
    • I haven't work in Essence but I have transformed mobius projects into fully stable projects, reach out to me in Discord @cerus0130
  • 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..