Jump to content

Recommended Posts

Posted

I've made a simple software called "League of Legends Helper Tool" (LOLHT in short).

This version of it is completely free and up to date - ready for use.

Here is a screenshot with the current set of functions, below you will find download link, tutorial how to start it and explanation of each function.

14cb37k.png

 

Direct Download: http://xzone-reactor.com/downloads/X...tion_Setup.exe

Download Mirror2: XZONE_REACTOR_Application_Setup.exe

Download Mirror3: Download XZONE_REACTOR_Application_Setup.exe from Sendspace.com - send big files the easy way

VirusTotal analysis: https://www.virustotal.com/file/22de...is/1351776356/

 

 

Tutorial how to install and start the tool:

 

1) After you have downloaded the Setup of the software, you can install it in whatever folder you please (by default is program files)

2) After installing it, you will have a shortcut on your desktop, start it.

3) Wait for it to check for updates, if there is an update it will be downloaded automaticly and ran.

4) On the left choose [League of Legends], then choose [LOLHT Lite (Global)]

4.1) If you get an error right after clicking, you might need to install flash player for internet explorer XZR APP needs it to run properly.

5)It will prompt you to login with your username and password. If you haven't registered in my software yet, do so, but don't do it with the same username/password which you use on League of Legends to play. Never give your LOL account details to anybody, ever!

6)Click [install] if you haven't installed it yet, then [start].

7)Do not close XZR APP or the League of Legends Helper tool Lite, else it will not inject into the game properly.

8)Join a game, after spawn in the base you will see a message over your player, telling you to press [F8] - Do so.

9)Navigate in the LOLHT menu with the arrow keys.

10)Enjoy yourself! ;-)

 

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

 

What is the meaning of the functions in the tool:

 

MyRange (1) = Draws a transparent blue circle showing your own range with bassic attacks.

 

ExpRange (1) = Draws a transparent gray circle showing the range from where you can gain experience from ordinary minions. (Good if you are hardly harassed but still want to gain exp behind the turret or you are a jungler waiting in a bush for the right moment to gank, but want to steal some exp from the mid/top while waiting...)

 

EnemyRange (1) = Draws a transparent red circle showing the range of an enemy hero basic attack. (Really good for rangeVSrange lane so you will be more aware if an enemy is walking towards you to harass you. Or just be aware of their range...)

 

TurretRange (1) = Draws a red(for enemy) and green(for teammate) circle around turrets, showing you their range. (Helps you about harass capabilities or possible diving in turrets ... etc)

 

MapRevealer (1) = It shows you the last movement an enemy has made before entering the fog of war. Gives you like 10% more map awareness. You will not know if they suddenly change their route while in fog of war. Shows wards, shaco boxes and all kinds of other goodies. Fixed a bug with jungle units.

 

LastHitMarker (1) = Draws around enemy unit (jungle, turret, champion, standart minion) a circle whenever it can be killed (lasthitted)by you with a basic attack.

 

SmiteMarker (1) = Draws a solid circle around a jungle unit (including dragon and baron) which can be killed (lasthitted) with smite (good for stealing dragons and barons).

 

UltimateMarker (1) = Draws over a champion light blue circle when can be lasthitted by your ultimate with it's max power and light green circle when can be lasthitted with it's minimal power.

(Supported champions are: Garen, Darius, Chogath, Veigar, Karthus, Gragas, Malzahar, Orianna, Tristana, Warwick, Ziggs, Annie, Ashe, Cassiopea, Caitlyn, Graves, LeeSin, Akali, Blitzcrank, Diana, Evelyn, Ezrael, Fizz, Malphite, Riven, Zyra.)

 

JungleTimers (1) = Draws on top text which shows when a specific jungle campus will spawn or is it already UP. (Will not work correctly for example when you go to enemy blue and it was already killed long ago - wrong timer number will be shown instead, for that reason if you want to know the correct timing about enemy buffs set up wards. This is really important for dragon/baron too or you will have to rely on the moment whenever you have revealed it that it's missing/killed already.)

 

ExtraChampInfo (1) = Draws on top left corner hidden stats of the champion such as: CritChance, ArmorPenetrationFlat, ArmorPenetrationPercent, LifeSteal, HPRegen, CoolDownReduction, MagicPenetrationFlat, MagicPenetrationPercent, SpellVamp, MPRegen. (Really good to know on early game what runes your enemy is having, so you will know what to be aware off)

 

Prediction (1~20) = If you set this function to a value higher than 0 it will predict the place (with a green circle) where you would land a "skillshot" to hit a target enemy champion. (For example Ezrael Q and W need prediction of 8, Blitzcrank Q needs 10, Morgana and Lux Q need 13. For other champions test on your own. This feature works only on an enemy champion which you have selected with your left mouse or you last autoattacked.)

 

IgniteMarker (1) = This function will draw a red solid circle around a champion if you can kill it with ignite.

(It will not work correctly if they drink a potion, heal, shield, lifesteal or spellvamp during the ignite period of 5 secs.)

 

SpellsStatus (1) = This function will show you the current status of the spells which other champions have.

(Gray color means its not leveled up yet.)

(Green color means its leveled up and ready to use.)

(Red color means its leveled up but in cooldown.)

 

Some old screenshots below:

312w6t0.png

width=960 height=768http://i47.tinypic.com/2a7yn0i.png[/img]

width=960 height=768http://i50.tinypic.com/242wutx.png[/img]

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

    • 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).
    • Use only middleman this guy scammer old discord goddardshop   
  • 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