
Guma!
Members-
Posts
75 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Guma!
-
[Tool]L2J File Editor - version 1.1
Guma! replied to Matim's topic in Server Development Discussion [L2J]
very good much creativity congratulations. -
hum interesting cool Thanks for sharing your knowledge
-
try this - shop '1' 100000 32478 Rafaella 1 Gm Shop 1 LineageNPC2.TP_wedding_staff ........
-
has some npc q is very long .. html as the drop of the mob, but of course you can reduce the drops .. but if you even want a html faser with several lines can be configured with this option I know several here do not need it, but those who already use compiled pack is good.
-
for those who have problem with very long html can be configured: Index: /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 674) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 687) @@ -917,4 +917,5 @@ public static boolean ALLOW_TITLE_FOR_NEW_CHARS; public static String TITLE_FOR_NEW_CHARS; + public static int NPC_HTML_LIMIT; public static boolean CASTLE_SHIELD; public static boolean CLANHALL_SHIELD; @@ -1288,5 +1289,5 @@ ALT_NEW_SPAWN_Y = Integer.parseInt(L2JBrasil.getProperty("CustomSpawnY", "")); ALT_NEW_SPAWN_Z = Integer.parseInt(L2JBrasil.getProperty("CustomSpawnZ", "")); + NPC_HTML_LIMIT = Integer.parseInt(L2JBrasil.getProperty("NpcHtmlLimit", "8192")); TITLE_FOR_NEW_CHARS = L2JBrasil.getProperty("SetNewCharTitle", "L2JBrasil"); SHOW_WELCOME_HTML_ON_PLAYER_LOGIN = Boolean.parseBoolean(L2JBrasil.getProperty("ShowWelcomeinfo", "False")); Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/serverpackets/NpcHtmlMessage.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/serverpackets/NpcHtmlMessage.java (revision 623) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/serverpackets/NpcHtmlMessage.java (revision 687) @@ -169,5 +169,5 @@ public void setHtml(String text) { - if(text.length() > 8192) + if(text.length() > Config.NPC_HTML_LIMIT) { _log.warning("Html is too long! this will crash the client!"); Index: /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties =================================================================== --- /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 674) +++ /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 687) @@ -271,2 +271,5 @@ ClanLevel8Members = 80 ClanLevel9Members = 100 + +#html limitations size allowed +NpcHtmlLimit = 8192
-
You should learn from mistakes? haha diff that I retired from l2jfree il and has until today and all claim to be one of the best pack il ;)
-
Yours only know how to speak evil instead of help.. Coyote™ thanks for the tip
-
easy easy ;D Index: /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 673) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 674) @@ -933,4 +933,5 @@ public static int DUEL_SPAWN_Y; public static int DUEL_SPAWN_Z; + public static int ALT_BUFF_TIME; public static int NOBLE_CUSTOM_ITEM_ID; public static boolean ALLOW_NOBLE_CUSTOM_ITEM; @@ -1282,5 +1283,5 @@ DUEL_SPAWN_Y = Integer.parseInt(L2JBrasil.getProperty("PartyDuelSpawnY", "46710")); DUEL_SPAWN_Z = Integer.parseInt(L2JBrasil.getProperty("PartyDuelSpawnZ", "-3413")); + ALT_BUFF_TIME = Integer.parseInt(L2JBrasil.getProperty("AltBuffTime", "1")); ALT_NEW_SPAWN = Boolean.parseBoolean(L2JBrasil.getProperty("Customspawn", "False")); ALT_NEW_SPAWN_X = Integer.parseInt(L2JBrasil.getProperty("CustomSpawnX", "")); Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Skill.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Skill.java (revision 650) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Skill.java (revision 674) @@ -27,4 +27,6 @@ import javolution.text.TextBuilder; import javolution.util.FastList; + +import com.it.br.Config; import com.it.br.gameserver.GeoData; import com.it.br.gameserver.datatables.HeroSkillTable; @@ -523,5 +525,5 @@ //_skillInterruptTime = set.getInteger("hitTime", _hitTime / 2); _reuseDelay = set.getInteger("reuseDelay", 0); - _buffDuration = set.getInteger("buffDuration", 0); + _buffDuration = set.getInteger("buffDuration", 0) * Config.ALT_BUFF_TIME; _skillRadius = set.getInteger("skillRadius", 80); Index: /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties =================================================================== --- /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 670) +++ /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 674) @@ -46,4 +46,7 @@ # Retail: 300 MaxMCritRate = 300 + +# Buff time rate +AltBuffTime = 1 # Heavy Equipment Restriction
-
what id? for the npc or not need?
-
tnx for share
-
add in data/jscript/village_master/9000_clan/9000-03.htm Level 9 - 40,000 Clan Fame points, more than 120 clan members, 50 Blood Mark<br> Level 10 - 75,000 Clan Fame points, more than 140 clan members, 5 Alliance Manifesto<br>
-
Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2ClanMember.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2ClanMember.java (revision 325) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2ClanMember.java (revision 658) @@ -453,8 +453,91 @@ } break; - default: - pledgeClass = 1; + case 9: + switch (player.getPledgeType()) + { + case -1: + pledgeClass = 1; + break; + case 100: + case 200: + pledgeClass = 5; + break; + case 1001: + case 1002: + case 2001: + case 2002: + pledgeClass = 4; + break; + case 0: + if (player.isClanLeader()) + pledgeClass = 9; + else + switch (clan.getLeaderSubPledge(player.getName())) + { + case 100: + case 200: + pledgeClass = 8; + break; + case 1001: + case 1002: + case 2001: + case 2002: + pledgeClass = 7; + break; + case -1: + default: + pledgeClass = 6; + break; + } + break; + } + break; + case 10: + switch (player.getPledgeType()) + { + case -1: + pledgeClass = 1; + break; + case 100: + case 200: + pledgeClass = 6; + break; + case 1001: + case 1002: + case 2001: + case 2002: + pledgeClass = 5; + break; + case 0: + if (player.isClanLeader()) + pledgeClass = 10; + else + switch (clan.getLeaderSubPledge(player.getName())) + { + case 100: + case 200: + pledgeClass = 9; + break; + case 1001: + case 1002: + case 2001: + case 2002: + pledgeClass = 8; + break; + case -1: + default: + pledgeClass = 7; + break; + } + break; + } + break; - } + + default: + pledgeClass = 1; + break; + } + } return pledgeClass; Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Clan.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Clan.java (revision 466) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/model/L2Clan.java (revision 658) @@ -659,5 +659,14 @@ case 2001: case 2002: - limit = 10; + switch (getLevel()) + { + case 9: + case 10: + limit = 25; + break; + default: + limit = 10; + break; + } break; default: @@ -2337,4 +2346,45 @@ } break; + case 8: + // Upgrade to 9 + if(getReputationScore() >= 40000 && player.getInventory().getItemByItemId(1419) != null && getMembersCount() >= 140) + { + // itemId 1419 == Blood Mark + if (player.destroyItemByItemId("ClanLvl", 1419, 50, player.getTarget(), false)) + { + setReputationScore(getReputationScore() - 40000, true); + SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP); + cr.addNumber(40000); + player.sendPacket(cr); + cr = null; + SystemMessage sm = new SystemMessage(SystemMessageId.DISSAPEARED_ITEM); + sm.addItemName(1419); + sm.addNumber(50); + player.sendPacket(sm); + increaseClanLevel = true; + } + } + break; + case 9: + // Upgrade to 10 + if(getReputationScore() >= 40000 && player.getInventory().getItemByItemId(3874) != null && getMembersCount() >= 140) + { + // itemId 3874 == Alliance Manifesto + if (player.destroyItemByItemId("ClanLvl", 3874, 5, player.getTarget(), false)) + { + setReputationScore(getReputationScore() - 40000, true); + SystemMessage cr = new SystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP); + cr.addNumber(40000); + player.sendPacket(cr); + cr = null; + SystemMessage sm = new SystemMessage(SystemMessageId.DISSAPEARED_ITEM); + sm.addItemName(3874); + sm.addNumber(5); + player.sendPacket(sm); + increaseClanLevel = true; + } + + } + break; default: return; Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/handler/admincommandhandlers/AdminPledge.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/handler/admincommandhandlers/AdminPledge.java (revision 325) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/handler/admincommandhandlers/AdminPledge.java (revision 658) @@ -116,5 +116,5 @@ { int level = Integer.parseInt(parameter); - if (level>=0 && level <9) + if (level>=0 && level <11) { player.getClan().changeLevel(level); any flaw or bug, please report creditos: l2jserver
-
GmShop By me
-
I use google translator ;(
-
logical because of it each time you want to change the loc of char have to keep changing in java?
-
and why should beam? if this is completely different from the other and still with options?
-
and also of doing so: - _activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town); + _activeChar.teleToLocation(82698,148638,-3473); but not given the option to change after 'll have to modify the file escape.java edit~~ sorry not seen this topic but mine is also with different options.
-
not very special but an idea for those who want and for those who like ;)
-
when you use the command / unstuck you will be teleported to the location of your configuration =================================================================== --- D:/L2JBRASIL NOVO/L2JBrasil_CORE/config/L2JBrasil.properties (revision 657) +++ D:/L2JBRASIL NOVO/L2JBrasil_CORE/config/L2JBrasil.properties (working copy) @@ -49,18 +49,23 @@ AllowDaggersUseHeavy = True # IF False , Archer Classes Won't Be Able To Use Heavy Armors AllowArchersUseHeavy = True +#--------------------------------------------------------------- +# Custom Escape. - +#--------------------------------------------------------------- +UnstuckX = 82698 +UnstuckY = 148638 +UnstuckZ = -3473 Index: D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/Config.java =================================================================== --- D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/Config.java (revision 657) +++ D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/Config.java (working copy) @@ -912,6 +912,10 @@ public static boolean ANNOUNCE_GM_LOGIN; public static boolean ALLOW_HERO_SKILLS_ON_SUB; public static boolean DISABLE_GRADE_PENALTY; + public static int ESCAPE_X; + public static int ESCAPE_Y; + public static int ESCAPE_Z; public static boolean ALT_NEW_SPAWN; public static int ALT_NEW_SPAWN_X; public static int ALT_NEW_SPAWN_Y; @@ -1269,6 +1273,11 @@ DUEL_SPAWN_Y = Integer.parseInt(L2JBrasil.getProperty("PartyDuelSpawnY", "46710")); DUEL_SPAWN_Z = Integer.parseInt(L2JBrasil.getProperty("PartyDuelSpawnZ", "-3413")); + ESCAPE_X = Integer.parseInt(L2JBrasil.getProperty("UnstuckX", "")); + ESCAPE_Y = Integer.parseInt(L2JBrasil.getProperty("UnstuckY", "")); + ESCAPE_Z = Integer.parseInt(L2JBrasil.getProperty("UnstuckZ", "")); + Index: D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/gameserver/handler/usercommandhandlers/Escape.java =================================================================== --- D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/gameserver/handler/usercommandhandlers/Escape.java (revision 656) +++ D:/L2JBRASIL NOVO/L2JBrasil_CORE/java/com/it/br/gameserver/handler/usercommandhandlers/Escape.java (working copy) @@ -124,7 +124,8 @@ try { - _activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town); + _activeChar.teleToLocation(Config.ESCAPE_X,Config.ESCAPE_Y,Config.ESCAPE_Z); } catch (Throwable e) { if (Config.DEBUG) e.printStackTrace(); } } }
-
steal? Are you crazy?
-
core: Index: /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Skill.java =================================================================== --- /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Skill.java (revision 95) +++ /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Skill.java (revision 108) @@ -24,4 +24,6 @@ import java.util.logging.Level; import java.util.logging.Logger; + +import net.sf.l2j.gameserver.model.L2Skill.SkillOpType; import javolution.text.TextBuilder; @@ -85,5 +87,5 @@ public static enum SkillOpType { - OP_PASSIVE, OP_ACTIVE, OP_TOGGLE + OP_PASSIVE, OP_ACTIVE, OP_TOGGLE, OP_CHANCE } @@ -474,4 +476,12 @@ protected EffectTemplate[] _effectTemplatesSelf; + private int _triggeredId; + + private int _triggeredLevel; + + private boolean _bestow; + + private boolean _bestowed; + protected L2Skill(StatsSet set) { @@ -2182,3 +2192,34 @@ return "" + _name + "[id=" + _id + ",lvl=" + _level + "]"; } + + public int getTriggeredId() + { + return _triggeredId; + } + + public int getTriggeredLevel() + { + return _triggeredLevel; + } + + public boolean bestowTriggered() + { + return _bestow; + } + + public boolean bestowed() + { + return _bestowed; + } + + public boolean triggerAnotherSkill() + { + return _triggeredId > 1; + } + + public final boolean isChance() + { + return _operateType == SkillOpType.OP_CHANCE; + } + } Index: /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Character.java =================================================================== --- /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Character.java (revision 84) +++ /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/model/L2Character.java (revision 108) @@ -29,4 +29,6 @@ import java.util.logging.Level; import java.util.logging.Logger; + +import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.L2Effect; @@ -6016,4 +6018,6 @@ private long _pvpFlagLasts; + private Object _chanceSkills; + public void setPvpFlagLasts(long time) { @@ -6252,3 +6256,25 @@ public void setForceBuff(ForceBuff fb) {} + + public L2Skill removeSkill(int skillId) { + // Remove the skill from the L2Character _skills + L2Skill oldSkill = _skills.remove(skillId); + // Remove all its Func objects from the L2Character calculator set + if (oldSkill != null) { + // Stop casting if this skill is used right now + if (getLastSkillCast() != null && isCastingNow()) { + if (oldSkill.getId() == getLastSkillCast().getId()) + abortCast(); + } + + if (oldSkill.isChance() && _chanceSkills != null) { + removeSkill(oldSkill.getId()); + } + removeStatsOwner(oldSkill); + } + return oldSkill; + + + } + } Index: /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/skills/effects/EffectBestowSkill.java =================================================================== --- /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/skills/effects/EffectBestowSkill.java (revision 108) +++ /trunk/L2JHardCode_GameServer/java/net/sf/l2j/gameserver/skills/effects/EffectBestowSkill.java (revision 108) @@ -0,0 +1,77 @@ +/* + * 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. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.skills.effects; + +import net.sf.l2j.gameserver.datatables.SkillTable; +import net.sf.l2j.gameserver.model.L2Effect; +import net.sf.l2j.gameserver.model.L2Skill; +import net.sf.l2j.gameserver.skills.Env; + +/** + * @author Equal + */ +final class EffectBestowSkill extends L2Effect +{ + public EffectBestowSkill(Env env, EffectTemplate template) + { + super(env, template); + } + + /** + * + * @see net.sf.l2j.gameserver.model.L2Effect#getEffectType() + */ + @Override + public EffectType getEffectType() + { + return EffectType.BUFF; + } + + /** + * + * @see net.sf.l2j.gameserver.model.L2Effect#onStart() + */ + @Override + public void onStart() + { + L2Skill tempSkill = SkillTable.getInstance().getInfo(getSkill().getTriggeredId(), getSkill().getTriggeredLevel()); + if (tempSkill != null) + { + getEffected().addSkill(tempSkill); + return; + } + return; + } + + /** + * + * @see net.sf.l2j.gameserver.model.L2Effect#onExit() + */ + @Override + public void onExit() + { + getEffected().removeSkill(getSkill().getTriggeredId()); + } + + /** + * + * @see net.sf.l2j.gameserver.model.L2Effect#onActionTime() + */ + @Override + public boolean onActionTime() + { + return false; + } +}
-
a guy gave me this idea it does not really know if it was those who did if anyone knows the creator
-
ignore these lines and that I had added before not have the option to edit the topic
-
Index: /TrunK/L2JBrasil_CORE/java/config/L2JBrasil.properties =================================================================== --- /TrunK/L2JBrasil_CORE/java/config/L2JBrasil.properties (revision 244) +++ /TrunK/L2JBrasil_CORE/java/config/L2JBrasil.properties (revision 345) @@ -2,4 +2,12 @@ # L2jBrasil Custom File # #============================================================= + +# This is the amount of goldbars that a new character starts their character with. +# Default: 0 +StartingGBCount = 0 +# This is the id of goldbars +# Default : 3470 +StartingGBId = 3470 + #--------------------------------------------------------------- # Custom Start spawn. - Index: /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 325) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 345) @@ -947,4 +947,6 @@ public static boolean ALLOW_TRADEOFF_VOICE_COMMAND; public static boolean OVER_ENCHANT_PROTECTION_ENABLED; + public static int STARTING_GB_ID; + public static long STARTING_GB_COUNT; public static boolean STARTING_CUSTOM_ITEMS; public static List<int[]> STARTING_CUSTOM_ITEMS_F = new FastList<int[]>(); @@ -1345,4 +1347,6 @@ ALLOW_TRADEOFF_VOICE_COMMAND = Boolean.parseBoolean(L2JBrasil.getProperty("TradeOffCommand","False")); OVER_ENCHANT_PROTECTION_ENABLED = Boolean.parseBoolean(L2JBrasil.getProperty("OverEnchantProtection", "True")); + STARTING_GB_ID = Integer.parseInt(L2JBrasil.getProperty("StartingGBId", "3470")); + STARTING_GB_COUNT = Long.parseLong(L2JBrasil.getProperty("StartingGBCount", "0")); STARTING_CUSTOM_ITEMS = Boolean.parseBoolean(L2JBrasil.getProperty("AllowStartingCustomItems", "False")); RESTORE_EFFECTS_ON_SUBCLASS_CHANGE = Boolean.parseBoolean(L2JBrasil.getProperty("RestoreEffectsOnSub", "False")); Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/CharacterCreate.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/CharacterCreate.java (revision 325) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/CharacterCreate.java (revision 345) @@ -174,5 +174,5 @@ newChar.addAdena("Init", Config.STARTING_ADENA, null, false); - + newChar.addItem("Init", Config.STARTING_GB_ID, (int) Config.STARTING_GB_COUNT, null, false); if (Config.STARTING_CUSTOM_ITEMS) {
-
Index: /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 433) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/Config.java (revision 434) @@ -968,4 +968,8 @@ public static boolean RESTORE_EFFECTS_ON_SUBCLASS_CHANGE; public static boolean SHOW_WELCOME_HTML_ON_PLAYER_LOGIN; + public static boolean SHOW_WELCOME_PM; + public static String PM_FROM; + public static String PM_TEXT1; + public static String PM_TEXT2; public static boolean ENABLE_ONLINE_COMMAND; public static boolean ENABLE_STATINFO_COMMAND; @@ -1274,4 +1278,8 @@ TITLE_FOR_NEW_CHARS = L2JBrasil.getProperty("SetNewCharTitle", "L2JBrasil"); SHOW_WELCOME_HTML_ON_PLAYER_LOGIN = Boolean.parseBoolean(L2JBrasil.getProperty("ShowWelcomeinfo", "False")); + SHOW_WELCOME_PM = Boolean.parseBoolean(L2JBrasil.getProperty("ShowWelcomePM", "False")); + PM_FROM = L2JBrasil.getProperty("PMFrom", "Server"); + PM_TEXT1 = L2JBrasil.getProperty("PMText1", "Welcome to our server"); + PM_TEXT2 = L2JBrasil.getProperty("PMText2", "Visit our web http://Your.Web.Adress"); ENABLE_ONLINE_COMMAND = Boolean.parseBoolean(L2JBrasil.getProperty("EnableOnlinePlayersCommand", "False")); ENABLE_STATINFO_COMMAND = Boolean.parseBoolean(L2JBrasil.getProperty("EnableStatusInfoCommand", "False")); Index: /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/EnterWorld.java =================================================================== --- /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/EnterWorld.java (revision 423) +++ /TrunK/L2JBrasil_CORE/java/com/it/br/gameserver/clientpackets/EnterWorld.java (revision 434) @@ -327,6 +327,18 @@ sendPacket(new NpcHtmlMessage(1, welcome)); } + + if (Config.SHOW_WELCOME_PM) + { + CreatureSay np = new CreatureSay(0, Say2.TELL,Config.PM_FROM,Config.PM_TEXT1); + CreatureSay na = new CreatureSay(0, Say2.TELL,Config.PM_FROM,Config.PM_TEXT2); + activeChar.sendPacket(np); + activeChar.sendPacket(na); + } + PetitionManager.getInstance().checkPetitionMessages(activeChar); Index: /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties =================================================================== --- /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 414) +++ /TrunK/L2JBrasil_CORE/config/L2JBrasil.properties (revision 434) @@ -206,4 +206,10 @@ ShowWelcomeinfo = False +# Show Welcome PM on start +ShowWelcomePM = False +PMFrom = Server +PMText1 = Welcome to our server +PMText2 = Visit our web http://Your.Web.Adress + # Announce Admin Name At Login # This sctipt will announce when GM/Admin login.