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

    • Migrating a legacy Interlude server to PostgreSQL while adding real observability is basically forcing 2006 MMO engineering to attend a 2026 infrastructure conference at gunpoint. PS: which revision of aCis? PS: 🧻what was broken during this whatever you call it.    AAC Guard beign asked to adapt to this be like: - Creating bugs since early 2018
    • OH MY LORDDDDDDDDDDDDDDDDDDDDD   FINALLY
    • TG Support: https://t.me/buyingproxysup | Channel: https://t.me/buyingproxycom Discord support: #buyingproxy | Server: Join the BuyingProxy Discord Server!  Create your free account here
    • I came out of my cave as I do once every 5 years. By now, I know nobody really cares about L2, but I still find it fun to experiment. Everything you see here will be free and open source. I have no interest in selling anything.   Long story short, I like to revisit Interlude and apply what I've learned to see how far I can push it. Here's Outerlude, a public fork of aCis for the modern age.   Video demo:   Work that has been done:   Redone the netcode from scratch to be async The NPC AI was completely redone based on Finite State Machines Moved to PostgreSQL and using some of its cool features Lots of config that should be hot reloadable has moved to the database OpenTelemetry instrumentation, where it makes sense, and a Grafana dashboard A built-in REST API for server management A built-in MCP Server for LLMs Nidrah AI, an AI Agent to make managing the server easier Real-time server map view Chat auditing and live snooping A new Fake Players Engine with a Node logic system and a new LLM planner for any behavior Just watch the video   If there is interest in this and I'm happy with it, or I get bored (which I always do), I will open-source it. Let me know what you think and if there is some feature you'd like me to implement.
  • 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..