cauldron
command, and I accidentally went a bit too far with one vial, and now the costs are showing up as NANB. I'm pretty sure there's a way to lower a specific vial level with the console, but I don't know how to lol.
Legends of Idleon
Re: Legends of Idleon
Is there a way to rollback your vials levels? I was using the
-
- What is cheating?
- Posts: 1
- Joined: Sat Jul 17, 2021 4:11 am
- Reputation: 0
Re: Legends of Idleon
hey so i tried unpacking the app.asar, i added the consoleinject and tried to repack but now the game wont open and im not sure what ive done wrong
-
- What is cheating?
- Posts: 1
- Joined: Sat Jul 31, 2021 12:15 am
- Reputation: 0
Re: Legends of Idleon
Is it possible to extract the formula for afk gains from the js file? Might be useful if you don't want to make things ultra easy but want to know how to optimise your build.
Re: Legends of Idleon
Any Infos after the Update? c:
-
- Noobzor
- Posts: 8
- Joined: Thu May 20, 2021 12:13 am
- Reputation: 0
Re: Legends of Idleon
Is this still working? Tried to re-apply after update and its limiting my afk time to 10 hours nowCreater0822 wrote: ↑Tue Jul 20, 2021 9:24 pmThe relevant piece of code reads like this:alocmey123 wrote: ↑Tue Jul 20, 2021 6:33 pmI tried to follow your guy's instructions and it didn't work. What number am I supposed to change in that string of numbers? Sorry for the trouble!!!Creater0822 wrote: ↑Sun Jul 18, 2021 5:54 pm
I honestly haven't tried changing it into a bigger number. I outright changed the curse into None instead, so that it doesn't tamper with the afk time at all.
I tried changing the number 600 to 60000 but it didn't work. Tried changing it None and it didn't work as well.As seen, this singular string is split into an Array of strings by a single whitespaceCode: Select all
"Unending_Energy +{%_Class_and_Skill_EXP Max_AFK_time_is_now_10_hours._Use_this_prayer_sparingly. 30 10 1 600 51 0".split(" "),
" "
, which is how we distinguish the parameters. As we can see, the first element is the Prayer's name, followed by the second element being its bonus. The third element is the curse, e.g.Max_AFK_time_is_now_10_hours._Use_this_prayer_sparingly.
. This is the string segment that you'd like to change intoNone._Even_curses_need_time_off_every_now_and_then.
Re: Legends of Idleon
Looks like Lavaflames banning people from discord now.
You were banned from Legends of IdleOn! | verified loser
He's a tad slow at getting around to it, not played the game in weeks.
You were banned from Legends of IdleOn! | verified loser
He's a tad slow at getting around to it, not played the game in weeks.
Re: Legends of Idleon
I have been trying out the tools from iBelg and Creater0822. I have a request that is not really a cheat, but Lavaflame hasn't added a hotkey for auto-combat. He has hotkeys for inventory, map, talents and others, but I have a need to micromanage my colosseum combat and having to mouse click to turn on and off auto-combat isn't working for me. I this an option that can be added?
- Creater0822
- Expert Cheater
- Posts: 229
- Joined: Sat Nov 18, 2017 12:02 am
- Reputation: 125
Re: Legends of Idleon
Hell yeah everybody, I'm semi-back with a brand new cheat that is currently unfinished yet.
So some of you may remember the first generation Idleon console, which was in-game through the keybind
Through a similar fashion I've come up with this following piece of code that needs to be added to Z.js similarly:
With this code added to Z.js you can perform instant weapon switching with the keys A, S and D (respectively Scythe, Bow, Staff), if your action bar is visible, hence MenuType equals 6. And yes, this does work mid-combat.
But indeed, this methodology is both unfinished and imperfect, and here are the reasons why:
So far I know these things:
So some of you may remember the first generation Idleon console, which was in-game through the keybind
`
.Through a similar fashion I've come up with this following piece of code that needs to be added to Z.js similarly:
Code: Select all
this.addAnyKeyPressedListener((function(e, t) {
if (e.keyCode === 65 && b.engine.getGameAttribute("MenuType") === 6) { // Key A
const EquipOrd = b.engine.getGameAttribute("displayData").h["PlayerEquipmentOrder"][0];
EquipOrd[1] = "EquipmentSword3";
}
})), this.addAnyKeyPressedListener((function(e, t) {
if (e.keyCode === 83 && b.engine.getGameAttribute("MenuType") === 6) { // Key S
const EquipOrd = b.engine.getGameAttribute("displayData").h["PlayerEquipmentOrder"][0];
EquipOrd[1] = "EquipmentBows8";
}
})), this.addAnyKeyPressedListener((function(e, t) {
if (e.keyCode === 68 && b.engine.getGameAttribute("MenuType") === 6) { // Key D
const EquipOrd = b.engine.getGameAttribute("displayData").h["PlayerEquipmentOrder"][0];
EquipOrd[1] = "EquipmentWands7";
}
}))
But indeed, this methodology is both unfinished and imperfect, and here are the reasons why:
- As you can see, I'm directly modifying the equipped weapon id, which does not change item-specific properties such as upgrade stone stats etc.. So that may indeed cause a bug associated to the methodology. Therefore, this honestly does not equal a True item switcher, such as for instance switching with any real item inside inventory slot 1 on key pressing, it ain't that...
- This method requires pre-editing Z.js and I have not yet found a way to dynamically add keybinds into the game from the external-console.
- A True item switcher: For instance by having let's say the first three inventory slots reserved for weapons: And upon pressing the right key, the weapon along with all of its item properties are switched correctly.
- A dynamic syntax compatible with the external console, here's an ambitious example: One cheat command that initializes reading the config.json file. And in that json file, the user can write down the keycode for the keyboard button thathe/she wants to keybind, along with a weapon Id (obviously through a syntax imagined by me). And so it's then dynamically registered into the already-running game upon running the command.
So far I know these things:
- The keybind code resides in
["scripts.ActorEvents_93"]
, and I have not found a way to add/register a new key into the running game through the external console. - Idk if there's even a way in JavaScript to write that I want to execute a
addAnyKeyPressedListener()
within that object, and/or explicitly adding code to a function without altering anything else (e.g. assuming everything else a 100% black-box), through a Proxy handler. - I also still don't know the exact location to find the code for item switching yet, so I cannot do things fully vanilla-properly yet. One way I could still manage a True item switcher, is by statically swapping the item Id and item properties of both the weapon slot and a pre-chosen inventory slot. This should theoretically work as long as I carefully program it through the usage of
JSON.parse(JSON.stringify())
which creates deep copies, but if I can make use of the game's native methodology I'd much rather pick that.
- Creater0822
- Expert Cheater
- Posts: 229
- Joined: Sat Nov 18, 2017 12:02 am
- Reputation: 125
Re: Legends of Idleon
Quick update release: Imperfect key-bound item switcher
How to:
What it does:
When your ability bar is visible (e.g. the bottom interface with combat abilities you can press) the keys A, S and D become hotkeys that allow you to change weapons with whatever are on your first, second and third inventory slots (even works mid-combat). For example have Deuscythe in slot 1, Blackhole Bow in slot 2 and Grey Gatsby in slot 3 (it's highly recommended to lock these inventory slots). Finally it's recommended to have NOTHING equipped on your weapon slot, because it will be overwritten.
When you press these keybinds A, S or D, the code internally overwrites your weapon slot with the item id and properties in those inventory slots (it doesn't truly swap to that physical item). This way you're basically creating a clone of the actual weapons that are still in your inventory.
Warning:
I have not programmed a dummy proof mechanic to prevent the switching in case you have a non-weapon item in one of those inventory slots, in which case it'll most likely crash (haven't tried that out myself, and likely never will xD).
Update 1:
Yeah yeah!! My code has improved: I've combined the three keybinds into a singular
Even more: I've got a true switch simulation code working, which actually allows you to switch item between inventory and weapon slot, and here's the code:
But here's the deal:
First off this obviously ain't accomplished through the native game methodology, but still just some simple object re-writing. However once I've nailed the code I immediately realized that yeah... I have made just that. But when you're item switching, the actual weapons will obviously not stay on the same slot (which in contrary was the case with the shallow weapon copy method).
TLDR: Now I'm actually starting to like the shallow weapon copy much more than actually weapon switching.
All that remains now:
How to:
- Traditionally extract Z.js and beautify with VS Code (or any other beautifer)
- Search for
u["scripts.ActorEvents_93"]
and scroll a bit down to where you seeinit: function ()
. Between the brackets of this init function is where you paste the following code:Code: Select all
this.addAnyKeyPressedListener((function(e, t) { if ( (e.keyCode === 65 || e.keyCode === 83 || e.keyCode === 68) && b.engine.getGameAttribute("MenuType") === 6) { // Key A let index; const EquipOrd = b.engine.getGameAttribute("EquipmentOrder")[0]; const EquipMap = b.engine.getGameAttribute("EquipmentMap")[0]; switch(e.keyCode) { case 65: index = 0; break; case 83: index = 1; break; case 68: index = 2; break; default: break; } EquipOrd[1] = b.engine.getGameAttribute("InventoryOrder")[index]; EquipMap[1] = b.engine.getGameAttribute("ItemMap")[index]; } }))
- Careful that you copy/paste it correctly and don't forget to add a comma between these function calls. But that's it!!
What it does:
When your ability bar is visible (e.g. the bottom interface with combat abilities you can press) the keys A, S and D become hotkeys that allow you to change weapons with whatever are on your first, second and third inventory slots (even works mid-combat). For example have Deuscythe in slot 1, Blackhole Bow in slot 2 and Grey Gatsby in slot 3 (it's highly recommended to lock these inventory slots). Finally it's recommended to have NOTHING equipped on your weapon slot, because it will be overwritten.
When you press these keybinds A, S or D, the code internally overwrites your weapon slot with the item id and properties in those inventory slots (it doesn't truly swap to that physical item). This way you're basically creating a clone of the actual weapons that are still in your inventory.
Warning:
I have not programmed a dummy proof mechanic to prevent the switching in case you have a non-weapon item in one of those inventory slots, in which case it'll most likely crash (haven't tried that out myself, and likely never will xD).
Update 1:
Yeah yeah!! My code has improved: I've combined the three keybinds into a singular
addAnyKeyPressedListener
, ez-game!!Even more: I've got a true switch simulation code working, which actually allows you to switch item between inventory and weapon slot, and here's the code:
Code: Select all
// True switch simulation
this.addAnyKeyPressedListener((function(e, t) {
if ( (e.keyCode === 65 || e.keyCode === 83 || e.keyCode === 68) && b.engine.getGameAttribute("MenuType") === 6) { // Key A
let index;
// Shallow copy
const EquipOrd = b.engine.getGameAttribute("EquipmentOrder")[0];
const EquipMap = b.engine.getGameAttribute("EquipmentMap")[0];
// Deep copy
const InvOrd = z.deepCopyList(b.engine.getGameAttribute("InventoryOrder"));
const InvMap = z.deepCopyList(b.engine.getGameAttribute("ItemMap"));
switch(e.keyCode) {
case 65: index = 0; break;
case 83: index = 1; break;
case 68: index = 2; break;
default: break;
}
b.engine.getGameAttribute("InventoryOrder")[index] = EquipOrd[1];
b.engine.getGameAttribute("ItemMap")[index] = EquipMap[1];
EquipOrd[1] = InvOrd[index];
EquipMap[1] = InvMap[index];
}
}))
First off this obviously ain't accomplished through the native game methodology, but still just some simple object re-writing. However once I've nailed the code I immediately realized that yeah... I have made just that. But when you're item switching, the actual weapons will obviously not stay on the same slot (which in contrary was the case with the shallow weapon copy method).
TLDR: Now I'm actually starting to like the shallow weapon copy much more than actually weapon switching.
All that remains now:
- I obviously want to have a way to have these keybind extensions addable from the external console.
- Then I'd go my way designing a nice syntax for my config.json to further extend the fun of custom keybinding.
- And of course I'd then dummy-proof it so that non-weapons cannot be written to the weapon slot.
Re: Legends of Idleon
I'm only knowledgeable in js, so I dunno, but why can't the injection process modify the Z.js? Why do we need to supply a modified version for the shadowban and now keybinds? I'd assume you can still access the code from Z.js? You could just inject your edits on the fly?
- Creater0822
- Expert Cheater
- Posts: 229
- Joined: Sat Nov 18, 2017 12:02 am
- Reputation: 125
Re: Legends of Idleon
That's a good question, I'll start things off with the generalized state of where we currently are.Gibsonsg wrote: ↑Wed Aug 04, 2021 1:33 amI'm only knowledgeable in js, so I dunno, but why can't the injection process modify the Z.js? Why do we need to supply a modified version for the shadowban and now keybinds? I'd assume you can still access the code from Z.js? You could just inject your edits on the fly?
The first thing to understand is how iBelg's tool functions with the game:
So this game Idleon is basically a web-based game that loads and runs a webpage full of javascripts, including ofc Z.js. With that said, LegendsOfIdleon.exe is actually just a small user agent built from Electron.
And so, iBelg's injector basically executes this user agent whilst at the same time HTTP intercepting the Z.js file. Upon interception, whatever is inside cheats.js is then added to this live-version of Z.js. The exact location within Z.js is obviously pinpointed through Regex, so that cheats.js is added to the correct line where it should work.
Now back to the topic, I'm honestly not sure if I fully understand your question, but I'm assuming that you're asking whether you can dynamically inject code at any time while the game's already running. (Feel free to correct me if I misinterpreted it)
So assuming that to be the question, the answer is: No you cannot do that. The code from cheats.js has to be added to Z.js prior to the game being fully loaded.
Due to this nature, iBelg's tool has to be rebuild with the addition of more replacements, in case you'd like to use his tool instead of making raw changes to the Z.js code inside app.asar. Thanks to the variety of cheating capabilities given by the external console, we often don't need raw editing anymore (as long as we have the JavaScript skills to back it up).
The unban methodology is different however, as we'd absolutely want the source code to already-never flip the shadowing variables before the game's been loaded. That's why for this particular thing we do have to perform a raw edit. So since this particular cheat requires raw editing, I opted for the expansion to InjectCheatsF2, which indeed lets iBelg's tool replace the code for us (just to skip the hassle of manually editing every new patch). Moreover, the injection process has a larger likelihood to failure against a beautified Z.js.
Lastly about unbanning came my choice to expand the tool with config.json, where my reason is the very-slim chance that the unban modifications can potentially yield some harm. So I've included the non-unban option as default for anybody that aims to safely cheat without ever being shadow banned, as my shadow-unban does not truly unban the account (just un-hides).
Alright, long story already, but here's the final topic e.g. keybinds:
The reason that I'm doing raw editing for the keybind cheats, is simply because I lack the skills to code the same thing as a console cheat yet.
-
- What is cheating?
- Posts: 2
- Joined: Tue Dec 10, 2019 5:07 am
- Reputation: 2
Re: Legends of Idleon
Hey guys,
I'm interested in making a script for the fishing minigame.
The script would simply need to know the length (start and end) of where the fish can spawn, and then you hover your mouse over the fish you want to catch and run a calculation where it determines the amount of power required to reach that location.
Unfortunately, I run into an two issues: the formula I have for determining the time to click and hold the mouse button to raise the power gauge is screen size-dependent and when I click on the fish location to run the script, it always overshoots by a constant value.
Have any of you guys attempted a script for the fishing minigame? What was your approach to the time_click and fish distance issue?
Python code below
I'm interested in making a script for the fishing minigame.
The script would simply need to know the length (start and end) of where the fish can spawn, and then you hover your mouse over the fish you want to catch and run a calculation where it determines the amount of power required to reach that location.
Unfortunately, I run into an two issues: the formula I have for determining the time to click and hold the mouse button to raise the power gauge is screen size-dependent and when I click on the fish location to run the script, it always overshoots by a constant value.
Have any of you guys attempted a script for the fishing minigame? What was your approach to the time_click and fish distance issue?
Python code below
import keyboard
import pyautogui as gui
import time
def getMouseX():
return gui.position()[0]
def click():
gui.click()
def getStartAndEnd():
while(True):
key=keyboard.read_key()
if(key == 'a'):
x=getMouseX()
elif(key == 'd'):
y=getMouseX()
else:
break
return x,y
def getFishPosition():
key=keyboard.read_key()
if(key == 's'):
return getMouseX()
else:
return None
def calculateClickTime(fishDist):
return ((3*pow(10,-6)*pow(fishDist,3))+(1.6391*fishDist)-(1*pow(10,-9)*pow(fishDist,4))-(.0026*pow(fishDist,2))+246.06)
# ((-1*10**-9)*(fishDist**4))+((3*10**-6)*(fishDist**3))-((0.0026)*(fishDist**2))+(1.6391*fishDist)+246.06
# (-.0004*(fishDist)**2)+(1.0094*fishDist)+288.21
if __name__=='__main__':
start,end=getStartAndEnd()
tot=end-start
# PLAY GAME
while(True):
# STEP 1: Press 's' for fish location
fishDist=getFishPosition()
if fishDist is None:
break
else:
fishDist=abs(fishDist-tot)
print(fishDist)
# STEP 2: Calculate fish distance
clickTime = calculateClickTime(fishDist)/1000
print(clickTime)
# STEP 3: RUN CLICK FUNCTION
#gui.click(duration=clickTime)
gui.mouseDown()
time.sleep(clickTime)
gui.mouseUp()
- Creater0822
- Expert Cheater
- Posts: 229
- Joined: Sat Nov 18, 2017 12:02 am
- Reputation: 125
Re: Legends of Idleon
Interesting Python script (nice to quick-discover packages this way ), but yeah... If you're aiming to use external scripts, you'll probably require some shape or form of image recognition. Or at least I for one as Noob in the botting departion would think so, yeah yeah!! Either way, this one's quite interesting despite that I'm most likely not going to grind out a fishing cheat.IntoTheRuins wrote: ↑Sat Aug 07, 2021 3:58 pmHey guys,
I'm interested in making a script for the fishing minigame.
The script would simply need to know the length (start and end) of where the fish can spawn, and then you hover your mouse over the fish you want to catch and run a calculation where it determines the amount of power required to reach that location.
Unfortunately, I run into an two issues: the formula I have for determining the time to click and hold the mouse button to raise the power gauge is screen size-dependent and when I click on the fish location to run the script, it always overshoots by a constant value.
Have any of you guys attempted a script for the fishing minigame? What was your approach to the time_click and fish distance issue?
Python code below
Code: Select all
import keyboard import pyautogui as gui import time def getMouseX(): return gui.position()[0] def click(): gui.click() def getStartAndEnd(): while(True): key=keyboard.read_key() if(key == 'a'): x=getMouseX() elif(key == 'd'): y=getMouseX() else: break return x,y def getFishPosition(): key=keyboard.read_key() if(key == 's'): return getMouseX() else: return None def calculateClickTime(fishDist): return ((3*pow(10,-6)*pow(fishDist,3))+(1.6391*fishDist)-(1*pow(10,-9)*pow(fishDist,4))-(.0026*pow(fishDist,2))+246.06) # ((-1*10**-9)*(fishDist**4))+((3*10**-6)*(fishDist**3))-((0.0026)*(fishDist**2))+(1.6391*fishDist)+246.06 # (-.0004*(fishDist)**2)+(1.0094*fishDist)+288.21 if __name__=='__main__': start,end=getStartAndEnd() tot=end-start # PLAY GAME while(True): # STEP 1: Press 's' for fish location fishDist=getFishPosition() if fishDist is None: break else: fishDist=abs(fishDist-tot) print(fishDist) # STEP 2: Calculate fish distance clickTime = calculateClickTime(fishDist)/1000 print(clickTime) # STEP 3: RUN CLICK FUNCTION #gui.click(duration=clickTime) gui.mouseDown() time.sleep(clickTime) gui.mouseUp()
Edit: I changed your code highlight into a coed block in my quote, just so that this thread page is less scrolly
Re: Legends of Idleon
does this still work?? i cant seem to find the app file and the zjs file at all
edit:nvm i am just blind
edit:nvm i am just blind
Last edited by Shiwo on Mon Aug 09, 2021 6:49 pm, edited 1 time in total.
-
- Noobzor
- Posts: 6
- Joined: Thu Jun 17, 2021 2:47 pm
- Reputation: 0
Re: Legends of Idleon
I'm using ibelg's/creator's console and I'm trying to drop, specifically, event cards, is there a specific place I need to use the search command to find the id names for cards?
Who is online
Users browsing this forum: Badbecky21, blbuchanan23, l2ayqualza