Jump to content

Tessa

Members
  • Posts

    1,472
  • Credits

  • Joined

  • Last visited

  • Days Won

    4
  • Feedback

    0%

Everything posted by Tessa

  1. I don't know something better than L2JServer, no matter free or paid.. ^_^
  2. Create an class that implements the IItemHandler interface, then create the methods required by the interface. When you do this, create an array of items that you want to register as a lucky chests, and put the logic for extracting into the useItem method.. This is the basic code that your itemhandler must contains: package com.l2jfrozen.gameserver.handler.itemhandlers; import com.l2jfrozen.gameserver.handler.IItemHandler; import com.l2jfrozen.gameserver.model.actor.instance.L2ItemInstance; import com.l2jfrozen.gameserver.model.actor.instance.L2PlayableInstance; public class HandlerName implements IItemHandler { private static final int[] ITEM_IDS = { // Items list }; @Override public void useItem(final L2PlayableInstance playable, final L2ItemInstance item) { // Logic } @Override public int[] getItemIds() { return ITEM_IDS; } } You can take a look into the itemhandlers directory, there are many examples of how to extract items.
  3. Which server pack you use?
  4. By creating an itemhandler for it.
  5. I can't upload a video cuz I'm browsing with 3G usb :lol: EDIT: I've updated the code.. seems the camera doesn't like so much the Phoenix Blessing :lol:
  6. I was about do to something like this, but I'm too lazy today.. :lol: I don't think so, the camera targets an objects..
  7. That is why the animation delay is 3 seconds, and it's also configurable :lol: I've never seen that on any server :)
  8. Hello guys! Maybe you have seen the effect of RedSky on some servers, when you die? This code works the same way, on die... but instead of the RedSky, I've used the SpecialCamera which captures for some seconds the player that killed you. I had to do something before I kill my self because of this boring day :lol: It's for Interlude, I've tested it on l2jfrozen So ugly patch, but it's written manually... Index: config/functions/pvp.properties =================================================================== AntiFarmPdefDiff = False AntiFarmMaxPdefDiff = 300 # You must active AntiFarmEnabled = True to enable this mod. # AntiFarm if player has Patk < AntiFarmMaxPatkDiff. AntiFarmPatkDiff = False AntiFarmMaxPatkDiff = 300 # If true summons don't give any reward (avoid pvp/pk farm) AntiFarmSummon = False + +#==================================== +# Camera effect on die +#==================================== +# Effect enabled? +CameraEnabled = True +# Distance Camera <-> Killer +CameraDistance = 10 +# Point of view to the killer +# North = 90, South = 270, East = 0, West = 180 +CameraPOV = 0 +# Angle of view to the killer +# angle > 0: looks up, angle < 0: looks down +CameraAngle = 5 +# Animation speed (milliseconds) +CameraSpeed = 3000 +# Animation delay +CameraDuration = 3000 Index: head-src/com/l2jfrozen/Config.java =================================================================== public static boolean ANTI_FARM_PDEF_DIFF_ENABLED; public static int ANTI_FARM_MAX_PDEF_DIFF; public static boolean ANTI_FARM_PATK_DIFF_ENABLED; public static int ANTI_FARM_MAX_PATK_DIFF; public static boolean ANTI_FARM_PARTY_ENABLED; public static boolean ANTI_FARM_IP_ENABLED; public static boolean ANTI_FARM_SUMMON; + // Camera Effect + public static boolean CAMERA_ENABLED; + public static int CAMERA_DISTANCE; + public static int CAMERA_POV; + public static int CAMERA_ANGLE; + public static int CAMERA_SPEED; + public static int CAMERA_DELAY; + // ============================================================ public static void loadPvpConfig() { final String PVP = FService.PVP_CONFIG_FILE; try { final Properties pvpSettings = new Properties(); final InputStream is = new FileInputStream(new File(PVP)); pvpSettings.load(is); is.close(); /* KARMA SYSTEM */ KARMA_MIN_KARMA = Integer.parseInt(pvpSettings.getProperty("MinKarma", "240")); FEW LINES BELOW >>>>>>>>>>>>>>>>>>>>>>> ANTI_FARM_PATK_DIFF_ENABLED = Boolean.parseBoolean(pvpSettings.getProperty("AntiFarmPatkDiff", "False")); ANTI_FARM_MAX_PATK_DIFF = Integer.parseInt(pvpSettings.getProperty("AntiFarmMaxPatkDiff", "300")); ANTI_FARM_PARTY_ENABLED = Boolean.parseBoolean(pvpSettings.getProperty("AntiFarmParty", "False")); ANTI_FARM_IP_ENABLED = Boolean.parseBoolean(pvpSettings.getProperty("AntiFarmIP", "False")); ANTI_FARM_SUMMON = Boolean.parseBoolean(pvpSettings.getProperty("AntiFarmSummon", "False")); + + CAMERA_ENABLED = Boolean.parseBoolean(pvpSettings.getProperty("CameraEnabled", "false")); + CAMERA_DISTANCE = Integer.parseInt(pvpSettings.getProperty("CameraDistance", "10")); + CAMERA_POV = Integer.parseInt(pvpSettings.getProperty("CameraPOV", "0")); + CAMERA_ANGLE = Integer.parseInt(pvpSettings.getProperty("CameraAngle", "5")); + CAMERA_SPEED = Integer.parseInt(pvpSettings.getProperty("CameraSpeed", "3000")); + CAMERA_DELAY = Integer.parseInt(pvpSettings.getProperty("CameraDuration", "3000")); } catch (final Exception e) { e.printStackTrace(); throw new Error("Failed to Load " + PVP + " File."); } } // ============================================================ Index: head-src/com/l2jfrozen/gameserver/model/actor/instance/L2PcInstance.java =================================================================== import com.l2jfrozen.gameserver.network.serverpackets.ShortCutInit; import com.l2jfrozen.gameserver.network.serverpackets.SkillCoolTime; import com.l2jfrozen.gameserver.network.serverpackets.SkillList; import com.l2jfrozen.gameserver.network.serverpackets.Snoop; import com.l2jfrozen.gameserver.network.serverpackets.SocialAction; +import com.l2jfrozen.gameserver.network.serverpackets.SpecialCamera; import com.l2jfrozen.gameserver.network.serverpackets.StatusUpdate; import com.l2jfrozen.gameserver.network.serverpackets.StopMove; import com.l2jfrozen.gameserver.network.serverpackets.SystemMessage; import com.l2jfrozen.gameserver.network.serverpackets.TargetSelected; FEW LINES BELOW>>>>>>>>>>>>>>>>> } } else { onDieUpdateKarma(); // Update karma if delevel is not allowed } } } } + if (Config.CAMERA_ENABLED && !isPhoenixBlessed()) + { + sendPacket(new SpecialCamera(killer.getObjectId(), Config.CAMERA_DISTANCE, Config.CAMERA_POV, Config.CAMERA_ANGLE, Config.CAMERA_SPEED, Config.CAMERA_DELAY)); + } } // Unsummon Cubics unsummonAllCubics(); if (_forceBuff != null) { abortCast(); } for (final L2Character character : getKnownList().getKnownCharacters()) if (character.getTarget() == this) { if (character.isCastingNow()) character.abortCast(); } if (isInParty() && getParty().isInDimensionalRift()) { getParty().getDimensionalRift().getDeadMemberList().add(this); }
  9. Watch this and tell me if you see any balance.. https://www.youtube.com/watch?v=hh6I0SmA9jE Note that this is the official Teon server! :lol:
  10. As VideoCopilot says... for God sake! :lol:
  11. It's not that easy, I was thinking that I can found them by UTPT but the packets are in engine.dll as I heard.. and it's protected by Themida :( So there should be bigger reverse engineering :lol: EDIT: I know all the packet names, but I need their opcodes ^_^
  12. If you know a way to get them, I'm listening :)
  13. They exists since C5 http://legacy.lineage2.com/news/chronicle5_17.html But I still can't implement them because of missing packets or something that controls them..
  14. KKnD's has the same functionality
  15. It throws npe, we need the full script to see something ^_^
  16. My point is that every server around uses these features. So there are nothing that I can't see on any other server... de facto I don't have a reason to log in your server... bye, my post-hunting is over! :lol:
  17. Yep, team work rLz :lol:
  18. Ohh didn't noticed the check... I'm damn noob ^_^
  19. You taking the item after completing the state ^_^ That means you can get noblesse without even have the item
  20. Why this? + player.sendMessage("You must be in party of 2-9 members to use the teleport!"); + return; + } + + else if(actualCommand.equalsIgnoreCase("party")) + { + for (final L2PcInstance temp : player.getParty().getPartyMembers()) + { + temp.teleToLocation(80139, 148616, -3559, true); + } + }
  21. These are the weather effects by default: http://prntscr.com/5q1jcbRain http://prntscr.com/5q1jtySnow They are cool too ^_^
  22. It's not completed, they just started it couple of weeks ago.
  23. What about this: } } +{ + if (player.getParty() == null) + Did you put the party in a loop? :)
  24. What exactly you do to balance the classes? Changing dmg formulas, reducing skill stats or something? I'm wondered because I spend more than year (at least) to do something about that, and still nothing. :lol:
  25. I don't know how Mobius's server work.. in l2jserver there is a RegisterGameServer.bat which does the job. About the hosts file just create an file with no extension and name it hosts
×
×
  • Create New...