Você não é registrado, por favor registre-se para ter acesso ao conteúdo completo.
Caso seja registrado, efetue login.
Esqueceu sua senha? Clique aqui
Recomendamos o uso do Mozilla Firefox para uma melhor visualização.    


Início Postados Hoje Marcar Fóruns Como Lidos Álbums Banidos SE Team Medalhas
Voltar   Secret Experience > Área L2J > [L2J] Downloads > [Lineage] Java Mods
Registrar Loteria VIPStaff SERegras do fórum Comunidade Arcade Postados Hoje Pesquisar Experience
   

Secret Experience.NET   Secret Experience Corporation - Welcome To The Real World
     Anúncios SE

Resposta
 
Ferramentas do Tópico Modos de Exibição
Antigo 28-10-2009, 09:22 PM   #1
L2 DF
Membro - General
 
Avatar de L2 DF
 
Registrado em: Mar 2009
Localização: Buteco.
Posts: 226
Agradeceu: 134
Agradecido 234 Vezes em 96 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para L2 DF
Nome Real: Danilo F.

Inventório de L2 DF

Padrão Faction system

Aqui está o sistema faction.
Para quem não sabe, o faction é duas equipes, ou em outras palavras, o "bem" e o "mau".
Você pode escolher de que equipe quer ser através de um NPC e assim partir para as lutas.

Core side:

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: C:/workspace/L2_GameServer/java/config/l2jmods.properties
===================================================================
--- C:/workspace/L2_GameServer/java/config/l2jmods.properties	(revision 3338)
+++ C:/workspace/L2_GameServer/java/config/l2jmods.properties	(working copy)
@@ -240,4 +240,87 @@
 # This option will enable core support for:
 # Mana Drug (item ID 726), using skill ID 9007.
 # Mana Potion (item ID 728), using skill ID 9008.
-EnableManaPotionSupport = False
\ No newline at end of file
+EnableManaPotionSupport = False
+
+# ---------------------------------------------------------------------------
+# Faction System By Stefoulis15
+# ---------------------------------------------------------------------------
+# Faction System is Something Really Unique. You Must Have Full Knowledge of What You Are Doing When Activating It.
+# Faction System Cannot Work With TvT Events , CTF , DM , KOTH And Others.
+
+# Enable Stefoulis15 Faction System?
+FactionSystemEnable = False
+
+# Annnounce Faction Players
+# Values Are In Minutes
+AnnouncePlayersDelay =
+
+# Set The Faction Name of The First Faction.
+FirstFactionName = Villagers
+
+# Set The Faction Name of The Second Faction.
+SecondFactionName = Pirates
+
+# Allow Alternative Spawn Place For New Created Characters
+AllowAltSpawnForNewChars = False
+
+# Set The Spawn Location of New Created Characters
+NewCharSpawnX =
+NewCharSpawnY =
+NewCharSpawnZ =
+
+# Set The Base of The First Faction
+FirstFactionBaseSpawnX =
+FirstFactionBaseSpawnY =
+FirstFactionBaseSpawnZ =
+
+# Set The Base of The Second Faction
+SecondFactionBaseSpawnX =
+SecondFactionBaseSpawnY =
+SecondFactionBaseSpawnZ =
+
+# Set All The New Characters At the Selected Level On Their Creation?
+NewCharLevel75 = False
+NewCharLevel80 = False
+NewCharLevel85 = False
+
+# Allow Trade Between Two Factions?
+AllowTradeBetweenFactions = False
+
+# Allow Buy Between Two Factions?
+AllowBuyBetweenFactions = False
+
+# Set All The New Characters Noblesse , On Their Creation?
+NewCharSetNoblesse = False
+
+# Set All The New Characters Heroes , On Their Creation?
+NewCharSetHero = False
+
+# Set The Name Color of The First Faction
+# Values Must Be In RGB
+FirstFactionNameColor =
+
+# Set The Name Color of The Second Creation
+# Values Must Be In RGB
+SecondFactionNameColor =
+
+# Set The Title Color of The First Faction
+# Values Must Be In RGB
+FirstFactionTitleColor =
+
+# Set The Title Color of The Second Faction
+# Values Must Be In RGB
+SecondFactionTitleColor =
+
+# Set The Alternative Warehouse Deposit Fee
+AltWarehouseDepositFee = 0
+
+# Allow Reward for Each PvP?
+AllowPvPReward = False
+
+# Set The Item You Want as a Reward
+PvPRewardID = 57
+
+# Set The Amount of The Reward
+PvPRewardAmount = 1
+
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestFriendInvite.java	(working copy)
@@ -20,6 +20,7 @@
 import java.util.logging.Level;
 import java.util.logging.Logger;
 
+import net.sf.l2j.Config;
 import net.sf.l2j.L2DatabaseFactory;
 import net.sf.l2j.gameserver.model.L2World;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
@@ -65,6 +66,22 @@
     	    sm = null;
     	    return;
     	}
+	if (friend.issfaction() && activeChar.isffaction() && Config.FACTION_SYSTEM_ENABLE)
+	{
+	    // Target is wrong.
+	    sm = new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT);
+	    activeChar.sendPacket(sm);
+	    sm = null;
+	    return;
+	}
+	else if (friend.isffaction() && activeChar.issfaction() && Config.FACTION_SYSTEM_ENABLE)
+	{
+	    // Target is wrong.
+	    sm = new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT);
+	    activeChar.sendPacket(sm);
+	    sm = null;
+	    return;
+	} 
         else if (friend == activeChar)
         {
     	    //You cannot add yourself to your own friend list.
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestSendFriendMsg.java	(working copy)
@@ -63,7 +63,16 @@
         	activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME));
         	return;
         }
-
+    	if (targetPlayer.issfaction() && activeChar.isffaction())
+    	{
+    	    activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+    	    return;
+    	}
+    	if (targetPlayer.isffaction() && activeChar.issfaction())
+    	{
+    	    activeChar.sendPacket(new SystemMessage(SystemMessageId.TARGET_IS_INCORRECT));
+    	    return;
+    	}
 		if (Config.LOG_CHAT)
 		{
 			LogRecord record = new LogRecord(Level.INFO, _message);
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/TradeRequest.java	(working copy)
@@ -75,7 +75,17 @@
             player.sendMessage("You or your target cant request trade in Olympiad mode");
             return;
         }
-
+    	L2PcInstance player2 = (L2PcInstance) target;
+    	if (player2.issfaction() && player.isffaction() && Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS)
+    	{
+    	    player.sendMessage("You Cant Trade with the Different Faction");
+    	    return;
+    	}
+    	if (player2.isffaction() && player.issfaction() && Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS)
+    	{
+    	    player.sendMessage("You Cant Trade with the Different Faction");
+    	    return;
+    	}
         // Alt game - Karma punishment
         if (!Config.ALT_GAME_KARMA_PLAYER_CAN_TRADE && (player.getKarma() > 0 || partner.getKarma() > 0))
         {
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelAnswerStart.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelAnswerStart.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelAnswerStart.java	(working copy)
@@ -14,6 +14,7 @@
  */
 package net.sf.l2j.gameserver.network.clientpackets;
 
+import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.instancemanager.DuelManager;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
@@ -66,7 +67,11 @@
 				player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_UNABLE_TO_REQUEST_A_DUEL_AT_THIS_TIME));
 				return;
 			}
-
+		    if ((Config.FACTION_SYSTEM_ENABLE && player.issfaction()) || player.isffaction())
+		    {
+			player.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_UNABLE_TO_REQUEST_A_DUEL_AT_THIS_TIME));
+			return;
+		    }
 			if (_partyDuel == 1)
 			{
 				msg1 = new SystemMessage(SystemMessageId.YOU_HAVE_ACCEPTED_C1_CHALLENGE_TO_A_PARTY_DUEL_THE_DUEL_WILL_BEGIN_IN_A_FEW_MOMENTS);
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreBuy.java	(working copy)
@@ -104,7 +104,17 @@
 		TradeList storeList = storePlayer.getSellList();
 		if (storeList == null)
 			return;
-
+		
+		if (Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_BUY_BETWEEN_FACTIONS)
+		{
+		    if ((storePlayer.issfaction() && player.isffaction()) || (storePlayer.isffaction() && player.issfaction()))
+		    {
+			player.sendMessage("You Cannot Buy From an Other Faction");
+			sendPacket(ActionFailed.STATIC_PACKET);
+			return;
+		    }
+		}
+		
 		if (!player.getAccessLevel().allowTransaction())
 		{
 			player.sendMessage("Transactions are disable for your Access Level");
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestJoinParty.java	(working copy)
@@ -106,6 +106,17 @@
 			return;
 		}
 		
+		if (target.isffaction() && requestor.issfaction())
+		{
+		    requestor.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
+		    return;
+		}
+		if (target.issfaction() && requestor.isffaction())
+		{
+		    requestor.sendPacket(new SystemMessage(SystemMessageId.INCORRECT_TARGET));
+		    return;
+		}
+
 		if (target.getClient().isDetached())
 		{
 			requestor.sendMessage("Player is in offline mode.");
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/SendWareHouseDepositList.java	(working copy)
@@ -112,7 +112,7 @@
 			return;
 
 		// Freight price from config or normal price per item slot (30)
-		final long fee = _items.length * 30;
+		final long fee = _items.length * Config.FACTION_SYSTEM_ALT_WAREHOUSE_FEE;
 		long currentAdena = player.getAdena();
 		int slots = 0;
 
@@ -142,7 +142,7 @@
 		}
 
 		// Check if enough adena and charge the fee
-		if (currentAdena < fee || !player.reduceAdena(warehouse.getName(), fee, manager, false))
+		if (currentAdena < Config.FACTION_SYSTEM_ALT_WAREHOUSE_FEE || !player.reduceAdena(warehouse.getName(), Config.FACTION_SYSTEM_ALT_WAREHOUSE_FEE, manager, false))
 		{
 			sendPacket(new SystemMessage(SystemMessageId.YOU_NOT_ENOUGH_ADENA));
 			return;
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestDuelStart.java	(working copy)
@@ -69,6 +69,11 @@
         	activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_UNABLE_TO_REQUEST_A_DUEL_AT_THIS_TIME));
         	return;
         }
+    	if ((Config.FACTION_SYSTEM_ENABLE && activeChar.issfaction()) || activeChar.isffaction())
+    	{
+    	    activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_ARE_UNABLE_TO_REQUEST_A_DUEL_AT_THIS_TIME));
+    	    return;
+    	}
         else if (!targetChar.canDuel())
         {
         	activeChar.sendPacket(targetChar.getNoDuelReason());
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/CharacterCreate.java	(working copy)
@@ -183,9 +183,30 @@
 
 		L2PcTemplate template = newChar.getTemplate();
 
+		if (Config.FACTION_SYSTEM_NEW_CHAR_LEVEL_75)
+		{
+		newChar.addExpAndSp(804219972L, 99999999);
+		}
+		else if (Config.FACTION_SYSTEM_NEW_CHAR_LEVEL_80)
+		{
+	    newChar.addExpAndSp(4200000000L, 99999999);
+		}
+		else if (Config.FACTION_SYSTEM_NEW_CHAR_LEVEL_85)
+		{
+		newChar.addExpAndSp(19827360000L, 99999999);
+		}
+		
 		newChar.addAdena("Init", Config.STARTING_ADENA, null, false);
 
-		newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);
+		if (Config.FACTION_SYSTEM_ALLOW_ALT_NEW_CHAR_SPAWN)
+		{
+			newChar.setXYZInvisible(Config.FACTION_SYSTEM_NEW_CHAR_SPAWN_X, Config.FACTION_SYSTEM_NEW_CHAR_SPAWN_Y , Config.FACTION_SYSTEM_NEW_CHAR_SPAWN_Z);
+		}
+		else
+		{
+			newChar.setXYZInvisible(template.spawnX, template.spawnY, template.spawnZ);	
+		}
+		
 		newChar.setTitle("");
 
 		L2ShortCut shortcut;
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/EnterWorld.java	(working copy)
@@ -194,7 +194,19 @@
 		// Set Hero status if it applies
 		if (Hero.getInstance().getHeroes() != null && Hero.getInstance().getHeroes().containsKey(activeChar.getObjectId()))
 			activeChar.setHero(true);
+		
+		if (Config.FACTION_SYSTEM_NEW_CHAR_SET_NOBLESSE)
+		{
+		if(!activeChar.isNoble())
+			activeChar.setNoble(true);
+		}
 
+		if (Config.FACTION_SYSTEM_NEW_CHAR_SET_HERO)
+		{
+		if(!activeChar.isHero())
+			activeChar.setHero(true);
+		}
+		
 		setPledgeClass(activeChar);
 
 		boolean showClanNotice = false;
@@ -324,6 +336,21 @@
 			notifyPartner(activeChar,activeChar.getPartnerId());
 		}
 
+		if (activeChar.isffaction() && Config.FACTION_SYSTEM_ENABLE)
+		{
+		    activeChar.getAppearance().setNameColor(Config.FACTION_SYSTEM_FIRST_FACTION_NAME_COLOR);
+		    activeChar.sendMessage("Welcome " + activeChar.getName() + " You Are Fighting " + Config.FACTION_SYSTEM_FIRST_FACTION_NAME + "  Faction");
+		    activeChar.setTitle(Config.FACTION_SYSTEM_FIRST_FACTION_NAME);
+		    activeChar.getAppearance().setTitleColor(Config.FACTION_SYSTEM_FIRST_FACTION_TITLE_COLOR);
+		}
+		if (activeChar.issfaction() && Config.FACTION_SYSTEM_ENABLE)
+		{
+		    activeChar.getAppearance().setNameColor(Config.FACTION_SYSTEM_SECOND_FACTION_NAME_COLOR);
+		    activeChar.sendMessage("Welcome " + activeChar.getName() + " You Are Fighting " + Config.FACTION_SYSTEM_SECOND_FACTION_NAME + " Faction");
+		    activeChar.setTitle(Config.FACTION_SYSTEM_SECOND_FACTION_NAME);
+		    activeChar.getAppearance().setTitleColor(Config.FACTION_SYSTEM_SECOND_FACTION_TITLE_COLOR);
+		}
+
 		if (activeChar.isCursedWeaponEquipped()) 
 		{
 			CursedWeaponsManager.getInstance().getCursedWeapon(activeChar.getCursedWeaponEquippedId()).cursedOnLogin();
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestPrivateStoreSell.java	(working copy)
@@ -150,8 +150,17 @@
 			storePlayer.setPrivateStoreType(L2PcInstance.STORE_PRIVATE_NONE);
 			storePlayer.broadcastUserInfo();
 		}
+	
+	if (Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_BUY_BETWEEN_FACTIONS)
+	{
+	    if ((storePlayer.issfaction() && player.isffaction()) || (storePlayer.isffaction() && player.issfaction()))
+	    {
+		player.sendMessage("You Cant Sell on a Different Faction");
+		sendPacket(ActionFailed.STATIC_PACKET);
+		return;
+	    }
 	}
-
+}
 	@Override
 	public String getType()
 	{
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/AnswerTradeRequest.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/AnswerTradeRequest.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/AnswerTradeRequest.java	(working copy)
@@ -14,6 +14,7 @@
  */
 package net.sf.l2j.gameserver.network.clientpackets;
 
+import net.sf.l2j.Config;
 import net.sf.l2j.gameserver.model.L2World;
 import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance;
 import net.sf.l2j.gameserver.network.SystemMessageId;
@@ -66,6 +67,18 @@
         }
         else if (L2World.getInstance().findObject(partner.getObjectId()) == null)
         {
+        	L2PcInstance player2 = player.getActiveRequester();
+        	if (player2.issfaction() && player.isffaction() && Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS)
+        	{
+        	    player.sendMessage("You Cant Trade With The Other Faction");
+        	    return;
+        	}
+        	if (player2.isffaction() && player.issfaction() && Config.FACTION_SYSTEM_ENABLE && Config.FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS)
+        	{
+        	    player.sendMessage("You Cant Trade With The Other Faction");
+        	    return;
+        	}
+        
         	// Trade partner not found, cancel trade
 			player.sendPacket(new TradeDone(0));
             SystemMessage msg = new SystemMessage(SystemMessageId.TARGET_IS_NOT_FOUND_IN_THE_GAME);
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestAnswerJoinParty.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestAnswerJoinParty.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/network/clientpackets/RequestAnswerJoinParty.java	(working copy)
@@ -49,6 +49,14 @@
         if(player != null)
         {
     		L2PcInstance requestor = player.getActiveRequester();
+    	    if (player.issfaction() && requestor.isffaction())
+    	    {
+    		return;
+    	    }
+    	    if (player.isffaction() && requestor.issfaction())
+    	    {
+    		return;
+    	    }
 		if (requestor == null)
 		    return;
 
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java	(working copy)
@@ -524,6 +524,9 @@
 	private boolean _noble = false;
 	private boolean _hero = false;
 
+    private boolean _isffaction = false;
+    private boolean _issfaction = false;
+    
 	/** The L2FolkInstance corresponding to the last Folk wich one the player talked. */
 	private L2Npc _lastFolkNpc = null;
 
@@ -5469,6 +5472,27 @@
 			// sendPacket(msg);
 			return;
 		}
+		if (Config.FACTION_SYSTEM_ALLOW_REWARD_FOR_EACH_PVP && Config.FACTION_SYSTEM_ENABLE)
+		{
+		    if ((issfaction() && targetPlayer.issfaction()) || (isffaction() && targetPlayer.isffaction()))
+		    {
+			sendMessage("Cannot Get PvP Reward From The Same Faction.");
+			sendPacket(ActionFailed.STATIC_PACKET);
+			return;
+		    } else
+		    {
+			int itemReward = Config.FACTION_SYSTEM_PVP_ITEM_REWARD_AMOUNT;
+			int idReward = Config.FACTION_SYSTEM_PVP_ITEM_REWARD_ID;
+			addItem("Loot", idReward, itemReward, this, true);
+			sendMessage("You Won " + itemReward + " " + idReward + "  From Your Kill.");
+		    }
+		}
+		// pvp?
+		if (checkIfPvP(target) || (isffaction() && targetPlayer.issfaction()) || (issfaction() && targetPlayer.isffaction()))
+		{
+		    increasePvpKills();
+		    return;
+		}
 
 		// If in duel and you kill (only can kill l2summon), do nothing
 		if (isInDuel() && targetPlayer.isInDuel()) return;
@@ -5558,6 +5582,11 @@
      */
     public void increasePkKillsAndKarma(int targLVL)
     {
+    	if (Config.FACTION_SYSTEM_ENABLE)
+    	{
+    	    return;
+    	}
+    	
         int baseKarma           = Config.KARMA_MIN_KARMA;
         int newKarma            = baseKarma;
         int karmaLimit          = Config.KARMA_MAX_KARMA;
@@ -5629,11 +5658,19 @@
 
 	public void updatePvPStatus()
 	{
+	
+		if (!issfaction() || !isffaction())
+		{
+		    return;
+		}
+		
 		if (isInsideZone(ZONE_PVP)) return;
 		setPvpFlagLasts(System.currentTimeMillis() + Config.PVP_NORMAL_TIME);
 
 		if (getPvpFlag() == 0)
 			startPvPFlag();
+		
+		
 	}
 
 	public void updatePvPStatus(L2Character target)
@@ -5643,6 +5680,14 @@
         if (player_target == null)
            return;
 
+		if (target  instanceof L2PcInstance)
+		{
+		    player_target = (L2PcInstance) target;
+		} 
+		if (player_target.issfaction() || player_target.isffaction())
+		{
+		    return;
+		}
         if ((isInDuel() && player_target.getDuelId() == getDuelId())) return;
         if ((!isInsideZone(ZONE_PVP) || !player_target.isInsideZone(ZONE_PVP)) && player_target.getKarma() == 0)
         {
@@ -5655,6 +5700,7 @@
         }
 	}
 
+
 	/**
 	 * Restore the specified % of experience this L2PcInstance has
 	 * lost and sends a Server->Client StatusUpdate packet.<BR><BR>
@@ -7018,6 +7064,8 @@
 				player.setOnlineTime(rset.getLong("onlinetime"));
 				player.setNewbie(rset.getInt("newbie"));
 				player.setNoble(rset.getInt("nobless")==1);
+				player.setffaction(rset.getInt("ffaction") == 1 ? true : false);
+				player.setsfaction(rset.getInt("sfaction") == 1 ? true : false);
 
 				player.setClanJoinExpiryTime(rset.getLong("clan_join_expiry_time"));
 				if (player.getClanJoinExpiryTime() < System.currentTimeMillis())
@@ -7450,7 +7498,9 @@
 			statement.setString(50, getName());
 			statement.setLong(51, getDeathPenaltyBuffLevel());
 			statement.setInt(52, getBookMarkSlot());
-            statement.setInt(53, getObjectId());
+		    statement.setInt(53, isffaction() ? 1 : 0);
+		    statement.setInt(54, issfaction() ? 1 : 0);
+            statement.setInt(55, getObjectId());
 
 			statement.execute();
 			statement.close();
@@ -8254,6 +8304,16 @@
 	@Override
 	public boolean isAutoAttackable(L2Character attacker)
 	{
+		
+		if ((attacker instanceof L2PcInstance) && ((L2PcInstance) attacker).isffaction())
+		{
+		    return true;
+		}
+		if ((attacker instanceof L2PcInstance) && ((L2PcInstance) attacker).issfaction())
+		{
+		    return true;
+		}
+		
 		// Check if the attacker isn't the L2PcInstance Pet
 		if (attacker == this || attacker == getPet())
 			return false;
@@ -8651,7 +8711,7 @@
         // Check if this is offensive magic skill
         if (skill.isOffensive())
 		{
-			if ((isInsidePeaceZone(this, target)) && !getAccessLevel().allowPeaceAttack())
+			if ((isInsidePeaceZone(this, target)) && !getAccessLevel().allowPeaceAttack() && (Config.FACTION_SYSTEM_ENABLE == false))
 			{
 				// If L2Character or target is in a peace zone, send a system message TARGET_IN_PEACEZONE a Server->Client packet ActionFailed
 				sendPacket(new SystemMessage(SystemMessageId.TARGET_IN_PEACEZONE));
@@ -9056,6 +9116,12 @@
 	 */
 	public boolean checkPvpSkill(L2Object target, L2Skill skill, boolean srcIsSummon)
 	{
+		
+		if (issfaction() || isffaction())
+		{
+		    return true;
+		}  
+		
 		// check for PC->PC Pvp status
 		if (
 				target != null &&                                           			// target not null and
@@ -10010,6 +10076,27 @@
     	sendPacket(sl);  
     }
     
+    public boolean isffaction()
+    {
+	return _isffaction;
+    }
+
+    public boolean issfaction()
+    {
+	return _issfaction;
+    }
+
+    public void setffaction(boolean value)
+    {
+	_isffaction = value;
+    }
+
+    public void setsfaction(boolean value)
+    {
+	_issfaction = value;
+    }
+
+    
     /**
      * 1. Add the specified class ID as a subclass (up to the maximum number of <b>three</b>)
      * for this character.<BR>
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/actor/L2Character.java	(working copy)
@@ -759,6 +759,18 @@
 		        	return;
 		        }
 	        }
+			if (((L2PcInstance) this).isffaction() && ((L2PcInstance) target).isffaction() && Config.FACTION_SYSTEM_ENABLE)
+			{
+			    ((L2PcInstance) this).sendMessage("Cant attack a player from your faction");
+			    sendPacket(ActionFailed.STATIC_PACKET);
+			    return;
+			}
+			if (((L2PcInstance) this).issfaction() && ((L2PcInstance) target).issfaction() && Config.FACTION_SYSTEM_ENABLE)
+			{
+			    ((L2PcInstance) this).sendMessage("Cant attack a player from your faction");
+			    sendPacket(ActionFailed.STATIC_PACKET);
+			    return;
+			}
 			// Checking if target has moved to peace zone
 			if (target.isInsidePeaceZone((L2PcInstance)this))
 			{
@@ -866,7 +878,7 @@
 				{
 					// Checking if target has moved to peace zone - only for player-crossbow attacks at the moment
 					// Other melee is checked in movement code and for offensive spells a check is done every time
-					if (target.isInsidePeaceZone((L2PcInstance)this))
+					if (target.isInsidePeaceZone((L2PcInstance)this)&& !Config.FACTION_SYSTEM_ENABLE)
 					{
 						getAI().setIntention(CtrlIntention.AI_INTENTION_ACTIVE);
 						sendPacket(ActionFailed.STATIC_PACKET);
@@ -1468,7 +1480,31 @@
         L2Object[] targets = skill.getTargetList(this);
         
         boolean doit = false;
-
+	    
+        if ((target instanceof L2PcInstance) && (this instanceof L2PcInstance))
+	    {
+		if (((L2PcInstance) this).isffaction() && (((L2PcInstance) target).isffaction() && Config.FACTION_SYSTEM_ENABLE))
+		{
+		    ((L2PcInstance) this).sendMessage("You Cannot Attack a Player From Your Faction!");
+		    sendPacket(ActionFailed.STATIC_PACKET);
+		    return;
+		} 
+		else if (((L2PcInstance) this).isffaction() && ((((L2PcInstance) target).isffaction() && Config.FACTION_SYSTEM_ENABLE && (skill.getSkillType() == L2SkillType.BUFF)) || (skill.getSkillType() == L2SkillType.HOT) || (skill.getSkillType() == L2SkillType.HEAL) || (skill.getSkillType() == L2SkillType.COMBATPOINTHEAL) || (skill.getSkillType() == L2SkillType.HEAL_PERCENT) || (skill.getSkillType() == L2SkillType.MANAHEAL) || (skill.getSkillType() == L2SkillType.MANAHEAL_PERCENT) || (skill.getSkillType() == L2SkillType.BALANCE_LIFE) || (skill.getSkillType() == L2SkillType.CONT)))
+		{
+		    return;
+		}
+		if (((L2PcInstance) this).issfaction() && ((L2PcInstance) target).issfaction())
+		{
+		    ((L2PcInstance) this).sendMessage("You Cannot Attack a Player From Your Faction!");
+		    sendPacket(ActionFailed.STATIC_PACKET);
+		    return;
+		} 
+		else if (((L2PcInstance) this).issfaction() && ((((L2PcInstance) target).issfaction() && Config.FACTION_SYSTEM_ENABLE && (skill.getSkillType() == L2SkillType.BUFF)) || (skill.getSkillType() == L2SkillType.HOT) || (skill.getSkillType() == L2SkillType.HEAL) || (skill.getSkillType() == L2SkillType.COMBATPOINTHEAL) || (skill.getSkillType() == L2SkillType.HEAL_PERCENT) || (skill.getSkillType() == L2SkillType.MANAHEAL) || (skill.getSkillType() == L2SkillType.MANAHEAL_PERCENT) || (skill.getSkillType() == L2SkillType.BALANCE_LIFE) || (skill.getSkillType() == L2SkillType.CONT)))
+		{
+		    return;
+		}
+	    }
+	
         // AURA skills should always be using caster as target
         switch (skill.getTargetType())
         {
@@ -2164,6 +2200,16 @@
 		if (!isTeleporting())
 		{
 			setIsPendingRevive(false);
+		    if ((this instanceof L2PcInstance) && (((L2PcInstance) this).isffaction() && Config.FACTION_SYSTEM_ENABLE))
+		    {
+			teleToLocation(Config.FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_X, Config.FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Y, Config.FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Z);
+		    } else
+		    {
+			if ((this instanceof L2PcInstance) && (((L2PcInstance) this).issfaction() && Config.FACTION_SYSTEM_ENABLE))
+			{
+			    teleToLocation(Config.FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_X, Config.FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Y, Config.FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Z);
+			}
+		    }
 			setIsDead(false);
 			boolean restorefull = false;
 			
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2World.java	(working copy)
@@ -64,6 +64,9 @@
 	/** HashMap(String Player name, L2PcInstance) containing all the players in game */
 	private Map<String, L2PcInstance> _allPlayers;
 	
+    private Map<String, L2PcInstance> _allkoofPlayers;
+    private Map<String, L2PcInstance> _allnoobPlayers;
+    
 	/** L2ObjectHashMap(L2Object) containing all visible objects */
 	private Map<Integer, L2Object> _allObjects;
 	
@@ -79,6 +82,8 @@
 	{
 		//_allGms	 = new FastMap<String, L2PcInstance>();
 		_allPlayers = new FastMap<String, L2PcInstance>().setShared(true);
+		_allkoofPlayers = new FastMap<String, L2PcInstance>().setShared(true);
+		_allnoobPlayers = new FastMap<String, L2PcInstance>().setShared(true);
 		_petsInstance = new FastMap<Integer, L2PetInstance>().setShared(true);
 		_allObjects = new FastMap<Integer, L2Object>().setShared(true);
 		
@@ -224,6 +229,16 @@
 		return _allPlayers;
 	}
 	
+    public Collection<L2PcInstance> getAllkoofPlayers()
+    {
+	return _allkoofPlayers.values();
+    }
+
+    public Collection<L2PcInstance> getAllnoobPlayers()
+    {
+	return _allnoobPlayers.values();
+    }
+
 	/**
 	 * Return how many players are online.<BR><BR>
 	 *
@@ -234,6 +249,16 @@
 		return _allPlayers.size();
 	}
 	
+    public int getAllkoofPlayersCount()
+    {
+	return _allkoofPlayers.size();
+    }
+
+    public int getAllnoobPlayersCount()
+    {
+	return _allnoobPlayers.size();
+    }
+
 	/**
 	 * Return the player instance corresponding to the given name.<BR><BR>
 	 *
@@ -335,6 +360,14 @@
 					tmp.closeNetConnection();
 					return;
 				}
+			    if (((L2PcInstance) object).isffaction())
+			    {
+				_allkoofPlayers.put(player.getName().toLowerCase(), player);
+			    } 
+			    else if (((L2PcInstance) object).issfaction())
+			    {
+				_allnoobPlayers.put(player.getName().toLowerCase(), player);
+			    }
 				_allPlayers.put(player.getName().toLowerCase(), player);
 			}
 		}
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2Clan.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2Clan.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/model/L2Clan.java	(working copy)
@@ -1,5 +1,4 @@
 /*
- * 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 3 of the License, or (at your option) any later
  * version.
@@ -1896,6 +1895,17 @@
         	activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
             return false;
         }
+		
+		if (activeChar.isffaction() && target.issfaction() && Config.FACTION_SYSTEM_ENABLE)
+		{
+		    activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
+		    return false;
+		}
+		if (activeChar.issfaction() && target.isffaction() && Config.FACTION_SYSTEM_ENABLE)
+		{
+		    activeChar.sendPacket(new SystemMessage(SystemMessageId.YOU_HAVE_INVITED_THE_WRONG_TARGET));
+		    return false;
+		}
 		if (activeChar.getObjectId() == target.getObjectId())
 		{
 			activeChar.sendPacket(new SystemMessage(SystemMessageId.CANNOT_INVITE_YOURSELF));
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/lib/Log.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/lib/Log.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/lib/Log.java	(working copy)
@@ -126,4 +126,13 @@
 		_log.warning("Assertion error [" + cmt + "]");
 		Thread.dumpStack();
 	}
+
+	/**
+     * @param string
+     */
+    public void warn(String string)
+    {
+	    // TODO Auto-generated method stub
+	    
+    }
 }
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/gameserver/GameServer.java	(working copy)
@@ -524,6 +524,7 @@
 		_log.config("Maximum Numbers of Connected Players: " + Config.MAXIMUM_ONLINE_USERS);
 		long serverLoadEnd = System.currentTimeMillis();
 		_log.info("Server Loaded in " + ((serverLoadEnd - serverLoadStart) / 1000) + " seconds");
+		
 	}
 	
 	public static void main(String[] args) throws Exception
@@ -557,5 +558,18 @@
 		{
 			_log.info("Telnet server is currently disabled.");
 		}
+		if (Config.FACTION_SYSTEM_ENABLE)
+		{
+		    System.out.println("####################################");
+		    System.out.println("##  Faction System is Activated.  ##");
+		    System.out.println("####################################");
+		} 
+		else
+		{
+		    System.out.println("###################################");
+		    System.out.println("##  Faction System is Disabled.  ##");
+		    System.out.println("###################################");
+		}
+	
 	}
 }
Index: C:/workspace/L2_GameServer/java/net/sf/l2j/Config.java
===================================================================
--- C:/workspace/L2_GameServer/java/net/sf/l2j/Config.java	(revision 3338)
+++ C:/workspace/L2_GameServer/java/net/sf/l2j/Config.java	(working copy)
@@ -585,8 +585,37 @@
 	public static boolean OFFLINE_SET_NAME_COLOR;
 	public static int OFFLINE_NAME_COLOR;
 	public static boolean L2JMOD_ENABLE_MANA_POTIONS_SUPPORT;
+	public static boolean FACTION_SYSTEM_ENABLE;
+	public static int FACTION_SYSTEM_FIRST_FACTION_TITLE_COLOR;
+	public static int FACTION_SYSTEM_SECOND_FACTION_TITLE_COLOR;
+	public static String FACTION_SYSTEM_FIRST_FACTION_NAME;
+	public static String FACTION_SYSTEM_SECOND_FACTION_NAME;
+	public static boolean FACTION_SYSTEM_NEW_CHAR_ALLOW_ALT_SPAWN;
+	public static int FACTION_SYSTEM_NEW_CHAR_SPAWN_X;
+	public static int FACTION_SYSTEM_NEW_CHAR_SPAWN_Y;
+	public static int FACTION_SYSTEM_NEW_CHAR_SPAWN_Z;
+	public static int FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_X;
+	public static int FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Y;
+	public static int FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Z;
+	public static int FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_X;
+	public static int FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Y;
+	public static int FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Z;
+	public static boolean FACTION_SYSTEM_NEW_CHAR_LEVEL_75;
+	public static boolean FACTION_SYSTEM_NEW_CHAR_LEVEL_80;
+	public static boolean FACTION_SYSTEM_NEW_CHAR_LEVEL_85;
+    public static boolean FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS;
+    public static boolean FACTION_SYSTEM_NEW_CHAR_SET_NOBLESSE;
+    public static boolean FACTION_SYSTEM_NEW_CHAR_SET_HERO;
+    public static int FACTION_SYSTEM_FIRST_FACTION_NAME_COLOR;
+    public static int FACTION_SYSTEM_SECOND_FACTION_NAME_COLOR;
+    public static int FACTION_SYSTEM_ALT_WAREHOUSE_FEE;
+    public static boolean FACTION_SYSTEM_ALLOW_REWARD_FOR_EACH_PVP;
+    public static int FACTION_SYSTEM_PVP_ITEM_REWARD_ID;
+    public static int FACTION_SYSTEM_PVP_ITEM_REWARD_AMOUNT;
+    public static int FACTION_SYSTEM_ANNOUNCE_DELAY;
+    public static boolean FACTION_SYSTEM_ALLOW_BUY_BETWEEN_FACTIONS;
+    public static boolean FACTION_SYSTEM_ALLOW_ALT_NEW_CHAR_SPAWN;
 
-
 	//--------------------------------------------------
 	// NPC Settings
 	//--------------------------------------------------
@@ -1932,6 +1961,36 @@
 					OFFLINE_NAME_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("OfflineNameColor", "808080"));
 
 					L2JMOD_ENABLE_MANA_POTIONS_SUPPORT = Boolean.parseBoolean(L2JModSettings.getProperty("EnableManaPotionSupport", "false"));
+					FACTION_SYSTEM_ENABLE = Boolean.parseBoolean(L2JModSettings.getProperty("FactionSystemEnable", "False"));
+					FACTION_SYSTEM_FIRST_FACTION_TITLE_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("FirstFactionTitleColor", ""));
+					FACTION_SYSTEM_SECOND_FACTION_TITLE_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("SecondFactionTitleColor", ""));
+					FACTION_SYSTEM_FIRST_FACTION_NAME = L2JModSettings.getProperty("FirstFactionName", "Villagers");
+					FACTION_SYSTEM_SECOND_FACTION_NAME = L2JModSettings.getProperty("SecondFactionName", "Pirates");
+					FACTION_SYSTEM_NEW_CHAR_ALLOW_ALT_SPAWN = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharAltSpawn", "False"));
+					FACTION_SYSTEM_NEW_CHAR_SPAWN_X = Integer.parseInt(L2JModSettings.getProperty("NewCharSpawnX", "0"));
+					FACTION_SYSTEM_NEW_CHAR_SPAWN_Y = Integer.parseInt(L2JModSettings.getProperty("NewCharSpawnY", "0"));
+					FACTION_SYSTEM_NEW_CHAR_SPAWN_Z = Integer.parseInt(L2JModSettings.getProperty("NewCharSpawnZ", "0"));
+					FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_X = Integer.parseInt(L2JModSettings.getProperty("FirstFactionBaseSpawnX", "0"));
+					FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Y = Integer.parseInt(L2JModSettings.getProperty("FirstFactionBaseSpawnY", "0"));
+					FACTION_SYSTEM_FIRST_FACTION_BASE_SPAWN_Z = Integer.parseInt(L2JModSettings.getProperty("FirstFactionBaseSpawnZ", "0"));
+					FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_X = Integer.parseInt(L2JModSettings.getProperty("SecondFactionBaseSpawnX", "0"));
+					FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Y = Integer.parseInt(L2JModSettings.getProperty("SecondFactionBaseSpawnY", "0"));
+					FACTION_SYSTEM_SECOND_FACTION_BASE_SPAWN_Z = Integer.parseInt(L2JModSettings.getProperty("SecondFactionBaseSpawnZ", "0"));
+					FACTION_SYSTEM_NEW_CHAR_LEVEL_75 = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharLevel75", "False"));
+					FACTION_SYSTEM_NEW_CHAR_LEVEL_80 = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharLevel80", "False"));
+					FACTION_SYSTEM_NEW_CHAR_LEVEL_85 = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharLevel85", "False"));
+					FACTION_SYSTEM_ALLOW_TRADE_BETWEEN_FACTIONS = Boolean.parseBoolean(L2JModSettings.getProperty("AllowTradeBetweenFactions", "False"));
+					FACTION_SYSTEM_NEW_CHAR_SET_NOBLESSE = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharSetNoblesse", "False"));
+					FACTION_SYSTEM_NEW_CHAR_SET_HERO = Boolean.parseBoolean(L2JModSettings.getProperty("NewCharSetHero", "False"));
+					FACTION_SYSTEM_FIRST_FACTION_NAME_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("FirstFactionNameColor", ""));
+					FACTION_SYSTEM_SECOND_FACTION_NAME_COLOR = Integer.decode("0x" + L2JModSettings.getProperty("SecondFactionNameColor", ""));
+					FACTION_SYSTEM_ALT_WAREHOUSE_FEE = Integer.parseInt(L2JModSettings.getProperty("AltWarehouseDepositFee", "0"));
+					FACTION_SYSTEM_ALLOW_REWARD_FOR_EACH_PVP = Boolean.parseBoolean(L2JModSettings.getProperty("AllowPvPReward", "False"));
+					FACTION_SYSTEM_PVP_ITEM_REWARD_ID = Integer.parseInt(L2JModSettings.getProperty("PvPRewardID", "57"));
+					FACTION_SYSTEM_PVP_ITEM_REWARD_AMOUNT = Integer.parseInt(L2JModSettings.getProperty("PvPRewardAmount", "1"));
+					FACTION_SYSTEM_ANNOUNCE_DELAY = Integer.parseInt(L2JModSettings.getProperty("AnnouncePlayersDelay", ""));
+					FACTION_SYSTEM_ALLOW_BUY_BETWEEN_FACTIONS = Boolean.parseBoolean(L2JModSettings.getProperty("AllowBuyBetweenFactions", "False"));
+					FACTION_SYSTEM_ALLOW_ALT_NEW_CHAR_SPAWN = Boolean.parseBoolean(L2JModSettings.getProperty("AllowAltSpawnForNewChars", "False"));
 				}
 				catch (Exception e)
 				{
Datapack side:

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Index: C:/workspace/datapack_development/sql/characters.sql
===================================================================
--- C:/workspace/datapack_development/sql/characters.sql	(revision 6451)
+++ C:/workspace/datapack_development/sql/characters.sql	(working copy)
@@ -57,6 +57,8 @@
   `clan_create_expiry_time` BIGINT UNSIGNED NOT NULL DEFAULT 0,
   `death_penalty_level` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
   `bookmarkslot` SMALLINT UNSIGNED NOT NULL DEFAULT 0,
+  `ffaction` TINYINT UNSIGNED NOT NULL DEFAULT 0,
+  `sfaction` TINYINT UNSIGNED NOT NULL DEFAULT 0,
   PRIMARY KEY (`charId`),
   KEY `clanid` (`clanid`)
 );
\ No newline at end of file
Index: C:/workspace/datapack_development/data/scripts/handlers/skillhandlers/SummonFriend.java
===================================================================
--- C:/workspace/datapack_development/data/scripts/handlers/skillhandlers/SummonFriend.java	(revision 6451)
+++ C:/workspace/datapack_development/data/scripts/handlers/skillhandlers/SummonFriend.java	(working copy)
@@ -28,6 +28,7 @@
 import net.sf.l2j.gameserver.model.entity.Instance;
 import net.sf.l2j.gameserver.model.entity.TvTEvent;
 import net.sf.l2j.gameserver.network.SystemMessageId;
+import net.sf.l2j.gameserver.network.serverpackets.ActionFailed;
 import net.sf.l2j.gameserver.network.serverpackets.ConfirmDlg;
 import net.sf.l2j.gameserver.network.serverpackets.SystemMessage;
 import net.sf.l2j.gameserver.templates.skills.L2SkillType;
@@ -66,7 +67,18 @@
 			summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
 			return false;			
 		}
-		
+		if (summonerChar.isffaction())
+		{
+		    summonerChar.sendMessage("You Cannot Use This Skill.");
+			summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
+		    return false;
+		}
+		if (summonerChar.issfaction())
+		{
+		    summonerChar.sendMessage("You Cannot Use This Skill.");
+			summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
+		    return false;
+		}
 		if (summonerChar.isInsideZone(L2Character.ZONE_NOSUMMONFRIEND) || summonerChar.isFlyingMounted())
 		{
 			summonerChar.sendPacket(new SystemMessage(SystemMessageId.YOUR_TARGET_IS_IN_AN_AREA_WHICH_BLOCKS_SUMMONING));
Index: C:/workspace/datapack_development/data/scripts/handlers/usercommandhandlers/Escape.java
===================================================================
--- C:/workspace/datapack_development/data/scripts/handlers/usercommandhandlers/Escape.java	(revision 6451)
+++ C:/workspace/datapack_development/data/scripts/handlers/usercommandhandlers/Escape.java	(working copy)
@@ -56,6 +56,14 @@
 			return false;
 		}
 		
+		if (Config.FACTION_SYSTEM_ENABLE)
+		{
+		    if (activeChar.isffaction() || activeChar.issfaction())
+		    {
+			activeChar.sendMessage("You Cannot Use This Command.");
+			return false;
+		    }
+		}
 		
 		int unstuckTimer = (activeChar.getAccessLevel().isGm() ? 1000 : Config.UNSTUCK_INTERVAL * 1000);
O destaque em vermelho é para você mudar de acordo com o nome que você colocar nas configurações.

NPC Faction:

Código: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
INSERT INTO `npc` VALUES(99996,31324,'Laura',1,'Faction Manager',1,'NPC.a_casino_FDarkElf',8,23,70,'female','L2Faction',40,2444,2444,0,0,10,10,10,10,10,10,0,0,500,500,500,500,278,0,333,9644,0,NULL,28,120,'',0,0,0,'LAST_HIT',0,0,0,'balanced','false');
..\data\html\mods\Faction:

delevel.htm
Código HTML: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
<html><title>Faction Manager</title>
<body>

<center>

<font color="LEVEL">Delevel Services</font><br>
<br>

<a action="bypass -h npc_%objectId%_delevel">Delevel Me!</a><br>
<br>
</center>

</body>

</html>
faction.htm
Código HTML: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
<html><title>Faction Manager</title>
<body>

<center>

<font color="LEVEL">Choose Your Faction</font><br>
<br>

<a action="bypass -h npc_%objectId%_setffaction">Join The First Faction</a><br>
<br>
<a action="bypass -h npc_%objectId%_setsfaction">Join The Second Faction</a><br>
<br>
<br>
<font color="LEVEL">Other Services</font><br>
<br>
<a action="bypass -h npc_%objectId%_setnoblesse">Gain Noblesse Status</a><br>
<br>
<a action="bypass -h npc_%objectId%_Link Faction/levelup.htm">Level Up Services</a><br>
<br>
<a action="bypass -h npc_%objectId%_Link Faction/delevel.htm">DeLevel Services</a><br>
<br>
</center>

</body>

</html>
levelup:
Código HTML: [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
<html><title>Faction Manager</title>
<body>

<center>

<font color="LEVEL">Level Up Services</font><br>
<br>

<a action="bypass -h npc_%objectId%_levelup">Level Me Up!</a><br>
<br>
</center>

</body>

</html>
Créditos: Stefoulis15

L2 DF está offline  
Os Seguintes 5 Usuários disseram Obrigado(a) para L2 DF por gostarem deste post :
aronama (17-02-2011), Lorde (31-03-2010), New (19-07-2010), Sirius (25-03-2011)
Links Patrocinados
Antigo 20-07-2010, 03:34 PM   #2
New
Membro - Marechal
 
Avatar de New
 
Registrado em: Nov 2008
Posts: 283
Agradeceu: 262
Agradecido 70 Vezes em 47 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para New

Inventório de New

Padrão

Quando tento dar spawn no NPC, ele fala que não encontrou o alvo.

Ja verifiqueia a tabela do NPC e esta tudo certo.

O que fazer ??

New está offline   Responder com Citação
Antigo 20-07-2010, 09:11 PM   #3
 
Avatar de CavaleiroNegro
 
Registrado em: May 2009
Localização: Minas Gerais-Pouso Alegre
Posts: 2,249
Agradeceu: 754
Agradecido 2,075 Vezes em 922 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Enviar mensagem via Windows Live Messenger para CavaleiroNegro
Pontos: 11,212, Nível: 69
Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Nome Real: Júlio César R.de Morães

Inventório de CavaleiroNegro

Padrão

@New :

Ativo o mod ? O mod esta carregando no GS corretamente sem nenhum erro ?

__________________
Olá voce é novo na SecretExperience ?

Hum então voce ja deve ter lido as regras ? Não ? Então leia nossas regras evite ser alertado :
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Ainda tem dúvida de algo ? Então leia nosso FAQ : [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
CavaleiroNegro está offline   Responder com Citação
Antigo 21-07-2010, 09:22 AM   #4
New
Membro - Marechal
 
Avatar de New
 
Registrado em: Nov 2008
Posts: 283
Agradeceu: 262
Agradecido 70 Vezes em 47 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para New

Inventório de New

Padrão

A unica coisa que aparece no GS e:
Citação:
Class no found L2FactionInstance
sou novo com java. tenta me ajudar

New está offline   Responder com Citação
Antigo 21-07-2010, 12:47 PM   #5
 
Avatar de CavaleiroNegro
 
Registrado em: May 2009
Localização: Minas Gerais-Pouso Alegre
Posts: 2,249
Agradeceu: 754
Agradecido 2,075 Vezes em 922 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:
Enviar mensagem via Windows Live Messenger para CavaleiroNegro
Pontos: 11,212, Nível: 69
Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69 Pontos: 11,212, Nível: 69
Atividade: 16%
Atividade: 16% Atividade: 16% Atividade: 16%

Nome Real: Júlio César R.de Morães

Inventório de CavaleiroNegro

Padrão

@New :

Bom deu poblema mesmo,quando voce vai compilar aparece algum alerta ? Erro ou algo do tipo ?

__________________
Olá voce é novo na SecretExperience ?

Hum então voce ja deve ter lido as regras ? Não ? Então leia nossas regras evite ser alertado :
[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
Ainda tem dúvida de algo ? Então leia nosso FAQ : [Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]
CavaleiroNegro está offline   Responder com Citação
Antigo 22-07-2010, 03:47 PM   #6
New
Membro - Marechal
 
Avatar de New
 
Registrado em: Nov 2008
Posts: 283
Agradeceu: 262
Agradecido 70 Vezes em 47 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para New

Inventório de New

Padrão

Aparece nada manim...

New está offline   Responder com Citação
Antigo 30-07-2010, 03:51 PM   #7
New
Membro - Marechal
 
Avatar de New
 
Registrado em: Nov 2008
Posts: 283
Agradeceu: 262
Agradecido 70 Vezes em 47 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Enviar mensagem via Windows Live Messenger para New

Inventório de New

Padrão

Galera estou tendo esses Erros no Game Server...

Citação:
----------
1. WARNING in D:\ServerByNew\gameserver Teste\gameserver\data\scripts\handlers\skillhandle
rs\SummonFriend.java (at line 31)
import net.sf.l2j.gameserver.network.serverpackets.Action Failed;
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^
The import net.sf.l2j.gameserver.network.serverpackets.Action Failed is never used
----------
Citação:
Failed loading character.
java.sql.SQLException: Column 'ffaction' not found.
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:1055)
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:956)
at com.mysql.jdbc.SQLError.createSQLException(SQLErro r.java:926)
at com.mysql.jdbc.ResultSetImpl.findColumn(ResultSetI mpl.java:1144)
at com.mysql.jdbc.ResultSetImpl.getInt(ResultSetImpl. java:2793)
at com.mchange.v2.c3p0.impl.NewProxyResultSet.getInt( NewProxyResultSet.java:2573)
at net.sf.l2j.gameserver.model.actor.instance.L2PcIns tance.restore(L2PcInstance.ja
va:7189)
at net.sf.l2j.gameserver.model.actor.instance.L2PcIns tance.load(L2PcInstance.java:
1066)
at net.sf.l2j.gameserver.network.L2GameClient.loadCha rFromDisk(L2GameClient.java:4
78)
at net.sf.l2j.gameserver.network.clientpackets.Charac terSelect.runImpl(CharacterSe
lect.java:87)
at net.sf.l2j.gameserver.network.clientpackets.L2Game ClientPacket.run(L2GameClient
Packet.java:76)
at java.util.concurrent.ThreadPoolExecutor$Worker.run Task(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run (Unknown Source)
at java.lang.Thread.run(Unknown Source)

Could not store char base data: java.sql.SQLException: Parameter index out of range (55 >
number of parameters, which is 54).

New está offline   Responder com Citação
Antigo 06-01-2012, 03:26 PM   #8
Donator
Membro - Soldado
 
Avatar de Donator
 
Registrado em: Jan 2012
Posts: 18
Agradeceu: 0
Agradecido 0 Vezes em 0 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:

Inventório de Donator

Padrão

al haber un desvalance la mayoria se iria al mejor team dejando casi sin gente al otro team lo que haria aburrido el event

Donator está offline   Responder com Citação
Antigo 20-05-2012, 04:40 PM   #9
leonardoalves
Membro - Sargento
 
Avatar de leonardoalves
 
Registrado em: Apr 2009
Posts: 38
Agradeceu: 33
Agradecido 4 Vezes em 2 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Pontos: 3,305, Nível: 35
Pontos: 3,305, Nível: 35 Pontos: 3,305, Nível: 35 Pontos: 3,305, Nível: 35
Atividade: 5%
Atividade: 5% Atividade: 5% Atividade: 5%

Inventório de leonardoalves

Padrão

ele pega no interlude? muito bom esse faction system. Se pegar vou tentar adapta-lo.

leonardoalves está offline   Responder com Citação
Antigo 26-11-2012, 12:32 AM   #10
machucaxd
Membro - Recruta
 
Avatar de machucaxd
 
Registrado em: Jan 2012
Posts: 1
Agradeceu: 0
Agradecido 0 Vezes em 0 Posts
Achei Ruim:
Acharam ruim Vezes em Posts
Meu Estado:

Inventório de machucaxd

Padrão

Eu tenho um erro e não conseguia resolver, você poderia me ajudar?


[Somente Usuários Registrados Podem Visualizar os Links Desta PáginaClique aqui para se Registrar]

machucaxd está offline   Responder com Citação
Resposta


Regras para Posts
Você não pode postar novos tópicos
Você não pode postar respostas
Você não pode postar anexos
Você não pode editar seus posts

Código [IMG] Sim
Código HTML Não

Ir para...


Horários baseados na GMT -3. Agora são 09:32 PM.