Kishin

Members
  • Content Count

    29
  • Joined

  • Last visited

  • Feedback

    N/A

Community Reputation

7 Neutral

2 Followers

About Kishin

  • Rank
    Vassal

Contact Methods

  • Website URL
    www.google.com

Profile Information

  • Gender
    Male
  • Country
    Japan

Recent Profile Visitors

902 profile views
  1. 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
  2. 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 :)
  3. Okay , a simple drop event coded on l2j Sources it multiplies the drops of item only if its100% rate you type //startdrop and it will announce and automaticly start after 15 minutes you can type //stopdrop 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.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 = 15; private int stopIn = 60; 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() == true) { 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() == true) { if ( dropChance == 1000000) { dropChance *= Config.DROP_EVENT_RATE; } } EnterWorld.java -> paste somewhere if (DropEvent.getInstance().isDoubleDrop() == true) { DropEvent.getInstance().sendDropEventInfo(activeChar); } in Config.java paste somewhere this : public static float DROP_EVENT_RATE; pick your destination file mine is customSettings paste : 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_startdrop", "admin_stopdrop" }; @Override public boolean useAdminCommand(String command, L2PcInstance activeChar) { try { if (command.equals("admin_startdrop")) { if (DropEvent.getInstance().isDoubleDrop() == false) { DropEvent.getInstance().startEvent(); } } else if (command.equals("admin_stopdrop")) { if (DropEvent.getInstance().isDoubleDrop() == true) { DropEvent.getInstance().forceStop(); Announcements.getInstance().announceToAll("Admin has ended the drop event"); } } } catch (Exception e) { e.printStackTrace(); } return false; } @Override public String[] getAdminCommandList() { return ADMIN_COMMANDS; } } Have fun :) register the command handler and good to go :)
  4. Classic Mobius works fine with a little tweak :D Nice to have good job
  5. 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>
  6. 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 .
  7. Thank You , though the one i needed is missing :3 , there is no link on GOD
  8. 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>
  9. Links are dead ! can you re-upload mate ? Thank you !
  10. 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
  11. 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
  12. WTS * GIRAN ACCOUNT Shilien Knight Lv*44 Moon Heavy Armor most skills maxed 15 EURO Prophet Lv*46 No haste & DW 35 EURO WARLOCK Lv*54 ~40% Karmian Set Twilight Dagger B Fire Pendant Lv*1 +5 ( xp/sp 5% bonus ) +patck 2.5kk adena Rune Tyrr stage 3 unused Luxury C Jewels All priority skills Maxed (spirit sharing & Binding cubic learnt) 3x 7 days exp/sp boost 30 days ELK unused many other stuff as valuable materials and xp/sp scrolls 140 EURO Contact me here or Discord : SpectrumX#9014