Jump to content


VIP Member
  • Content Count

  • Joined

  • Last visited

  • Days Won

  • Feedback


Tryskell last won the day on August 12 2018

Tryskell had the most liked content!

Community Reputation

25 Excellent

About Tryskell

  • Rank
    Distinguished King
  • Birthday 11/15/1986

Contact Methods

  • Website URL

Profile Information

  • Current Mood
  • Gender
  • Country
  • Location
    In your kitchen eating cookies.
  • Interests
    Bitchslapping IL since 2010.

Recent Profile Visitors

5,100 profile views
  1. Changeset 378 (1056) MinionList, Fishing, DerbyTrackManager, Cleanup, Bugfixes MinionList - Addition of show_minion. - Fix the minion respawn (broken on last revision). Ty Ericu for report. - Edited minions system to fit L2OFF behavior. Ty shyr for testing. - Regular minions don't respawn when master is alive. They despawn only if they switch to IDLE (case of returnToRespawnPoint for others monsters). - Raid boss minions are untouched, they do respawn when master is alive, and instantly despawn on master death. - setLeader > setMaster, all uses are edited to reflect it (edited to avoid to melt with getClan().getLeader()). - Minions are now setMaster(null) towards master death to avoid collateral aggro once new master comes along. In order to make minions despawn, a rework of isMinion() was needed. Fishing - L2Fishing is renamed FishingStance. All variables and methods related to fishing are moved from Player to this class. - All fishing zones maxZ are reviewed (no more flying baits). - The way to calculate the bait location is modified. DerbyTrackManager - Fix all issues regarding lanes swap. - The List of NpcTemplate is edited to be a List of Npc, which avoid to generate new Monsters instance on every race. The 24 instances are re-used, over and over. The List is shuffled, then the first 8 instances are picked as runners. - Current race number is now calculated based on LAST REGISTERED HistoryInfo race number, and not on number of total entries. If you manually delete old entries, it won't affect anymore the data integrity (only the data of the ticket you try to retrieve). In the same order of idea, getHistoryInfo is added to retrieve an HistoryInfo based on the saved race number, and not based on the getHistory() index anymore. - Minor reworks here and there (methods rename, addition of methods, Javadoc). Cleanup - Deletion of Config.DEBUG. - Multiple Logger > CLogger. Improve errors log details. Ty Sahar. - AugmentationData cleanup (8900 > 1800 lines for skills.xml). Ty Sahar. - IPv4Filter cleanup. Ty svipben. - Slight edit of SpawnZoneType (renames and merge of identical methods). All zones are edited to reflect x/y/z caps removal. - Add writeLoc as part of SendablePacket, and use it where it can be used. - Addition of spawnMe(Location). - IXmlReader#parseLocation is added. - LoginFail / PlayFail packets static approach. - CursedWeapon cleanup (try-with-ressources, CLogger, static queries). Bugfixes - Fixes due to IXmlReader implementation : - Fix broken chaotic spawn locations loading. Ty shyr for report. - Fix //reload zone - Miss to reset _lastDynamicId to 0. - Fix //reload acar - Miss to "play" with _highestLevel. It's dropped, and accesses are set on TreeMap for easy highest level found. Fix also the log regarding master level logging in. - Refresh informations regarding //reload admincommand (prior to AdminData rework). Ty Toxico. - Fix summons forced skill cast. Ty bowling4soup. - Fix party-broadcasted message related to distributeItem. Ty bowling4soup. - Gatekeeper Arisha HTM cleanup. Add a missing loc. Ty shyr for report. - Add more accuracy to angle<>heading conversion. - PartOfCharacterHeight is set to 95 by default instead of 75 (more accurate with eyes position...). - //spawn default respawn time is set to 60sec instead of 0sec. - Addition of both //show_minion and //knownlist buttons into npcinfo.htm. - Let Cursed Weapon tasks run up to their current loop. Avoid InterruptedException. - BufferUnderflowException is handling differently, to avoid ProtocolVersion spam. Ty SweeTs. - Entire cleanup of isRaid(), isRaidMinion(), isMinion(). - Introduction of isRaidBoss() and isRaidRelated() (previously named isRaid()). - Deletion of isRaidMinion. - Avoid the weird "isRaid() && !isRaidMinion()" to speak about a raid boss. - Fix 2 issues related to teleport process : - on teleport, zones are correctly registered (bug introduced on last rev). Ty SweeTs for report. - compass and water are correctly refreshed (bug as old as L2J). - //setinvul uses isMortal, not isInvul anymore. Deletion of FolkStatus, NPCs are setIsMortal(false) instead. - SiegeFlag alert timer is moved from 20s to 30s delay. - Fix all wrong NPC levels (Bosses included). Add npcId 13015. - Duels are now interrupted if an Attackable hit one of the duelist. - Add the 6 missing castle warehouse keepers on castle related NPCs (they don't exist on L2OFF data too). Ty shyr. PS : when you want to speak about a raid boss or raid minion, simply use isRaidRelated(). isRaidBoss() returns only Raid Bosses. isMinion() returns any minion type.
  2. You probably can run 4 different servers with such machine (probably far more if you got 0 or very low amount of ppl). Your only limitation would be internet connection and the CPU. If the nostalgia is the definitive goal, then I would say, no, it's not a waste. If it's for any other goal, then yes. You wouldn't have a lot of work with any OFF plateforms. They're basically exploitable without any work. Extenders got issues, but it's generally coming from the limited amount of knowledge of the lack of data (for exemple IL). Java is very good for custom servers, since it's really easy to edit any aspect. I would be you, I would pick the main, leaked, OFF plateforms. It was C1, C4, GF. For the leftover power, you can run some OFF extenders (IL, C3,...). OFF needs Microsoft SQL. None Java files can simply be deployed and left "as it". There is always something to repair.
  3. I don't think you need a graphical exemple to understand than if the effect of stun is applied before the effect of damage, than the effect of damage can't affect the effect of stun. But that's only guesses, so far. I didn't test.
  4. Not sure if you correctly explained the 3). There is no perma-effect in the world of Lineage 2. The second effect is simply... vanished. Since an effect of the same type is already applied. Only the damage aspect occurs - which potentially wake up the target. I clearly doubt a stun stops immediately due to its own damage.
  5. The second effect is simply denied (no effect). The first effect stays, for the duration of the effect. What you saw is on reduceHp, it's a luck to be wake up on damage, 10% luck (from the moment it's not dot or consumed hps). So basically, yes, you can wake up from a stun... Since archer stun also deals damages. But that's not proper to stun effect, but damage. Any damage.
  6. It's an Object who tries to move, therefore you haven't many choices : It's a Walker NPC It's an attackable with random walk pattern (normally, only regular monsters got it). It's a player Regarding the location, you actually got it : 175890 y: -116237 z: 17408. So you could simply teleport here and see what happens. You can first see about players registered into this location, then the spawnlist (characters.sql for players, spawnlist.sql for monsters). Finally, if that didn't help you, you can check your Walker(s) NPCs routes. Finally, you should add limits for setXYZ to avoid that sort of crappy stuff in the future. WorldObject#spawnMe() : _position.set(MathUtil.limit(x, World.WORLD_X_MIN + 100, World.WORLD_X_MAX - 100), MathUtil.limit(y, World.WORLD_Y_MIN + 100, World.WORLD_Y_MAX - 100), z); Finally finally, the region system is maybe broken, if that location is supposed to be on retail ground.
  7. There's probably a link between the mySQL you were using, and the mySQL connector which is kinda old. Cool for you it works :).
  8. It's definitively a miss on connection parameters (if you successfully added tables). Check your LS and GS configs regarding it. Db name, user and password must be correct. Caused by: java.lang.NullPointerException at com.mysql.jdbc.ConnectionImpl.getServerCharacterEncoding(ConnectionIm pl.java:3279) You probably used exotic charset. Try to use regular alphanumerical stuff.
  9. What about reading it ? :P You also seem to have a second NPE issue with your FakePlayers crap.
  10. Since you use a revision anterior to rev 373, you have to check error logs directly from the logs folder to get more infos regarding your issue. Since rev 373 and the implementation of CLogger, issues on packets are normally correctly shown, even on consoles. It needs to be spread out to all logs. About your error, check whatever you added as custom.
  11. Provide WORKING scripts to project owners in order they fix them. It means you have to test all those things, on every pack you gonna use. Making guesses out of nothing won't help you, and won't help any project staff. Most of variables are normally taken out of server and not from client, meaning most of those hacks simply can't work.
  12. I would say L2J is a ground like another to begin with, it is also rewarding seeing your own creations taking life. Plus you can eventually contribute to projects, or improve community quality which mean what you did isn't completely lost (while your pacman/ping-pong/tetris game,... are). L2J covers almost anything, from simple things to complex. It goes from adding a config to refactoring entire vital systems (movement, knownlist, mmocore, pathfinding). The good thing being, it doesn't sound like a class lesson/exercice. You should still learn basic Java concepts (OOP concepts : polymorphism, inheritance, class,...), and basic programming logic (logic operators). That's the minimum required to correctly handle things. Without any book (only guesses) and a basic logic, you can count 6 months minimum before being operational (I took personally 1y / 1,5y to be really efficient, without taking any course/lesson/reading book). If you come from another langage, it's probably far, far easier. I invite you to ask questions on Google, and pick Stackoverflow website answers. Also a bookmark on javadoc is needed. Finally, Java is extremely verbose (= easy to read). It is used by Android and multiple other popular frameworks. It also shares a lot of similar points with c# (in case you want to change). It can't be a bad choice.
  13. Less costy to pick a random element than to shuffle a whole container. And your point is to pick a single element, not the whole list, so shuffling the whole list is pointless.