Ir para conteúdo
  • Cadastre-se
  • 0

Auguem adiciona esse MOD pra mim? Please


IsTheBest

Pergunta

Ola preciso que auguem adiciona esse MOD pra eu ai estah

 

Core side:

 

 

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:

 

 

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);

 

 

SQL do NPC:

 

 

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');

 

 

Faction Manager:

 

 

<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>

 

 

Level UP:

 

 

<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>

 

 

..\data\html\mods\Faction:

 

 

<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>

 

 

Fico no aguardo Falow...

Area de Dúvidas é minha Casa...

 

9197573_imagem.png

Leia a Frase

"Um homem não está acabado quando enfrenta a derrota. Ele está acabado quando desiste."

Pense nisso quando estiver mechendo com l2.

Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts recomendados

Até agora não há respostas para essa pergunta

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Processando...




×
×
  • Criar Novo...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.