-
Posts
350 -
Credits
0 -
Joined
-
Last visited
-
Feedback
0%
Content Type
Articles
Profiles
Forums
Store
Everything posted by iAlreadyExist
-
WTS L2J Service and Mods
iAlreadyExist replied to StinkyMadness's topic in Marketplace [L2Packs & Files]
quick service and response and understands well what he is doing. I recommend him to everyone -
WTB install autobots
iAlreadyExist replied to iAlreadyExist's topic in Marketplace [L2Packs & Files]
update on this still looking for someone to do this job sorry for double posting -
hello i want to buy good custom interlude server with good balance/events etc message me here or discord iAlreadyExist#7049 my budged is 500 euros if its good i can go max to 1000 euro
-
hello the other day my mysql server doesnt wanted to start i had to reinstall it but that made my donate system not working im looking someone to fix it please message me for more information and please add price sorry if this is not in the correct category
-
Request admin prefix
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
working thanks -
hello can someone give me code when admin speaks in chat to say like [GM] or [ADMIN] before the name?
-
hello i want to pay someone to install me autobots message me with price in private for contact
-
Help disable auto pots olympiad
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
i use acis but here is the code ### Eclipse Workspace Patch 1.0 #P aCis_gameserver Index: java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java =================================================================== --- java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (revision 361) +++ java/net/sf/l2j/gameserver/model/actor/instance/L2PcInstance.java (working copy) @@ -325,6 +325,24 @@ /** The active_boxes_characters. */ public List active_boxes_characters = new ArrayList<>(); + private Map> _autoPotTasks = new HashMap<>(); + + public boolean isAutoPot(int id) + { + return _autoPotTasks.keySet().contains(id); + } + + public void setAutoPot(int id, Futuretask, boolean add) + { + if (add) + _autoPotTasks.put(id, task); + else + { + _autoPotTasks.get(id).cancel(true); + _autoPotTasks.remove(id); + } + } + public class AIAccessor extends L2Character.AIAccessor { protected AIAccessor() @@ -11089,6 +11107,22 @@ if (isInBoat()) activeChar.sendPacket(new GetOnVehicle(getObjectId(), getBoat().getObjectId(), getInVehiclePosition())); + if (isAutoPot(728)) + { + sendPacket(new ExAutoSoulShot(728, 0)); + setAutoPot(728, null, false); + } + if (isAutoPot(1539)) + { + sendPacket(new ExAutoSoulShot(1539, 0)); + setAutoPot(1539, null, false); + } + if (isAutoPot(5592)) + { + sendPacket(new ExAutoSoulShot(5592, 0)); + setAutoPot(5592, null, false); + } + // No reason to try to broadcast shop message if player isn't in store mode if (isInStoreMode()) { Index: java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java =================================================================== --- java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (revision 358) +++ java/net/sf/l2j/gameserver/handler/itemhandlers/SoulShots.java (working copy) @@ -15,6 +15,7 @@ package net.sf.l2j.gameserver.handler.itemhandlers; import net.sf.l2j.commons.random.Rnd; +import net.sf.l2j.gameserver.ThreadPoolManager; import net.sf.l2j.gameserver.handler.IItemHandler; import net.sf.l2j.gameserver.model.ShotType; import net.sf.l2j.gameserver.model.actor.L2Playable; @@ -23,11 +24,18 @@ import net.sf.l2j.gameserver.model.item.instance.ItemInstance; import net.sf.l2j.gameserver.model.item.kind.Weapon; import net.sf.l2j.gameserver.network.SystemMessageId; +import net.sf.l2j.gameserver.network.serverpackets.ExAutoSoulShot; import net.sf.l2j.gameserver.network.serverpackets.MagicSkillUse; import net.sf.l2j.gameserver.util.Broadcast; public class SoulShots implements IItemHandler { + + private static final int + MANA_POT_CD = 2, + HEALING_POT_CD = 11, // DO NOT PUT LESS THAN 10 + CP_POT_CD = 2; + @Override public void useItem(L2Playable playable, ItemInstance item, boolean forceUse) { @@ -39,6 +47,108 @@ final Weapon weaponItem = activeChar.getActiveWeaponItem(); final int itemId = item.getItemId(); + if (itemId == 728 || itemId == 1539 || itemId == 5592) + { + switch (itemId) + { + case 728: // mana potion + { + if (activeChar.isAutoPot(728)) + { + activeChar.sendPacket(new ExAutoSoulShot(728, 0)); + activeChar.sendMessage("Deactivated auto mana potions."); + activeChar.setAutoPot(728, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(728) != null) + { + if (activeChar.getInventory().getItemByItemId(728).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(728, 1)); + activeChar.sendMessage("Activated auto mana potions."); + activeChar.setAutoPot(728, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(728, activeChar), 1000, MANA_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2279, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(728), true); + } + } + } + + break; + } + case 1539: // greater healing potion + { + if (activeChar.isAutoPot(1539)) + { + activeChar.sendPacket(new ExAutoSoulShot(1539, 0)); + activeChar.sendMessage("Deactivated auto healing potions."); + activeChar.setAutoPot(1539, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(1539) != null) + { + if (activeChar.getInventory().getItemByItemId(1539).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(1539, 1)); + activeChar.sendMessage("Activated auto healing potions."); + activeChar.setAutoPot(1539, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(1539, activeChar), 1000, HEALING_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2037, 1, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(1539), true); + } + } + } + + break; + } + case 5592: // greater cp potion + { + if (activeChar.isAutoPot(5592)) + { + activeChar.sendPacket(new ExAutoSoulShot(5592, 0)); + activeChar.sendMessage("Deactivated auto cp potions."); + activeChar.setAutoPot(5592, null, false); + } + else + { + if (activeChar.getInventory().getItemByItemId(5592) != null) + { + if (activeChar.getInventory().getItemByItemId(5592).getCount() > 1) + { + activeChar.sendPacket(new ExAutoSoulShot(5592, 1)); + activeChar.sendMessage("Activated auto cp potions."); + activeChar.setAutoPot(5592, ThreadPoolManager.getInstance().scheduleGeneralAtFixedRate(new AutoPot(5592, activeChar), 1000, CP_POT_CD*1000), true); + } + else + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2166, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(5592), true); + } + } + } + + break; + } + } + + return; + } + // Check if soulshot can be used if (weaponInst == null || weaponItem.getSoulShotCount() == 0) { @@ -78,4 +188,76 @@ activeChar.sendPacket(SystemMessageId.ENABLED_SOULSHOT); Broadcast.toSelfAndKnownPlayersInRadiusSq(activeChar, new MagicSkillUse(activeChar, activeChar, skills[0].getId(), 1, 0, 0), 360000); } + + private class AutoPot implements Runnable + { + private int id; + private L2PcInstance activeChar; + + public AutoPot(int id, L2PcInstance activeChar) + { + this.id = id; + this.activeChar = activeChar; + } + + @Override + public void run() + { + if (activeChar.getInventory().getItemByItemId(id) == null) + { + activeChar.sendPacket(new ExAutoSoulShot(id, 0)); + activeChar.setAutoPot(id, null, false); + return; + } + + switch (id) + { + case 728: + { + if (activeChar.getCurrentMp() < 0.70*activeChar.getMaxMp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2279, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(728), true); + } + + break; + } + case 1539: + { + if (activeChar.getCurrentHp() < 0.70*activeChar.getMaxHp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2037, 1, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(1539), true); + } + + break; + } + case 5592: + { + if (activeChar.getCurrentCp() < 0.70*activeChar.getMaxCp()) + { + MagicSkillUse msu = new MagicSkillUse(activeChar, activeChar, 2166, 2, 0, 100); + activeChar.broadcastPacket(msu); + + ItemSkills is = new ItemSkills(); + is.useItem(activeChar, activeChar.getInventory().getItemByItemId(5592), true); + } + + break; + } + } + + if (activeChar.getInventory().getItemByItemId(id) == null) + { + activeChar.sendPacket(new ExAutoSoulShot(id, 0)); + activeChar.setAutoPot(id, null, false); + } + } + } } \ No newline at end of file -
Help disable auto pots olympiad
iAlreadyExist posted a question in Request Server Development Help [L2J]
alright so i have installed auto pots on my server but when players go to olympiad with activated potions they still can use them can someone help me fix that? -
Help key packet error
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
i made it work somehow thanks. -
hello can someone help me with this error 02:38:51 [strixplatform] ERROR - Received client data not valide. Client checksum: -54545454 Decoded checksum: 54554 Client: [IP: 250.32.152.167] - Failed writing: [S] KeyPacket java.lang.NullPointerException at java.nio.ByteBuffer.put(ByteBuffer.java:867) at net.sf.l2j.commons.mmocore.SendablePacket.writeB(SendablePacket.java:68) at net.sf.l2j.gameserver.network.serverpackets.KeyPacket.writeImpl(KeyPacket.java:55) at net.sf.l2j.gameserver.network.serverpackets.L2GameServerPacket.write(L2GameServerPacket.java:38) at net.sf.l2j.commons.mmocore.SelectorThread.putPacketIntoWriteBuffer(SelectorThread.java:595) at net.sf.l2j.commons.mmocore.SelectorThread.writeClosePacket(SelectorThread.java:466) at net.sf.l2j.commons.mmocore.SelectorThread.run(SelectorThread.java:212)
-
hello im looking for someone to install me strix-guard protection i recently bought message me here for contact and price you want.
-
Help Teleport Interlude
iAlreadyExist replied to Williams's question in Request Server Development Help [L2J]
try like this StringUtil.append(sb, "<a action=\"bypass -h npc_", getObjectId(), "_teleport ", index, "\">", teleport.getDesc()); -
Help Teleport Interlude
iAlreadyExist replied to Williams's question in Request Server Development Help [L2J]
you want to remove it the confirmation? -
Discussion Free or cheap hosting for server
iAlreadyExist replied to girogius's topic in General Discussion [English]
it is cheap https://www.time4vps.com/ im using it actually and its very good. -
WTT LOOKING CUSTOM/NO CUSTOM PVP SERVER
iAlreadyExist replied to VisaGriaunantis's topic in Marketplace [L2Packs & Files]
how much you can pay -
Request olympiad points
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
i dont use custom pack i have made from clean acis but its old rev -
Request olympiad points
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
i have this there private static final String GET_EACH_CLASS_LEADER = "SELECT characters.char_name from olympiad_nobles, characters WHERE characters.obj_Id = olympiad_nobles.char_id AND olympiad_nobles.class_id = ? AND olympiad_nobles.competitions_done >= " + Config.ALT_OLY_MIN_MATCHES + " ORDER BY olympiad_nobles.olympiad_points DESC, olympiad_nobles.competitions_done DESC, olympiad_nobles.competitions_won DESC LIMIT 10"; -
Request olympiad points
iAlreadyExist replied to iAlreadyExist's question in Request Server Development Help [L2J]
when someone make 9 matches to be appeared in the class not after olympiad finish i use acis -
hello can someone share code after every match to update the points when someone have 9 match or something
-
Help Help Adapte the code
iAlreadyExist replied to MadaraWTF's question in Request Server Development Help [L2J]
-
Close this topic as kara said already bought this
-
-
Hello i want to buy something like this.. message me here or in discord iAlreadyExist#7049
-
Help system name problem
iAlreadyExist replied to iAlreadyExist's topic in [Request] Client Dev Help
take a look its default one from here https://maxcheaters.com/topic/182405-c4-god-patched-systems-file-editors/ same result