[Archive] Lium - A Universal Lua Unlocker
[Archive] Lium - A Universal Lua Unlocker
Quote:
Welcome to Lium, this is a new multiversion lua unlocker for your cheating needs.
Code:
Supported Versions
2.4.3.8606
3.3.5.12340
4.3.4.15595(x86)(directx 9 and 11 both supported)
5.x.x.xxxxx(x86)(directx 9 and 11 both supported) note: only version 5.4.8.18414 is confirmed working as this is all i have however should work with all mop versions if you have an error please specify exact version in post
Usage is quite simple, start wow and login to your character, inject the dll with your favorite dll injector, type in a custom name in the box that you would like to use to unlock lua with, press the register button.
After you have done this you can simply press F5 to hide the GUI and regain mouse and keyboard controls, if you change characters you simply need to press F5 again and press register again to re-register your lua function.
now if you simply type "/run JumpOrAscendStart()" this will still be locked this is because some servers send an addon message to your client without you knowing to check if your lua is unlocked so we don't use the normal methods here thus passing this check, to use protected function you simply need to wrap the protected function with the name that you choose earlier, lets assume you choose the name "test", to execute protected functions you would do this "/run test('JumpOrAscendStart()') and it is that simple. If you want to use this with your favorite addon simply wrap all the protected lua functions like we did in the test scenario. NOTE: Some addons like PQR and some others are detected by most servers by scanning the name of the addon and some other methods, if you use these addons and get banned it is not because of the unlocker it is because of the addon, therefore if you want to use addons like PQR with this unlocker you need to modify its name and all strings/names in the addon that contain "PQR", also don't forget to wrap pqr's functions with your registered name to unlock lua. As far as I'm aware the method used here should not be detectable on any server currently and I don't forsee it being detected in the near future albeit I have been wrong before. I did not add error checking on wow versions so if you inject this into an unsupported version then it will crash your game when you click register. If there is enough interest in this program I will make an x64 version for 4.3.4(x64) -> bfa private servers (not retail as I don't own it.)
P.S. I don't think there is any protected lua on vanilla but if there is let me know and I'll add it.
couple tests to try (use whatever name you registered in place of "test"
Code:
/run test("JumpOrAscendStart()")
/run test("TargetUnit('player')")
The first will make you jump the second will make you target yourself
Credits to tutrakan for grabbing offsets while I coded to speed up the process!
Example Video
Download
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote:
Welcome to Lium, this is a new multiversion lua unlocker for your cheating needs.
Code:
Supported Versions
2.4.3.8606
3.3.5.12340
4.3.4.15595(x86)(directx 9 and 11 both supported)
5.x.x.xxxxx(x86)(directx 9 and 11 both supported) note: only version 5.4.8.18414 is confirmed working as this is all i have however should work with all mop versions if you have an error please specify exact version in post
Usage is quite simple, start wow and login to your character, inject the dll with your favorite dll injector, type in a custom name in the box that you would like to use to unlock lua with, press the register button.
After you have done this you can simply press F5 to hide the GUI and regain mouse and keyboard controls, if you change characters you simply need to press F5 again and press register again to re-register your lua function.
now if you simply type "/run JumpOrAscendStart()" this will still be locked this is because some servers send an addon message to your client without you knowing to check if your lua is unlocked so we don't use the normal methods here thus passing this check, to use protected function you simply need to wrap the protected function with the name that you choose earlier, lets assume you choose the name "test", to execute protected functions you would do this "/run test('JumpOrAscendStart()') and it is that simple. If you want to use this with your favorite addon simply wrap all the protected lua functions like we did in the test scenario. NOTE: Some addons like PQR and some others are detected by most servers by scanning the name of the addon and some other methods, if you use these addons and get banned it is not because of the unlocker it is because of the addon, therefore if you want to use addons like PQR with this unlocker you need to modify its name and all strings/names in the addon that contain "PQR", also don't forget to wrap pqr's functions with your registered name to unlock lua. As far as I'm aware the method used here should not be detectable on any server currently and I don't forsee it being detected in the near future albeit I have been wrong before. I did not add error checking on wow versions so if you inject this into an unsupported version then it will crash your game when you click register. If there is enough interest in this program I will make an x64 version for 4.3.4(x64) -> bfa private servers (not retail as I don't own it.)
P.S. I don't think there is any protected lua on vanilla but if there is let me know and I'll add it.
couple tests to try (use whatever name you registered in place of "test"
Code:
/run test("JumpOrAscendStart()")
/run test("TargetUnit('player')")
The first will make you jump the second will make you target yourself
Credits to tutrakan for grabbing offsets while I coded to speed up the process!
Example Video
Download
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Tested this on 3.3.5 and found some problems:
-fps drops dramatically the moment dll is attached
-unlock stops working eventually upon logout/alt tab and can't be reattached to the same game process
-can't be used for complex routines since the command in (" ") doesn't take variables defined in another chunk of code
e.g. /run test("TargetUnit(x)"), where x is a variable (party1, party2 etc) won't work
Archived author: Geem • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Tested this on 3.3.5 and found some problems:
-fps drops dramatically the moment dll is attached
-unlock stops working eventually upon logout/alt tab and can't be reattached to the same game process
-can't be used for complex routines since the command in (" ") doesn't take variables defined in another chunk of code
e.g. /run test("TargetUnit(x)"), where x is a variable (party1, party2 etc) won't work
Quote: Originally Posted by Geem
Tested this on 3.3.5 and found some problems:
-fps drops dramatically the moment dll is attached
-unlock stops working eventually upon logout/alt tab and can't be reattached to the same game process
-can't be used for complex routines since the command in (" ") doesn't take variables defined in another chunk of code
e.g. /run test("TargetUnit(x)"), where x is a variable (party1, party2 etc) won't work
I never experienced any fps drops myself so I will look at that again, yes you need to reregister your custom command any time you switch characters or logout, simply press f5 to bring the menu back up and click register again, for the use of args do like so /run test("TargetUnit('player')")
Code:
/run test("CastSpellByName('Arcane Shot')")
video of using a command with args also u can see fps doesnt change after injection(for me atleast)
https://i.gyazo.com/773821bf3d2a9ef4...8444104b88.mp4
If you have problems with fps which i don't see why you would you can inject then register your command and press F4 to completely unload the dll from wow, alternatively after you inject u can toggle the menu(as shown in the video) by pressing F5 ie you can leave it injected and if you switch characters simply press f5 to bring it back up and press register again. Hope this helps!
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Originally Posted by Geem
Tested this on 3.3.5 and found some problems:
-fps drops dramatically the moment dll is attached
-unlock stops working eventually upon logout/alt tab and can't be reattached to the same game process
-can't be used for complex routines since the command in (" ") doesn't take variables defined in another chunk of code
e.g. /run test("TargetUnit(x)"), where x is a variable (party1, party2 etc) won't work
I never experienced any fps drops myself so I will look at that again, yes you need to reregister your custom command any time you switch characters or logout, simply press f5 to bring the menu back up and click register again, for the use of args do like so /run test("TargetUnit('player')")
Code:
/run test("CastSpellByName('Arcane Shot')")
video of using a command with args also u can see fps doesnt change after injection(for me atleast)
https://i.gyazo.com/773821bf3d2a9ef4...8444104b88.mp4
If you have problems with fps which i don't see why you would you can inject then register your command and press F4 to completely unload the dll from wow, alternatively after you inject u can toggle the menu(as shown in the video) by pressing F5 ie you can leave it injected and if you switch characters simply press f5 to bring it back up and press register again. Hope this helps!
Quote: Can't reproduce fps lag as well
Concerning variables, i meant that your method doesn't allow to use constructions like
Code:
/run x='player' ... if ... then x='raid1' elseif ... then x=raid40' end
/run test("TargetUnit(x)")
because the text between " " has to contain specific values e.g. TargetUnit('player'),
but not t(x), where t and x were defined earlier as TargetUnit and 'player'
I hope the idea is clear now
Archived author: Geem • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Can't reproduce fps lag as well
Concerning variables, i meant that your method doesn't allow to use constructions like
Code:
/run x='player' ... if ... then x='raid1' elseif ... then x=raid40' end
/run test("TargetUnit(x)")
because the text between " " has to contain specific values e.g. TargetUnit('player'),
but not t(x), where t and x were defined earlier as TargetUnit and 'player'
I hope the idea is clear now
Quote:Code:
/run x = "player"; test(string.format("TargetUnit('%s')", x))
that answers the first question sorry for misunderstanding
this will work for ur second question as well however there is a way to do it with slashes as well but for the life of me cant remember it will update this when i do
ok way 2 is like this (wasn't slashes sry)
Code:
/run x = "player"; test("TargetUnit('"..x.."')")
for testing u can use this as well
Repl.it - DazzlingComplicatedDatum
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote:Code:
/run x = "player"; test(string.format("TargetUnit('%s')", x))
that answers the first question sorry for misunderstanding
this will work for ur second question as well however there is a way to do it with slashes as well but for the life of me cant remember it will update this when i do
ok way 2 is like this (wasn't slashes sry)
Code:
/run x = "player"; test("TargetUnit('"..x.."')")
for testing u can use this as well
Repl.it - DazzlingComplicatedDatum
Quote: Thanks, it does the trick
Any chance you could add some functions?
Code:
ClickPosition (X, Y, Z[, Right]) - click in the game-world
- raycast between two positions
description taken from FireHack 2.3.7 API Documentation . GitHub
Archived author: Geem • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Thanks, it does the trick
Any chance you could add some functions?
Code:
ClickPosition (X, Y, Z[, Right]) - click in the game-world
- raycast between two positions
description taken from FireHack 2.3.7 API Documentation . GitHub
Quote: Originally Posted by Geem
Thanks, it does the trick
Any chance you could add some functions?
Code:
x,y,z = ObjectPosition(UnitID) - coordinates
ClickPosition (X, Y, Z[, Right]) - click in the game-world
TraceLine (StartX, StartY, StartZ, EndX, EndY, EndZ, Flags) - raycast between two positions
description taken from FireHack 2.3.7 API Documentation . GitHub
I could but I really don't want to code all that for every wow version this supports I just simply don't have the time for that.
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Originally Posted by Geem
Thanks, it does the trick
Any chance you could add some functions?
Code:
x,y,z = ObjectPosition(UnitID) - coordinates
ClickPosition (X, Y, Z[, Right]) - click in the game-world
TraceLine (StartX, StartY, StartZ, EndX, EndY, EndZ, Flags) - raycast between two positions
description taken from FireHack 2.3.7 API Documentation . GitHub
I could but I really don't want to code all that for every wow version this supports I just simply don't have the time for that.
Quote: Congratulations! Good work, I thought I was the only one who thought of doing this, but it turns out that there is no
New lua unlocker Wow 3.3.5 - YouTube
However, I have linked the SendWho function to bypass the lua ban, so that if it was added to the anticheat, it would hurt all the players, but you have a better option, it gives players a choice of their own lua function name
Archived author: AccLeito • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Congratulations! Good work, I thought I was the only one who thought of doing this, but it turns out that there is no
New lua unlocker Wow 3.3.5 - YouTube
However, I have linked the SendWho function to bypass the lua ban, so that if it was added to the anticheat, it would hurt all the players, but you have a better option, it gives players a choice of their own lua function name
Quote: Is there any intrest in the x64 version of this? have it currently working on every single wow version from 4.x thru retail live if there is any interest, figured most people use ewt or an advanced unlocker tho for that stuff since basically all rotation addons require custom api
Archived author: Icesythe7 • Posted: 2025-11-04T13:44:49.753773
Original source
Quote: Is there any intrest in the x64 version of this? have it currently working on every single wow version from 4.x thru retail live if there is any interest, figured most people use ewt or an advanced unlocker tho for that stuff since basically all rotation addons require custom api