Jump to content

*=Koofs=*

Membro
  • Content Count

    74
  • Joined

  • Last visited

  • Days Won

    3

*=Koofs=* last won the day on June 30 2018

*=Koofs=* had the most liked content!

Community Reputation

46 Normal

2 Followers

About *=Koofs=*

  • Rank
    Muito Noob
  • Birthday 11/13/1994

Profile Information

  • Gênero:
    Masculino
  • Localização:
    Argentina , Santa Fe
  • Interesses:
    LINEAGE 2 , LINEGE 2 , LINEAGE 2

Contact Methods

  • Facebook:
    https://www.facebook.com/koki.whoelse.79
  • Skype:
    Lineage 2 Unstopable

Recent Profile Visitors

946 profile views
  1. alguém poderia me ajudar não conseguiu adaptar este mod para l2jfrozen. A ideia deste mod é terminar o status de herói dentro do jogo sem precisar reiniciar com o personagem já que em l2jfrozen você precisa reiniciar para finalizar o status de herói obrigado !! https://pastebin.com/J4QpmJ3U MOD FOR L2JACIS ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/taskmanager/HeroTaskManager.java =================================================================== --- java/net/sf/l2j/gameserver/taskmanager/HeroTaskManager.java (nonexistent) +++ java/net/sf/l2j/gameserver/taskmanager/HeroTaskManager.java (working copy) @@ -0,0 +1,86 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.taskmanager; + +import java.util.Map; +import java.util.concurrent.ConcurrentHashMap; + +import net.sf.l2j.commons.concurrent.ThreadPool; + +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; + +public final class HeroTaskManager implements Runnable +{ + private final Map<L2PcInstance, Long> _players = new ConcurrentHashMap<>(); + + protected HeroTaskManager() + { + ThreadPool.scheduleAtFixedRate(this, 1000, 1000); + } + + /** + * Adds {@link L2PcInstance} to the HeroTask. + * @param player : L2PcInstance to be added and checked. + */ + public final void add(L2PcInstance player) + { + _players.put(player, System.currentTimeMillis()); + } + + /** + * Removes {@link L2PcInstance} from the HeroTask. + * @param player : {@link L2PcInstance} to be removed. + */ + public final void remove(L2PcInstance player) + { + _players.remove(player); + } + + @Override + public final void run() + { + // List is empty, skip. + if (_players.isEmpty()) + return; + + // Loop all players. + for (Map.Entry<L2PcInstance, Long> entry : _players.entrySet()) + { + // Get player. + final L2PcInstance player = entry.getKey(); + + if (player.getMemos().getLong("heroTime") < System.currentTimeMillis()) + { + player.setHero(false); + player.broadcastUserInfo(); + player.sendPacket(new CreatureSay(0, Say2.HERO_VOICE, "System", "Dear player, your hero period is over.")); + player.getMemos().set("heroTime", 0); + remove(player); + } + } + } + + public static final HeroTaskManager getInstance() + { + return SingletonHolder._instance; + } + + private static class SingletonHolder + { + protected static final HeroTaskManager _instance = new HeroTaskManager(); + } +} \ No newline at end of file Index: java/net/sf/l2j/gameserver/handler/ItemHandler.java =================================================================== --- java/net/sf/l2j/gameserver/handler/ItemHandler.java (revision 590) +++ java/net/sf/l2j/gameserver/handler/ItemHandler.java (working copy) @@ -27,6 +27,7 @@ import net.sf.l2j.gameserver.handler.itemhandlers.EnchantScrolls; import net.sf.l2j.gameserver.handler.itemhandlers.FishShots; import net.sf.l2j.gameserver.handler.itemhandlers.Harvester; +import net.sf.l2j.gameserver.handler.itemhandlers.HeroItem; import net.sf.l2j.gameserver.handler.itemhandlers.ItemSkills; import net.sf.l2j.gameserver.handler.itemhandlers.Keys; import net.sf.l2j.gameserver.handler.itemhandlers.Maps; @@ -66,6 +67,7 @@ registerItemHandler(new EnchantScrolls()); registerItemHandler(new FishShots()); registerItemHandler(new Harvester()); + registerItemHandler(new HeroItem()); registerItemHandler(new ItemSkills()); registerItemHandler(new Keys()); registerItemHandler(new Maps()); Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 590) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -241,6 +241,7 @@ import net.sf.l2j.gameserver.skills.l2skills.L2SkillSummon; import net.sf.l2j.gameserver.taskmanager.AttackStanceTaskManager; import net.sf.l2j.gameserver.taskmanager.GameTimeTaskManager; +import net.sf.l2j.gameserver.taskmanager.HeroTaskManager; import net.sf.l2j.gameserver.taskmanager.ItemsOnGroundTaskManager; import net.sf.l2j.gameserver.taskmanager.PvpFlagTaskManager; import net.sf.l2j.gameserver.taskmanager.ShadowItemTaskManager; @@ -4267,6 +4268,7 @@ PvpFlagTaskManager.getInstance().remove(this); GameTimeTaskManager.getInstance().remove(this); ShadowItemTaskManager.getInstance().remove(this); + HeroTaskManager.getInstance().remove(this); } /** @@ -8366,6 +8368,12 @@ if (isCursedWeaponEquipped()) CursedWeaponsManager.getInstance().getCursedWeapon(getCursedWeaponEquippedId()).cursedOnLogin(); + if (getMemos().getLong("heroTime", 0) > 0) + { + setHero(true); + HeroTaskManager.getInstance().add(this); + } + // Add to the GameTimeTask to keep inform about activity time. GameTimeTaskManager.getInstance().add(this); Index: java/net/sf/l2j/gameserver/handler/itemhandlers/HeroItem.java =================================================================== --- java/net/sf/l2j/gameserver/handler/itemhandlers/HeroItem.java (nonexistent) +++ java/net/sf/l2j/gameserver/handler/itemhandlers/HeroItem.java (working copy) @@ -0,0 +1,61 @@ +/* + * This program is free software: you can redistribute it and/or modify it under + * the terms of the GNU General Public License as published by the Free Software + * Foundation, either version 3 of the License, or (at your option) any later + * version. + * + * This program is distributed in the hope that it will be useful, but WITHOUT + * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS + * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more + * details. + * + * You should have received a copy of the GNU General Public License along with + * this program. If not, see <http://www.gnu.org/licenses/>. + */ +package net.sf.l2j.gameserver.handler.itemhandlers; + +import java.util.concurrent.TimeUnit; + +import net.sf.l2j.gameserver.handler.IItemHandler; +import net.sf.l2j.gameserver.model.actor.L2Playable; +import net.sf.l2j.gameserver.model.actor.instance.L2PcInstance; +import net.sf.l2j.gameserver.model.item.instance.ItemInstance; +import net.sf.l2j.gameserver.network.clientpackets.Say2; +import net.sf.l2j.gameserver.network.serverpackets.CreatureSay; +import net.sf.l2j.gameserver.network.serverpackets.SocialAction; +import net.sf.l2j.gameserver.taskmanager.HeroTaskManager; + +public class HeroItem implements IItemHandler +{ + @Override + public void useItem(L2Playable playable, ItemInstance item, boolean forceUse) + { + if (!(playable instanceof L2PcInstance)) + return; + + L2PcInstance activeChar = (L2PcInstance) playable; + + long remainingTime = activeChar.getMemos().getLong("heroTime", 0); + int days = 7; + + if (remainingTime > 0) + { + activeChar.getMemos().set("heroTime", remainingTime + TimeUnit.DAYS.toMillis(days)); + activeChar.sendPacket(new CreatureSay(0, Say2.HERO_VOICE, "System", "Dear player, your hero status has been extended by " + days + " day(s).")); + } + else + { + activeChar.setHero(true); + if (activeChar.getInventory().getItemByItemId(6842) == null) + activeChar.addItem("circlet", 6842, 1, activeChar, true); + + activeChar.getMemos().set("heroTime", System.currentTimeMillis() + TimeUnit.DAYS.toMillis(days)); + activeChar.sendPacket(new CreatureSay(0, Say2.HERO_VOICE, "System", "Dear player, you are now a hero, congratulations.")); + activeChar.broadcastUserInfo(); + } + + activeChar.destroyItem("Consume", item.getObjectId(), 1, null, true); + activeChar.broadcastPacket(new SocialAction(activeChar, 16)); + HeroTaskManager.getInstance().add(activeChar); + } +} \ No newline at end of file #P aCis_datapack Index: data/xml/items/9200-9299.xml =================================================================== --- data/xml/items/9200-9299.xml (revision 590) +++ data/xml/items/9200-9299.xml (working copy) @@ -102,4 +102,12 @@ <set name="is_dropable" val="false" /> <set name="is_sellable" val="false" /> </item> + <item id="9209" type="EtcItem" name="Hero Item"> + <set name="material" val="PAPER" /> + <set name="is_tradable" val="true" /> + <set name="is_dropable" val="false" /> + <set name="is_sellable" val="false" /> + <set name="is_depositable" val="false" /> + <set name="handler" val="HeroItem" /> + </item> </list> \ No newline at end of file
  2. interlude : acis H5: l2jserver las demas cronicas no son tan populares...
  3. good point I understand the project looks great to mount it online with some new ideas.
  4. dont have source? the compiled ones are useless
  5. acis , frozen , jmobus , jserver wtf? es una base de un proyecto basura y solo le agregaron unos mods jajajajajajaj quien pagaria por esta basura?
  6. Interface Neophron Ultimate Edition Features: Built-in Bot Automatic (Looped) Macros Auto Assist Service of Automatic Use of Buffs / Togles / Dances and Songs Service Automatic Sharpening Items Auto Augmentation Service Skill Search Service (For Augmentation) Skill Sharpening Service Auto Crafting Service Advanced Damage on the Screen Automatic application of Soulshot / Blessed Spiritshot Advanced ADC Automatic use of buff cans Counterfall Buff Saving Superior Inventory Posted By: Neophron https://youtu.be/H16gv7iuDm4 DOWNLOAD : http://www.mediafire.com/file/kzpbweyi1576te9/Interface_Neophron.rar/file ( perdón por escribir en español mi portugués es malo ) la interface la publicaron hace unos días en un foro pero parece estar encriptada porque cuando carga el loading te expulsa del juego. pero quisas alguien pueda hacerla funcionar o le sirva. saludos
  7. sem source? , una basura mas...
  8. vas a compartir el source del projecto ? , los compilados no sirven de nada si se quiere agregar proteccion o agregar mas cosas al server ...
  9. perdon por escribirlo en español mi portugues es malo... el projecto de baggos "l2jnetwork rev 32" tiene un backdoor o puerta trasera como quieran decirle , luego de unos 4 a 5 dias de crear tu personaje el mismo toma acceso nivel 8 de master admin... yo llevo unos dias buscando donde estara pero aun no encuentro nada... solo les advierto no pongan ese servidor online !!...
  10. now if I worked, thank you very much friend !!!
  11. I added it and it did not give errors in eclipse but it says that it can not be used if you are not clan leader and you are not in siege war WTF ??? this is all my code of RequestBypassToServer.java Do you have any ideas that can be?
  12. I am using this mod that is here in the forum. I'm trying to adapt to rev 374 of acis
  13. bons queridos amigos estou tentando adaptar um comando mas tenho alguns problemas em uma parte e não sei como resolvê-lo, esse mod era de uma antiga rev de acis e atualmente estou usando o 374. Eu recebo o problema em RequestBypassToServer.java nessas partes que adiciona + + public static void stealTarget(L2PcInstance p, String part) + { + if (p.getTarget() == null || !(p.getTarget() instanceof L2PcInstance)) + { + p.sendMessage("Invalid target."); + return; + } + + L2PcInstance t = (L2PcInstance)p.getTarget(); + + if (p.getDressMeData() == null) + { + DressMeData dmd = new DressMeData(); + p.setDressMeData(dmd); + } + + boolean returnMain = false; + + switch (part) + { + case "chest": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST) == null) + { + p.getDressMeData().setChestId(0); + } + else + { + p.getDressMeData().setChestId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItemId()); + } + break; + } + case "legs": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) == null) + { + p.getDressMeData().setLegsId(0); + } + else + { + p.getDressMeData().setLegsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS).getItemId()); + } + break; + } + case "gloves": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) == null) + { + p.getDressMeData().setGlovesId(0); + } + else + { + p.getDressMeData().setGlovesId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES).getItemId()); + } + break; + } + case "boots": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) == null) + { + p.getDressMeData().setBootsId(0); + } + else + { + p.getDressMeData().setBootsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET).getItemId()); + } + break; + } + case "weap": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null) + { + p.getDressMeData().setWeapId(0); + } + else + { + p.getDressMeData().setWeapId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItemId()); + } + break; + } + case "all": + { + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST) == null) + { + p.getDressMeData().setChestId(0); + } + else + { + p.getDressMeData().setChestId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_CHEST).getItemId()); + } + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS) == null) + { + p.getDressMeData().setLegsId(0); + } + else + { + p.getDressMeData().setLegsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_LEGS).getItemId()); + } + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES) == null) + { + p.getDressMeData().setGlovesId(0); + } + else + { + p.getDressMeData().setGlovesId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_GLOVES).getItemId()); + } + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET) == null) + { + p.getDressMeData().setBootsId(0); + } + else + { + p.getDressMeData().setBootsId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_FEET).getItemId()); + } + if (t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND) == null) + { + p.getDressMeData().setWeapId(0); + } + else + { + p.getDressMeData().setWeapId(t.getInventory().getPaperdollItem(Inventory.PAPERDOLL_RHAND).getItemId()); + } + returnMain = true; + break; + } + } + + p.broadcastUserInfo(); + if (!returnMain) + sendEditWindow(p, part); + else + DressMe.sendMainWindow(p); + } + + public static void setPart(L2PcInstance p, String part, String type) + { + if (p.getDressMeData() == null) + { + DressMeData dmd = new DressMeData(); + p.setDressMeData(dmd); + } + + switch (part) + { + case "chest": + { + if (Config.DRESS_ME_CHESTS.keySet().contains(type)) + { + p.getDressMeData().setChestId(Config.DRESS_ME_CHESTS.get(type)); + } + + break; + } + case "legs": + { + if (Config.DRESS_ME_LEGS.keySet().contains(type)) + { + p.getDressMeData().setLegsId(Config.DRESS_ME_LEGS.get(type)); + } + + break; + } + case "gloves": + { + if (Config.DRESS_ME_GLOVES.keySet().contains(type)) + { + p.getDressMeData().setGlovesId(Config.DRESS_ME_GLOVES.get(type)); + } + + break; + } + case "boots": + { + if (Config.DRESS_ME_BOOTS.keySet().contains(type)) + { + p.getDressMeData().setBootsId(Config.DRESS_ME_BOOTS.get(type)); + } + + break; + } + case "weap": + { + if (Config.DRESS_ME_WEAPONS.keySet().contains(type)) + { + p.getDressMeData().setWeapId(Config.DRESS_ME_WEAPONS.get(type)); + } + + break; + } + } + + p.broadcastUserInfo(); + sendEditWindow(p, part); + } + + public static void sendEditWindow(L2PcInstance p, String part) + { + NpcHtmlMessage htm = new NpcHtmlMessage(0); + htm.setFile("./data/html/custom/dressme/edit.htm"); + htm.replace("%part%", part); + switch (part) + { + case "chest": + { + if (p.getDressMeData() == null) + { + htm.replace("%partinfo%", "You have no custom chest."); + } + else + { + htm.replace("%partinfo%", p.getDressMeData().getChestId() == 0 ? "You have no custom chest." : ItemTable.getInstance().getTemplate(p.getDressMeData().getChestId()).getName()); + } + String temp = ""; + for (String s : Config.DRESS_ME_CHESTS.keySet()) + { + temp += s+";"; + } + htm.replace("%dropboxdata%", temp); + break; + } + case "legs": + { + if (p.getDressMeData() == null) + { + htm.replace("%partinfo%", "You have no custom legs."); + } + else + { + htm.replace("%partinfo%", p.getDressMeData().getLegsId() == 0 ? "You have no custom legs." : ItemTable.getInstance().getTemplate(p.getDressMeData().getLegsId()).getName()); + } + String temp = ""; + for (String s : Config.DRESS_ME_LEGS.keySet()) + { + temp += s+";"; + } + htm.replace("%dropboxdata%", temp); + break; + } + case "gloves": + { + if (p.getDressMeData() == null) + { + htm.replace("%partinfo%", "You have no custom gloves."); + } + else + { + htm.replace("%partinfo%", p.getDressMeData().getGlovesId() == 0 ? "You have no custom gloves." : ItemTable.getInstance().getTemplate(p.getDressMeData().getGlovesId()).getName()); + } + String temp = ""; + for (String s : Config.DRESS_ME_GLOVES.keySet()) + { + temp += s+";"; + } + htm.replace("%dropboxdata%", temp); + break; + } + case "boots": + { + if (p.getDressMeData() == null) + { + htm.replace("%partinfo%", "You have no custom boots."); + } + else + { + htm.replace("%partinfo%", p.getDressMeData().getBootsId() == 0 ? "You have no custom boots." : ItemTable.getInstance().getTemplate(p.getDressMeData().getBootsId()).getName()); + } + String temp = ""; + for (String s : Config.DRESS_ME_BOOTS.keySet()) + { + temp += s+";"; + } + htm.replace("%dropboxdata%", temp); + break; + } + case "weap": + { + if (p.getDressMeData() == null) + { + htm.replace("%partinfo%", "You have no custom weapon."); + } + else + { + htm.replace("%partinfo%", p.getDressMeData().getWeapId() == 0 ? "You have no custom weapon." : ItemTable.getInstance().getTemplate(p.getDressMeData().getWeapId()).getName()); + } + String temp = ""; + for (String s : Config.DRESS_ME_WEAPONS.keySet()) + { + temp += s+";"; + } + htm.replace("%dropboxdata%", temp); + break; + } + } + + p.sendPacket(htm); + } mais precisamente nestas linhas public static void stealTarget(Player p, String part e aqui sendEditWindow(p, part)
  14. solo estoy reportando un link off , que estas entendiendo? jajajajaja
×
×
  • Create New...