Jump to content

Acacia

Members
  • Posts

    66
  • Credits

  • Joined

  • Last visited

  • Days Won

    1
  • Feedback

    0%

Everything posted by Acacia

  1. ye was about to do that , but was curious of its purpose . since even if i did implement it how it was , i would have to rework the whole src . though ty for the file . i'll look around and work around on these
  2. any news about compiler for prot 152 , salvation etina's ?
  3. Never had an issue with kara , any order i requested were given to me as he did promised and even done more than that. i don't see any reason to flag him as scammer . even if you ended getting half of the codes probably your attitude was the problem on that part learn to be able to understand people's lifes first and their current problems and listen to them instead raging cause you didnt got what u wanted on * time * cause even if your at work and end up sick, you'll get a day off next day / 's understand that. good luck
  4. create a class on -> model.actor.instance that extends Folk / L2Npc / Npc (depend the source u using) based on ur code instead using the voice command , use it on the onBypassFeedback and call ur code and appends to show the NpcHtmlWindow with onAction to Player/PlayerInstance/L2PcInstance etc create an npc afterwards as type "name of your class instance"
  5. Mobius for sure the only and best way around
  6. many classes has been moved / renamed etc java versions also has been updated , so you need to adapt em to the newest revision . if you read where and what goes , you'll find your way most of us learnt like this , so gl
  7. what source r u using ?
  8. you can easily add the missing database sql files from the shared one , and add the the 2 missing fields on the characters/accounts file
  9. its fine mate and thank you , we all know how this forum works , everyone is a java diva around here so you dont have to take anything personal and argue about it . you walk in prepared :D
  10. ohh forgot to remove the true false part on isdouble :D was typed to be readable then remove on the other hand yes admincommand i used an old code as pattern , thank you for reply :)
  11. Okay , a simple drop event coded on l2j Sources it multiplies the drops of item only if its 100% rate you type //dropevent to start the event after 15 mins ex. and re-type //dropevent if you wish to force stop it there is a configuration on the rate default is x1.2 the event will last for 60 minutes , and it will announce back when it ends if event is active and a player logs in he will get a notification by pm Create a new class : DropEvent package com.event; import net.sf.l2j.Config; import net.sf.l2j.gameserver.Announcements; import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; import net.sf.l2j.gameserver.network.clientpackets.Say2; import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; /** * @author Kishin */ public class DropEvent { private int startIn = Config.DROP_EVENT_START; private int stopIn = Config.DROP_EVENT_END; public void sendDropEventInfo(L2PcInstance player) { player.broadcastPacket(new CreatureSay(player.getObjectId() ,Say2.TELL," "+player.getName()+":","Drop Event is currently running!")); player.sendMessage("Drop event is currently running!"); } public void startEvent() { Announcements.getInstance().announceToAll("Double drop event will start in "+startIn+" minutes"); ThreadPoolManager.getInstance().scheduleGeneral(new startTimer(), (startIn *60 * 1000)); } public void forceStop() { setDoubleDrop(false); } public class startTimer implements Runnable { public void run() { setDoubleDrop(true); Announcements.getInstance().announceToAll("Double drop event has started !"); Announcements.getInstance().announceToAll("Event will end in "+stopIn+" minutes !"); ThreadPoolManager.getInstance().scheduleGeneral(new stopTimer(), (stopIn * 60 * 1000)); } } public class stopTimer implements Runnable { public void run() { if (isDoubleDrop()) { setDoubleDrop(false); Announcements.getInstance().announceToAll("Double drop event has ended"); } } } public static DropEvent getInstance() { return DropEvent.SingletonHolder._instance; } private static class SingletonHolder { protected static final DropEvent _instance = new DropEvent(); } private boolean _isDoubleDrop; public void setDoubleDrop(boolean isDoubleDrop) { _isDoubleDrop = isDoubleDrop; } public boolean isDoubleDrop() { return _isDoubleDrop; } } L2Attackable.java search this -> private RewardItem calculateCategorizedRewardItem and under this : dropChance *= Config.L2JMOD_CHAMPION_REWARDS; paste : if (DropEvent.getInstance().isDoubleDrop()) { if ( dropChance == 1000000) { dropChance *= Config.DROP_EVENT_RATE; } } EnterWorld.java -> paste somewhere if (DropEvent.getInstance().isDoubleDrop()) { DropEvent.getInstance().sendDropEventInfo(activeChar); } in Config.java paste somewhere this : public static int DROP_EVENT_START; public static int DROP_EVENT_END; public static float DROP_EVENT_RATE; pick your destination file mine is customSettings paste : DROP_EVENT_START = Integer.parseInt(customsSettings.getProperty("dropEventStart", "15")); DROP_EVENT_END = Integer.parseInt(customsSettings.getProperty("dropEventEnd", "60")); DROP_EVENT_RATE = Float.parseFloat(customsSettings.getProperty("dropEventRate", "1.2")); Create a new class in admincommandhandlers AdminDropEvent <- package net.sf.l2j.gameserver.handler.admincommandhandlers; import com.event.DropEvent; import net.sf.l2j.gameserver.Announcements; import net.sf.l2j.gameserver.handler.IAdminCommandHandler; import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; /** * @author Kishin */ public class AdminDropEvent implements IAdminCommandHandler { private static final String[] ADMIN_COMMANDS = { "admin_dropevent" }; @Override public boolean useAdminCommand(String command, L2PcInstance activeChar) { try { if (command.equals("admin_dropevent")) { if (DropEvent.getInstance().isDoubleDrop()) { DropEvent.getInstance().forceStop(); Announcements.getInstance().announceToAll("Admin has ended the drop event"); } else { DropEvent.getInstance().startEvent(); } } } catch (Exception e) { e.printStackTrace(); } return false; } @Override public String[] getAdminCommandList() { return ADMIN_COMMANDS; } } Have fun :) register the command handler and good to go
  12. Classic Mobius works fine with a little tweak :D Nice to have good job
  13. why running the code all over than have it catched? though this one not just rewards color name or title but skill reward aswell , also its more readable than 123,ff0000;1234,ff01234 you can add and do w/e you want with the templates -> <list> <template pvp_amount="50" name_color="FFAA00" title_color="FFFF00" learn_skill="0,0;" /> <template pvp_amount="100" name_color="FF0000" title_color="FFAA00" learn_skill="2106,1;" /> <template pvp_amount="150" name_color="FF0000" title_color="FFFFAA" learn_skill="0,0;" /> </list>
  14. https://mega.nz/#!LdoRDQyR!wllXgIW1KDGlUgz6hdbK8YDAq0-chxBc_YHD-uwibAY Classic Interface Int No Dc with auto pot HP/MP no CP, Removed Auto Enchant button too .
  15. well made mate , cheers
  16. Color name - title system + Skill Reward coded on 374 acis . cheers package net.sf.l2j.gameserver.datatables; import net.sf.l2j.gameserver.templates.L2Pvp; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.logging.Logger; import net.sf.l2j.gameserver.model.holder.IntIntHolder; import net.sf.l2j.gameserver.templates.StatsSet; import net.sf.l2j.gameserver.xmlfactory.XMLDocumentFactory; import org.w3c.dom.*; public class PvpTable { public PvpTable() { } public static void load() { try { File f = new File("./data/xml/pvp.xml"); Document doc = XMLDocumentFactory.getInstance().loadDocument(f); Node n = doc.getFirstChild(); for(Node d = n.getFirstChild(); d != null; d = d.getNextSibling()) if(d.getNodeName().equalsIgnoreCase("template")) { NamedNodeMap attrs = d.getAttributes(); int pvpAmount = Integer.valueOf(attrs.getNamedItem("pvp_amount").getNodeValue()).intValue(); int nameColor = Integer.decode((new StringBuilder()).append("0x").append(attrs.getNamedItem("name_color").getNodeValue()).toString()).intValue(); int titleColor = Integer.decode((new StringBuilder()).append("0x").append(attrs.getNamedItem("title_color").getNodeValue()).toString()).intValue(); String learnSkill = attrs.getNamedItem("learn_skill").getNodeValue().trim(); StatsSet set = new StatsSet(); set.set("pvp_amount", pvpAmount); set.set("name_color", nameColor); set.set("title_color", titleColor); L2Pvp template = new L2Pvp(set); if(learnSkill != null) { String property[] = learnSkill.split(";"); String as[] = property; int i = as.length; for(int j = 0; j < i; j++) { String data = as[j]; String holder[] = data.split(","); template.addLearnSkill(new IntIntHolder(Integer.parseInt(holder[0]), Integer.parseInt(holder[1]))); } } _templates.add(template); } } catch(Exception e) { _log.severe((new StringBuilder()).append("Exception: PvpTable load: ").append(e).toString()); } _log.info((new StringBuilder()).append("PvpTable: Loaded ").append(_templates.size()).append(" template(s).").toString()); } public static List<L2Pvp> getTemplate() { return _templates; } private static final Logger _log = Logger.getLogger(PvpTable.class.getName()); private static final List<L2Pvp> _templates = new ArrayList<>(); } package net.sf.l2j.gameserver.templates; import java.util.ArrayList; import java.util.List; import net.sf.l2j.gameserver.model.holder.IntIntHolder; import net.sf.l2j.gameserver.templates.StatsSet; public class L2Pvp { public L2Pvp(StatsSet set) { _pvpAmount = set.getInteger("pvp_amount"); _nameColor = set.getInteger("name_color"); _titleColor = set.getInteger("title_color"); } public int getPvpAmount() { return _pvpAmount; } public int getNameColor() { return _nameColor; } public int getTitleColor() { return _titleColor; } public List<IntIntHolder> getLearnSkills() { return _learnSkill; } public void addLearnSkill(IntIntHolder holder) { _learnSkill.add(holder); } private final int _pvpAmount; private final int _nameColor; private final int _titleColor; private final List<IntIntHolder> _learnSkill = new ArrayList<>(); } Open : Gameserver.java add somewhere this : PvpTable.load(); Open : Player.java add somewhere this : public static void updatePvp(Player player) { for(Iterator<L2Pvp> iterator = PvpTable.getTemplate().iterator(); iterator.hasNext();) { L2Pvp template = iterator.next(); if(template.getPvpAmount() <= player.getPvpKills()) { player.getAppearance().setNameColor(template.getNameColor()); player.getAppearance().setTitleColor(template.getTitleColor()); Iterator<IntIntHolder> iterator1 = template.getLearnSkills().iterator(); while(iterator1.hasNext()) { IntIntHolder holder = iterator1.next(); net.sf.l2j.gameserver.model.L2Skill skill = SkillTable.getInstance().getInfo(holder.getId(), holder.getValue()); if(skill != null) player.addSkill(skill, false); } } } player.broadcastUserInfo(); } find in Player.java below this line setPvpKills(getPvpKills() + 1); add -> updatePvp(this); find : public boolean setActiveClass(int classIndex) under this line restoreSkills(); add - > updatePvp(this); find : public void onPlayerEnter() add somewhere under : updatePvp(this); XML : loc : data/xml/pvp.xml <?xml version='1.0' encoding='utf-8'?> <list> <!-- <template pvp_amount="100" name_color="FFAA00" title_color="FFFF77" learn_skill="0,0;" /> --> <template pvp_amount="5" name_color="FFAA00" title_color="FFFF77" learn_skill="0,0;" /> </list>
  17. Links are dead ! can you re-upload mate ? Thank you !
  18. i didn't really used hatred or something , if you label it as hatred its a reflection of you , i just pointed out ur ' work ' when you already pointed ur finger to other's peoples childhood . One more thing i didnt used any lies here , i just brought all things to the surface that it seems you really didnt like and tried t cover , well yeah there is not only l2jbrasil that have this crap stolen pack shared you can find it everywhere even a lil kid can or so , anyway if you really want to prove your self and do something really fun start something from 0 , even if the idea comes from somewhere else pride or w/e ! xdem aswell building a pridelike server , but he didnt used a base of any stolen or shared pack , he started it from 0 and thats for me proves a lot . so dont point ur finger at him and mention about ' childhoods ' cause the difference between you and him is really big . One more thing as you mention this ** Yeah i am doing all kind of servers because as i mentioned i was doing those server for fun to enjoy within small community.** you really managed to make bad reputation of you even on a small community , making all those GRAND OPENINGS AND GRAND ENDINGS on the next days .. Anyway brother i wish you good luck on ur server
  19. Work of others ? is this really your work ? you did use a base of some STOLEN files you probably " NOT PROBABLY " downloaded from l2jbrasil , You did launched over 4? 5? 6? server and all of them Failed and shut on the next day of the grand opening , let me remind you something dear Rifah Mammadli , L2 Kaya or Kaiya or w/e name u used , next you went pride , next eternal sin c4 mix interlude guess what ! not even 2 or 3 days lasted there was one more interlude pride like i dont remember the name right now im sure there were more that lasted even less than an hour , but its really doesn't matter . Dont talk about xdem having bad childhood, cause the one that really had those ' bad childhood ; was you ! You tried to lick and asked xdem to work together on AePvP and he turned you down , i guess he knew something more ... then you went emo ' im going to ddos aepvp when it'll launch or more swears . well he still waiting ! go for it
  20. -rem
  21. sGuard <- not sure if anyone can find this usefull just sGuard lib :P
  22. http://rawr.su/uploads/NeophronStartEdition.exe Password: RAWRNPHRNeUIYHpXs
  23. could be like this to avoid spam chat :D if (_ctrlPressed && activeChar.isGM()) activeChar.sendPacket(new CreatureSay(0, Say2.PARTY, "Name", ":" + item.getItemName() + " | Item ID:" + item.getItemId()));
×
×
  • Create New...