Jump to content

Horse

Members
  • Posts

    144
  • Credits

  • Joined

  • Last visited

  • Feedback

    0%

Everything posted by Horse

  1. Yes. It wasn't handled there. Now it seems to be fine. Thank you guys. Topic can be locked.
  2. Hah lol, really decayMe and spawnMe onEnter might solve it. I 'll try that. Thanks for the idea.
  3. since you are using g final pride pack: Serverside: Its located in the "weapons table" in your sql db. But if you want weapon animation changed or something about visuals or visual description: Then system/weapongrp.dat.
  4. I cleaned up and changed the method of getAntiFeedTemplate(), I picked a specific template (elvenfighter) for starters. And it seems to be working fine. All that's left is to make it pick random IDs from my own random list with Rnd. Thanks a lot, Tryskell. P.S : This is just a slight cosmetic issue. When an other char enters or leaves the zone ( where i applied the custom template) by simply walking out and in (NO TELEPORT), the template changes only when the character gets hit or affected by skills or some action. (ofc when it is teleported it display the changed template, so you see the new template already. I was just wondering if the template change could be seen automatically by simply walking inside the zone. Since, most of the time this zone and zones alike will be accasabble by teleport, or will be used as event zones it isn't that much of an issue. But I'm curious if there is some kind of way to fix that.
  5. Thank you once more, for the detailed explanation. Once I get home, I'll take a closer look at the things you wrote. "CharTemplateTable.getInstance().getTemplate(" keyword) CharTemplateTable.getInstance().getTemplate( ---->this far I got, and more or less understood it on my own. But i wasn't sure what holds the template's themselves since it's a bit different in hi5. But I'm beginning to understand how it works. P.S In my case there is no charTemplateTable (newer hi5 versions have this stored in some other file i assume---most likely this will be the problem).
  6. First of all, thank you for the little explanation. For me who has just started to get into "coding and java" a few weeks ago, these tiny explonations help me to understand a whole lot about how java works. On topic: I've added the null checks. This solved the npe errors that i got when i entered the custom zone where I d like to apply the race change. However, currently i get no errors at all, but once i recall or enter with a second char to the zone i see the original template. (the name change works as it should along with the system message (unknown hit unknown for xxx damage) without the need to edit systemmessage.dat directly, which is a blessing. I assume that something might be wrong with the createRandomAntifeedTemplate(). So, I'm still keep trying. You mentioned to get a given/same template for everyone. Originally this was my idea as well, however due to the lack of my knowladge or experience with l2 java, I wasn't able to figure it out, how can I pick a certain template. To my understanding, the antifeed method which I tried to adopt uses values of the classid to verify the temlate (if im not mistaken). But this is where I'm stuck, becuase I do not know how can I get (a) certain template(s). An exemple or hint like: getting the template of "orc fighter" for each class would be very helpful. (I find exemples the best way to learn). In any case, thank you for the help you've already provided, it sure is useful.
  7. I got the Rnd part thanks. But about the null pointer exception check, I'm not so sure. Could you explain me what or how could i apply an npe check to the getAntifeedTemplate() ?
  8. Yep, that's what I did.
  9. private L2PcTemplate _antifeedTemplate = null; private boolean _antifeedSex; private L2PcTemplate createRandomAntifeedTemplate() { Race race = null; while(race == null) { race = Race.values()[Rnd.get(Race.values().length)]; if(race == getRace() || race == Race.KAMAEL) race = null; } PlayerClass p; for(ClassId c : ClassId.values()) { p = PlayerClass.values()[c.getId()]; if(p.isOfRace(race) && p.isOfLevel(ClassLevel.Fourth)) { _antifeedTemplate = PlayerTemplateData.getInstance().getTemplate(c); break; } } if(getRace() == Race.KAMAEL) _antifeedSex = getAppearance().getSex(); _antifeedSex = Rnd.get(2) == 0 ? true : false; return _antifeedTemplate; } public void startAntifeedProtection(boolean start, boolean broadcast) { if(!start) { getAppearance().setVisibleName(getName()); _antifeedTemplate = null; } else { getAppearance().setVisibleName("Unknown"); createRandomAntifeedTemplate(); } } public L2PcTemplate getAntifeedTemplate() { return _antifeedTemplate; } public boolean getAntifeedSex() { return _antifeedSex; } The L2PcInstance. The CharInfo: writeD(_objId); if (_activeChar.isInsideZone(ZoneId.PVP)) { writeS("Unknown"); // visible name writeD(_activeChar.getAntifeedTemplate().getRace().ordinal()); // race writeD(_activeChar.getAntifeedSex() ? 0 : 1); // sex writeD(_activeChar.getAntifeedTemplate().getClassId().getId()); // class } else { writeS(_activeChar.getAppearance().getVisibleName()); writeD(_activeChar.getRace().ordinal()); writeD(_activeChar.getAppearance().getSex() ? 1 : 0); if (_activeChar.getClassIndex() == 0) writeD(_activeChar.getClassId().getId()); else writeD(_activeChar.getBaseClass()); } for (int slot : getPaperdollOrder()) { writeD(_activeChar.getInventory().getPaperdollItemDisplayId(slot)); } for (int slot : getPaperdollOrder()) { writeD(_activeChar.getInventory().getPaperdollAugmentationId(slot)); } writeD(_activeChar.getInventory().getTalismanSlots()); writeD(_activeChar.getInventory().canEquipCloak() ? 1 : 0); writeD(_activeChar.getPvpFlag()); writeD(_activeChar.getKarma()); writeD(_mAtkSpd); writeD(_pAtkSpd); writeD(0x00); // ? writeD(_runSpd); writeD(_walkSpd); writeD(_swimRunSpd); writeD(_swimWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeD(_flyRunSpd); writeD(_flyWalkSpd); writeF(_moveMultiplier); writeF(_activeChar.getAttackSpeedMultiplier()); if (_activeChar.isInsideZone(ZoneId.PVP)) { if(_activeChar.getAntifeedSex()) { writeF(_activeChar.getAntifeedTemplate().getFCollisionRadiusFemale()); writeF(_activeChar.getAntifeedTemplate().getFCollisionHeightFemale()); } else { writeF(_activeChar.getAntifeedTemplate().getfCollisionRadius()); writeF(_activeChar.getAntifeedTemplate().getfCollisionHeight()); } } else { writeF(_activeChar.getCollisionRadius()); writeF(_activeChar.getCollisionHeight()); } if (_activeChar.isInsideZone(ZoneId.PVP)) { writeD(0); writeD(0); writeD(0); } else { writeD(_activeChar.getAppearance().getHairStyle()); writeD(_activeChar.getAppearance().getHairColor()); writeD(_activeChar.getAppearance().getFace()); } if (_activeChar.isInsideZone(ZoneId.PVP)) writeS(""); else writeS(gmSeeInvis ? "Invisible" : _activeChar.getAppearance().getVisibleTitle()); if (!_activeChar.isCursedWeaponEquipped() && !_activeChar.isInsideZone(ZoneId.PVP)) { writeD(_activeChar.getClanId()); writeD(_activeChar.getClanCrestId()); writeD(_activeChar.getAllyId()); writeD(_activeChar.getAllyCrestId()); } else { writeD(0x00); writeD(0x00); writeD(0x00); writeD(0x00); } writeC(_activeChar.isSitting() ? 0 : 1); // standing = 1 sitting = 0 writeC(_activeChar.isRunning() ? 1 : 0); // running = 1 walking = 0 writeC(_activeChar.isInCombat() ? 1 : 0); writeC(!_activeChar.isInOlympiadMode() && _activeChar.isAlikeDead() ? 1 : 0); writeC(!gmSeeInvis && isInvisible() ? 1 : 0); // invisible = 1 visible =0 writeC(_activeChar.getMountType().ordinal()); // 1-on Strider, 2-on Wyvern, 3-on Great Wolf, 0-no mount writeC(_activeChar.getPrivateStoreType().getId()); writeH(_activeChar.getCubics().size()); for (int cubicId : _activeChar.getCubics().keySet()) { writeH(cubicId); } writeC(_activeChar.isInPartyMatchRoom() ? 1 : 0); writeD(gmSeeInvis ? (_activeChar.getAbnormalVisualEffects() | AbnormalVisualEffect.STEALTH.getMask()) : _activeChar.getAbnormalVisualEffects()); writeC(_activeChar.isInsideZone(ZoneId.WATER) ? 1 : _activeChar.isFlyingMounted() ? 2 : 0); if (_activeChar.isInsideZone(ZoneId.PVP)) { writeH(0); } else { writeH(_activeChar.getRecomHave()); //Blue value for name (0 = white, 255 = pure blue) } writeD(_activeChar.getMountNpcId() + 1000000); if (_activeChar.isInsideZone(ZoneId.PVP)) writeD(_activeChar.getAntifeedTemplate().getClassId().getId()); else writeD(_activeChar.getClassId().getId()); writeD(0x00); // ? writeC(_activeChar.isMounted() ? 0 : _activeChar.getEnchantEffect()); writeC(_activeChar.getTeam().getId()); if (_activeChar.isInsideZone(ZoneId.PVP)) { writeD(0); writeC(1); // Symbol on char menu ctrl+I writeC(0); // Hero Aura } else { writeD(_activeChar.getClanCrestLargeId()); writeC(_activeChar.isNoble() ? 1 : 0); // Symbol on char menu ctrl+I writeC(_activeChar.isHero() || (_activeChar.isGM() && Config.GM_HERO_AURA) ? 1 : 0); // Hero Aura } writeC(_activeChar.isFishing() ? 1 : 0); // 0x01: Fishing Mode (Cant be undone by setting back to 0) writeD(_activeChar.getFishx()); writeD(_activeChar.getFishy()); writeD(_activeChar.getFishz()); if (_activeChar.isInsideZone(ZoneId.PVP)) { writeD(0xFFFFFF); } else { writeD(_activeChar.getAppearance().getNameColor()); } writeD(_heading); writeD(_activeChar.getPledgeClass()); writeD(_activeChar.getPledgeType()); if (_activeChar.isInsideZone(ZoneId.PVP)) { writeD(0xFFFF77); } else { writeD(_activeChar.getAppearance().getTitleColor()); } After reading the the erros that popped up in the gameserver panel. It seems to have some problem with the antifeedgetAntifeedTemplate
  10. Disable chat, auto change names to unknown or something, random sex------These I've already done. What i need is a method to change randomly the race displayed to others when you enter this zone. For exemple: You are an "elf male" but when you enter that zone the others will see an other random template like orc female, human male, etc etc. I even tried to adopt the method used in nexus antifeed protection, but for some reason it doesn't seem to work,, no errors in eclipse and yet it doesnt change the races.
  11. Thanks for the answers, guys yea either rnd.get or other random seems to be fine. But the problem is I don't know what should I add in the writeD( to get a specified race to displayed.
  12. Yea, this was my original idea as well. But I was wondering if there was a way to change the name serverside while the player is in the specified zone. Also, I'd have an other question. How can I make the chars have random race in that zone? I was thinking of a simalier method to add a check at the writeD(_activeChar.getRace().ordinal()); But I'm not sure how can i change this in order to have a random race displayed.
  13. Hello. I created a custom zone. And I edited the charinfo, so when a player enters the zone his/her name will be "Unknown". However, my problem is that the system damage message still displays the original name of the characters. (I guess becuase the changes in charinfo only affect the client and the server still recognize the character's origianl name). My question is: what should I edit or change in order to have the system message display "unknown" instead of the original names? I know i could create new system messsages (instead of $c1 done $s3 damge $c2 to unknown done $s3 damage to unknown) but I'd rather avoid this if theres a better way. EDIT: Does anybody have any suggestion, ideas how could I make Random Race displayed in a specific zone for players? Either in Charinfo, or some other working method would be great. Thank you. P.S: Im using High Five latest rev.
  14. Does the lates (v2.2 release contain these?, becuase i haven't found any new release at the realeases section) or only the master does ? Nevermind, I've exported the .jar from the master just in case.
  15. I'm using the latest l2j high five rev.
  16. Hello guys. I'd have question regarding raid boss minions. How could I add a fixed spawn location for several raid minions with the same id? Or if it isn't possible with the same id, then with different ids.
  17. Well, yes. But the problem is, I have no idea what file defies the colors of the (0,1,2,3) numbers responsible for the itemname color in the itemname.dat. html or serverside colors are quite easy to change, but I'd like to know how can I change colors on the client side,or add more kinds of colors if that's possible.
  18. In the script of the instance, you can find the method used for applying instance re-enter time. It's originally located under the finishInstance part of the script. Study and understand how that method works, and you will be able to add any kind of re-enter penalty you want. You have to look for something like this. Tho it may be slightly different, in the original l2j files, or in earlier revisions: if (world instanceof KamaWorld) { Calendar reenter = Calendar.getInstance(); reenter.set(Calendar.MINUTE, RESET_MIN); if (reenter.get(Calendar.HOUR_OF_DAY) >= RESET_HOUR) { reenter.add(Calendar.DATE, 1); } reenter.set(Calendar.HOUR_OF_DAY, RESET_HOUR); SystemMessage sm = SystemMessage.getSystemMessage(SystemMessageId.INSTANT_ZONE_FROM_HERE_S1_S_ENTRY_HAS_BEEN_RESTRICTED); sm.addInstanceName(world.getTemplateId()); for (int objectId : world.getAllowed()) { L2PcInstance obj = L2World.getInstance().getPlayer(objectId); if ((obj != null) && obj.isOnline()) { InstanceManager.getInstance().setInstanceTime(objectId, world.getTemplateId(), reenter.getTimeInMillis()); obj.sendPacket(sm); } } }
  19. Hi. As far as I've seen, the only item name colors you can give to an item are limited to (grey, white, yellow, purple) At least the numbers above 3 don't affect the item name color. (Talking about itemname.dat ofc) Is there any way to expand this short varieties of colors, or is there any way to add other colors to item name(s)?
  20. The grammar is strong with this one. At the very least pay a little more attention to the spelling mistakes you made. Nobody will take you seriously.
  21. Indeed, you were positive on the first page, I missed that, my bad. Also, I understand that in some way you were trying to keep people from getting their hopes high while you already noticed that something was/is fishy about the server. But, the way I see it, hate only gives birth to more hate and this damages that small remaining l2 comunity all together. When the players who are looking for servers to play on, see nothing but endless flame wars (be it right or wrong) in almost every section, they might get demotivated to such extent that they simple give up playing the game. Of course the continuous disappointment in servers leads there as well. Or it simply lowers the players' standards to a point where they thecnically call every half-assed server good, simply becuase they've forgotten or have never known what is/was a good server about. be it retial-like, custom, or pvp. On the features part: I understand that the majority of people who re looking for custom servers have developed a certain kind of tunnel vision over the years. However it is also becuase most of the custom server were pride-like servers for understandable reasons, and the rest were usually custom only in name (having 1-2 custom items and thats all). So there hasn't been any other big or how should i put it, complete custom server project which was rich in features and yet different gameplay, class,pve wise. I know this is by no means easy and requires serious amount of time invested in it. But i do belive that the future of custom l2 should not be pride but something new. Actually i hope that the ice will break before this game gets totally forgotten and we ll be able to create, or enjoy some servers that worth having fun on.
  22. I don't think that the reason behind the "low" population of custom servers is becuase of the fact that the vast majority simply wishes to play on retial -like. (not to mention most retial like servers, even the big ones are far, very far from retial, if you played on official servers back in c1-hi5 you know what I mean). The way i see it most of the custom servers have not really offered enough custom content, or content at all. Including all recent or old procejts, from AEpvp,pride likes,gracia pride likes, vesta, wargate, finest, etc etc. -For exemple: Almost every single custom server I ve seen so far had vary plain and boring farm, instances. Mobs were scattered all over the place without having a certain variety of monsters. Instead you had farm the very same mobs from day 1 till the end of the server. -Monsters ai/and skill use almost never existed on these custom servers or it was very limited and simple. -Quests were totally forgotten, while its a vey important rpg element. -So called custom class balance never really existed, almost half of the classes very usually left as they were before or they tossed 2-3 skills to them without a second thought. -And ofcourse the false features: Every single server owner posts a billion things in the features list, but when you join the server you realize not even half of the features are ready. This shows clearly, that making a successful l2 server is not just about having great coding skill. Its also about having imagination, and fresh ideas and the ability to understand the gameplay in depths: including economy, classes, skills, pve etc. And there's this stupid thing almost all of the owners do. The neverending hate, and flame and spam when somebody else tries to open a server. Many of you jump at eachother like rabbid dogs and trying to ruin the reputation of the servers even before they lunched. And while some may think it actually is a good thing so they can get more players for their own project they ruin their own image/reputation. For exemple xdem. I say this without the slightest bad intention. You are obviously one of the best if not the best dev around here, and yet far more people hates or don't like you than do. All becuase of you manners towards others. If people like xdem and other owners used all those energies they waste on this pointless forum/flame/ddos wars and worked on thier projhects or shared ideas with eachother, I m sure we could have seen more than one great custom server. On topic, good luck with your server.
  23. I especially love the glow effect. Very nice, thank you for share.
  24. I don't know what revision you have, but in the latest revisions you can edit the skill effect by changing the <set name="abnormalVisualEffect" val="TURN_FLEE" /> row in the xml file of the skill.. Simply add another visual effect instead of TURN_FLEE". If you want to make a completely new effect. Then you will have to create a new visual effect. That includes editing animation client files, dat files etc, if I'm not mistaken.
×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock