-
Posts
5,365 -
Credits
0 -
Joined
-
Last visited
-
Days Won
67 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Tryskell
-
Help Who Know Java Code Killing Spree
Tryskell replied to MegaCheat's question in Request Server Development Help [L2J]
1- You store a Future _spreeTask on the Player level (your impro variable should be named _impro, btw). 2 - You cancel it and relaunch it on every kill : if (_spreeTask != null) _spreeTask.cancel(false); _spreeTask = ThreadPool.schedule(() -> _impro = 0, 60000L); Basically, if you kill someone, it will cancel current task and reschedule it with a fresh timer. If you want to avoid to make one task per Player, you can also handled it using a Manager (similar to multiple other timed stuff : pvp, random animation timer, or even movement in default L2J...), where you register all Players on a 1sec task manager and test each of those every second. -
Help Acis 399 DNS
Tryskell replied to Kotegaeshi92's question in Request Server Development Help [L2J]
Hiho, correct me if I'm wrong, but I don't think regular L2J handles that scenario too. Part of latest L2J LoginServer : InetAddress bindAddress = null; if (!server().getHost().equals("*")) { try { bindAddress = InetAddress.getByName(server().getGameServerHost()); } catch (Exception ex) { LOG.warn("The Login Server bind address is invalid, using all avaliable IPs!", ex); } } try { _selectorThread.openServerSocket(bindAddress, server().getPort()); _selectorThread.start(); LOG.info("Login Server is now listening on {}:{}.", server().getHost(), server().getPort()); } catch (Exception ex) { LOG.error("Failed to open server socket!", ex); System.exit(1); } And there is no reason it worked before, since no edition is made on that level, and it is identical to what latest L2J LoginServer delivers. Basically, hostname is translated into IP on server (being ls or gs) startup and I don't know any task updating it. As Trance said, server should use DynDNS plugins. (Btw I'm sorry, but I can't quote or got any format tool for the message since few months already). -
Help TvT Event acis 399 error
Tryskell replied to Sonti's question in Request Server Development Help [L2J]
Don't use FBIAgent's TvT, it is at least 10y old and since BRs (=Sarada) don't know how to code, they simply re-share with 0 added value (or bad written configs addition). -
Help SummonCubics Error
Tryskell replied to barao45's question in Request Server Development Help [L2J]
You tried to summon a SummonCubic but couldn't initialize an instance of tha Npc because it requested "cubicLvl" integer value but didn't find it. Verify your data.- 1 reply
-
- 1
-
-
Help NPC displaying HTML from java
Tryskell replied to Sheol's question in Request Server Development Help [L2J]
1 - Use a Map to store content, ppl can flood your server simply pushing one button (put command in macro and voila, ask your clan to do that). Db should be used only to load/save at start/stop, or eventually for important stuff (character/inventories). Tbh, characters got no reason to store that info it should be a specific table (or even better, PlayerMemo). 2 - Make a new Npc instance or, even better, a new script with onFirstTalk event. -
Help Adding markers for party members
Tryskell replied to Glimpse's question in Request Server Development Help [L2J]
@Ugleethyn Setting the TeamType isn't enough, if you only do that it will be sent the same way for everyone. That's basically what does Duel. If you check shares, you will see isInSameParty check over CharInfo, which enforces conditional appearance depending if being part of the same Party or not. So sending the "same" packet generate different output, due to inner packet conditions. -
Help how can i change the distance between monster and player?
Tryskell replied to Eddyyy's topic in Request Support [English]
Movement is a complex (not the hardest, but still) code, unfortunately giving you an "exemple" would be basically coding it for you. And launching yourself on such thing without experience is bad aswell. Eventually, read old L2J code, movement is working "ok" - at least it doesn't have your type of issue. Try to mimic what exists, on whatever pack the feature is working on. You can begin to quote moveTo and unquote moveToPawn and figure if it works better or not. -
Discussion Acis Source
Tryskell replied to iliasgsxr1000's topic in Server Development Discussion [Greek]
As says Nightw0lf, classes in general got "L2" dropped and the instances were renamed in a single revision during rev 367. General rule is to drop "L2" and "Instance" out of it, the exceptions are listed in changeset 367. About regular classes and methods, they also can be renamed, merged, refactored - it's largely splitted over aCis history - 36th cycle was almost only about it, and laterly was regrouped under Organization tab since rev 382+ (package holding all enums, addition/removal of methods, etc). If you manage to re-adapt a code, consider to share it back on the associated topic. People forgets to do that, those days. -
Help how can i change the distance between monster and player?
Tryskell replied to Eddyyy's topic in Request Support [English]
moveTo goes on the exact same spot than X/Y/Z. It uses MoveToLocation packet, which got no specific content about offset. Use moveToPawn to set and handle an offset. If you can't use moveToPawn (for no reason, but let's say you can't), edit updatePosition in order to handle offset and call a stopMove if you reached the place (if offset > 0 and dist < offset return true). It's definitively not what L2OFF is supposed to do, but it will work. Without proper offset calculation/handling, everything like bows etc will make you melee. -
Help Adding markers for party members
Tryskell replied to Glimpse's question in Request Server Development Help [L2J]
@xJustMe answer is fine, eventually make the difference between leader (in red) and regular members (in blue). -
Discussion Lineage 2 Interlude
Tryskell replied to Lineage2Interlude's topic in Server Development Discussion [L2J]
Just as a sidenote (for aCis), the AI thing takes a longer time than expected because L2OFF data isn't reliable at all and we struggle to find decent data to parse (current version is like 15+-1h respawn time for boss and 3x the amount of spawns sometimes, for something tagged/shared as "untouched"). C5/IL content is handwritten as if you or me had it written manually - and we probably could do a better work. L2OFF IL is a fucking clown, if you ask me. I'm sad to be an IL lover, that would be far more simple with C4/GF (probably would be already done with C4 since they got far lesser systems/AI types). The parsing itself is done and repeatable at will, the core logic is mostly done (regular/regular bosses/70% grandbosses). The leftover will be AI exceptions (particular individual AI), which won't run any AI time we find/do them. -
Help Character Killing Monument
Tryskell replied to andy1984's question in Request Server Development Help [L2J]
for (WorldObject object : getKnownType(Player.class)) { if (object instanceof Player) { sendInfo(object.getActingPlayer()); } } > getKnownType(Player.class).forEach(p -> sendInfo(p)); -
Help Pets: Null state & No name exists.
Tryskell replied to Victory's question in Request Server Development Help [L2J]
Name appearing as null is fine, since it's the name the pet owner decides to put which is taken in consideration - and by default, no pet got any name. The "null" appearance only occurs on custom (admin) messages, so it's not problematic aswell since nowhere else client finds such info. We can use template name if no personal name exists, but that's only for aesthetic purpose. I will make a commit for that. The inventory flute with "no name exists" is also, perfectly fine from the moment the owner didn't set any name (same on L2OFF aswell). If he sets a name, the value is edited. About the interaction itself, I tbh don't remember if I had to fix such issue between rev 401-latest. It works as intented on the PTS, which uses latest.. -
Source L2 interlude server files needed!
Tryskell replied to Rospys's topic in Server Shares & Files [L2J]
You probably make something wrong, since everything is on the good place. https://gitlab.com/Tryskell/acis_public/-/tree/master/aCis_gameserver/config ---- About aCis we're working on retail AI implementation since almost one year, it will simply slap every single L2J project's face by a FAR, FAR margin on the AI question once it's fully operational. Lucera, until they made major changes, wouldn't compete anymore - since they use the basic L2J RU fork than any russian is using (eg. L2Scripts included). Regular monsters and few bosses are already testable on aCis PTS. -
Help [Acis 401] Problem on Compile
Tryskell replied to Rospys's question in Request Server Development Help [L2J]
https://stackoverflow.com/questions/62637584/how-to-set-default-jdk-compliance-level-and-release-enabled-in-eclipse-jdk-prefe https://stackoverflow.com/questions/50734953/how-to-set-jdk-compiler-compliance-level-to-10 etc. Do some search, it's your environment which needs some fixes. -
Help [Acis 401] Problem on Compile
Tryskell replied to Rospys's question in Request Server Development Help [L2J]
Edit your Eclipse compiler JDK compliance. Also be sure to use latest Eclipse. -
Help [Acis 401] Problem on Compile
Tryskell replied to Rospys's question in Request Server Development Help [L2J]
Delete JRE (which is version 8 btw) and install JDK 11. -
I played L2 mostly on C3/IL private servers (Dragon Network x5, Dragonians L2OFF), then on retail when GoD was released (around lvl 86) and except few hours on L2OvC (released by my laboratory monkey Sahar), I never played again on a server. I play TESO, some Satisfactory and I was on the Dark and Darker playtest (unfortunately it was only one week of game and I played for 3 days) those days. Most of my MMO experience is on non-Steam games : Warhammer online (where the private server state is way worst than L2J btw - mob don't use any skill), Rift, Dungeons & Dragons Online, Star Trek Online, Aion (private server), Fallen Earth, Black Desert Online, Lord of the Rings online (was collecting the Turbine Points to unlock multiple zones), Vindictus, APB Reloaded, Defiance, Planetside 2, Perfect Online,... I got probably multiple thousands hours of games on all those MMOs, played more than 15 for sure with heavy hours spent on.
-
Help Genre switching without relogin
Tryskell replied to Williams's question in Request Server Development Help [L2J]
It's not the packet which generates the issue, it's what happen after - IN RESPONSE OF that DeleteObject packet. Which explain why laRoja/AbsolutePower use ThreadPool to differ execution. -
Help Genre switching without relogin
Tryskell replied to Williams's question in Request Server Development Help [L2J]
Sorry, but I have already chosen other battlefields to spend my time on. -
Help Genre switching without relogin
Tryskell replied to Williams's question in Request Server Development Help [L2J]
aCis was totally free until mid 2012, then 1€/rev until 2021. The multiple thousands hours of work of my whole community worths far more than actual price. None requested to promote your project on an help request topic related to aCis (which seem to be a trend of your, like our previous dialogue). Moderators do their job when they have to, I don't need to call them, you make a fool of yourself alone and you probably broke rules. Don't victimize yourself when you are wrong. I actually answer when someone speak about my project on public forums, which is normal and is my right. It just feels normal to correct something when it is actually wrong. Also, debating (when there are arguments) should be natural. By the way, I still wait your proof about my "russian dev hiring". You should thank moderators, really, it actually helps you not being seeing as a giant . Hopefully you're lesser than 20, otherwise it's dramatic. You should learn to use facts, numbers and avoid to craft things out of your mind to make yourself more competent and more trustful. I cut the offtopic here ! You forgot the part where I said it was generating a critical error on client. -
Help Genre switching without relogin
Tryskell replied to Williams's question in Request Server Development Help [L2J]
Direction never changed, it always focused about retailness, with uneeded dropped customs and an emphasis about dropping existing content to rebuild it (skills and scripts were deleted in 2011 - you can't say I changed my way of doing things, it was always like that). Rev 220 isn't really different than L2J IL vanilla (with maybe 100~ fixes and a overhaul step-up using L2J GF, then L2J H5), since most of the changesets were extremely short and mostly based on skills/quests re-addition. The first 220 revisions are maybe the size of 50 current revisions in terms of size, and definitively not the best ones in terms of content (I mean, except the GF/H5 overhaul, it is simply L2J with L2J issues). The first 50 revisions are even shorter and equal maybe 5 current revs. You basically don't even know what is currently aCis, and I would be perfectly fine with it if you weren't insulting randomly, based on strictly nothing since you got 0 arguable point to do about my/my community work, since you stopped to follow it around 2011 (eg,10y ago for those who are bad in maths). For one time, the flow of trash which generally comes from your mouth is actually right. 2011-2013 was basically upgrading L2J IL using L2J GF/H5 (trade sanity checks, olympiads rework, C5/IL skills addition, partymatching addition,...). There is nothing to be ashamed about or to laugh about, I planned it like that. Unlike you, I didn't sit on other ppl faces to make it. It's cool if you didn't have to care about all that, since others did the job for you, but I had to do it since I had no pack to copy-paste (unfortunately, Sethek which was under L2JArchid dropped his timeline so I couldn't base my job on other ppl fork).