Jump to content

[Share] Lineage 2 Potion User 2.2, 2.5, 2.51, 2.6


Recommended Posts

Posted

Simple program for using HP/MP/CP potions.

Program is undetectable and free.

 

Program reading all needed data from screen. And because of that in-game char status window need to be in left top corner.

 

608.jpg

 

Project page & download link:

http://www.en.piotrzegar.pl/169/Lineage_2_Potion_User_2_2_2_5_2_51_2_6,en.html

 

Versions:

2.2 - Interlude version

2.5 - Helbound version, tested long time ago on Dex, shoud work for Gracia too..

2.51 - Helbound version with some changes to make program work for some ppl, and on some systems like Windows 7

2.6 - Interlude, Helbound (added more options to ini file, changed few small things (read comments in ini file), added debug info)

Posted

good program but some times, it pressing Alt key by herself if u can fix will be nice

 

Pressing Alt key when you using 2,3th shortcut bar. To fix it need to change a keys in game for change a tabs, or usng 2, 3th bar shortcuts, or inject some code into game what will hook void UNetworkHandler::RequestShortCutUse(class L2ParamStack &) function and use it when it's needed, but no point to do that ...

Posted

i hope u make a version for epilogue  :P

 

This version works on epilogue, tested 3 days ago, if don't work for you user 2.51 version, if this don't work too, send me a screens from game.

 

Plans:

- Update: Lineage 2 Supporter to work on helbound, gracia (Player stats for begin, but supporter have a hell better keyboard control system)

- Find & Share: a uncrypted version of ClockMod - custom clientside files modyfication what alow some things like shorted commands, see true wall, etc... L2 Supporter have build in function to use that shorter commands...

- Find & Test & Update & Share: ClockMan Lineage 2 Remote Control - a tool used on BFDe to remote control of chars using a ingame chat: commands writen on chat like: #RT /target %target forces all players in party what have a tool to target my target.

- Create a PHP admin panel, and update and share a RaidBoss Death time page: sample: http://advertis.ovh.org/rb.php (PS: Anyone wanna make some admin panel for this ?:P Add/Remove/Edit/List RB's, Groups, Users)

- Update/Fix L2TowerWalker to work for Gracia as a data source for Lineage 2 Supporter

 

WTB Time :P

Posted

Does 2.51 work on Interlude too? Just wondering, since 2.2 does not have a Mana Potion option.

 

Good question.

1. If you replace option.ini to those from 2.2 (colors setings) it shoud work with 2.50 or 2.51 version (the only difrence wwith 2.5 and 2.51 is that 2.51 allows colors to be RGB(R+-3, G+-3, B+-3))

2. You can use MP elixir slot

3. For interlude i recomended you to use a Lineage 2 Supporter 3.1 - It have a hell better features and its more tested...

Posted

Good question.

1. If you replace option.ini to those from 2.2 (colors setings) it shoud work with 2.50 or 2.51 version (the only difrence wwith 2.5 and 2.51 is that 2.51 allows colors to be RGB(R+-3, G+-3, B+-3))

2. You can use MP elixir slot

3. For interlude i recomended you to use a Lineage 2 Supporter 3.1 - It have a hell better features and its more tested...

 

Just noticed you made another program called Lineage 2 Supporter. It has the Mana Potion option and many other features. Seriously, nice shares. I'm impressed. Hope you keep up the good work.

 

Greetings,

Senophoe aka Irrelevant.

Posted

hi clock thx for ur time, can u write a little how to for this program? it's userfriendly but maybe i miss something ex: if the program work

if the game is in window mode, if the program must be started before login ecc.

because on my server don't work

edit: epilogue server

91315349.jpg

 

Posted

You doing it in right way, maybe you can try move ingame status window in right left and see if it wont start if not hen send me screens in a bmp from game with difrent values of hp/cpmp (nead read all posible colors). On some systems, game versions the colors are difrent.

Posted

You doing it in right way, maybe you can try move ingame status window in right left and see if it wont start if not hen send me screens in a bmp from game with difrent values of hp/cpmp (nead read all posible colors). On some systems, game versions the colors are difrent.

 

and you seem to be doing it the wrong way lol. Why wouldnt you take this values from memory? or... packets i suppose would of been a better way than this.. oO just an idea, i suppose youd already make it if you could.

Posted

and you seem to be doing it the wrong way lol. Why wouldnt you take this values from memory? or... packets i suppose would of been a better way than this.. oO just an idea, i suppose youd already make it if you could.

 

Why ?

 

Memory - easy to protect agains memory hooks, and detect when you reading from it, diffrent adress in memory in every version of l2, and on every system. Too many variables. I tested it and its a shity way.

 

Packets - now any good anti-bot can detect when you hook recv function or ingame function. All because of l2walker, packets changes in every chronicle a bit + lot of work to decrypt protocol...

 

Inject DLL & Hook network events - Im working on it, but in gracia epilogue ncsoft changed about of 80% of api, and new changes comes in every next chronicle. Need to work agan, easy to protect agains some of those hooks. Antibots dont doing it now but they will start checking for hooks on OnUser, OnHPUdate.. when they realize that they can be easly used.

 

So only reading from screen left:

+ No easy way to detect it, you can making screenshot and it will work in same way.

+ No big changes in interface in chronicles

+ Works for 95% of users

+ Don't integrate with game, you can restart program when you want or just turn it off.

+ Don't depend on server

- Not always accurate results

- Low count of features

 

 

I used this program on BFDe, Dex, Celes and trust me, there is no prefect method. If you want full bot go for L2Net, L2Walker. I'm always open for new ideas...

In short: Don't like ? Don't use

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now



  • Posts

    • what pack you use  send me on discord for it
    • package custom.events.RandomZoneEvent; import java.io.File; import java.util.ArrayList; import java.util.List; import java.util.Random; import java.util.concurrent.ScheduledFuture; import org.w3c.dom.Document; import org.w3c.dom.Node; import org.l2jmobius.commons.threads.ThreadPool; import org.l2jmobius.commons.time.SchedulingPattern; import org.l2jmobius.commons.time.TimeUtil; import org.l2jmobius.commons.util.IXmlReader; import org.l2jmobius.gameserver.managers.ZoneManager; import org.l2jmobius.gameserver.model.StatSet; import org.l2jmobius.gameserver.model.actor.Creature; import org.l2jmobius.gameserver.model.actor.Npc; import org.l2jmobius.gameserver.model.actor.Player; import org.l2jmobius.gameserver.model.quest.Event; import org.l2jmobius.gameserver.model.zone.ZoneId; import org.l2jmobius.gameserver.model.zone.ZoneType; import org.l2jmobius.gameserver.model.zone.type.RandomZone; import org.l2jmobius.gameserver.util.Broadcast; /** * Random Zone Event - Activates one random PvP zone temporarily. No modifica la clase de la zona: usa flags PvP en runtime. * @author Juan */ public class RandomZoneEvent extends Event { private static final String CONFIG_FILE = "data/scripts/custom/events/RandomZoneEvent/config.xml"; private static int EVENT_DURATION_MINUTES = 15; private static boolean _isActive = false; private ScheduledFuture<?> _eventTask = null; private final List<ZoneType> _availableZones = new ArrayList<>(); private ZoneType _activeZone = null; public RandomZoneEvent() { loadConfig(); loadZones(); registerZoneListeners(); } /** * Registra listeners a TODAS LAS ZONAS random */ private void registerZoneListeners() { for (ZoneType zone : _availableZones) { addEnterZoneId(zone.getId()); addExitZoneId(zone.getId()); LOGGER.info("[RandomZoneEvent] Registered listener for zone: " + zone.getName()); } } private void loadConfig() { new IXmlReader() { @Override public void load() { parseDatapackFile(CONFIG_FILE); } @Override public void parseDocument(Document doc, File file) { forEach(doc, "event", eventNode -> { final StatSet att = new StatSet(parseAttributes(eventNode)); final String name = att.getString("name"); for (Node node = eventNode.getFirstChild(); node != null; node = node.getNextSibling()) { if ("schedule".equals(node.getNodeName())) { final StatSet attributes = new StatSet(parseAttributes(node)); final String pattern = attributes.getString("pattern"); final SchedulingPattern schedulingPattern = new SchedulingPattern(pattern); final StatSet params = new StatSet(); params.set("Name", name); params.set("SchedulingPattern", pattern); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer("Schedule_" + name, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Event " + name + " scheduled at " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } }); } }.load(); } private void loadZones() { for (ZoneType zone : ZoneManager.getInstance().getAllZones(RandomZone.class)) { if ((zone.getName() != null) && zone.getName().toLowerCase().startsWith("random_zone")) { _availableZones.add(zone); LOGGER.info("[RandomZoneEvent] Loaded zone: " + zone.getName() + " (id=" + zone.getId() + ")"); } } LOGGER.info("[RandomZoneEvent] Total random zones loaded: " + _availableZones.size()); } @Override public void onTimerEvent(String event, StatSet params, Npc npc, Player player) { if (event.startsWith("Schedule_")) { eventStart(null); final SchedulingPattern schedulingPattern = new SchedulingPattern(params.getString("SchedulingPattern")); final long delay = schedulingPattern.getDelayToNextFromNow(); getTimers().addTimer(event, params, delay + 5000, null, null); LOGGER.info("[RandomZoneEvent] Rescheduled for " + TimeUtil.getDateTimeString(System.currentTimeMillis() + delay)); } } @Override public boolean eventStart(Player eventMaker) { if (_isActive) { if (eventMaker != null) { eventMaker.sendMessage("RandomZoneEvent already active."); } return false; } if (_availableZones.isEmpty()) { Broadcast.toAllOnlinePlayers("[RandomZoneEvent] No zones configured."); return false; } _isActive = true; Broadcast.toAllOnlinePlayers("⚔️ Random Zone Event has started!"); _eventTask = ThreadPool.schedule(this::activateRandomZone, 5_000); return true; } private void activateRandomZone() { _activeZone = _availableZones.get(new Random().nextInt(_availableZones.size())); _activeZone.setEnabled(true); Broadcast.toAllOnlinePlayers("🔥 Random Zone Event: " + _activeZone.getName() + " is now PvP for " + EVENT_DURATION_MINUTES + " minutes!"); _eventTask = ThreadPool.schedule(this::eventStop, EVENT_DURATION_MINUTES * 60 * 1000L); } @Override public boolean eventStop() { if (!_isActive) { return false; } _isActive = false; if (_eventTask != null) { _eventTask.cancel(true); _eventTask = null; } if (_activeZone != null) { _activeZone.setEnabled(false); Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended. " + _activeZone.getName() + " is back to normal."); _activeZone = null; } else { Broadcast.toAllOnlinePlayers("🏁 Random Zone Event ended."); } return true; } @Override public void onEnterZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, true); if (creature.isPlayer()) { creature.sendMessage("Esta zona está en modo PvP temporalmente."); } } } @Override public void onExitZone(Creature creature, ZoneType zone) { if (!_isActive || (_activeZone == null)) { return; } if ((zone == _activeZone) && creature.isPlayable()) { creature.setInsideZone(ZoneId.PVP, false); if (creature.isPlayer()) { creature.sendMessage("Abandonaste la zona PvP temporal."); } } } @Override public boolean eventBypass(Player player, String bypass) { return true; } @Override public String onEvent(String event, Npc npc, Player player) { return super.onEvent(event, npc, player); } @Override public String onFirstTalk(Npc npc, Player player) { return null; } public static void main(String[] args) { new RandomZoneEvent(); } } i have this but its not working
    • ZonePvPSpawnBossRadio=0 ZonePvPSpawnBossBarakiel=0 at the Customs.ini in L2Server folder. Im prety sure this is it because i had the same problem with you in cruma 1 floor for example and i couldn't fix it but i fixed it finally by changing these 2 lines
    • Siege Reward Start PM Msg Rework Config root BossDieAnnounce and BossDieSound in the L24Team.properties and Config.java files for global raid boss death notifications and sounds. Adds a new reward_list table to the DB.sql file to track castle rewards. Improves character creation logic for thread safety and validation. Adds extensive state checks to the RequestEnchantItem method to prevent enchantments during inappropriate player states. Fixed auto-attack animation bug (there was no attack animation, only damage animation) Clean Code Other fixes I forgot to list! Java 14 Fixed issue where deleting a character would prevent it from leaving the screen or being removed, or even after a delete CD (it would only exit when re-logging in or creating a new character). Added Premium System from the other C2 project (Needs testing and improvement). Added the "Improved" Community Board (incomplete).
  • Topics

×
×
  • Create New...

AdBlock Extension Detected!

Our website is made possible by displaying online advertisements to our members.

Please disable AdBlock browser extension first, to be able to use our community.

I've Disabled AdBlock