Jump to content
  • 0

TW simply do not know !!


Question

Posted

If you want to receive support we need this info to help you properly.

L2J Revision Number:

L2JDP Revision Number:

 

FULL CODE

 
Index: java.net.sf.l2j.gameserver.handler.admincommandhandlers.AdminTownWar
===================================================================
/*
* 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.admincommandhandlers;

import java.util.Collection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.Iterator;
import java.util.Map;
import java.util.concurrent.ScheduledFuture;
import java.util.logging.Level;
import java.util.logging.LogRecord;
import java.util.logging.Logger;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.Announcements;
import net.sf.l2j.gameserver.handler.IAdminCommandHandler;
import net.sf.l2j.gameserver.instancemanager.TownManager;
import net.sf.l2j.gameserver.model.L2Object;
import net.sf.l2j.gameserver.model.L2World;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.zone.type.L2TownZone;

public class AdminTownWar implements IAdminCommandHandler
{
private static final String[] ADMIN_COMMANDS =
{
	"admin_townwar_start",
	"admin_townwar_end"
};
    public L2Object _activeObject;
    public final L2Object getActiveObject()
   {
       return _activeObject;
   }
public boolean useAdminCommand(String command, L2PcInstance activeChar)
{
	if (command.startsWith("admin_townwar_start"))
	{
		startTW(activeChar);
	}
	if (command.startsWith("admin_townwar_end"))
	{
		endTW(activeChar);
	}
	return true;
}
@SuppressWarnings("deprecation")
private void startTW(L2PcInstance activeChar)
{
	if (Config.TW_ALL_TOWNS)
	{
		TownManager.getInstance().getTown(1).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(2).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(3).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(4).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(5).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(6).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(7).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(8).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(9).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(10).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(11).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(12).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(13).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(14).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(15).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(16).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(17).setParameter("isPeaceZone", "false");
		TownManager.getInstance().getTown(19).setParameter("isPeaceZone", "false");
	}
	if (!Config.TW_ALL_TOWNS && Config.TW_TOWN_ID != 18 && Config.TW_TOWN_ID != 21 && Config.TW_TOWN_ID != 22)
	TownManager.getInstance().getTown(Config.TW_TOWN_ID).setParameter("isPeaceZone", "false");
	Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	{
           int x,y,z;
           L2TownZone Town;
           byte zonaPaz = 1;

         	for (L2PcInstance onlinePlayer : pls)
              if (onlinePlayer.isOnline() == 1 )
                 {
                 	x = onlinePlayer.getX();
                 	y = onlinePlayer.getY();
                 	z = onlinePlayer.getZ();

                 	Town = TownManager.getInstance().getTown(x, y, z);
                 	if (Town != null)
                 	{
                 		if(Town.getTownId() == Config.TW_TOWN_ID && !Config.TW_ALL_TOWNS)
                 		{
                 			onlinePlayer.setInsideZone(zonaPaz, false);
                         		onlinePlayer.revalidateZone(true);
                 		}
                 		else if (Config.TW_ALL_TOWNS)
                 		{
                 			onlinePlayer.setInsideZone(zonaPaz, false);
                         		onlinePlayer.revalidateZone(true);
                 		}
                 	}
				onlinePlayer.setInTw();
                  }	
	}

	if (Config.TW_ALL_TOWNS)
	{
		Announcements.getInstance().announceToAll("All towns have been set war zone by " + activeChar.getName() + ".");
	}
	if (!Config.TW_ALL_TOWNS) 
	{
		Announcements.getInstance().announceToAll(TownManager.getInstance().getTown(Config.TW_TOWN_ID).getName() + " has been set war zone by " + activeChar.getName() + ".");
	}
}


@SuppressWarnings("deprecation")
private void endTW(L2PcInstance activeChar)
{
	if (Config.TW_ALL_TOWNS)
	{
		TownManager.getInstance().getTown(1).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(2).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(3).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(4).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(5).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(6).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(7).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(8).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(9).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(10).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(11).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(12).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(13).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(14).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(15).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(16).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(17).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(19).setParameter("isPeaceZone", "true");
		TownManager.getInstance().getTown(20).setParameter("isPeaceZone", "true");
	}
	if (!Config.TW_ALL_TOWNS && Config.TW_TOWN_ID != 18 && Config.TW_TOWN_ID != 21 && Config.TW_TOWN_ID != 22)
	TownManager.getInstance().getTown(Config.TW_TOWN_ID).setParameter("isPeaceZone", "true");
	Collection<L2PcInstance> pls = L2World.getInstance().getAllPlayers();
	{
            int xx,yy,zz;
            L2TownZone Town;
            byte zonaPaz = 1;

           for (L2PcInstance onlinePlayer : pls)
             if (onlinePlayer.isOnline() == 1 )
                 {
                 	xx = onlinePlayer.getX();
                 	yy = onlinePlayer.getY();
                 	zz = onlinePlayer.getZ();

                 	Town = TownManager.getInstance().getTown(xx,yy,zz);
                 	if (Town != null)
                 	{
                 		if(Town.getTownId() == Config.TW_TOWN_ID && !Config.TW_ALL_TOWNS)
                 		{
                 			onlinePlayer.setInsideZone(zonaPaz, true);
                         		onlinePlayer.revalidateZone(true);
                 		}
                 		else if (Config.TW_ALL_TOWNS)
                 		{
                 			onlinePlayer.setInsideZone(zonaPaz, true);
                         		onlinePlayer.revalidateZone(true);
                 		}
                 	}
				onlinePlayer.removeTw();
                 }
           }
	if (Config.TW_ALL_TOWNS)
	{
		Announcements.getInstance().announceToAll("All towns have been set back to normal by " + activeChar.getName() + ".");	
	}
	if (!Config.TW_ALL_TOWNS)
	{
		Announcements.getInstance().announceToAll(TownManager.getInstance().getTown(Config.TW_TOWN_ID).getName() + " has been set back to normal by " + activeChar.getName() + ".");
	}
}

public String[] getAdminCommandList()
{
	return ADMIN_COMMANDS;
}
}

Index: java.net.sf.l2j.gameserver.model.actor.instance.L2PcInstance.java
===================================================================

/** WAR **/
 public boolean	_inTownWar	= false; 

 public void setInTw() 
{ 
	_inTownWar = true; 
	_twEvent.addPlayer(getObjectId()); 
} 
public void removeTw() 
{ 
	_inTownWar = false; 
	_twEvent.removePlayer(getObjectId()); 
} 

Index: java.net.sf.l2j.gameserver.model.entity.events.TownWar.java
===================================================================
/*
* 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.model.entity.events;

import javolution.util.FastList;

import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

import net.sf.l2j.Config;
import net.sf.l2j.gameserver.instancemanager.TownManager;
import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
import net.sf.l2j.gameserver.model.zone.type.L2TownZone;

/**
* @author VaGo
* @Rewritten by KidZor
*/
public class TownWar
{
private Log _log = LogFactory.getLog(TownWar.class);
public static TownWar _instance;
public FastList<Integer> _players;

public static TownWar getInstance()
{
	return _instance;
}

public boolean DisableGk(L2PcInstance activeChar)
{
	 if(Config.TW_DISABLE_GK)
	 {
		 int x1,y1,z1;
		 x1 = activeChar.getX();
		 y1 = activeChar.getY();
		 z1 = activeChar.getZ();
		 L2TownZone Town;
		 Town = TownManager.getInstance().getTown(x1,y1,z1);
		 if (Town != null && activeChar.isinTownWar)
		 {
			 if (Town.getTownId() == Config.TW_TOWN_ID && !Config.TW_ALL_TOWNS)
			 {
				 if(Config.DEBUG)
					 _log.info("Town War: GK Blocked in Town Id: "+Config.TW_TOWN_ID+"!");

				 return false;
			 }
			 else if (Config.TW_ALL_TOWNS)
			 {
				 if(Config.DEBUG)
					 _log.info("Town War: GK Blocked in All Towns!");

				 return false;
			 }
		 }
	 }
	return true;
}
public boolean doDie(L2PcInstance activeChar)
{
	if (Config.TW_RESS_ON_DIE)
	{
		int x1,y1,z1;
		x1 = activeChar.getX();
		y1 = activeChar.getY();
		z1 = activeChar.getZ();
		L2TownZone Town;
		Town = TownManager.getInstance().getTown(x1,y1,z1);
		if (Town != null && activeChar.isinTownWar)
		{
			if (Town.getTownId() == Config.TW_TOWN_ID && !Config.TW_ALL_TOWNS)
			{
				activeChar.reviveRequest(activeChar, null, false);
			}
			else if (Config.TW_ALL_TOWNS)
			{
				activeChar.reviveRequest(activeChar, null, false);
			}
		}
		return true;
	}
	return false;
}
public void reward(L2PcInstance activeChar)
{
     	int x,y,z;
   	x = activeChar.getX();
     	y = activeChar.getY();
     	z = activeChar.getZ();
       L2TownZone Town;
     	Town = TownManager.getInstance().getTown(x,y,z);

     	if (Town != null && activeChar.isinTownWar)
     	{
     		if (Town.getTownId() == Config.TW_TOWN_ID && !Config.TW_ALL_TOWNS)
     		{
     			activeChar.addItem("TownWar", Config.TW_ITEM_ID, Config.TW_ITEM_AMOUNT, activeChar, true);
     			activeChar.sendMessage("You received your prize for a town war kill!");
     		}
     		else if (Config.TW_ALL_TOWNS)
     		{
     			activeChar.addItem("TownWar", Config.TW_ITEM_ID, Config.TW_ITEM_AMOUNT, activeChar, true);
     			activeChar.sendMessage("You received your prize for a town war kill!");
     		}
     	}
}
/**
 * @return _players
 */
public int getPlayersCount() {
	return _players.size();
}

/**
 * @param Adds the Players Object Id
 */
public void addPlayer(int playerId) {
	this._players.add(playerId);
}
/**
 * @param Adds the Players Object Id
 */
public void removePlayer(int playerId) {
	this._players.remove(playerId);
}
}

 

I don't have recived any error

 
Buildfile: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build.xml
clean:
  [delete] Deleting directory F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build
init:
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\classes
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver
version:
    [exec] Execute failed: java.io.IOException: Cannot run program "svnversion": CreateProcess error=2, The system cannot find the file specified
compile:
   [javac] Compiling 1248 source files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\classes
   [javac] Note: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\java\net\sf\l2j\gameserver\GeoEngine.java uses or overrides a deprecated API.
   [javac] Note: Recompile with -Xlint:deprecation for details.
jar:
     [jar] Building jar: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\l2jserver.jar
    [copy] Copying 1 file to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login
    [copy] Copying 1 file to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver
dist:
    [copy] Copying 3 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login
    [copy] Copying 2 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver
    [copy] Copying 4 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login
    [copy] Copying 8 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver
    [copy] Copying 2 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist
    [copy] Copying 6 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist
    [copy] Copying 7 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login
    [copy] Copying 3 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\log
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login\log
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\hibernate-mapping
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login\config
    [copy] Copying 19 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\config
    [copy] Copying 2 files to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\login\config
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data
    [copy] Copying 1 file to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data\geodata
    [copy] Copying 1 file to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data\geodata
   [mkdir] Created dir: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data\pathnode
    [copy] Copying 1 file to F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\dist\gameserver\data\pathnode
     [zip] Building zip: F:\Lineage2\Lineage2\L2Java\L2_GameServer_It\build\l2j-server.zip
BUILD SUCCESSFUL
Total time: 25 seconds

 

When I want to start the event I recived this error.

untitled-7.png

 

 

I don;t know what happens... simply do not know

2 answers to this question

Recommended Posts

  • 0
Posted

Dude honestly, read the error.

Besides that is the ugliest and dumbest code I've ever seen ^^

+1 to that..

 

but u can look int that patch and create 2 loops that sets the zone status and makes the player in war zone + sending the compas info packet... quite easy... check l2pcinstance -> revalidatezone(boolean) method ^^

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
Answer this question...

×   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 would like to know about the Acis base of the data pack I use. The server source and server file could not find that information. I respectfully ask for the help of masters.🥲
    • discord - adver745645   https://t.me/adenala2   THERE ARE A LOT OF ADEN AT A VERY GOOD PRICE!!! HURRY  
    • Artificial Intelligence for all Chronicles. Developed in L2 HighFive branch since 2023 but it can be adapted to any project including Fand-C, aCis, Frozen, Scripts even compiled projects such as Lucera with some aditional cost.   Features:  1. Grouped of templates to create your own BOT (including skill, items, appearance, sex e.t.c.) 2. Bot can participate in Olympiad (+ any event with extra cost base on your event engine) 3. Bot walk nearby NPC to receive buff, receive equipment and teleport to any other area 4. Bot will accept party & clan invitation and follow party leader to wherever he go including teleport 6. Bot will trade player back dropped items from PK or fallen Raid Bosses after they visit a peace zone 7. Bot will open store and sell configurable item in configurable prices to players. 8. Bot will attack and cast spells in a realistic way. All classes are used including buffers, summoners, bishops e.t.c. 9. Buffer and bishops will cast buff to party members when player has no available or overriden buffs. 10. Bot will enchant their equipent and re-purchase upon failure. Their weapon will also switched between hero weapon and retail weapon when they need to. 11. Bot can move in complex map system and find monsters or players but they can also follow routes for specific paths using configurable XML if you want to.   Preview of some features: Olympiad Trade Store PvP   Example of a single configurable template in XML: https://pastebin.com/RXZVGCfA   Price: 270 Euro (Compiled) - 450 Euro (Source)    Contact Me Discord: https://discord.gg/gKAsAhJNuq MaxCheaters: https://maxcheaters.com/profile/243647-out-of-time/ Gmail: l2outoftime@gmail.com RCS Message: +30 698 740 8501  
    • Good day! Due to the increasing number of questions, "Do you provide services for the client?" - I decided to answer with a separate topic. I provide services for editing/modifying the client and individual files, namely: 1. Transfer/Creation/Editing locations, geodata.   2. All kinds of work with NPCs, including transfer, animation, adding effects to them and logos.   3. Actually, Transfer/Creation/Edit any EFFECTS, including Abnormal Effects.   4. Any work with weapons, armor, accessories and everything related to it.   5. Create or edit textures, including dynamic textures.   6. Creating a Lobby Screen, Lobby Char Selection (character selection window) and Lobby Char Creation (character creation window). What I don't do: 1. Coding in any form (except for CB).   I started publishing my work recently, here - YouTube And here - RuTube If required, I respect confidentiality. Any other questions? Welcome to Telegram or PM.
  • Topics

×
×
  • Create New...