Donator Member
  • Content count

  • Joined

  • Last visited

  • Days Won

  • Feedback


tazerman2 last won the day on April 3 2017

tazerman2 had the most liked content!

Community Reputation

17 Good

1 Follower

About tazerman2

  • Rank
  • Birthday 06/28/1989

Profile Information

  • Current Mood
  • Gender
  • Country

Recent Profile Visitors

1,114 profile views
  1. WTS Faction & Mid/high project

    Update Faction File 19-1-2018 Fixed Faction Teleport base nullpointer error Update & clean MiniEvent Added config.xml with all time for miniEvent Fixed bug can't register or vote tvt/ctf/dm if player is in miniEvent Added bar time & point fight for miniEvent
  2. is like rebirth just can add a item to quest list and if have 4 secepters can subclass but dont forget to make item can't destory, delete, ... for have players 4 ever. and with a check if player have item like if kill again that rb dont give item again
  3. WTS Faction & Mid/high project

    Update Faction File 16-1-2018 Fixed bug balance login system Fixed can faction players attack door if castle is not in siege progress Fixed faction players can see HP doors Fixed bypass miniEvent can watch match Added Round config to miniEvent
  4. yes can use enything :P i can help you
  5. frozen buffer is java not python go to gameserver/config/powerpak/powerpak.properties and look if have 50019 id to buffer # Npc Buffer - scheme buffer - set buffs - single buffs BufferNpcId = 50019 BufferEnabled = true
  6. WTS Faction & Mid/high project

    Update Faction File 11-1-2018 Fixed pray npc can pray map or castle & added check pray npc fixed newbie spawn to register faction added VIP coin & settigs time or 4 ever clean config link fixed blow double damage added fence.xml for can spawn fence and stay after restart or shutdown added bypass command vipBuy/buffVip for only vip member added check if same faction is in olympiad or siege can attack added check if not same faction can buyStone/sellStone/trade & same faction can duel remove seven sings spawn [more fast server]
  7. aha nice but i need use different class + different time like first run 20 second and second run 1 minutes not in same time like can run much public with only one threadpool but with different time
  8. hello i need a help. how i can run a list from class with only one threadpool like addRun(teleport(), 1000); Class ThreadPool for run like public void addRun(ClassRun, Time) { ThreadPool.schedule(() -> ClassRun, Time); } if can any help tnx.
  9. hehehehe you stuck in title.
  10. chat logs is only guy have access to machine.. so with this can a another like HGM can see chat from clan. and some like this can make pm or pt chat. and that code is not my.
  11. getKnownType(Player.class)
  12. hello i find a code. this is for admin can see clan chat ingame so take it https://pastebin.com/w3Ua5ivW
  13. with this you can't read folders try add this package net.sf.l2j.gameserver.data; import java.io.File; import java.util.ArrayList; import java.util.Collection; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.function.Predicate; import java.util.logging.Logger; import java.util.stream.Collectors; import net.sf.l2j.commons.data.xml.XMLDocument; import net.sf.l2j.gameserver.model.L2Skill; import net.sf.l2j.gameserver.model.MinionData; import net.sf.l2j.gameserver.model.PetDataEntry; import net.sf.l2j.gameserver.model.actor.template.NpcTemplate; import net.sf.l2j.gameserver.model.actor.template.PetTemplate; import net.sf.l2j.gameserver.model.item.DropCategory; import net.sf.l2j.gameserver.model.item.DropData; import net.sf.l2j.gameserver.templates.StatsSet; import org.w3c.dom.Document; import org.w3c.dom.NamedNodeMap; import org.w3c.dom.Node; public class NpcTable extends XMLDocument { private static final Logger _log = Logger.getLogger(NpcTable.class.getName()); private final Map<Integer, NpcTemplate> _npcs = new HashMap<>(); protected NpcTable() { load(); } public void reloadAllNpc() { _npcs.clear(); load(); } @Override protected void load() { loadDocument("./data/xml/npcs/"); _log.info("NpcTable: Loaded " + _npcs.size() + " NPC templates."); } @Override protected void parseDocument(Document doc, File file) { final StatsSet set = new StatsSet(); final StatsSet petSet = new StatsSet(); final Node d = doc.getFirstChild(); for (Node npc = d.getFirstChild(); npc != null; npc = npc.getNextSibling()) { if ("npc".equalsIgnoreCase(npc.getNodeName())) { NamedNodeMap attrs = npc.getAttributes(); boolean mustUsePetTemplate = false; // Used to define template type. final int npcId = Integer.parseInt(attrs.getNamedItem("id").getNodeValue()); final int templateId = attrs.getNamedItem("idTemplate") == null ? npcId : Integer.parseInt(attrs.getNamedItem("idTemplate").getNodeValue()); set.set("id", npcId); set.set("idTemplate", templateId); set.set("name", attrs.getNamedItem("name").getNodeValue()); set.set("title", attrs.getNamedItem("title").getNodeValue()); for (Node cat = npc.getFirstChild(); cat != null; cat = cat.getNextSibling()) { if ("ai".equalsIgnoreCase(cat.getNodeName())) { attrs = cat.getAttributes(); set.set("aiType", attrs.getNamedItem("type").getNodeValue()); set.set("ssCount", Integer.parseInt(attrs.getNamedItem("ssCount").getNodeValue())); set.set("ssRate", Integer.parseInt(attrs.getNamedItem("ssRate").getNodeValue())); set.set("spsCount", Integer.parseInt(attrs.getNamedItem("spsCount").getNodeValue())); set.set("spsRate", Integer.parseInt(attrs.getNamedItem("spsRate").getNodeValue())); set.set("aggro", Integer.parseInt(attrs.getNamedItem("aggro").getNodeValue())); // Verify if the parameter exists. if (attrs.getNamedItem("clan") != null) { set.set("clan", attrs.getNamedItem("clan").getNodeValue().split(";")); set.set("clanRange", Integer.parseInt(attrs.getNamedItem("clanRange").getNodeValue())); // Verify if the parameter exists. if (attrs.getNamedItem("ignoredIds") != null) set.set("ignoredIds", attrs.getNamedItem("ignoredIds").getNodeValue()); } set.set("canMove", Boolean.parseBoolean(attrs.getNamedItem("canMove").getNodeValue())); set.set("seedable", Boolean.parseBoolean(attrs.getNamedItem("seedable").getNodeValue())); } else if ("drops".equalsIgnoreCase(cat.getNodeName())) { final String type = set.getString("type"); final boolean isRaid = type.equalsIgnoreCase("L2RaidBoss") || type.equalsIgnoreCase("L2GrandBoss"); final List<DropCategory> drops = new ArrayList<>(); for (Node dropCat = cat.getFirstChild(); dropCat != null; dropCat = dropCat.getNextSibling()) { if ("category".equalsIgnoreCase(dropCat.getNodeName())) { attrs = dropCat.getAttributes(); final DropCategory category = new DropCategory(Integer.parseInt(attrs.getNamedItem("id").getNodeValue())); for (Node item = dropCat.getFirstChild(); item != null; item = item.getNextSibling()) { if ("drop".equalsIgnoreCase(item.getNodeName())) { attrs = item.getAttributes(); final DropData data = new DropData(); data.setItemId(Integer.parseInt(attrs.getNamedItem("itemid").getNodeValue())); data.setMinDrop(Integer.parseInt(attrs.getNamedItem("min").getNodeValue())); data.setMaxDrop(Integer.parseInt(attrs.getNamedItem("max").getNodeValue())); data.setChance(Integer.parseInt(attrs.getNamedItem("chance").getNodeValue())); if (ItemTable.getInstance().getTemplate(data.getItemId()) == null) { _log.warning("Droplist data for undefined itemId: " + data.getItemId()); continue; } category.addDropData(data, isRaid); } } drops.add(category); } } set.set("drops", drops); } else if ("minions".equalsIgnoreCase(cat.getNodeName())) { final List<MinionData> minions = new ArrayList<>(); for (Node minion = cat.getFirstChild(); minion != null; minion = minion.getNextSibling()) { if ("minion".equalsIgnoreCase(minion.getNodeName())) { attrs = minion.getAttributes(); final MinionData data = new MinionData(); data.setMinionId(Integer.parseInt(attrs.getNamedItem("id").getNodeValue())); data.setAmountMin(Integer.parseInt(attrs.getNamedItem("min").getNodeValue())); data.setAmountMax(Integer.parseInt(attrs.getNamedItem("max").getNodeValue())); minions.add(data); } } set.set("minions", minions); } else if ("petdata".equalsIgnoreCase(cat.getNodeName())) { mustUsePetTemplate = true; attrs = cat.getAttributes(); set.set("food1", Integer.parseInt(attrs.getNamedItem("food1").getNodeValue())); set.set("food2", Integer.parseInt(attrs.getNamedItem("food2").getNodeValue())); set.set("autoFeedLimit", Double.parseDouble(attrs.getNamedItem("autoFeedLimit").getNodeValue())); set.set("hungryLimit", Double.parseDouble(attrs.getNamedItem("hungryLimit").getNodeValue())); set.set("unsummonLimit", Double.parseDouble(attrs.getNamedItem("unsummonLimit").getNodeValue())); final Map<Integer, PetDataEntry> entries = new HashMap<>(); for (Node petCat = cat.getFirstChild(); petCat != null; petCat = petCat.getNextSibling()) { if ("stat".equalsIgnoreCase(petCat.getNodeName())) { attrs = petCat.getAttributes(); // Get all nodes. for (int i = 0; i < attrs.getLength(); i++) { // Add them to stats by node name and node value. Node node = attrs.item(i); petSet.set(node.getNodeName(), node.getNodeValue()); } entries.put(petSet.getInteger("level"), new PetDataEntry(petSet)); petSet.clear(); } } set.set("petData", entries); } else if ("set".equalsIgnoreCase(cat.getNodeName())) { attrs = cat.getAttributes(); set.set(attrs.getNamedItem("name").getNodeValue(), attrs.getNamedItem("val").getNodeValue()); } else if ("skills".equalsIgnoreCase(cat.getNodeName())) { final List<L2Skill> skills = new ArrayList<>(); for (Node skillCat = cat.getFirstChild(); skillCat != null; skillCat = skillCat.getNextSibling()) { if ("skill".equalsIgnoreCase(skillCat.getNodeName())) { attrs = skillCat.getAttributes(); final int skillId = Integer.parseInt(attrs.getNamedItem("id").getNodeValue()); final int level = Integer.parseInt(attrs.getNamedItem("level").getNodeValue()); // Setup the npc's race. Don't register the skill. if (skillId == L2Skill.SKILL_NPC_RACE) { set.set("raceId", level); continue; } final L2Skill data = SkillTable.getInstance().getInfo(skillId, level); if (data == null) continue; skills.add(data); } } set.set("skills", skills); } else if ("teachTo".equalsIgnoreCase(cat.getNodeName())) set.set("teachTo", cat.getAttributes().getNamedItem("classes").getNodeValue()); } _npcs.put(npcId, (mustUsePetTemplate) ? new PetTemplate(set) : new NpcTemplate(set)); } set.clear(); } } public NpcTemplate getTemplate(int id) { return _npcs.get(id); } /** * @param name to search. * @return the template list of NPCs for a given name. */ public NpcTemplate getTemplateByName(String name) { for (NpcTemplate npcTemplate : _npcs.values()) { if (npcTemplate.getName().equalsIgnoreCase(name)) return npcTemplate; } return null; } /** * Gets all templates matching the filter. * @param filter * @return the template list for the given filter */ public List<NpcTemplate> getTemplates(Predicate<NpcTemplate> filter) { return _npcs.values().stream().filter(filter).collect(Collectors.toList()); } public Collection<NpcTemplate> getAllNpcs() { return _npcs.values(); } public static NpcTable getInstance() { return SingletonHolder._instance; } private static class SingletonHolder { protected static final NpcTable _instance = new NpcTable(); } }
  14. no is not have add read folders and can read only file like npc/123.xml can't read npc/folder/folder/123.xml