Ir para conteúdo
  • Cadastre-se

transformer

Membro
  • Total de itens

    25
  • Registro em

  • Última visita

3 Seguidores

Sobre transformer

Últimos Visitantes

1653 visualizações

transformer's Achievements

Aprendiz de Novato

Aprendiz de Novato (1/14)

0

Reputação

  1. Salve mano, estou tentando instalar no meu, até funciona mas o arquivo interface.xdat da erro critico ao abrir... sendo assim não consigo aumentar meu slot de barras de skill. Sabe como resolvo?
  2. Alguém tem a source da revisão 158?
  3. Algumas linhas de - não batem com as linhas da minha rev, ai eu me lasco todo =/ l2jserver freya
  4. Lol blz... agora como eu desativo .--. Vou apagar o código verde e compilar activeChar.sendMessage(getText("")); activeChar.sendMessage(getText("")); activeChar.sendMessage(getText(""));
  5. Não tem esse texto no EnterWorld.java foi o primeiro que eu procurei antes de criar o tópico... se liga no código! /* * 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 <[Hidden Content];. */ package com.l2jserver.gameserver.network.clientpackets; import java.util.Base64; import java.util.logging.Logger; import com.l2jserver.Config; import com.l2jserver.gameserver.Announcements; import com.l2jserver.gameserver.GmListTable; import com.l2jserver.gameserver.LoginServerThread; import com.l2jserver.gameserver.SevenSigns; import com.l2jserver.gameserver.TaskPriority; import com.l2jserver.gameserver.cache.HtmCache; import com.l2jserver.gameserver.communitybbs.Manager.RegionBBSManager; import com.l2jserver.gameserver.datatables.AdminCommandAccessRights; import com.l2jserver.gameserver.datatables.GMSkillTable; import com.l2jserver.gameserver.datatables.MapRegionTable; import com.l2jserver.gameserver.datatables.SkillTable; import com.l2jserver.gameserver.instancemanager.CastleManager; import com.l2jserver.gameserver.instancemanager.ClanHallManager; import com.l2jserver.gameserver.instancemanager.CoupleManager; import com.l2jserver.gameserver.instancemanager.CursedWeaponsManager; import com.l2jserver.gameserver.instancemanager.DimensionalRiftManager; import com.l2jserver.gameserver.instancemanager.FortManager; import com.l2jserver.gameserver.instancemanager.FortSiegeManager; import com.l2jserver.gameserver.instancemanager.InstanceManager; import com.l2jserver.gameserver.instancemanager.MailManager; import com.l2jserver.gameserver.instancemanager.PetitionManager; import com.l2jserver.gameserver.instancemanager.QuestManager; import com.l2jserver.gameserver.instancemanager.SiegeManager; import com.l2jserver.gameserver.instancemanager.TerritoryWarManager; import com.l2jserver.gameserver.model.L2Clan; import com.l2jserver.gameserver.model.L2ItemInstance; import com.l2jserver.gameserver.model.L2Object; import com.l2jserver.gameserver.model.L2World; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.model.actor.instance.L2ClassMasterInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.model.entity.ClanHall; import com.l2jserver.gameserver.model.entity.Couple; import com.l2jserver.gameserver.model.entity.Fort; import com.l2jserver.gameserver.model.entity.FortSiege; import com.l2jserver.gameserver.model.entity.L2Event; import com.l2jserver.gameserver.model.entity.Siege; import com.l2jserver.gameserver.model.entity.TvTEvent; import com.l2jserver.gameserver.model.quest.Quest; import com.l2jserver.gameserver.model.quest.QuestState; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.communityserver.CommunityServerThread; import com.l2jserver.gameserver.network.communityserver.writepackets.WorldInfo; import com.l2jserver.gameserver.network.serverpackets.Die; import com.l2jserver.gameserver.network.serverpackets.EtcStatusUpdate; import com.l2jserver.gameserver.network.serverpackets.ExBasicActionList; import com.l2jserver.gameserver.network.serverpackets.ExBirthdayPopup; import com.l2jserver.gameserver.network.serverpackets.ExGetBookMarkInfoPacket; import com.l2jserver.gameserver.network.serverpackets.ExNoticePostArrived; import com.l2jserver.gameserver.network.serverpackets.ExNotifyPremiumItem; import com.l2jserver.gameserver.network.serverpackets.ExShowScreenMessage; import com.l2jserver.gameserver.network.serverpackets.ExStorageMaxCount; import com.l2jserver.gameserver.network.serverpackets.ExVoteSystemInfo; import com.l2jserver.gameserver.network.serverpackets.FriendList; import com.l2jserver.gameserver.network.serverpackets.HennaInfo; import com.l2jserver.gameserver.network.serverpackets.ItemList; import com.l2jserver.gameserver.network.serverpackets.NpcHtmlMessage; import com.l2jserver.gameserver.network.serverpackets.PledgeShowMemberListAll; import com.l2jserver.gameserver.network.serverpackets.PledgeShowMemberListUpdate; import com.l2jserver.gameserver.network.serverpackets.PledgeSkillList; import com.l2jserver.gameserver.network.serverpackets.PledgeStatusChanged; import com.l2jserver.gameserver.network.serverpackets.QuestList; import com.l2jserver.gameserver.network.serverpackets.ShortCutInit; import com.l2jserver.gameserver.network.serverpackets.SkillCoolTime; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; /** * Enter World Packet Handler * <p> * <p> * 0000: 03 * <p> * packet format rev87 bddddbdcccccccccccccccccccc * <p> */ public class EnterWorld extends L2GameClientPacket { private static final String _C__03_ENTERWORLD = "[C] 03 EnterWorld"; private static Logger _log = Logger.getLogger(EnterWorld.class.getName()); private final int[][] tracert = new int[5][4]; public TaskPriority getPriority() { return TaskPriority.PR_URGENT; } @Override protected void readImpl() { readB(new byte[32]); // Unknown Byte Array readD(); // Unknown Value readD(); // Unknown Value readD(); // Unknown Value readD(); // Unknown Value readB(new byte[32]); // Unknown Byte Array readD(); // Unknown Value for (int i = 0; i < 5; i++) { for (int o = 0; o < 4; o++) { tracert[i][o] = readC(); } } } @Override protected void runImpl() { L2PcInstance activeChar = getClient().getActiveChar(); if (activeChar == null) { _log.warning("EnterWorld failed! activeChar returned 'null'."); getClient().closeNow(); return; } String[] adress = new String[5]; for (int i = 0; i < 5; i++) { adress[i] = tracert[i][0] + "." + tracert[i][1] + "." + tracert[i][2] + "." + tracert[i][3]; } LoginServerThread.getInstance().sendClientTracert(activeChar.getAccountName(), adress); getClient().setClientTracert(tracert); // Restore to instanced area if enabled if (Config.RESTORE_PLAYER_INSTANCE) { activeChar.setInstanceId(InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId())); } else { int instanceId = InstanceManager.getInstance().getPlayerInstance(activeChar.getObjectId()); if (instanceId > 0) { InstanceManager.getInstance().getInstance(instanceId).removePlayer(activeChar.getObjectId()); } } if (L2World.getInstance().findObject(activeChar.getObjectId()) != null) { if (Config.DEBUG) { _log.warning("User already exists in Object ID map! User " + activeChar.getName() + " is a character clone."); } } // Apply special GM properties to the GM when entering if (activeChar.isGM()) { if (Config.GM_STARTUP_INVULNERABLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invul", activeChar.getAccessLevel())) { activeChar.setIsInvul(true); } if (Config.GM_STARTUP_INVISIBLE && AdminCommandAccessRights.getInstance().hasAccess("admin_invisible", activeChar.getAccessLevel())) { activeChar.getAppearance().setInvisible(); } if (Config.GM_STARTUP_SILENCE && AdminCommandAccessRights.getInstance().hasAccess("admin_silence", activeChar.getAccessLevel())) { activeChar.setSilenceMode(true); } if (Config.GM_STARTUP_DIET_MODE && AdminCommandAccessRights.getInstance().hasAccess("admin_diet", activeChar.getAccessLevel())) { activeChar.setDietMode(true); activeChar.refreshOverloaded(); } if (Config.GM_STARTUP_AUTO_LIST && AdminCommandAccessRights.getInstance().hasAccess("admin_gmliston", activeChar.getAccessLevel())) { GmListTable.getInstance().addGm(activeChar, false); } else { GmListTable.getInstance().addGm(activeChar, true); } if (Config.GM_GIVE_SPECIAL_SKILLS) { GMSkillTable.getInstance().addSkills(activeChar); } } // Set dead status if applies if (activeChar.getCurrentHp() < 0.5) { activeChar.setIsDead(true); } boolean showClanNotice = false; // Clan related checks are here if (activeChar.getClan() != null) { activeChar.sendPacket(new PledgeSkillList(activeChar.getClan())); notifyClanMembers(activeChar); notifySponsorOrApprentice(activeChar); ClanHall clanHall = ClanHallManager.getInstance().getClanHallByOwner(activeChar.getClan()); if (clanHall != null) { if (!clanHall.getPaid()) { activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.PAYMENT_FOR_YOUR_CLAN_HALL_HAS_NOT_BEEN_MADE_PLEASE_MAKE_PAYMENT_TO_YOUR_CLAN_WAREHOUSE_BY_S1_TOMORROW)); } } for (Siege siege : SiegeManager.getInstance().getSieges()) { if (!siege.getIsInProgress()) { continue; } if (siege.checkIsAttacker(activeChar.getClan())) { activeChar.setSiegeState((byte) 1); activeChar.setSiegeSide(siege.getCastle().getCastleId()); } else if (siege.checkIsDefender(activeChar.getClan())) { activeChar.setSiegeState((byte) 2); activeChar.setSiegeSide(siege.getCastle().getCastleId()); } } for (FortSiege siege : FortSiegeManager.getInstance().getSieges()) { if (!siege.getIsInProgress()) { continue; } if (siege.checkIsAttacker(activeChar.getClan())) { activeChar.setSiegeState((byte) 1); activeChar.setSiegeSide(siege.getFort().getFortId()); } else if (siege.checkIsDefender(activeChar.getClan())) { activeChar.setSiegeState((byte) 2); activeChar.setSiegeSide(siege.getFort().getFortId()); } } sendPacket(new PledgeShowMemberListAll(activeChar.getClan(), activeChar)); sendPacket(new PledgeStatusChanged(activeChar.getClan())); // Residential skills support if (activeChar.getClan().getHasCastle() > 0) { CastleManager.getInstance().getCastleByOwner(activeChar.getClan()).giveResidentialSkills(activeChar); } if (activeChar.getClan().getHasFort() > 0) { FortManager.getInstance().getFortByOwner(activeChar.getClan()).giveResidentialSkills(activeChar); } showClanNotice = activeChar.getClan().isNoticeEnabled(); } if (TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar) > 0) { if (TerritoryWarManager.getInstance().isTWInProgress()) { activeChar.setSiegeState((byte) 1); } activeChar.setSiegeSide(TerritoryWarManager.getInstance().getRegisteredTerritoryId(activeChar)); } // Updating Seal of Strife Buff/Debuff if (SevenSigns.getInstance().isSealValidationPeriod() && (SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE) != SevenSigns.CABAL_NULL)) { int cabal = SevenSigns.getInstance().getPlayerCabal(activeChar.getObjectId()); if (cabal != SevenSigns.CABAL_NULL) { if (cabal == SevenSigns.getInstance().getSealOwner(SevenSigns.SEAL_STRIFE)) { activeChar.addSkill(SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill()); } else { activeChar.addSkill(SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill()); } } } else { activeChar.removeSkill(SkillTable.FrequentSkill.THE_VICTOR_OF_WAR.getSkill()); activeChar.removeSkill(SkillTable.FrequentSkill.THE_VANQUISHED_OF_WAR.getSkill()); } if (Config.ENABLE_VITALITY && Config.RECOVER_VITALITY_ON_RECONNECT) { float points = (Config.RATE_RECOVERY_ON_RECONNECT * (System.currentTimeMillis() - activeChar.getLastAccess())) / 60000; if (points > 0) { activeChar.updateVitalityPoints(points, false, true); } } if ((activeChar.getPvpKills() >= (Config.PVP_AMOUNT1)) && (Config.PVP_COLOR_SYSTEM_ENABLED)) { updatePvPColor(activeChar.getPvpKills(), activeChar); } activeChar.checkRecoBonusTask(); activeChar.broadcastUserInfo(); // Send Macro List activeChar.getMacroses().sendUpdate(); // Send Item List sendPacket(new ItemList(activeChar, false)); // Send GG check activeChar.queryGameGuard(); // Send Teleport Bookmark List sendPacket(new ExGetBookMarkInfoPacket(activeChar)); // Send Shortcuts sendPacket(new ShortCutInit(activeChar)); // Send Action list activeChar.sendPacket(ExBasicActionList.getStaticPacket(activeChar)); // Send Skill list activeChar.sendSkillList(); // Send Dye Information activeChar.sendPacket(new HennaInfo(activeChar)); Quest.playerEnter(activeChar); if (!Config.DISABLE_TUTORIAL) { loadTutorial(activeChar); } for (Quest quest : QuestManager.getInstance().getAllManagedScripts()) { if ((quest != null) && quest.getOnEnterWorld()) { quest.notifyEnterWorld(activeChar); } } activeChar.sendPacket(new QuestList()); if (Config.PLAYER_SPAWN_PROTECTION > 0) { activeChar.setProtection(true); } activeChar.spawnMe(activeChar.getX(), activeChar.getY(), activeChar.getZ()); if (L2Event.active && L2Event.connectionLossData.containsKey(activeChar.getName()) && L2Event.isOnEvent(activeChar)) { L2Event.restoreChar(activeChar); } else if (L2Event.connectionLossData.containsKey(activeChar.getName())) { L2Event.restoreAndTeleChar(activeChar); } // Wedding Checks if (Config.L2JMOD_ALLOW_WEDDING) { engage(activeChar); notifyPartner(activeChar, activeChar.getPartnerId()); } if (activeChar.isCursedWeaponEquipped()) { CursedWeaponsManager.getInstance().getCursedWeapon(activeChar.getCursedWeaponEquippedId()).cursedOnLogin(); } activeChar.updateEffectIcons(); activeChar.sendPacket(new EtcStatusUpdate(activeChar)); // Expand Skill activeChar.sendPacket(new ExStorageMaxCount(activeChar)); sendPacket(new FriendList(activeChar)); SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.FRIEND_S1_HAS_LOGGED_IN); sm.addString(activeChar.getName()); for (int id : activeChar.getFriendList()) { L2Object obj = L2World.getInstance().findObject(id); if (obj != null) { obj.sendPacket(sm); } } sendPacket(SystemMessage.getSystemMessage(SystemMessageId.WELCOME_TO_LINEAGE)); activeChar.sendMessage(getText("VGhpcyBzZXJ2ZXIgdXNlcyBMMkosIGEgcHJvamVjdCBmb3VuZGVkIGJ5IEwyQ2hlZg==")); activeChar.sendMessage(getText("YW5kIGRldmVsb3BlZCBieSB0aGUgTDJKIERldiBUZWFtIGF0IGwyanNlcnZlci5jb20=")); activeChar.sendMessage(getText("Q29weXJpZ2h0IDIwMDQtMjAxMQ==")); SevenSigns.getInstance().sendCurrentPeriodMsg(activeChar); Announcements.getInstance().showAnnouncements(activeChar); if (showClanNotice) { NpcHtmlMessage notice = new NpcHtmlMessage(1); notice.setFile(activeChar.getHtmlPrefix(), "data/html/clanNotice.htm"); notice.replace("%clan_name%", activeChar.getClan().getName()); notice.replace("%notice_text%", activeChar.getClan().getNotice().replaceAll("\r\n", "<br>")); notice.disableValidation(); sendPacket(notice); } else if (Config.SERVER_NEWS) { String serverNews = HtmCache.getInstance().getHtm(activeChar.getHtmlPrefix(), "data/html/servnews.htm"); if (serverNews != null) { sendPacket(new NpcHtmlMessage(1, serverNews)); } } if (Config.PETITIONING_ALLOWED) { PetitionManager.getInstance().checkPetitionMessages(activeChar); } if (activeChar.isAlikeDead()) // dead or fake dead { // no broadcast needed since the player will already spawn dead to others sendPacket(new Die(activeChar)); } activeChar.onPlayerEnter(); sendPacket(new SkillCoolTime(activeChar)); sendPacket(new ExVoteSystemInfo(activeChar)); for (L2ItemInstance i : activeChar.getInventory().getItems()) { if (i.isTimeLimitedItem()) { i.scheduleLifeTimeTask(); } if (i.isShadowItem() && i.isEquipped()) { i.decreaseMana(false); } } for (L2ItemInstance i : activeChar.getWarehouse().getItems()) { if (i.isTimeLimitedItem()) { i.scheduleLifeTimeTask(); } } if (DimensionalRiftManager.getInstance().checkIfInRiftZone(activeChar.getX(), activeChar.getY(), activeChar.getZ(), false)) { DimensionalRiftManager.getInstance().teleportToWaitingRoom(activeChar); } if (activeChar.getClanJoinExpiryTime() > System.currentTimeMillis()) { activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBERSHIP_TERMINATED)); } // remove combat flag before teleporting if (activeChar.getInventory().getItemByItemId(9819) != null) { Fort fort = FortManager.getInstance().getFort(activeChar); if (fort != null) { FortSiegeManager.getInstance().dropCombatFlag(activeChar, fort.getFortId()); } else { int slot = activeChar.getInventory().getSlotFromItem(activeChar.getInventory().getItemByItemId(9819)); activeChar.getInventory().unEquipItemInBodySlot(slot); activeChar.destroyItem("CombatFlag", activeChar.getInventory().getItemByItemId(9819), null, true); } } // Attacker or spectator logging in to a siege zone. Actually should be checked for inside castle only? if (!activeChar.isGM() // inside siege zone && activeChar.isInsideZone(L2Character.ZONE_SIEGE) // but non-participant or attacker && (!activeChar.isInSiege() || (activeChar.getSiegeState() < 2))) { activeChar.teleToLocation(MapRegionTable.TeleportWhereType.Town); } if (Config.ALLOW_MAIL) { if (MailManager.getInstance().hasUnreadPost(activeChar)) { sendPacket(ExNoticePostArrived.valueOf(false)); } } RegionBBSManager.getInstance().changeCommunityBoard(); CommunityServerThread.getInstance().sendPacket(new WorldInfo(activeChar, null, WorldInfo.TYPE_UPDATE_PLAYER_STATUS)); TvTEvent.onLogin(activeChar); if (Config.WELCOME_MESSAGE_ENABLED) { activeChar.sendPacket(new ExShowScreenMessage(Config.WELCOME_MESSAGE_TEXT, Config.WELCOME_MESSAGE_TIME)); } L2ClassMasterInstance.showQuestionMark(activeChar); int birthday = activeChar.checkBirthDay(); if (birthday == 0) { activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.YOUR_BIRTHDAY_GIFT_HAS_ARRIVED)); activeChar.sendPacket(new ExBirthdayPopup()); } else if (birthday != -1) { sm = SystemMessage.getSystemMessage(SystemMessageId.THERE_ARE_S1_DAYS_UNTIL_YOUR_CHARACTERS_BIRTHDAY); sm.addString(Integer.toString(birthday)); activeChar.sendPacket(sm); } if (!activeChar.getPremiumItemList().isEmpty()) { activeChar.sendPacket(new ExNotifyPremiumItem()); } } /** * @param activeChar */ private void engage(L2PcInstance cha) { int _chaid = cha.getObjectId(); for (Couple cl : CoupleManager.getInstance().getCouples()) { if ((cl.getPlayer1Id() == _chaid) || (cl.getPlayer2Id() == _chaid)) { if (cl.getMaried()) { cha.setMarried(true); } cha.setCoupleId(cl.getId()); if (cl.getPlayer1Id() == _chaid) { cha.setPartnerId(cl.getPlayer2Id()); } else { cha.setPartnerId(cl.getPlayer1Id()); } } } } /** * @param activeChar partnerid */ private void notifyPartner(L2PcInstance cha, int partnerId) { if (cha.getPartnerId() != 0) { int objId = cha.getPartnerId(); try { L2PcInstance partner = L2World.getInstance().getPlayer(objId); if (partner != null) { partner.sendMessage("Your Partner has logged in."); } partner = null; } catch (ClassCastException cce) { _log.warning("Wedding Error: ID " + objId + " is now owned by a(n) " + L2World.getInstance().findObject(objId).getClass().getSimpleName()); } } } /** * @param activeChar */ private void notifyClanMembers(L2PcInstance activeChar) { L2Clan clan = activeChar.getClan(); // This null check may not be needed anymore since notifyClanMembers is called from within a null check already. Please remove if we're certain it's ok to do so. if (clan != null) { clan.getClanMember(activeChar.getObjectId()).setPlayerInstance(activeChar); SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.CLAN_MEMBER_S1_LOGGED_IN); msg.addString(activeChar.getName()); clan.broadcastToOtherOnlineMembers(msg, activeChar); msg = null; clan.broadcastToOtherOnlineMembers(new PledgeShowMemberListUpdate(activeChar), activeChar); } } /** * @param activeChar */ private void notifySponsorOrApprentice(L2PcInstance activeChar) { if (activeChar.getSponsor() != 0) { L2PcInstance sponsor = L2World.getInstance().getPlayer(activeChar.getSponsor()); if (sponsor != null) { SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_APPRENTICE_S1_HAS_LOGGED_IN); msg.addString(activeChar.getName()); sponsor.sendPacket(msg); } } else if (activeChar.getApprentice() != 0) { L2PcInstance apprentice = L2World.getInstance().getPlayer(activeChar.getApprentice()); if (apprentice != null) { SystemMessage msg = SystemMessage.getSystemMessage(SystemMessageId.YOUR_SPONSOR_C1_HAS_LOGGED_IN); msg.addString(activeChar.getName()); apprentice.sendPacket(msg); } } } public void updatePvPColor(int pvpKillAmount, L2PcInstance activeChar) { if (Config.PVP_COLOR_SYSTEM_ENABLED) { if (activeChar.isGM()) { return; } { if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount < (Config.PVP_AMOUNT2))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT1); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount < (Config.PVP_AMOUNT3))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT2); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount < (Config.PVP_AMOUNT4))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT3); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount < (Config.PVP_AMOUNT5))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT4); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT5)) && (pvpKillAmount < (Config.PVP_AMOUNT6))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT5); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT6)) && (pvpKillAmount < (Config.PVP_AMOUNT7))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT6); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT6); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT7)) && (pvpKillAmount < (Config.PVP_AMOUNT8))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT7); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT7); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT8)) && (pvpKillAmount < (Config.PVP_AMOUNT9))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT8); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT8); } else if ((pvpKillAmount >= (Config.PVP_AMOUNT9)) && (pvpKillAmount < (Config.PVP_AMOUNT10))) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT9); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT9); } else if (pvpKillAmount >= (Config.PVP_AMOUNT10)) { activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT10); activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT10); } } } } /** * Gets the decoded string. * @param string the string to decode * @return the decoded string */ private String getText(String string) { return new String(Base64.getDecoder().decode(string)); } private void loadTutorial(L2PcInstance player) { QuestState qs = player.getQuestState("255_Tutorial"); if (qs != null) { qs.getQuest().notifyEvent("UC", null, player); } } @Override public String getType() { return _C__03_ENTERWORLD; } @Override protected boolean triggersOnActionRequest() { return false; } }
  6. Alguém tem esse código do Element system que limita o lv dos atributos no set e na weapon?
  7. Como Faço pra deixar a Armor SET só ir até o lv4 nos elementos e as Weapons até o lv 9 Preciso de um Java code? Ou posso resolver isso através das .xmls dos SETS <item id="15572" type="Armor" name="Elegia Helmet"> <set name="icon" val="icon.armor_helmet_i00" /> <set name="default_action" val="equip" /> <set name="bodypart" val="head" /> <set name="immediate_effect" val="1" /> <set name="crystal_count" val="1205" /> <set name="crystal_type" val="s84" /> <set name="material" val="bone" /> <set name="weight" val="530" /> <set name="price" val="25107000" /> <set name="element_enabled" val="1" /> <set name="enchant_enabled" val="1" /> <cond msgId="1518"> <player races="Human,Elf,DarkElf,Orc,Dwarf" /> </cond> <for> <add order="0x10" stat="pDef" val="110" /> <enchant order="0x0C" stat="pDef" val="0" /> </for> </item> Vi em um foram que preciso alterar esse arquivo java no eclipse... Alguém tem ideia? /* * 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 <[Hidden Content];. */ package com.l2jserver.gameserver.network.clientpackets; import com.l2jserver.Config; import com.l2jserver.gameserver.model.Elementals; import com.l2jserver.gameserver.model.L2ItemInstance; import com.l2jserver.gameserver.model.actor.instance.L2PcInstance; import com.l2jserver.gameserver.network.SystemMessageId; import com.l2jserver.gameserver.network.serverpackets.ExAttributeEnchantResult; import com.l2jserver.gameserver.network.serverpackets.ExBrExtraUserInfo; import com.l2jserver.gameserver.network.serverpackets.InventoryUpdate; import com.l2jserver.gameserver.network.serverpackets.SystemMessage; import com.l2jserver.gameserver.network.serverpackets.UserInfo; import com.l2jserver.gameserver.templates.item.L2ArmorType; import com.l2jserver.gameserver.templates.item.L2Item; import com.l2jserver.gameserver.templates.item.L2WeaponType; import com.l2jserver.gameserver.util.Util; import com.l2jserver.util.Rnd; public class RequestExEnchantItemAttribute extends L2GameClientPacket { private static final String D0_35_REQUEST_EX_ENCHANT_ITEM_ATTRIBUTE = "[C] D0:35 RequestExEnchantItemAttribute"; private int _objectId; @Override protected void readImpl() { _objectId = readD(); } @Override protected void runImpl() { L2PcInstance player = getClient().getActiveChar(); if (player == null) { return; } if (_objectId == 0xFFFFFFFF) { // Player canceled enchant player.setActiveEnchantAttrItem(null); player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_CANCELED)); return; } if (!player.isOnline()) { player.setActiveEnchantAttrItem(null); return; } if (player.getPrivateStoreType() != 0) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.CANNOT_ADD_ELEMENTAL_POWER_WHILE_OPERATING_PRIVATE_STORE_OR_WORKSHOP)); player.setActiveEnchantAttrItem(null); return; } // Restrict enchant during a trade (bug if enchant fails) if (player.getActiveRequester() != null) { // Cancel trade player.cancelActiveTrade(); player.setActiveEnchantAttrItem(null); player.sendMessage("Enchanting items is not allowed during a trade."); return; } L2ItemInstance item = player.getInventory().getItemByObjectId(_objectId); L2ItemInstance stone = player.getActiveEnchantAttrItem(); if ((item == null) || (stone == null)) { player.setActiveEnchantAttrItem(null); return; } if ((item.getLocation() != L2ItemInstance.ItemLocation.INVENTORY) && (item.getLocation() != L2ItemInstance.ItemLocation.PAPERDOLL)) { player.setActiveEnchantAttrItem(null); return; } // can't enchant rods, shadow items, adventurers', Common Items, PvP items, hero items, cloaks, bracelets, underwear (e.g. shirt), belt, necklace, earring, ring if ((item.getItem().getItemType() == L2WeaponType.FISHINGROD) || item.isShadowItem() || item.isCommonItem() || item.isPvp() || item.isHeroItem() || item.isTimeLimitedItem() || ((item.getItemId() >= 7816) && (item.getItemId() <= 7831)) || (item.getItem().getItemType() == L2WeaponType.NONE) || (item.getItem().getItemGradeSPlus() != L2Item.CRYSTAL_S) || (item.getItem().getBodyPart() == L2Item.SLOT_BACK) || (item.getItem().getBodyPart() == L2Item.SLOT_R_BRACELET) || (item.getItem().getBodyPart() == L2Item.SLOT_UNDERWEAR) || (item.getItem().getBodyPart() == L2Item.SLOT_BELT) || (item.getItem().getBodyPart() == L2Item.SLOT_NECK) || ((item.getItem().getBodyPart() & L2Item.SLOT_R_EAR) != 0) || ((item.getItem().getBodyPart() & L2Item.SLOT_R_FINGER) != 0) || (item.getItem().getElementals() != null) || (item.getItemType() == L2ArmorType.SHIELD) || (item.getItemType() == L2ArmorType.SIGIL)) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_REQUIREMENT_NOT_SUFFICIENT)); player.setActiveEnchantAttrItem(null); return; } switch (item.getLocation()) { case INVENTORY: case PAPERDOLL: { if (item.getOwnerId() != player.getObjectId()) { player.setActiveEnchantAttrItem(null); return; } break; } default: { player.setActiveEnchantAttrItem(null); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to use enchant Exploit!", Config.DEFAULT_PUNISH); return; } } int stoneId = stone.getItemId(); byte elementToAdd = Elementals.getItemElement(stoneId); // Armors have the opposite element if (item.isArmor()) { elementToAdd = Elementals.getOppositeElement(elementToAdd); } byte opositeElement = Elementals.getOppositeElement(elementToAdd); Elementals oldElement = item.getElemental(elementToAdd); int elementValue = oldElement == null ? 0 : oldElement.getValue(); int limit = getLimit(item, stoneId); int powerToAdd = getPowerToAdd(stoneId, elementValue, item); if ((item.isWeapon() && (oldElement != null) && (oldElement.getElement() != elementToAdd) && (oldElement.getElement() != -2)) || (item.isArmor() && (item.getElemental(elementToAdd) == null) && (item.getElementals() != null) && (item.getElementals().length >= 3))) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ANOTHER_ELEMENTAL_POWER_ALREADY_ADDED)); player.setActiveEnchantAttrItem(null); return; } if (item.isArmor() && (item.getElementals() != null)) { // cant add opposite element for (Elementals elm : item.getElementals()) { if (elm.getElement() == opositeElement) { player.setActiveEnchantAttrItem(null); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to add oposite attribute to item!", Config.DEFAULT_PUNISH); return; } } } int newPower = elementValue + powerToAdd; if (newPower > limit) { newPower = limit; powerToAdd = limit - elementValue; } if (powerToAdd <= 0) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_ENHANCE_CANCELED)); player.setActiveEnchantAttrItem(null); return; } if (!player.destroyItem("AttrEnchant", stone, 1, player, true)) { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.NOT_ENOUGH_ITEMS)); Util.handleIllegalPlayerAction(player, "Player " + player.getName() + " tried to attribute enchant with a stone he doesn't have", Config.DEFAULT_PUNISH); player.setActiveEnchantAttrItem(null); return; } boolean success = false; switch (Elementals.getItemElemental(stoneId)._type) { case Stone: case Roughore: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_STONE; break; case Crystal: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_CRYSTAL; break; case Jewel: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_JEWEL; break; case Energy: success = Rnd.get(100) < Config.ENCHANT_CHANCE_ELEMENT_ENERGY; break; } if (success) { byte realElement = item.isArmor() ? opositeElement : elementToAdd; SystemMessage sm; if (item.getEnchantLevel() == 0) { if (item.isArmor()) { sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S2_ATTRIBUTE_WAS_SUCCESSFULLY_BESTOWED_ON_S1_RES_TO_S3_INCREASED); } else { sm = SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_POWER_S2_SUCCESSFULLY_ADDED_TO_S1); } sm.addItemName(item); sm.addElemntal(realElement); if (item.isArmor()) { sm.addElemntal(Elementals.getOppositeElement(realElement)); } } else { if (item.isArmor()) { sm = SystemMessage.getSystemMessage(SystemMessageId.THE_S3_ATTRIBUTE_BESTOWED_ON_S1_S2_RESISTANCE_TO_S4_INCREASED); } else { sm = SystemMessage.getSystemMessage(SystemMessageId.ELEMENTAL_POWER_S3_SUCCESSFULLY_ADDED_TO_S1_S2); } sm.addNumber(item.getEnchantLevel()); sm.addItemName(item); sm.addElemntal(realElement); if (item.isArmor()) { sm.addElemntal(Elementals.getOppositeElement(realElement)); } } player.sendPacket(sm); item.setElementAttr(elementToAdd, newPower); if (item.isEquipped()) { item.updateElementAttrBonus(player); } // send packets InventoryUpdate iu = new InventoryUpdate(); iu.addModifiedItem(item); player.sendPacket(iu); } else { player.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.FAILED_ADDING_ELEMENTAL_POWER)); } player.sendPacket(new ExAttributeEnchantResult(powerToAdd)); player.sendPacket(new UserInfo(player)); player.sendPacket(new ExBrExtraUserInfo(player)); player.setActiveEnchantAttrItem(null); } public int getLimit(L2ItemInstance item, int sotneId) { Elementals.ElementalItems elementItem = Elementals.getItemElemental(sotneId); if (elementItem == null) { return 0; } if (item.isWeapon()) { return Elementals.WEAPON_VALUES[elementItem._type._maxLevel]; } return Elementals.ARMOR_VALUES[elementItem._type._maxLevel]; } public int getPowerToAdd(int stoneId, int oldValue, L2ItemInstance item) { if (Elementals.getItemElement(stoneId) != Elementals.NONE) { if (item.isWeapon()) { if (oldValue == 0) { return Elementals.FIRST_WEAPON_BONUS; } return Elementals.NEXT_WEAPON_BONUS; } else if (item.isArmor()) { return Elementals.ARMOR_BONUS; } } return 0; } @Override public String getType() { return D0_35_REQUEST_EX_ENCHANT_ITEM_ATTRIBUTE; } }
  8. Se alguém puder me ajudar, só entrar em contato.
  9. Me falaram que é um código java
  10. Quando vc mata um player ou da pk aparece esse mensagem Se alguém tiver esse código, ou souber fazer postar aqui por pura gentileza :D [Hidden Content]
  11. Show de Bola, consegui graças a ajuda do Tayran.JavaDev
  12. ### Eclipse Workspace Patch 1.0 #P L2J_Server Index: java/com/l2jserver/gameserver/datatables/MultiSell.java =================================================================== --- java/com/l2jserver/gameserver/datatables/MultiSell.java (revision 13285) +++ java/com/l2jserver/gameserver/datatables/MultiSell.java (working copy) @@ -263,6 +263,12 @@ { if ("ingredient".equalsIgnoreCase(n.getNodeName())) { + int enchantmentLevel = 0; + if (n.getAttributes().getNamedItem("enchantmentLevel") != null) + { + enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue()); + } + int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue()); long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue()); boolean isTaxIngredient, mantainIngredient; @@ -287,14 +293,20 @@ mantainIngredient = false; } - entry.addIngredient(new Ingredient(id, count, isTaxIngredient, mantainIngredient)); + entry.addIngredient(new Ingredient(id, count, enchantmentLevel, isTaxIngredient, mantainIngredient)); } else if ("production".equalsIgnoreCase(n.getNodeName())) { + int enchantmentLevel = 0; + if (n.getAttributes().getNamedItem("enchantmentLevel") != null) + { + enchantmentLevel = Integer.parseInt(n.getAttributes().getNamedItem("enchantmentLevel").getNodeValue()); + } + int id = Integer.parseInt(n.getAttributes().getNamedItem("id").getNodeValue()); long count = Long.parseLong(n.getAttributes().getNamedItem("count").getNodeValue()); - entry.addProduct(new Ingredient(id, count, false, false)); + entry.addProduct(new Ingredient(id, count, enchantmentLevel, false, false)); } } Index: java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java =================================================================== --- java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java (revision 13285) +++ java/com/l2jserver/gameserver/model/multisell/PreparedEntry.java (working copy) @@ -76,7 +76,7 @@ adenaAmount += _taxAmount; // do not forget tax if (adenaAmount > 0) { - _ingredients.add(new Ingredient(ADENA_ID, adenaAmount, false, false)); + _ingredients.add(new Ingredient(ADENA_ID, adenaAmount, 0, false, false)); } // now copy products Index: dist/game/config/Custom.properties =================================================================== --- dist/game/config/Custom.properties (revision 0) +++ dist/game/config/Custom.properties (working copy) @@ -0,0 +1,61 @@ +# -------------------------------------------------- +# Custom Mods - Rildo Dantas' +# -------------------------------------------------- + +# -------------------------------------------------- +# PvP Sistema de cores nome e título. +# -------------------------------------------------- +# Ativar PvP Sistema de cores? +# Exemplo: PvpAmount1 = 500, quando o contador de um personagem chega a 500 PvP, sua cor do nome vai mudar. +# Cuidado: Cores deve usar formato RBG +EnablePvPColorSystem = False + +# Quantidade de PvP para nome e título cor lv 1. +PvpAmount1 = 200 +ColorForAmount1 = 668B8B +TitleForAmount1 = 668B8B + +# Quantidade de PvP para nome e título cor lv 2. +PvpAmount2 = 400 +ColorForAmount2 = 836FFF +TitleForAmount2 = 668B8B + +# Quantidade de PvP para nome e título cor lv 3. +PvpAmount3 = 600 +ColorForAmount3 = 458B74 +TitleForAmount3 = 668B8B + +# Quantidade de PvP para nome e título cor lv 4. +PvpAmount4 = 800 +ColorForAmount4 = CD7F32 +TitleForAmount4 = 668B8B + +# Quantidade de PvP para nome e título cor lv 5. +PvpAmount5 = 1000 +ColorForAmount5 = 8B4513 +TitleForAmount5 = 668B8B + +# Quantidade de PvP para nome e título cor lv 6. +PvpAmount6 = 2000 +ColorForAmount6 = 48D1CC +TitleForAmount6 = 668B8B + +# Quantidade de PvP para nome e título cor lv 7. +PvpAmount7 = 3000 +ColorForAmount7 = BC8F8F +TitleForAmount7 = 668B8B + +# Quantidade de PvP para nome e título cor lv 8. +PvpAmount8 = 4000 +ColorForAmount8 = EE82EE +TitleForAmount8 = 668B8B + +# Quantidade de PvP para nome e título cor lv 9. +PvpAmount9 = 5000 +ColorForAmount9 = FF0000 +TitleForAmount9 = 668B8B + +# Quantidade de PvP para nome e título cor lv 10. +PvpAmount10 = 10000 +ColorForAmount10 = 000000 +TitleForAmount10 = 668B8B \ No newline at end of file Index: java/com/l2jserver/gameserver/model/multisell/Ingredient.java =================================================================== --- java/com/l2jserver/gameserver/model/multisell/Ingredient.java (revision 13285) +++ java/com/l2jserver/gameserver/model/multisell/Ingredient.java (working copy) @@ -27,15 +27,17 @@ { private int _itemId; private long _itemCount; + private final int _EnchantmentLevel; private boolean _isTaxIngredient, _maintainIngredient; private L2Item _template = null; private ItemInfo _itemInfo = null; - public Ingredient(int itemId, long itemCount, boolean isTaxIngredient, boolean maintainIngredient) + public Ingredient(int itemId, long itemCount, int EnchantmentLevel, boolean isTaxIngredient, boolean maintainIngredient) { _itemId = itemId; _itemCount = itemCount; + _EnchantmentLevel = EnchantmentLevel; _isTaxIngredient = isTaxIngredient; _maintainIngredient = maintainIngredient; if (_itemId > 0) @@ -79,7 +81,7 @@ public final int getEnchantLevel() { - return _itemInfo != null ? _itemInfo.getEnchantLevel() : 0; + return _itemInfo == null ? _EnchantmentLevel : _itemInfo.getEnchantLevel(); } public final void setItemId(int itemId) Index: java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (revision 13285) +++ java/com/l2jserver/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -6216,8 +6216,13 @@ { if ((target instanceof L2PcInstance) && AntiFeedManager.getInstance().check(this, target)) { + // Add karma to attacker and increase its PK counter setPvpKills(getPvpKills() + 1); + if ((getPvpKills() >= (Config.PVP_AMOUNT1)) && (Config.PVP_COLOR_SYSTEM_ENABLED)) + { + updatePvPColor(getPvpKills(), target); + } // Send a Server->Client UserInfo packet to attacker with its Karma and PK Counter sendPacket(new UserInfo(this)); @@ -16327,6 +16332,72 @@ _petItems = haveit; } + // /////////////////////////////////////////////////////// + public void updatePvPColor(int pvpKillAmount, L2Character target) + { + if (Config.PVP_COLOR_SYSTEM_ENABLED) + { + if (isGM()) + { + return; + } + { + if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount <= (Config.PVP_AMOUNT2))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT1); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount <= (Config.PVP_AMOUNT3))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT2); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount <= (Config.PVP_AMOUNT4))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT3); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount <= (Config.PVP_AMOUNT5))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT4); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT5)) && (pvpKillAmount <= (Config.PVP_AMOUNT6))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT5); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT6)) && (pvpKillAmount <= (Config.PVP_AMOUNT7))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT6); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT6); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT7)) && (pvpKillAmount <= (Config.PVP_AMOUNT8))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT7); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT7); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT8)) && (pvpKillAmount <= (Config.PVP_AMOUNT9))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT8); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT8); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT9)) && (pvpKillAmount <= (Config.PVP_AMOUNT10))) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT9); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT9); + } + else if (pvpKillAmount >= (Config.PVP_AMOUNT10)) + { + getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT10); + getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT10); + } + } + } + } + + // ////////////////////////////////////////////////////// + private void checkPetInvItems() { Connection con = null; Index: java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java =================================================================== --- java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java (revision 13285) +++ java/com/l2jserver/gameserver/network/clientpackets/EnterWorld.java (working copy) @@ -332,6 +332,11 @@ } } + if ((activeChar.getPvpKills() >= (Config.PVP_AMOUNT1)) && (Config.PVP_COLOR_SYSTEM_ENABLED)) + { + updatePvPColor(activeChar.getPvpKills(), activeChar); + } + activeChar.checkRecoBonusTask(); activeChar.broadcastUserInfo(); @@ -668,6 +673,69 @@ } } + public void updatePvPColor(int pvpKillAmount, L2PcInstance activeChar) + { + if (Config.PVP_COLOR_SYSTEM_ENABLED) + { + if (activeChar.isGM()) + { + return; + } + { + if ((pvpKillAmount >= (Config.PVP_AMOUNT1)) && (pvpKillAmount < (Config.PVP_AMOUNT2))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT1); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT1); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT2)) && (pvpKillAmount < (Config.PVP_AMOUNT3))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT2); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT2); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT3)) && (pvpKillAmount < (Config.PVP_AMOUNT4))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT3); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT3); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT4)) && (pvpKillAmount < (Config.PVP_AMOUNT5))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT4); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT4); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT5)) && (pvpKillAmount < (Config.PVP_AMOUNT6))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT5); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT5); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT6)) && (pvpKillAmount < (Config.PVP_AMOUNT7))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT6); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT6); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT7)) && (pvpKillAmount < (Config.PVP_AMOUNT8))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT7); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT7); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT8)) && (pvpKillAmount < (Config.PVP_AMOUNT9))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT8); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT8); + } + else if ((pvpKillAmount >= (Config.PVP_AMOUNT9)) && (pvpKillAmount < (Config.PVP_AMOUNT10))) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT9); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT9); + } + else if (pvpKillAmount >= (Config.PVP_AMOUNT10)) + { + activeChar.getAppearance().setNameColor(Config.NAME_COLOR_FOR_PVP_AMOUNT10); + activeChar.getAppearance().setTitleColor(Config.TITLE_COLOR_FOR_PVP_AMOUNT10); + } + } + } + } + /** * Gets the decoded string. * @param string the string to decode Index: java/com/l2jserver/Config.java =================================================================== --- java/com/l2jserver/Config.java (revision 13285) +++ java/com/l2jserver/Config.java (working copy) @@ -56,6 +56,7 @@ // -------------------------------------------------- // L2J Property File Definitions // -------------------------------------------------- + public static final String CUSTOM_CONFIG_FILE = "./config/Custom.properties"; public static final String CHARACTER_CONFIG_FILE = "./config/Character.properties"; public static final String FEATURE_CONFIG_FILE = "./config/Feature.properties"; public static final String FORTSIEGE_CONFIGURATION_FILE = "./config/fortsiege.properties"; @@ -216,6 +217,39 @@ public static boolean STORE_UI_SETTINGS; public static String[] FORBIDDEN_NAMES; + // Custom Mods - Rildo Dantas' + public static boolean PVP_COLOR_SYSTEM_ENABLED; + public static int PVP_AMOUNT1; + public static int PVP_AMOUNT2; + public static int PVP_AMOUNT3; + public static int PVP_AMOUNT4; + public static int PVP_AMOUNT5; + public static int PVP_AMOUNT6; + public static int PVP_AMOUNT7; + public static int PVP_AMOUNT8; + public static int PVP_AMOUNT9; + public static int PVP_AMOUNT10; + public static int NAME_COLOR_FOR_PVP_AMOUNT1; + public static int NAME_COLOR_FOR_PVP_AMOUNT2; + public static int NAME_COLOR_FOR_PVP_AMOUNT3; + public static int NAME_COLOR_FOR_PVP_AMOUNT4; + public static int NAME_COLOR_FOR_PVP_AMOUNT5; + public static int NAME_COLOR_FOR_PVP_AMOUNT6; + public static int NAME_COLOR_FOR_PVP_AMOUNT7; + public static int NAME_COLOR_FOR_PVP_AMOUNT8; + public static int NAME_COLOR_FOR_PVP_AMOUNT9; + public static int NAME_COLOR_FOR_PVP_AMOUNT10; + public static int TITLE_COLOR_FOR_PVP_AMOUNT1; + public static int TITLE_COLOR_FOR_PVP_AMOUNT2; + public static int TITLE_COLOR_FOR_PVP_AMOUNT3; + public static int TITLE_COLOR_FOR_PVP_AMOUNT4; + public static int TITLE_COLOR_FOR_PVP_AMOUNT5; + public static int TITLE_COLOR_FOR_PVP_AMOUNT6; + public static int TITLE_COLOR_FOR_PVP_AMOUNT7; + public static int TITLE_COLOR_FOR_PVP_AMOUNT8; + public static int TITLE_COLOR_FOR_PVP_AMOUNT9; + public static int TITLE_COLOR_FOR_PVP_AMOUNT10; + // -------------------------------------------------- // ClanHall Settings // -------------------------------------------------- Index: java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java =================================================================== --- java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java (revision 13285) +++ java/com/l2jserver/gameserver/network/serverpackets/MultiSellList.java (working copy) @@ -119,7 +119,8 @@ } else { - writeH(0x00); // enchant level + + writeH(ing.getEnchantLevel()); // enchant level writeD(0x00); // augment id writeD(0x00); // mana writeH(0x00); // attack element @@ -154,7 +155,8 @@ } else { - writeH(0x00); // enchant level + + writeH(ing.getEnchantLevel()); // enchant level writeD(0x00); // augment id writeD(0x00); // mana writeH(0x00); // attack element
×
×
  • 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.