Siga-nos em...
Follow us on Twitter Follow us on Facebook Watch us on YouTube
Registro

Alpha Servers
Resultados 1 a 1 de 1

Tópico: Faction system

  1. #1

    Avatar de UnderZone
    Data de Ingresso
    Feb 2012
    Localização
    Sao goncalo
    Idade
    31
    Posts
    58
    Agradecido
    1
    Peso da Avaliação
    0

    Padrão Faction system

    CORE

    Código:
    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




    Código:
    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 fileIndex: 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);


    Código:
    Delevel.HTML
    
    
    
    <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>

    Código:
    Faction.HTML
    
    <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>


    Código:
    LevelUp
    
    <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>

    Creditos: Stefoulis15.
    Última edição por UnderZone; 14-03-2012 às 02:32 PM.

 

 

Informações de Tópico

Usuários Navegando neste Tópico

Há 1 usuários navegando neste tópico. (0 registrados e 1 visitantes)

Tópicos Similares

  1. |Desenvolvimento| DXTSecurity System New 4.0v
    Por Wendel S. no fórum Clients
    Respostas: 3
    Último Post: 04-06-2012, 01:33 PM
  2. |Release| System Recompensa PVP / PK
    Por UnderZone no fórum L2J -Mods
    Respostas: 0
    Último Post: 13-03-2012, 10:32 PM
  3. |Release| Resale System v2.2 R2
    Por Erick-Master no fórum Sites
    Respostas: 12
    Último Post: 28-02-2012, 03:29 PM
  4. |Release| MOD Away System
    Por Inspector no fórum L2J -Mods
    Respostas: 0
    Último Post: 01-08-2011, 03:04 AM

Marcadores

Permissões de Postagem

  • Você não pode iniciar novos tópicos
  • Você não pode enviar respostas
  • Você não pode enviar anexos
  • Você não pode editar suas mensagens
  •