-
Posts
5,360 -
Credits
0 -
Joined
-
Last visited
-
Days Won
62 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Tryskell
-
Help Loginserver console error pop-up. [acis]
Tryskell replied to protoftw's question in Request Server Development Help [L2J]
It indicates you replaced jar while server was still running, or you touched to build folder. Compiled classes couldn't find proper path. -
Help Need help keeping the color aCis Interlude
Tryskell replied to la2betdrema's question in Request Server Development Help [L2J]
Simply query the db to save it on characters table. You have also to know the title and name colors are enforced based on AccessLevel informations. -
Request accur on level up
Tryskell replied to ThelwHelpRePaidia's question in Request Server Development Help [L2J]
Instead of level, you can Math.min(level, 80), limiting to 80. DEX will still effect the value. -
Request accur on level up
Tryskell replied to ThelwHelpRePaidia's question in Request Server Development Help [L2J]
FuncAtkAccuracy, based on effector DEX and level. -
Request Monster Race Manager
Tryskell replied to vampir's question in Request Server Development Help [L2J]
@MasterToma, if you got an idea, ty in advance. -
Changeset 389 (1660) Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration. AI rework, Organization, Bugfixes AI rework - ty bowling4soup - Drop all redundant parameters (_skill, _target,...). We now use parameters from Intention. - Merge setNextAction and setNextIntention behaviors. - Add all missing queued actions (sit/stand, move/stand, etc). - Stacking attacks don't bug anymore, it is now processed by queue intention. - Skills (toggle skills included) are now queued if a cast is already occuring. - TamedBeast got now its own AI. - Drop following AiEventType : STUNNED, PARALYZED, SLEEPING, ROOTED, CONFUSED, MUTED, AFRAID, FAKE_DEATH and their related AbstractAI#onEvt. Merge all start/stop methods with the few uses upon skills.effects. - Add following AiEventType : FINISHED_ATTACK_BOW, BOW_ATTACK_REUSED, OWNER_ATTACKED. - Add following IntentionType : USE_ITEM, FAKE_DEATH. - AdminEditChar#gatherCharacterInfo is slightly edited. - Add Creature#_hitTask and _bowReuseTask to track current attack, giving the possibility to deny launched attack. - Attack stance activation has been reworked. - Shift use is now taken in consideration for attack, cast, pickup, interact and follow intentions. Organization - Generate CreatureAttack and CreatureCast (doCast got now a int, int version for easier usage) based on Creature content. Organize Creature leftover. - Many comments over skills are cleaned up. - Introduce ElementType enum, which got embedded vuln/res Stats for easier method process. Skills are edited accordingly. Fix few skills elements. - Split enums from NpcTemplate to their own classes (NpcAiType, NpcRace, NpcSkillType). - NpcRace got embedded vuln/res Stats for easier method process. - CreatureStat is cleaned up (javadoc included). - Stat related calculation (STR, DEX, INT,...) is now processed only on PlayerStat, which avoid 300k calcStat calls on server loading (and probably far more on regular exploitation). - Addition of cantBeNegative() on Stats for easier method process. - Merge Formulas#calcPAtkSpd and Creature#calculateTimeBetweenAttacks into Formulas#calculateTimeBetweenAttacks. Introduce a security limit of 100ms. Fix it using AdvExt as reference. - Add clone() override upon Point2D, Location and SpawnLocation - make a use of it. - Generate Creature#fleeFrom, Creature#moveUsingOffset and Npc#moveFromSpawnPointUsingOffset for easier management of such behavior. - Rename Creature#setRunning/setWalking > forceRunStance/forceWalkStance, Creature#setRunning(boolean) > setWalkOrRun(boolean). Proper override is done. - Move Creature#_AIdisabled to Npc#_isCoreAiDisabled. - L2Effect > AbstractEffect. Big cleanup + javadoc. Delete most EffectTemplate redundant variables, use getTemplate() content instead. - Generate EffectHolder, which is used by multiple packets. - Drop "applyCond" parseCondition call over attachEffect (useless/unused). - Generate SkillOpType / SkillTargetType enums. Edit skills.xml accordingly. - Split the 28 targets type in their own ITargetHandler, introduce TargetHandler. Generate gameserver.handler.targethandlers package. - Delete unused L2Skill removedOnAnyActionExceptMove and removedOnDamage boolean tags and associated subsystems. - DocumentItem, DocumentBase and DocumentSkill are moved to gameserver.data package. - L2Skill and AbstractEffect are moved to gameserver.skills package. - ExtractableProductItem and ExtractableSkill are moved to a new package on gameserver.skills.extractable. - Drop Attackable#useMagic, which was only used by QueenAnt script. - Distance related methods organization - Delete MathUtil#calculateDistance/checkIfInShortRadius. Delete Creature#isInsideRadius/getDistanceSq/getPlanDistanceSq. Generate methods on WorldObject, based on stored _position. Wipe all previous methods use, to simply use those. - Rework Point2D / Location distance methods ; they are now called distance2D/distance3D and isIn2DRadius/isIn3DRadius for proper usage. - 3D version of distance checks are now deployed on more places (all skill casts, most of NPC behaviors). 2D is still used for movement and some attack aspect to avoid problems. - Rename 3 packets related to PartyMatch system. Bugfixes - Delete official adena reward out of Q127 (exploitable). - Q367 rewrite using L2OFF. Fix quest exploit. - Fix player freeze (cant move/attack but they can chat). Ty zemaitis. - Fix MotherTree default value process over affectedRace. Ty p0w3rf1y. - Crappy Buffer can now handle exotic level, simply use "level" flag. All flags except skill id are now non-mandatory. Some cleanup + Javadoc. - Fix aggro about positive effects upon Attackable. Ty p0w3rf1y. - Rework HotSpringDisease script, adding missing events. Ty p0w3rf1y for report. - Fix normal and pvp flag timers. Ty p0w3rf1y for report. - Effects with stackorder 99 aren't cleansable anymore (raid Curse, anti Strider slow, 'BOSS' tagged buffs, signets effects, etc). Ty p0w3rf1y for report. - Signet symbols are fitting AdvExt (not cleansable, duration 8sec, few effects differ). - Provide correct visual timer upon debuff. Ty SLugeR. - Fix Cancel behavior (randomly chosen, works on any Creature, doesn't cancel specific effects (charms, noblesse...)) - Ty SlugeR. - Fix invalid encoding over Q021#31524-06a.htm. Ty RooT for report. - Add 5600-5699.xml, holding Apella sets triggered skills. Since they aren't existing client side, client got visual issues. Nothing I can do about it, except using "real" existing ids or edit client (which I won't do). - getDestination() isn't edited anymore on the fly, NPCs shouldn't "visual jump" anymore from one position to another (case of random walk, fear). - SetupGauge is also set for FUSION or SIGNET_CASTTIME cast. - Drop the few IDLE intentions on scripts. - Rework Orfen script : - The check task is set to 10s instead of 60s. - There is no more walking behavior. Fix a NPE in the same time. - Use of NpcStringIds. - Add missing 20% chance paralysis upon onAttack. - Add missing curses check (raid + antistrider slow). - Implement PartyMatch system AutoJoin button. - Fix the available rooms list on PartyMatch system to fit with AdvExt. They shouldn't be filtered. - Reset Pvp flag and unequip Adventurer's weapons upon karma kill. Ty p0w3rf1y. - SiegableHall - misc - Fix CastClassException over getAttackerClans(). - Add missing SiegableHall content over RequestJoinSiege/RequestSiegeAttackerList. Add proper CP_CS_MANAGE_SIEGE usage. Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
-
Discussion L2JLucera Source code
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
Obfuscators are only used for one purpose (maybe 2, since they also optimize), uglyness isn't one of the criterias. Being "aa" or "ubeibaibaa" method rename, an obfuscator... Obfuscates. The thing is, since L2J is open source, and most methods are shared between packs, it's doable to revert back based on existing methods. So if you want to de-obfuscate something, since it's L2J, you actually can do it. It would take you time, but you got an "after" state, and the "before" state is shared worldwide. The only thing you need is then, time. But like anything on earth, does it worth to waste hours of time to de-obfuscate something, rather than simply use another pack... That's what an obfuscator does. Waste your time, or at least prevent you to waste it trying to de-obfuscate. -
Discussion L2JLucera Source code
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
Obfuscators, in same time they obfuscate, can (if you check a case on) generate the association table used, in order to (notably) handle exceptions. It's annoying to manage, but it's doable. -
Skill chance (l2 aCis)
Tryskell replied to Maximotatos1's question in Request Server Development Help [L2J]
If it applies an effect, the effect itself can have a rate. So "power" can have 2 read possibilities : Some skillType use it as the regular power rate, as you stated. Some others use it as a "land rate" power. Which means, the whole skill effects or not. Then real "effects" are triggered, each after the other and independantly of each other. The target can resist to one or multiple effects, depending about their own effect type. Finally, many other variables affect the global land rate (MEN/CON of target, resists/vulns, etc). You can use Developer config from server.properties to see what is currently happening. -
Cant install buffer on l2 aCis
Tryskell replied to Maximotatos1's question in Request Server Development Help [L2J]
Generally for a new NPC you simply copy-paste the template you want to clone, associate it a new name, title and id (keep it in the range of Tryskell NPC, that xml is only here for customs), insert idTemplate as visual NPC id you want to clone, and then you put following tags to override client name/title. <set name="usingServerSideName" val="true"/> <set name="usingServerSideTitle" val="true"/> About HTM, you simply need to override getHtmlPath to link to correct HTM folder. Both Tryskell and Andromeda custom NPCs are a good start to see how to implement a custom NPC. -
Help l2jfrozen item location
Tryskell replied to bershake's question in Request Server Development Help [L2J]
Datapack, XMLs. Like any L2J pack out there. -
Help hit after skill
Tryskell replied to Maximotatos1's question in Request Server Development Help [L2J]
Almost 12y actually (2008-04-26). If you want to know all issues of that revision, you can read aCis changesets topic. I can give you some, already : 80% C5/IL skills not implemented, no partymatching implemented, missing C5/IL scripts (will be coded during GF only). Regarding bugfixes, I could easily list 600/800 issues (if I had time to waste), at least 5 known exploits and 1 crash server exploit. So, missing interaction is like the least of your trouble. :) -
You can check implementation of this buffer on aCis public sources, and figure out what you did wrong. Baggos version is an (unauthorized, btw) edited version of v1 (rev 324), v2 (rev 364) version interface is improved by a lot. Also, Sahar fixed one issue not a long time ago (rev 386).
-
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
By "shared", I meant "zipped shared". We were speaking about L2eola zip share on MxC. I already even told you WHY and HOW it currently protect people : - Guarantee of file tracking (virus, etc) - Guarantee of revision tracking (to eventually answer if fixes have been deploye dor if it has to be adressed) - In that topic, I already spoke about L2Pride share, and how it basically broke that concept, since any noob could open a server based on a share. My rules are the same since 2012 and freemium concept introduction. I already backed 2 custom, public aCis forks in the past. Elfocrash (L2JVelvet ?) was one of them, and unfortunately both died very fast. Sido would probably be happy to host your forums, and link both projects. Finally, both @Sido and @SweeTs got no rights over aCis management - they're here since the beginning, and if they got something to say I can listen, but that stops here. None of them actively coded for the project, they supported it in other maneers. Hell, even @Rootware and Hasha, got no rights. I'm a dictator ! -
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
There's a whole world between multiversion login and multiversion server. "Just get a bunch of people"... Do you know how much ppl already contributed to L2J, and you still got that feeling nothing is working correctly ? Until you're a real life project manager, and got illimited human ressources, simply forget the idea. It took me 9y to put aCis where it is (bad tongues could say I didn't work for almost 3 full years, but bad tongues are unable to assure project management for as long time), and I don't even count all people who contributed. So a MULTIVERSION server ? With all checks, races which are/aren't here, features to desactivate/activate, scripts rewards rates/differences/full rework on GoD ? Lol. Gl with that. I don't even count human ego in the story. Who will be the leader of such thing ? And who seriously will accept it ? -
Help Erro GameServer
Tryskell replied to HARDECORE's question in Request Server Development Help [L2J]
It tries to register item elements while using RequestExEnchantItemAttribute packet - and it seems it already exists. L2ItemInstance line 1069. Either check if attributes already exist and discontinue method process, or replace the query for a "ON DUPLICATE KEY UPDATE" behavior, which will correctly save things if a duplicate is found. I'm not a postIL dude, so my answer will be limited to that. Gl ! -
Changeset 388 (1562) Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration. Env drop, PartyMatching, Quests, Bugfixes, Organization Env drop - Ty Hasha for debug. - Drop Env and Lambda, which were retaining a lot of pointless variables. - Add missing "base" functions, and make a use of it. - All FuncHennaCON/DEX/... are merged into FuncHenna. PartyMatching Organization - Merge PartyMatchWaitingList and PartyMatchRoomList into PartyMatchRoomManager. - Move PartyMatchRoom on model.group, make it use AbstractGroup. - Delete package model.partymatching. - Related packets are cleaned. Methods are generated on appropriated classes to make it cleaner. Bugfixes - Fix all possible CMEs due to unappropriated containers, fix one possible NPE. - Rework the changeLeader management to avoid a client crash. - Add the missing max member amount check. - Rework waiting list behavior to fit with L2OFF. - Set the location as "1", to avoid a client crash. Put a TODO, as we miss needed implementation to code it as it should. Quests - Q351 : Fix reward. Ty p0w3rf1y. - Q025 addition. Ty roko91 / Hasha. - Q335 addition. Ty RooT / Hasha. Bugfixes - Fix login system, reverting Account cache system. - Clan skills aren't rewarded on Player relog if reputation < 0. - Clan skill, upon acquisition, isn't rewarded if reputation reaches 0. - Add a missing Config.MINIMUM_CLAN_LEVEL use over ClanMember. - Fix Sand Cloud, Heroic Grandeur, Heroic Berserker, Invocation skills. - Rework ForestOfTheDead in order Npc references are correctly exploited + some cleanup. Ty Hasha. - Fix HP/MP Clan Hall regen calculation. Ty p0w3rf1y. - Save ClanHallFunction upon creation. Ty p0w3rf1y. Organization - Optimize packet sending over Clan skill acquisition. Movement is still experimental. The status IS NOT OK for LIVE servers. MoveToPawn behavior still need to be fixed. Siegable Hall isn't tested, and probably need further development. Those CHs are normally fully working regarding owner administration.
-
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
It doesn't collide with what I say :). L2J isn't complex, once you are aware about inner organization ; the "complexity" comes from the size and from the amount of features colliding between each other - at worst. Technically, there are only few parts which can block someone, and that would basically be, from my PoV : movement, geoengine/pathfinding, mmcore/network, knownlist. The leftover is complex only if the developer is complex in his head. About customs, the only limit of complexity is your imagination, and the question "is it really useful ?". -
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
I, and L2 world in general, got no point opening a public custom version of aCis, except sitting my dominion over Interlude chronicle, once and for all, leaving (almost) no other space for other packs in this chronicle. Do we really want the same custom server spreads everywhere ? I believe than no. Simply see how that L2Pride share harmed the concept of L2Pride ; any idiot could simply open one server out of nothing. And I believe CONCEPTS should be kept original, and the sole property of "real" developers (aka, people who used their time to make the thing possible). Not from a leecher, who simply downloaded something at best, or stole it at worst. My position towards customs generated a whole ecosystem which wouldn't eventually exist. L2JFrozen's death actually harmed me, it was what I call "my anti-noob firewall". That project shielded me for a very long time of retards, people who aren't able to read a topic, leechers, and whatever else bad people you (I, at least) don't want involved into development. While I agree everyone should access to some decent BASE files (and that's what I aim with aCis, giving anyone the chance to open a decent server), I believe UNIQUE CONCEPTS should be kept secret. And overall, it's more challenging trying to reproduce something than to invent something out of nothing. -
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
1.5 is a side project from Reynald0, it isn't affiliated to L2JFrozen initial team. He picked latest free L2JFrozen sources as base. 2.0 was supposedly the private/premium version of L2JFrozen, except than Shyla/Nefer never did it. They did few revisions based on L2 towns naming (Giran, Oren, etc) and that's almost it. There are numerous abandoned chronicles out there, not sure why everyone focus on IL. I chose IL because it's the chronicle I mostly played on, but I doubt it's the same for every monkey out there. :) You got entire chronicles like C1, C4, GF which can be easily done with reliable informations (unlike IL) and which aren't (a lot) developped (some aren't developped at ALL). ---- Custom packs would never get the priority over packs which work on retail fixes, simply because retail fixes are way harder to produce than customs, which are abundant and heavily spread/shared. I simply can apply the 10 most used customs, clean them a little and call aCis a "custom pack". That would probably make okish concurrency to L2JFrozen and alike. But well, I got better things to fix for now. Maybe I will move of chronicle/type when I will judge aCis mostly done. :) -
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
It actually matches really well the background. They even developped some parts of that aspect in retail, but they didn't go really far, where it could be actually a real part of the gameplay. -
Discussion ANY L2J Dev United for IL
Tryskell replied to xFranky's topic in Server Development Discussion [L2J]
Faction engine is a matter of 400 lines, more or less. Trickiest part - if that is tricky - is to put faction checks on existing features. The leftover is extremely basic, and can be basically adapted from any server pack holding faction engine to any other server pack in few hours, or coded in few days taking your time. Before opening aCis, back in 2010, my own server project was a faction server, that's to say how easy it is to code it.