-
Posts
5,365 -
Credits
0 -
Joined
-
Last visited
-
Days Won
67 -
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by Tryskell
-
[Help] AccessLevel Question
Tryskell replied to Mysterio98's question in Request Server Development Help [L2J]
Sry to say that, but Is the normal way. Except if you have a population of 5000 players with 1000 GMs, I don't see the problem. In the normal way, you edit accesslevel of only GMs. So 1 number for admin, 1 other for each GM. What's wrong ? ---- Btw, I just saw that : I am thinking of running an Interlude GM Server What's supposed to be an "Interlude GM Server"...? If it's supposed to be players got some GM powers, refers to myself : And instead a 0 in accesslevel, put a 75. ---- as DarkKnightCZ said, you got too normally sql about accesslevel. If not, it's java part. You will have to change accesses too to differenciate admins, gms, and semi-gms (players). -
[Help] Pvp points from Mobs
Tryskell replied to dymek1984's question in Request Server Development Help [L2J]
Well, I don't think you understand how the whole thing works, so let's explain some things, even if that goes beyond X-Files and Mulder + Scully must search me atm :). ---- This instance is specially made for your mob. Other codes made for the old particular instance (here, it's L2Minion) have to be deleted or corrected. We take L2Minion because of the pre-made template, and we delete all others things in. That's all. ---- Second thing you have to understand, an instance IS the thing the instance is created for. Why I say that, it's because you have to put yourself in the point of view of the instance. Here you have to think as a L2PvpMob. It's surealist, but good question could be : "why I exist ?". Good answer : "To reward players with pvp points when I die." I said to you about X-Files, aren't you ? :D ---- Third thing for you to understand it's all about variables. Some variables are taken from others java parts. You have to do the inventory about what you got on your instance, and use it as tools. ---- Ok, I stop saying bullshit now, you must be already sleeping on your keyboard. Let's take all points one by one. From your code, you have first to delete things which are useless. It will make your code easier to read, and easier to find bugs if there are. The @Override means this method already exists in the main model this instance inherits for (in this exemple, your L2PvpMob inherits from L2MonsterInstance because of the extends, public class L2PvpMobInstance extends L2MonsterInstance and use your method written in L2PvpMobInstance instead of the super model one (which is, I hope you follow, the L2MobInstance one). You have to keep only the doDie override method. Shorter version = main method + override = override. The main method is pushed out by your custom one. Secondly, in the L2MinionInstance code, it's normal there is a master, as a L2Minion is nothing without a master. You already played to L2 aren't you ? So delete all things related to master too, we aren't a L2Minion anymore, but a proud L2PvpMob. NOTE ABOUT THE CLEAN ON IMPORT PACKAGES. As we don't need the OnSpawn override, near all old imports are useless. Imports don't count at all in your compiled project, but it's more cleaner like that. NOTE ABOUT COMMENTS. Comments are cool, but not-related ones are hell. Clean or modify useless/outdated comments, it can save you some minutes in the future. As 1 + 2 are clean related, I made only one code part : package com.l2jserver.gameserver.model.actor.instance; import com.l2jserver.gameserver.model.actor.L2Character; import com.l2jserver.gameserver.templates.chars.L2NpcTemplate; /** * This class manages special pvpkill rewards mobs. */ public class L2PvpMobInstance extends L2MonsterInstance { public L2PvpMobInstance(int objectId, L2NpcTemplate template) { super(objectId, template); setInstanceType(InstanceType.L2PvpMobInstance); } /** * Manages the doDie event<BR><BR> * * @param killer The L2Character that killed this instance.<BR><BR> */ @Override public boolean doDie(L2Character killer) { if (!super.doDie(killer)) return false; return true; } } See how the code have been reduced ? The code upper is supposed to work as a L2Monster, with a custom doDie method. I don't know L2J higher than IL, as I work only on it, so if you have problems with setInstanceType(InstanceType.L2MinionInstance);, please send an error report or try to correct it. ---- Second part was a part of clean, but it's a part of creation too. The question is : "How to give to player an amount of pvppoints, as the mob haven't this feature ?" I already answered higher, saying something about mob lvl :P. So why do you try to copy past your old code ? Ofc it will bug. As you tried to do it, it's related on the doDie method. The doDie method says : if I die, what I (the current instance, so see from the PoV of a L2PvpMobInstance)'m supposed to do". ---- Third about the variable stuff. We have to exploit possibilities we have. @Override public boolean doDie(L2Character killer) { if (!super.doDie(killer)) return false; return true; } What do you understand from that ? 1 - it's an override method, so a main method exists. Basically if you change the supermethod, your custom mob won't be affected. 2 - (L2Character killer) is VERY important. It significates : when I die, I remember the L2Character which killed me. A L2Character is many things, but mainly players and summons. If you open L2Character, you know more about it : /** * Mother class of all character objects of the world (PC, NPC...)<BR><BR> * * L2Character :<BR><BR> * <li>L2CastleGuardInstance</li> * <li>L2DoorInstance</li> * <li>L2NpcInstance</li> * <li>L2PlayableInstance </li><BR><BR> Currently, L2PlayableInstance is the main class of L2SummonInstance and L2PcInstance. ---- Now about your custom code : you will have to interrogate killer. As killer is a L2Character, you will have to transform it to a L2PcInstance at one point of your code. Try to find codes which do that, they are a lot - do a search with (L2Character). as killer can be many things, you have to make checks (NPEs checks, but too others checks if L2Character is related more than summons and players). As example, if the killer is a L2Summon, it's stupid to give pvpkills points to the summon, so you have to redirect points to summon owner. as there are no pvp points on the mob, you have to use a custom calculation. So find how to get the mob level instead (anywhere in your java project). Many, many things already exists. If I want to poke you, I could say you don't have to code anything, because all is already existing. You have to read existing circumpstances to make your own circumpstance. How work the system if a player is killed by a summon ? You got the summon -> owner redirection here. Think like that for all, and little by little you will have all pieces in your pocket. ---- Basically your code would be like that. You can keep the comments to help you, and code between it. @Override public boolean doDie(L2Character killer) { if (!super.doDie(killer)) return false; // check if the killer is different of null (to avoid NPE error) // check if the killer was a player or a summon // if killer is a summon, redirect to a L2PcInstance type // do a custom calcul using mob level // add the custom calcul result to the L2PcInstance total pvp points // if killer is a player // do a custom calcul using mob level // add the custom calcul result to the L2PcInstance total pvp points return true; } FOR EACH IF, YOU GOT AN IF { LOWER LEVELS COMMENTS }. So yeah, you will have imbricated "if" statements. Example below if { if { if { } } if { } } -
I talk of pvp in low rate type. Archers Daggers Mages Healers Tanks Dwarves (they got 3 skills : stun, craft/spoil and their emote dance). ---- In high rate the solution is simplier : archers / daggers mages healers Other classes are often disbalanced, so unplayable.
-
Many players (i'm the part of it) are stucked to IL because this is the last "not Aion" chronicle, after IL, it's not even L2 anymore, it's a pre-Aion like. PvP in IL is far funnier than Aion, and believe me or not, Aion is more disbalanced than L2. About new skills etc, why to add new skills in L2, when 30 to 60% on some classes aren't used. L2 nowadays is a sort of Aion, and this is the main error. They create contents because their servers are full of high lvl players. I don't even talk of heretic things from Freya, like low lvl areas becomes high lvl. Or kamalols. Anyway, in L2 IL you still can have massive amount of fun, all depends of the balance the server owner will made. And this is the main point, because even low rate, there are balances to do, and many things to correct because IL chronicle have never been finished correctly. On a x5 server, you can have around 1y playtime before get bored, without any customs from server devs. And death to all x5k rate with stuff +25. They missed something.
-
Hi have a qwestion about Game serrver error's
Tryskell replied to dXXX's question in Request Server Development Help [L2J]
Ask a magical wand for Christmas. What about revision/chronicle/pack ? ---- 1 - Check another datapack about "antqueen.py". 2 - No clue what is it, mmocore fails. 3 - Missing NPE check on useAdminCommand method from AdminSiege. 4 - Missing NPE check, check an updated version of "PartySmallWindowAll" to see if they corrected it. 5 - o_o 6 - Ban the cheater, with a name like that he can only be created for cheats purpose. 7 - Missing NPE check on "MonsterKnownList" in removeKnownObject method. ---- Btw what about those unknown source, can't see right line so... ---- NPE checks are supposed to be things like : if (something == null) or if (something != null) -
You have to adapt events to your chronicle, no other way. I would like an Interlude server with all third skills, geodata and balanced low rate faction server, but unfortunately, no one made the patch so I have to develop it since 5 months.
-
[HELP]Freya GameServer problem
Tryskell replied to zlati's question in Request Server Development Help [L2J]
If it's last L2J rev, just make a ticket on their website, it would be more helpful. And wait a fix, I don't think it's MxC to fix L2J errors :P. + It's normal to have those types of erros from a new chronicle... -
Cannot restore item "xxx" from db
Tryskell replied to pcalin's question in Request Server Development Help [L2J]
From what i tested from L2J Archid standard version it's a normal error, and from the moment Sethek doesn't continue Archid, you can give up this pack. Btw, this isn't the only bug. So just give up Archid standard, it's not finished (from Sethek words). I don't say that because I'm an evil hater, I myself made my own server on L2J Archid, simply it's the old project which is far more stable. Just go in Giran in Archid standard to see it's full of customs. It's supposed to be custom items from what I saw, which has been removed on the Premium -> Standard port. ---- As I'm not a bitch : Any newbie items are given through database, on the "char_templates" table, last rows are item1, item2, etc to 5. If not, Sethek coded it another way, and it's boring to search. -
[Help] Pvp points from Mobs
Tryskell replied to dymek1984's question in Request Server Development Help [L2J]
Well, the way I said is far easier than trying to make weapons giving pvp... Just copy/paste L2MinionInstance, you rename it, you delete code inside (just keep the doDie override method) and put your custom code when a mob die. Once coded, the only thing you have to do is to create mobs in your database with your custom name instance (like L2Minion dpeends of L2MinionInstance, etc), and to //spawn ingame. I don't get how to code weapon could be easier neither, anyway, gl with it. If you don't like L2Minion, just pick up another. What's your errors and mainly, what are you trying to do ? -
[Help] How to edit Summon dead when owner dead?
Tryskell replied to lamle1112's question in Request Server Development Help [L2J]
L2SummonAI about summon behavior, else you can force the unsummon of the summon when the summoner die (in the doDie method, L2PcInstance). As cubics are unsummoned when you die, you can do the smae for summons. -
[Help] AccessLevel Question
Tryskell replied to Mysterio98's question in Request Server Development Help [L2J]
I don't get your problem, if you put EverybodyHasAdminRights = false, it gives rights only for >0 access (aka gm/admin). You don't need anything more. If you want absolutely your chars got access lvl 75 you have to edit java file around the part the character is created and stored in database. But it's totally useless, considering banned got negative number, players got 0, GMs got a number between 1 and 99 and admin got lvl 100. Why reinventing the system ? -
[Help] Pvp points from Mobs
Tryskell replied to dymek1984's question in Request Server Development Help [L2J]
You can create a complete new mob type, like L2FarmZoneMobInstance, depending of the L2MobInstance. On your datapack, copy paste a mob and instead of L2Mob type it will be a L2FarmZoneMob. Well you got the idea. Check L2Minion for example, it's a class who inherits caracters from L2Monster, L2Monster inherit from others classes too etc etc. About the calcul to have pvppoints : take the result number of the difference between the mob level - 79, and multiply it by 2. (mobLevel - 79)*2 lvl 80 = 80-79 = 1*2 = 2 lvl 82 = 82 - 79 = 3*2 = 6 Well my exemple doesn't follow your logic suit, but else you have to do an exception for lvl 80, and others lvl can be calcultated automatically. If > 80 exception to the rule else normal calcul -
[HELP] I have Proplem with NPC BUFFER
Tryskell replied to shadow0ooo0's question in Request Server Development Help [L2J]
TheMental is right, you forget to put the NPCID of your NPC in the related file. For example you create a new Npc for clan.alliance stuff, which is supposed to be ID 49000, he is L2MasterVillage etc etc. But same problem than you, because he won't have his ID in the quest. So : -
[Help] TVT/CTF/DM participation problem
Tryskell replied to baiumbg's question in Request Server Development Help [L2J]
if (!_started && !_joining) replyMSG.append("<center>Wait till the admin/gm start the participation.</center>"); It's not obvious for you to think you have to start manually the thing ? There are players level checks too (min and max). ---- Made me laugh (devs are bitches lol). Keep checking, someone may crit and you can steal their spot. -
[help] 3rd class npc.
Tryskell replied to pvlestat's question in Request Server Development Help [L2J]
Dunno if you take an existing example (the bypass you pickup from who ?) but it's totally possible, depending of your script (sometimes they add NPC IDs inside) or the type of NPC (L2ThirdClassNpc if you use a custom L2ThirdClassNpcInstance, L2FactionGatekeeper if you use a special gatekeeper coded in L2FactionGatekeeperInstance)... Well more infos needed. -
[Help] Problem in gameserver!
Tryskell replied to Begal's question in Request Server Development Help [L2J]
Your buffer focks up the launch of your server, in the loadData method line 56. It's surely how you open/use/close the connection. To solve, check any instancemanager, there is plenty of exemples on how to load things through datatables (ClanDataTable.java as example). It's nothing related to your ping, as the connection cannot be established, you just don't have connection, well something is semi-working and semi-broken. And from what I know there is no option for ping, and even there are, they're not for this problem. at com.l2dc.gameserver.model.actor.instance.L2SchemeBufferInstance.loadData<L2SchemeBufferInstance.java:56> -
help [char slots] NEW
Tryskell replied to Dsquared's question in Request Server Development Help [L2J]
Add/or delete (lol) column vip in your characters table. Check their datapack update. I must add you shouldn't post your problem here, as they got their own forum. -
[Help] Pvp points from Mobs
Tryskell replied to dymek1984's question in Request Server Development Help [L2J]
First you should write code around this location : Because where you put you miss important checks (and you can have a NPE). Second you don't need to change killer for kill... pk is enough, it's used by others things too. Your code should look like : About L2PcInstance, I suppose you have understood it was the instance of the player. Checks on mobs must be done in another file, L2MonsterInstance. You have to add code in the doDie method. Monsters got their own instance, guards their, player their, artifact, etc etc. Some depends of others, so you have to choose wisely. For example if you modify the doDie of L2NpcInstance, you add pvpkills for monsters, but not only, for artifact, guards, etc. L2MonsterInstance is supposed to be (for INTERLUDE) for normal monsters, and it's the master class of minion and raidboss too. So basically, you use 1 stone to kill 3 birds. ---- I have to add summons which kill a player won't make earn pvpkills to their owners. Summoners will cry in your server lol :). Well you should test but that shouldn't work correctly. If a test with summoners is negative you have to use killer instead of pk (because killer is related to L2Character when pk is related to only L2PcInstance), and put your code after if (killer != null) { and add another check for summon specially (instead of my "if (getPvpFlag() != 0)", use :) if ((killer instanceof L2SummonInstance || killer instanceof L2PlayerInstance) && getPvpFlag() != 0) ----- From this point you have all cards in your hand. Sry for the edit if you were checking, I just pickuped a L2J post IL example. -
Notepad + cmd line for compile, or read Trance link. You got the choice.
-
You check existing quests (around 200+) and you do your own with existing ones ? Come on, ask logic for Christmas. You don't have even a problem.
-
Type jdk in google, first link (http://www.oracle.com/technetwork/java/javase/downloads/index.html) Press Download JDK. Install. People will answer if question isn't dumb... If you already need help to install jdk, what about server itself, his customization or if you get any type of error (and yeah my words are rude, but they worth it). If someone want to help installing your server for you, their problem, but don't dream too much. My last word on the topic, promises.
-
[Help][Interlude]Gordon attack all players
Tryskell replied to Tassadar's question in Request Server Development Help [L2J]
I have no clue what do you ask, you know what to do and where to do it (the line in red) so what ? You want help to delete the line ? o_o ? On your keyboard there is a special button : It allows you to *ta-da* delete caracters, but only those before your cursor ! So take care. -
[Help] Pvp points from Mobs
Tryskell replied to dymek1984's question in Request Server Development Help [L2J]
Is in my posts I have use "pkkills" term once ? Consider I understood what you said then. I don't understand your problem, and if there was one, I answered in my first post. In both pvp kills and pk kills there are victim and murderer, a victim and a killer, so I don't get your last post. Even mob is a victim and you're the killer... It's how java see the thing. About fame it's exactly the same than pvpkills add. I don't see the problem, it's related only on the killer caracteristics. If you can pvpkills from the mob death method, you can reach fame. And dont change of idea like that, you ask for pvp or for fame, make a split, it's 2 differents codes, even if it's exactly the same solution. You expand too much, make the idea clear in your head. Which error ? Post it if you want help too, I'm not you, I can't see it... And post your question because there aren't questions, you just expose mod idea. It's "help" section, not "suggestion" section :P. I say that if you want help, I won't post anymore if you continue like that. -
[Help]Npc skill buff . Aio skill buff..
Tryskell replied to knumec's question in Request Server Development Help [L2J]
Dude, re-read the whole topic, even my intervention details what to do (if you can read through sarcasms). Except a spanish translator, the only other thing you need is a brain. You got all explanations already written.