Jump to content

LoVe+

Members
  • Posts

    115
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by LoVe+

  1. why moving should be broken after cast ? imagine you are a th and run away from something and you click somewhere press f2 dash and run , why to broke running ?
  2. try downloading some other system from other server and edit l2.ini only , maybe your system files are problem idk you can give a shot
  3. sry but i know nothing about ue2003 , used it max 4-5 times for easy tasks
  4. final L2Character target = getAttackTarget(); if (target != null) { if (target.isMoving()) { range -= 100; } // moveToPawn(target, Math.max(range, 5)); -- delete the "//" "//" if is if front of a code line , the compiler wont use that line in your code. so you can try with movetopawn and it should work normal. moveTo(target.getLocation()); --- delete this line at all } } =============================================== final L2Character target = getAttackTarget(); if (target != null) { if (target.isMoving()) { range -= 100; } moveTo(target.getLocation()); if (!this.isInsideRadius(worldPosition.getX(), worldPosition.getY(), (int) (10+ target.getCollisionRadius()), false)) { int x = target.getX(); int y = target.getY(); double dx = worldPosition.getX() - x; double dy = worldPosition.getY() - y; double dist = Math.sqrt(dx * dx + dy * dy); double sin = dy / dist; double cos = dx / dist; dist -= offset - 5; x += (int) (dist * cos); y += (int) (dist * sin); moveTo(x, y, worldPosition.getZ()); } } } try this maybe is bullshit maybe works , you can check how a raidboss and minions not colide into eachother and addapt or maybe just use movetopawn best but probably someone added "//" bcs he know smth we don't.
  5. + private void broadcastPvPMorphUpdate(L2PcPolymorph npc, CharSelectSlot winnerPvPKillsInfo) + { + if (winnerPvPKillsInfo == null) + { + npc.setPolymorphInfo(null); + return; + } + npc.setVisibleTitle(Config.CKM_PVP_NPC_TITLE.replaceAll("%kills%", String.valueOf(_winnerPvPKillsCount))); + npc.setTitleColor(Config.CKM_PVP_NPC_TITLE_COLOR); + npc.setNameColor(Config.CKM_PVP_NPC_NAME_COLOR); + npc.setPolymorphInfo(winnerPvPKillsInfo); + npc.broadcastPacket(new SocialAction(npc, 16));' ++ npc.setHeading(VALUE) + } + + private void broadcastPKMorphUpdate(L2PcPolymorph npc, CharSelectSlot winnerPKKillsInfo) + { + if (winnerPKKillsInfo == null) + { + npc.setPolymorphInfo(null); + return; + } + npc.setVisibleTitle(Config.CKM_PK_NPC_TITLE.replaceAll("%kills%", String.valueOf(_winnerPKKillsCount))); + npc.setTitleColor(Config.CKM_PK_NPC_TITLE_COLOR); + npc.setNameColor(Config.CKM_PK_NPC_NAME_COLOR); + npc.setPolymorphInfo(winnerPKKillsInfo); + npc.broadcastPacket(new SocialAction(npc, 16)); ++ npc.setHeading(VALUE) + } + + public void broadcastMorphUpdate() + { + final CharSelectSlot winnerPvPKillsInfo = getWinnerPvPKillsInfo(); + for (L2PcPolymorph npc : pvpMorphListeners) + { + broadcastPvPMorphUpdate(npc, winnerPvPKillsInfo); npc.setHeading(VALUE) + } + + final CharSelectSlot winnerPKKillsInfo = getWinnerPKKillsInfo(); + for (L2PcPolymorph npc : pkMorphListeners) + { + broadcastPKMorphUpdate(npc, winnerPKKillsInfo); npc.setHeading(VALUE) + } + } try this
  6. if he is in right mood he will accept you as you are , try maybe you lucky neves. btw nice work , maybe some shares for xmas?
  7. is there any difference in performance ( faster completing task ) in the different types ?
  8. this can be a datapack problem , probably you missing something check your summon_items.xml or i don't remember exactly name , try to copy datapack files again gameserver/data/xml.
  9. you just said you created something and is not working ? why bcs you are brainless. im not trying to solve your problems , im trying to help you use you brain .. if you don't want to fix your source on your own and all time pay someone you should hire 1 guy as developer for your projects.
  10. wts interlude files configurable addons pm
  11. IT BASSICALY 1 LINE UPPER , DO YOU WANT ME TO COMPILE FOR U? // Incorrect npc, return. final Npc trainer = activeChar.getCurrentFolkNPC(); if (trainer == null) return;
  12. : check if you have any free space left on drive C:\ did you do any changes to gameserver.java ?
  13. your condition is in this file: RequestAcquireSkill.java package net.sf.l2j.gameserver.network.clientpackets; import net.sf.l2j.Config; import net.sf.l2j.gameserver.datatables.SkillTable; import net.sf.l2j.gameserver.datatables.SkillTreeTable; import net.sf.l2j.gameserver.datatables.SpellbookTable; import net.sf.l2j.gameserver.model.L2PledgeSkillLearn; import net.sf.l2j.gameserver.model.L2ShortCut; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.L2SkillLearn; import net.sf.l2j.gameserver.model.actor.Npc; import net.sf.l2j.gameserver.model.actor.instance.Fisherman; import net.sf.l2j.gameserver.model.actor.instance.Folk; import net.sf.l2j.gameserver.model.actor.instance.Player; import net.sf.l2j.gameserver.model.actor.instance.VillageMaster; import net.sf.l2j.gameserver.network.SystemMessageId; import net.sf.l2j.gameserver.network.serverpackets.ExStorageMaxCount; import net.sf.l2j.gameserver.network.serverpackets.ShortCutRegister; import net.sf.l2j.gameserver.network.serverpackets.SystemMessage; public class RequestAcquireSkill extends L2GameClientPacket { private int _skillId; private int _skillLevel; private int _skillType; @Override protected void readImpl() { _skillId = readD(); _skillLevel = readD(); _skillType = readD(); } @Override protected void runImpl() { // Not valid skill data, return. if (_skillId <= 0 || _skillLevel <= 0) return; // Incorrect player, return. final Player activeChar = getClient().getActiveChar(); if (activeChar == null) return; // Incorrect npc, return. final Npc trainer = activeChar.getCurrentFolkNPC(); if (trainer == null) return; // Distance check for player <-> npc. if (!activeChar.isInsideRadius(trainer, Npc.INTERACTION_DISTANCE, false, false) && !activeChar.isGM()) return; // Skill doesn't exist, return. final L2Skill skill = SkillTable.getInstance().getInfo(_skillId, _skillLevel); if (skill == null) return; // Set learn class. activeChar.setSkillLearningClassId(activeChar.getClassId()); boolean exists = false; // Types. switch (_skillType) { case 0: // General skills. // Player already has such skill with same or higher level. int skillLvl = activeChar.getSkillLevel(_skillId); if (skillLvl >= _skillLevel) return; // Requested skill must be 1 level higher than existing skill. if (Math.max(skillLvl, 0) + 1 != _skillLevel) return; int spCost = 0; // Find skill information. for (L2SkillLearn sl : SkillTreeTable.getInstance().getAvailableSkills(activeChar, activeChar.getSkillLearningClassId())) { // Skill found. if (sl.getId() == _skillId && sl.getLevel() == _skillLevel) { exists = true; spCost = sl.getSpCost(); break; } } // No skill found, return. if (!exists) return; // Not enought SP. if (activeChar.getSp() < spCost) { activeChar.sendPacket(SystemMessageId.NOT_ENOUGH_SP_TO_LEARN_SKILL); Folk.showSkillList(activeChar, trainer, activeChar.getSkillLearningClassId()); return; } // Get spellbook and try to consume it. int spbId = SpellbookTable.getInstance().getBookForSkill(_skillId, _skillLevel); if (spbId > 0) { if (!activeChar.destroyItemByItemId("SkillLearn", spbId, 1, trainer, true)) { activeChar.sendPacket(SystemMessageId.ITEM_MISSING_TO_LEARN_SKILL); Folk.showSkillList(activeChar, trainer, activeChar.getSkillLearningClassId()); return; } } // Consume SP. activeChar.removeExpAndSp(0, spCost); // Add skill new skill. activeChar.addSkill(skill, true); activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.LEARNED_SKILL_S1).addSkillName(skill)); // Update player and return. updateShortCuts(activeChar); activeChar.sendSkillList(); Folk.showSkillList(activeChar, trainer, activeChar.getSkillLearningClassId()); break; case 1: // Common skills. skillLvl = activeChar.getSkillLevel(_skillId); if (skillLvl >= _skillLevel) return; if (Math.max(skillLvl, 0) + 1 != _skillLevel) return; int costId = 0; int costCount = 0; for (L2SkillLearn sl : SkillTreeTable.getInstance().getAvailableFishingDwarvenCraftSkills(activeChar)) { if (sl.getId() == _skillId && sl.getLevel() == _skillLevel) { exists = true; costId = sl.getIdCost(); costCount = sl.getCostCount(); break; } } if (!exists) return; if (!activeChar.destroyItemByItemId("Consume", costId, costCount, trainer, true)) { activeChar.sendPacket(SystemMessageId.ITEM_MISSING_TO_LEARN_SKILL); Fisherman.showFishSkillList(activeChar); return; } activeChar.addSkill(skill, true); activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.LEARNED_SKILL_S1).addSkillName(skill)); if (_skillId >= 1368 && _skillId <= 1372) activeChar.sendPacket(new ExStorageMaxCount(activeChar)); updateShortCuts(activeChar); activeChar.sendSkillList(); Fisherman.showFishSkillList(activeChar); break; case 2: // Pledge skills. if (!activeChar.isClanLeader()) return; int itemId = 0; int repCost = 0; for (L2PledgeSkillLearn psl : SkillTreeTable.getInstance().getAvailablePledgeSkills(activeChar)) { if (psl.getId() == _skillId && psl.getLevel() == _skillLevel) { exists = true; itemId = psl.getItemId(); repCost = psl.getRepCost(); break; } } if (!exists) return; if (activeChar.getClan().getReputationScore() < repCost) { activeChar.sendPacket(SystemMessageId.ACQUIRE_SKILL_FAILED_BAD_CLAN_REP_SCORE); VillageMaster.showPledgeSkillList(activeChar); return; } if (Config.LIFE_CRYSTAL_NEEDED) { if (!activeChar.destroyItemByItemId("Consume", itemId, 1, trainer, true)) { activeChar.sendPacket(SystemMessageId.ITEM_MISSING_TO_LEARN_SKILL); VillageMaster.showPledgeSkillList(activeChar); return; } } activeChar.getClan().takeReputationScore(repCost); activeChar.sendPacket(SystemMessage.getSystemMessage(SystemMessageId.S1_DEDUCTED_FROM_CLAN_REP).addNumber(repCost)); activeChar.getClan().addNewSkill(skill); VillageMaster.showPledgeSkillList(activeChar); return; } } private void updateShortCuts(Player player) { if (_skillLevel > 1) { for (L2ShortCut sc : player.getAllShortCuts()) { if (sc.getId() == _skillId && sc.getType() == L2ShortCut.TYPE_SKILL) { L2ShortCut newsc = new L2ShortCut(sc.getSlot(), sc.getPage(), L2ShortCut.TYPE_SKILL, _skillId, _skillLevel, 1); player.sendPacket(new ShortCutRegister(newsc)); player.registerShortCut(newsc); } } } } }
  14. server is good feels like playing like 5 yeras ago back on good interlude c6 servers but is hard hope is no 1 month project
  15. server is never x100 , maybe x60
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock