For some reason when ever I use STOP("admintoolsloader"); inside the running script of admintoolsloader it says null in chat. It stops it but is there a way to end the script inside the actual script without it saying null?
For some reason when ever I use STOP("admintoolsloader"); inside the running script of admintoolsloader it says null in chat. It stops it but is there a way to end the script inside the actual script without it saying null?
Does it say "null" as in send it as a chat message, or does a red "null" just appear in the chat log? If the latter then it means an exception with no message is being thrown from somewhere which normally means some cross-thread badness has happened and was caught by the outer script thread.
Is STOP being called from the task itself or is it being called from a handler like onChat that runs in the network thread?
The most likeley candidate for this is a ConcurrentModificationException being thrown somewhere because of a chat filter and a task running asynchronously or something like that.
Sorry if this seems really nooby but where can i find LiteLoader.txt
It should just be inside your .minecraft directory. If you can find that and post it here then it would help, I don't really know much about macs though some hopefully someone who does might be able to give you some more info.
OK, so i now worked it out pretty good myself, but i get a "Stack overflow in script" when i make it to long. What does that mean?
Here's code:
*snip
Spoiler because long script
It means you messed up with placing your IF;ENDIF or DO;LOOP pairs
here, i took your script, counted the amount of IF/do you had, and changed the ending
does this work?
$${
IF(XPOS != $$[Xpos] + $$[Xdis])
KEYDOWN(forward)
do
key(attack)
IF(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
IF(ZPOS = $$[Zpos]+1)
LOOK(270,45)
do
key(attack)
IF(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
IF(ZPOS = $$[Zpos]+2)
look(90,45)
do
Key(attack)
IF(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
IF(ZPOS = $$[Zpos]+3)
LOOK(270,45)
do
key(attack)
IF(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
IF(ZPOS = $$[Zpos]+4)
look(90,45)
do
Key(attack)
IF(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
IF(ZPOS = $$[Zpos]+5)
LOOK(270,45)
do
key(attack)
IF(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
IF(ZPOS = $$[Zpos]+6)
look(90,45)
do
Key(attack)
IF((XPOS = $$[Xpos] + $$[Xdis]) && (ZPOS = $$[Zpos]+6))
keyup(forward)
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
loop
ENDIF
}$$
...wait a minute, why do you even have so many infinite loops?, it will only ever keep repeating the smallest one anyway =/
Edit: oh i see, you want it to keep doing something until a condition is met...
use Do;Until() instead of do;IF;Do;loop;ENDIF;loop
here's your script rewritten to use do;until as i understood it
$${
IF(XPOS != $$[Xpos] + $$[Xdis])
KEYDOWN(forward)
do
key(attack)
Until(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
UNTIL(ZPOS = $$[Zpos]+1)
LOOK(270,45)
do
key(attack)
UNTIL(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
UNTIL(ZPOS = $$[Zpos]+2)
look(90,45)
do
Key(attack)
UNTIL(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
UNTIL(ZPOS = $$[Zpos]+3)
LOOK(270,45)
do
key(attack)
UNTIL(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
UNTIL(ZPOS = $$[Zpos]+4)
look(90,45)
do
Key(attack)
UNTIL(XPOS = $$[Xpos] + $$[Xdis])
LOOK(180,45)
do
key(attack)
UNTIL(ZPOS = $$[Zpos]+5)
LOOK(270,45)
do
key(attack)
UNTIL(XPOS = $$[Xpos])
look(180,45)
do
Key(attack)
UNTIL(ZPOS = $$[Zpos]+6)
look(90,45)
do
Key(attack)
UNTIL((XPOS = $$[Xpos] + $$[Xdis]) && (ZPOS = $$[Zpos]+6))
keyup(forward)
ENDIF
}$$
Does it say "null" as in send it as a chat message, or does a red "null" just appear in the chat log? If the latter then it means an exception with no message is being thrown from somewhere which normally means some cross-thread badness has happened and was caught by the outer script thread.
Is STOP being called from the task itself or is it being called from a handler like onChat that runs in the network thread?
The most likeley candidate for this is a ConcurrentModificationException being thrown somewhere because of a chat filter and a task running asynchronously or something like that.
What I am doing is I run the script with the name admintoolsloader. The script is a infinite loop and when the loader has done its job I do STOP("admintoolsloader") inside the script and then it says null in chat. What would be the best way of ending the script without it saying null?
Hi, I'd like to make a macro, that refills my hotbar with soup. I'll try to explain all the steps.
I'm not sure if there's a command to get item ids, and do things according to them, but hopefully there is.
Get item id of bowls
Get item id of mushroom soup
Open inventory
Shift click all empty bowls on hotbar, and if its possible, make it not shift right click mushroom soups if its on the hotbar
Look at inventory, and shift click mushroom soup in the inventory until hotbar is full.
close inventory
I'm not sure if it's possible to only click items according to item id, but if it is possible, that would be great.
Not sure if anyone else had this problem, but I am on a mac, and when I added the files from the liteloader foler in the minecraft.jar folder, My sound would not work. To fix this, I copied everything but the com folder from the liteloader folder, then after I put those in the minecraft.jar, I copied the the contents of the com folder sepereate from the other files and placed them alongside the files inside of the com folder that is already in the minecraft.jar folder. Sorry if this doesn't make much sense
Not sure if anyone else had this problem, but I am on a mac, and when I added the files from the liteloader foler in the minecraft.jar folder, My sound would not work. To fix this, I copied everything but the com folder from the liteloader folder, then after I put those in the minecraft.jar, I copied the the contents of the com folder sepereate from the other files and placed them alongside the files inside of the com folder that is already in the minecraft.jar folder. Sorry if this doesn't make much sense
Yes, it's a problem with the mac archiver, which replaces the entire folder, instead of only overwriting conflicting files and leaving the others...
Is there a way to pass an array into a PROMPT to yield the same results as passing $$[[a,list,of,items]] into the prompt? Or is this currently not possible?
Edit:
Nevermind, I found out how to get this to work.
What I am doing is I run the script with the name admintoolsloader. The script is a infinite loop and when the loader has done its job I do STOP("admintoolsloader") inside the script and then it says null in chat. What would be the best way of ending the script without it saying null?
If it's an infinite loop that you want to end at some point you can use:
SET(runloop);
DO;
// stuff
WHILE(runloop);
and just do UNSET(runloop) when you want to end the task. I'm trying to figure out where the source of the error is that's causing null to be output though, since calling STOP is perfectly fine. The main issue is that event handler scripts can run in a separate thread and sometimes STOP will cause an exeception when removing the macro from the executive.
Hi, I'd like to make a macro, that refills my hotbar with soup. I'll try to explain all the steps.
I'm not sure if there's a command to get item ids, and do things according to them, but hopefully there is.
Get item id of bowls
Get item id of mushroom soup
Open inventory
Shift click all empty bowls on hotbar, and if its possible, make it not shift right click mushroom soups if its on the hotbar
Look at inventory, and shift click mushroom soup in the inventory until hotbar is full.
close inventory
I'm not sure if it's possible to only click items according to item id, but if it is possible, that would be great.
Hello, I have a question about MATCH. Is there a cap of variables it can store?
Because I am having problems with this code using the chat filter module:
but can you add an option to have anything that is sent in the chat appear in the your message history when you up/down arrow after opening the chat/command line..
Maybe some option for keybinds/gui buttons, that lets you tick a box that says output this to the message history after sending.... that way you can use a keybind etc and then be able to go and reuse it again by just [t],[up],[enter] ... or edit it quickly.
I think you replied to this suggestion... and I have no idea what it was because its buried somewhere in this friggin huge thread.
*cough wiki*
sounds suspiciously similar to the "log sent messages in local chat history" option already available in the ingame settings menu
Iv just installed this mod and i love it!
But after i installed the mod i can't get any ingame sounds to work. So can someone tell me how to fix this?
Thanks.
I think you are using mac right?
If so restore your original minecraft.jar
then install everything except the com folder from liteloader.zip
after that copy the content of the com folder of the liteloader manually in the com folder in the minecraft.jar
Thank you so much! Now i can easily copy the lines to extend it to $$[Zpos]+Q , Q=10 etc.
Now is there a way to loop this a set amount of times, with Q growing by 1 for every time it's looped?
(and is there a way to store the player XPOS to $$[Xpos] in the beginning of the script so the user doesn't have to manually type it in?
Is this done like XPOS == $$[Xpos], and something more? Not used to this language (;
oh, and btw, i want the key(attack) to keep running after i minimize/window loses focus. Any way to do that? (It works with keydown(forward))
At the beginning of the script type
#zpos = ZPOS
#xpos = XPOS
#ypos = YPOS
And replace all of the others with #xpos, #zpos,#ypos depending on which one you are using.
Rollback Post to RevisionRollBack
Thanks to Mumfrey for creating this awesome mod! The Macro / Keybind Mod. If you ever need to contact me asap, go to the server: mc.synapsehlp.com
Thank you so much! Now i can easily copy the lines to extend it to $$[Zpos]+Q , Q=10 etc.
Now is there a way to loop this a set amount of times, with Q growing by 1 for every time it's looped?
(and is there a way to store the player XPOS to $$[Xpos] in the beginning of the script so the user doesn't have to manually type it in?
Is this done like XPOS == $$[Xpos], and something more? Not used to this language (;
oh, and btw, i want the key(attack) to keep running after i minimize/window loses focus. Any way to do that? (It works with keydown(forward))
Two ways
Set(#num,1)
Do(10)
--script--
Inc(#num)
LOOP
or
For(#num,1,9)
--script--
NEXT
to store the xpos, ofcourse, but you need to use a variable, not a parameter!
(...unless you're running this via exec, different rules apply there)
Set(&xposstart,%XPOS%)
Key(attack) already works when out of focus (tested with do;key(attack);loop), unless you make the main menu open, which blocks everything
Does it say "null" as in send it as a chat message, or does a red "null" just appear in the chat log? If the latter then it means an exception with no message is being thrown from somewhere which normally means some cross-thread badness has happened and was caught by the outer script thread.
Is STOP being called from the task itself or is it being called from a handler like onChat that runs in the network thread?
The most likeley candidate for this is a ConcurrentModificationException being thrown somewhere because of a chat filter and a task running asynchronously or something like that.
It should just be inside your .minecraft directory. If you can find that and post it here then it would help, I don't really know much about macs though some hopefully someone who does might be able to give you some more info.
Spoiler because long script
It means you messed up with placing your IF;ENDIF or DO;LOOP pairs
here, i took your script, counted the amount of IF/do you had, and changed the ending
does this work?
...wait a minute, why do you even have so many infinite loops?, it will only ever keep repeating the smallest one anyway =/
Edit: oh i see, you want it to keep doing something until a condition is met...
use Do;Until() instead of do;IF;Do;loop;ENDIF;loop
here's your script rewritten to use do;until as i understood it
'Cause tomorrow spring is here
What I am doing is I run the script with the name admintoolsloader. The script is a infinite loop and when the loader has done its job I do STOP("admintoolsloader") inside the script and then it says null in chat. What would be the best way of ending the script without it saying null?
I'm not sure if there's a command to get item ids, and do things according to them, but hopefully there is.
Get item id of bowls
Get item id of mushroom soup
Open inventory
Shift click all empty bowls on hotbar, and if its possible, make it not shift right click mushroom soups if its on the hotbar
Look at inventory, and shift click mushroom soup in the inventory until hotbar is full.
close inventory
I'm not sure if it's possible to only click items according to item id, but if it is possible, that would be great.
Yes, it's a problem with the mac archiver, which replaces the entire folder, instead of only overwriting conflicting files and leaving the others...
or something like that
'Cause tomorrow spring is here
Edit:
Nevermind, I found out how to get this to work.
If it's an infinite loop that you want to end at some point you can use:
and just do UNSET(runloop) when you want to end the task. I'm trying to figure out where the source of the error is that's causing null to be output though, since calling STOP is perfectly fine. The main issue is that event handler scripts can run in a separate thread and sometimes STOP will cause an exeception when removing the macro from the executive.
I'm afraid not, the 1.4.5 version is still available though, it just doesn't incorporate the new features.
Can someone help me make this?
Also, would this work?
IF(INVSLOT(2) = 282 && INVSLOT(3) = 282 && INVSLOT(4) = 282 && INVSLOT(5) = 282 && INVSLOT(6) = 282 && INVSLOT(7) = 282 && INVSLOT(8) = 282 && INVSLOT(9) = 282);
282 being mushroom stew, i wanted to just shiftclick my entire inventory, and stop the macro once the hotbar is full.
Now, this always returns cancelled, no matter what I do. Any ideas?
Because I am having problems with this code using the chat filter module:
I tested this regex
with these strings
On this regex tester: http://www.regexplan...java/index.html
But the results are different that in game.
I am missing something? Using the wrong syntax? I need some enlightenment. Thanks
Try it without spaces.
Macro/Keybind mod Wiki
sounds suspiciously similar to the "log sent messages in local chat history" option already available in the ingame settings menu Your IFMATCHES doesn't have a closing bracket for some reason
'Cause tomorrow spring is here
I think you are using mac right?
If so restore your original minecraft.jar
then install everything except the com folder from liteloader.zip
after that copy the content of the com folder of the liteloader manually in the com folder in the minecraft.jar
Macro/Keybind mod Wiki
At the beginning of the script type
And replace all of the others with #xpos, #zpos,#ypos depending on which one you are using.
Two ways
Set(#num,1)
Do(10)
--script--
Inc(#num)
LOOP
or
For(#num,1,9)
--script--
NEXT
to store the xpos, ofcourse, but you need to use a variable, not a parameter!
(...unless you're running this via exec, different rules apply there)
Set(&xposstart,%XPOS%)
Key(attack) already works when out of focus (tested with do;key(attack);loop), unless you make the main menu open, which blocks everything
'Cause tomorrow spring is here
But as I can see, there is no way to return the text in a label.
Any way to either return content or another way to do this?
EDIT: Fixed it, instead of returning from the labels, i just stored them as strings aswell.