I love the mod , i'm playg arround with it , can someone point me in the right way.
I'm using private vault plugin on my server with the command /pv 1 , after i open the inv plus vault , is there a way to move all my blocks from Inventory to the Vault ?
I know normal inventory has slot numbers like :
Any way to move all from Slot 1-35 to Vault ? In This Case All Emerald Block (ID:133)
The slot numbers you use for moving items are not the ones shown on that screenshot, but rather the ID in the currently open GUI
for inventory, it starts with 0 in the crafting area, 5 in the result, 6-9 in armor, then goes down left to right
In a chest it starts at the top left and goes in rows
You can find out what the ID of a slot is by turning on "show slot ID's in tooltips" in the settings
As for the script itself.., use For(#i,start,end) or For(#i = start to end) to go through numbers, and SlotClick(slot,l,true) to shift-left click
It should be approximately (but do check the slots numbers and stuff) this:
For(#i = 54 to 89)
IF(#i != 81); // skip the first slot of the hotbar
Is it possible to pick an item with NBT data for Pick(). This would be very helpful.
If not, would it be possible for this to be implemented?
Eg. pick(blaze_rod {display:{Name:"Wand",Lore:["A Magical Wand"]},ench:[{id:0,lvl:1}]})
Or even just have it move over to minecrafts format all together.
Eg. pick(blaze_rod 1 0 {display:{Name:"Wand",Lore:["A Magical Wand"]},ench:[{id:0,lvl:1}]})
Does anyone know how to make a personal command with an argument in it?
I mean, I know how to make it (by doing $${IF(%CHAT% == "!info"); ECHO("<actions you want to do go here>");ENDIF;}$$), such as saying "!info" would show some info on something, but how do I make it so that I can add arguments in it, for example when I do "!ban [username]" or "!ban [args]", whatever argument I type after !ban would make me ban whatever arguments I inserted. Or even "!ban [username] [reason]", so after I inserted argument 1 (the player), I can add the reason.
Please could someone create the script for me only, I tried many ways like:
$${IF(%CHAT% == "!ban %PLAYER%");}$$
and
$${IF(%CHAT% == "!ban $$[playername]");}$$ and etc
and other scripts that don't work, they're all in the onSendChatMessage event. I do remember a long time ago using regex but that was done by someone else for me, because I don't know a bit how to use regex as it's very confusing and just weird. So could someone please set a script like this for me to show an example? Sometimes I can learn how to script it better just by memorising the scripts, but me using regex was a very long time ago.
it can never work with IF because that compares values directly.., and there's no such thing as a placeholder value
The command you're looking for is IFMATCHES(subject,regular_expression)
I want to make a script which automatically mines. Goes forward for 50-100 blocks to make a 2x1 tunnel, turn player 90° right / left, mine the sides of tunnel, until reaches the start point, fix the pickaxe with /fix command. Then do this again and again with other tunnels... The important thing is to destroy many stone / ores as possible with portable Haste II beacon (MyPet, so the location is not relevant, it will follow me) automatically. Is this possible? I think it will be hard because of lava, caves, etc... Thanks for reply and ideas!
What you're asking is simultaneously very complicated and very vague...
to make a script, you first need to be able to explain exactly what it does without room for interpretation
If a bunch of people started following your instructions to the letter, their movements should be identical (save for reading and reaction times of course)
For reference, here are actions you can perform (just the ones i think might be relevant)
Press/release sneak, jump, or movement keys
Look in a specific direction (yaw and pitch)
Press the attack key (once, for one tick)
Say something (incl commands) in chat
Switch hotbar slots
You can also group a bunch of actions and
Do the actions for every number between n and m
Do the actions n times
Do the actions until a condition becomes true
Do the actions until a condition becomes false
Do some actions if a condition is true or others if it is false
As for information you can use:
The ID and position of the block you're targetting with your crosshair
your own position (rounded, can snag against corners)
the ID's of blocks in positions relative to your rounded position
the ITEM and DAMAGE of the item in your hand
your HEALTH and HUNGER
You can also remember the current value of any of these for later, do math to them, compare them, etc.
Your description should be read from top to bottom.., in sequence.., everything done just once unless otherwise specified
In other words, you can't react to situations.., you must explicitly check for them while you're doing something
For example:
Do the following until your x position is 100
Press forward
Look towards 0, 0
For every number n between 0 and 10
check what block is one below and n ahead of you
if the block is netherrack
release the forward key
Log "Nether in the way, aborting" in the chat
Stop the script here
check what block is at your feet level and 1 ahead you
If the block is not air
press jump
wait one tick
release jump
but not
Do the following until your x position is 100
Press forward
Look towards 0, 0
When there is a netherrack one below and n ahead
release the forward key
Log "Nether in the way, aborting" in the chat
Stop the script
When there is a non-air block at your feet level and one ahead of you
nice, very detailed description how he should do it
but the main problem of this mining script is mobs....i dont think that you can create a very effective aimbot with the macro mod, to prevent mobs from disrupting you while mining.
if he doesnt care about dying, or he doesnt have mobs spawning at all, it would be very easy
Oh yeah, if there's mobs it's pretty much hopeless
Thank you for the help on my last issue , got it to work
I'm trying to make a auto mine / sell script .
Basically I have ' /home a ' the mine , I want to auto atack and move forward for 10 sec then stop and go to '' /home s ' where I have a sell sign where I need to right click once and go back to same mine and repeat.
This is what I got so far , but kinda failing.
$${DO;
/home a // the mine
$${
KEYDOWN(forward); //move forward
}$$
$${
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
}$$
/home s // place where I have the sign to sell
$${
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
}$$
loop;}$$ //repeat script ?
I tried to separate scripts like /home a ; $$<autoatack.txt> ; $${KEYDOWN(forward);WAIT(10000ms)}$$ ; /home s ; $$<sell.txt>
autoatack.txt
$${
do;
KEY(attack); //autoatack
loop;
}$$
sell.txt
$${
DO(1);
KEY(use);
WAIT(1t);
}$$
Things I fail :
1.It does not move forward (and how do I stop it before going to /home s)
2.It does not tp after 10 sec.
3.After going to /home s and click 1 time right mb (use) , how do I make script to loop again from the beginning ?
I know it s a mess , but if someone want help correct that would be great
${DO;
/home a // the mine
${
KEYDOWN(forward); //move forward
}$
${
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
}$
/home s // place where I have the sign to sell
${
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
}$
loop;}$ //repeat script ?
↓ remove ALLLLLLLLL script tags except the first and the last
${
DO;
/home a // the mine
KEYDOWN(forward); //move forward
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
/home s // place where I have the sign to sell
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
loop;
}$
↓ Indent your code according to your control flow statements (DO; LOOP; IF; ENDIF; etc.)
Every block should close, meaning your code should reach 0 indent by the end
${
DO;
/home a // the mine
KEYDOWN(forward); //move forward
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
/home s // place where I have the sign to sell
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
loop;
}$
As you can see, you've forgotten to close your first DO()
Ignoring that, you need ECHO() around your commands, or else they don't go into chat
So what your script does, is it enters the first infinite loop, doesn't understand the first command, then presses forward, then enters the second loop which just spams attack forever
the rest of your script is never reached
→ DO;
↓ /home a // the mine
↓ KEYDOWN(forward); //move forward
→ do;
↓ KEY(attack); //autoatack
↑ loop;
WAIT(10000ms);
/home s // place where I have the sign to sell
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
loop;
I think the problem is you're thinking of it as a bunch of parallel actions.., but that's not how computers work
You must describe your actions in SEQUENCE (do this, then that, then another thing)
Note that you don't have to use DO;LOOP, which is an infinite loop., you can also Do(n);LOOP (do n times, each iteration takes one tick (1/20'th of a second), DO;UNTIL(condition); DO;WHILE(condition)...
did you install it correctly ? they either go in~/.minecraft/mods/macros/modules/, or ~/.minecraft/liteconfig/common/macros/modules/, depending on your version
this module is pretty much outdated, so if it gives you an error on startup, you have to go way back with your macro mod version (maybe even the minecraft version) ( i dont know which verison you need)
and i would try PRESSBUTTON(2) instead of PRESSBUTTON(3,279,1) because he didnt write anything about additional parameters
It was the only way I found to access the incantations list.
You know another way to access?
${
IF(%CHAT%=="/ntroll off");
set(trollblock,true);
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Disabled!);
ENDIF;
IF(%CHAT%=="/ntroll on");
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Activated!);
set(trollblock,false);
ENDIF;
UNTIL(trollblock,true);
ifmatches(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.");
match(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.",@&victimtrolled,1);
LOG(&7[&eMarco&6BOT&7]&f: %@&victimtrolled% got kicked by trolls! Unbanning...);
WAIT(1);
ECHO(/glist unban %@&victimtrolled%);
LOOP;
ENDIF;
}$
is not working, -.-
basically if a victim do /stop the message appears, and this macro need to be unbanning instantly the victim, if is on, it works, if is off, it will be disabled -.- someone an help me?
Flexx basically this command need to do like this function,
ok, somethimes one troll say say stop to get free admins, and some noobs do it,
when is happening, i toggle on the command, when a player is banned, will appear this message: playr was automatically kicked for using harmful commands.
the macro need to grab the player ign, and typing /glist unban player, to unban the player.
when i type /ntroll off, it will stop, and nothing can triggers it until is re-enabled.
The second do..loop doesn't wait for the executed macro to complete before looping, does anyone know a way to fix this (besides manually adding delay)?
Eh... That doesn't really explain anything other than Liteloader has an update for 1.8.9 and 2/4 stars (or circles). What I'm asking is for THIS litemod to be for that version as well as any other Minecraft / Liteloader version
I've been thinking about this one for over a year and finally have enough knowledge to realise macro mod can't help.
But I'll ask anyway and hope someone has either a macro mod or other solution.
I've looked at GetSlotItem and I was hopeful I could get what I need from it but I have failed. Not sure what the #datavar should list but it appears to be an integer only, not a string of data.
On our server it is a requirement to list all the stats for horse spawn eggs for auctions. And people like to sell them in DC's. So 54 at a time. What I would like is a script that cycles through a chest (I have no probs with getslot or just looping thru slots) and get the stats off each egg. The data on them looks like this:
It would be fantastic to be able to get that description, speed, jump and hp and log each one into a text file.
The bit I can't find anywhere is how to get that data.
I probably need to learn about those NBT tags but thought if anyone has done this before they could point me at it. TIA
so does it work if you switch the unset() and set() command ?
like:
${
IF(%CHAT%=="/cc");
CLEARCHAT();
LOG(&7[&eMarco&6BOT&7]&f: Your Chat got wiped successfully!);
ENDIF;
IF(%CHAT%=="/ntroll off");
UNSET(trollblock);
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Disabled!);
ENDIF;
IF(%CHAT%=="/ntroll on");
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Activated!);
SET(trollblock);
ENDIF;
IF(trollblock);
LOG(&7[&eMarco&6BOT&7]&f: Troll was actived - DEBUG INFO);
IFMATCHES(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.");
match(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.",&victimtrolled,1);
LOG(&7[&eMarco&6BOT&7]&f: %@&victimtrolled% got kicked by trolls! Unbanning...);
WAIT(1);
ECHO(/glist unban %&victimtrolled%);
ENDIF;
ENDIF;
}$
if you copy exactly this, does it work? if not, can you either post a screenshot of the chat, or tell me exactly what the last message was that was outputted by the script to the chat
so does it work if you switch the unset() and set() command ?
like:
${
IF(%CHAT%=="/cc");
CLEARCHAT();
LOG(&7[&eMarco&6BOT&7]&f: Your Chat got wiped successfully!);
ENDIF;
IF(%CHAT%=="/ntroll off");
UNSET(trollblock);
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Disabled!);
ENDIF;
IF(%CHAT%=="/ntroll on");
LOG(&7[&eMarco&6BOT&7]&f: Anti-troll Kicker Activated!);
SET(trollblock);
ENDIF;
IF(trollblock);
LOG(&7[&eMarco&6BOT&7]&f: Troll was actived - DEBUG INFO);
IFMATCHES(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.");
match(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.",&victimtrolled,1);
LOG(&7[&eMarco&6BOT&7]&f: %@&victimtrolled% got kicked by trolls! Unbanning...);
WAIT(1);
ECHO(/glist unban %&victimtrolled%);
ENDIF;
ENDIF;
}$
if you copy exactly this, does it work? if not, can you either post a screenshot of the chat, or tell me exactly what the last message was that was outputted by the script to the chat?
LOG(&7[&eMarco&6BOT&7]&f: Troll was actived - DEBUG INFO);
IFMATCHES(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.");
match(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.",&victimtrolled,1);
LOG(&7[&eMarco&6BOT&7]&f: %@&victimtrolled% got kicked by trolls! Unbanning...);
WAIT(1);
LOG(&7[&eMarco&6BOT&7]&f: Troll was actived - DEBUG INFO);
IFMATCHES(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.");
match(%CHATCLEAN%,"(.+) was automatically kicked for using harmful commands.",&victimtrolled,1);
LOG(&7[&eMarco&6BOT&7]&f: %@&victimtrolled% got kicked by trolls! Unbanning...);
WAIT(1);
What is the full script you're using (and what chat messages are you receiving, if relevant)
What are you expecting to happen
What really happens
The slot numbers you use for moving items are not the ones shown on that screenshot, but rather the ID in the currently open GUI
for inventory, it starts with 0 in the crafting area, 5 in the result, 6-9 in armor, then goes down left to right
In a chest it starts at the top left and goes in rows
You can find out what the ID of a slot is by turning on "show slot ID's in tooltips" in the settings
As for the script itself.., use For(#i,start,end) or For(#i = start to end) to go through numbers, and SlotClick(slot,l,true) to shift-left click
It should be approximately (but do check the slots numbers and stuff) this:
For(#i = 54 to 89)
'Cause tomorrow spring is here
Is it possible to pick an item with NBT data for Pick(). This would be very helpful.
If not, would it be possible for this to be implemented?
Eg. pick(blaze_rod {display:{Name:"Wand",Lore:["A Magical Wand"]},ench:[{id:0,lvl:1}]})
Or even just have it move over to minecrafts format all together.
Eg. pick(blaze_rod 1 0 {display:{Name:"Wand",Lore:["A Magical Wand"]},ench:[{id:0,lvl:1}]})
it can never work with IF because that compares values directly.., and there's no such thing as a placeholder value
The command you're looking for is IFMATCHES(subject,regular_expression)
edit: http://regexone.com/
'Cause tomorrow spring is here
event macros cannot take parameters from the user.
What you can do however is to bind a /ban message to a key.
This can be your code:
/ban $$[username] $$[reason]
GENERATION 9002:The first time you see this, copy it into your sig on any forum and add 1 to the generation. Social experiment
Copied From : http://www.minecraftforum.net/members/mewtwoy
Can anyone help me?
What you're asking is simultaneously very complicated and very vague...
to make a script, you first need to be able to explain exactly what it does without room for interpretation
If a bunch of people started following your instructions to the letter, their movements should be identical (save for reading and reaction times of course)
For reference, here are actions you can perform (just the ones i think might be relevant)
You can also group a bunch of actions and
As for information you can use:
Your description should be read from top to bottom.., in sequence.., everything done just once unless otherwise specified
In other words, you can't react to situations.., you must explicitly check for them while you're doing something
For example:
but not
'Cause tomorrow spring is here
Oh yeah, if there's mobs it's pretty much hopeless
'Cause tomorrow spring is here
Does anyone know how to use the pressbutton function module?
I've tried several ways and does not work.
I wanted him clicked the third option of enchantment table:
A small code that I made after looking at your schedule in the module:
$${
&guienchantment=GUIENCHANTMENT;
look(SOUTH);
look(,+31);
wait(100ms);
key(use);
do;until(%GUI%=%&guienchantment%);
wait(1);
slotclick(29,l,true);
wait(100ms);
pressbutton(3,279,l);
wait(250ms);
slotclick(0,l,false);
wait(50ms);
slotclick(29,l,false);
wait(300ms);
press(escape);
log(&4&l[&8&l!&4&l] &f&lStop.);
}$$
Does anyone know how to use the module?
Please post a tutorial for those who help.
Link module: https://techshroom.com/other/minecraft/mods/macrokeybind-mod/modules/
${DO;
/home a // the mine
${
KEYDOWN(forward); //move forward
}$
${
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
}$
/home s // place where I have the sign to sell
${
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
}$
loop;}$ //repeat script ?
↓ remove ALLLLLLLLL script tags except the first and the last
${
DO;
/home a // the mine
KEYDOWN(forward); //move forward
do;
KEY(attack); //autoatack
loop;
WAIT(10000ms);
/home s // place where I have the sign to sell
DO(1);
KEY(use); //need to right click 1 time to sell
WAIT(1t);
loop;
}$
↓ Indent your code according to your control flow statements (DO; LOOP; IF; ENDIF; etc.)
Every block should close, meaning your code should reach 0 indent by the end
${
DO;
KEYDOWN(forward); //move forward
WAIT(10000ms);
DO(1);
}$
As you can see, you've forgotten to close your first DO()
Ignoring that, you need ECHO() around your commands, or else they don't go into chat
So what your script does, is it enters the first infinite loop, doesn't understand the first command, then presses forward, then enters the second loop which just spams attack forever
the rest of your script is never reached
→ DO;
↓ KEYDOWN(forward); //move forward
WAIT(10000ms);
DO(1);
I think the problem is you're thinking of it as a bunch of parallel actions.., but that's not how computers work
You must describe your actions in SEQUENCE (do this, then that, then another thing)
Note that you don't have to use DO;LOOP, which is an infinite loop., you can also Do(n);LOOP (do n times, each iteration takes one tick (1/20'th of a second), DO;UNTIL(condition); DO;WHILE(condition)...
'Cause tomorrow spring is here
It was the only way I found to access the incantations list.
You know another way to access?
someone can help me to fix it?
is not working, -.-
basically if a victim do /stop the message appears, and this macro need to be unbanning instantly the victim, if is on, it works, if is off, it will be disabled -.- someone an help me?
Still dont works, i tried to do /ntroll on , and the message appeared, but he dont unbanned the player!
if you want to test it, come to MarcoFreedom : 1102659.mc.mpgs.co
And let's complete here.
Flexx basically this command need to do like this function,
ok, somethimes one troll say say stop to get free admins, and some noobs do it,
when is happening, i toggle on the command, when a player is banned, will appear this message: playr was automatically kicked for using harmful commands.
the macro need to grab the player ign, and typing /glist unban player, to unban the player.
when i type /ntroll off, it will stop, and nothing can triggers it until is re-enabled.
The second do..loop doesn't wait for the executed macro to complete before looping, does anyone know a way to fix this (besides manually adding delay)?
Eh... That doesn't really explain anything other than Liteloader has an update for 1.8.9 and 2/4 stars (or circles). What I'm asking is for THIS litemod to be for that version as well as any other Minecraft / Liteloader version
I've been thinking about this one for over a year and finally have enough knowledge to realise macro mod can't help.
But I'll ask anyway and hope someone has either a macro mod or other solution.
I've looked at GetSlotItem and I was hopeful I could get what I need from it but I have failed. Not sure what the #datavar should list but it appears to be an integer only, not a string of data.
On our server it is a requirement to list all the stats for horse spawn eggs for auctions. And people like to sell them in DC's. So 54 at a time. What I would like is a script that cycles through a chest (I have no probs with getslot or just looping thru slots) and get the stats off each egg. The data on them looks like this:
It would be fantastic to be able to get that description, speed, jump and hp and log each one into a text file.
The bit I can't find anywhere is how to get that data.
I probably need to learn about those NBT tags but thought if anyone has done this before they could point me at it. TIA
No, still dont works
Or.., if you don't need it to run async, don't run it async...!
use a file include instead
do;
wait(8); //you don't need to use milliseconds =P
do(8);
if(XPOS<200);
wait(10);
loop;
'Cause tomorrow spring is here
Flexx, the script works,in two parts, is working this,
What is the full script you're using (and what chat messages are you receiving, if relevant)
What are you expecting to happen
What really happens
'Cause tomorrow spring is here