Exactly what it says on the tin: You most likely have a macro bound to onChat with a syntax error (namely the lack of an ENDIF instruction) and you need to either remove the onChat event binding or fix the script. That's all I can say without seeing the code.
Uhm, can you be more specific on what code you need to see please? I'm kind of new again to macro, haven't used them for like 1 year :/, thanks tho!
Any code that could be responsible for this error, viz. the code of all scripts bound to onChat (although you could identify the relevant scripts yourself by removing all of them and re-adding them separately).
Here is all my config @314 Spoiler: Macros Config This in "OnJoinGame": $$<trade.txt>|$${ECHO(/lot);EXEC(lottotimer.txt,timer);EXEC(lottoloop.txt,lottoloop)}$$ This in "OnItemDurabilityChange": $${IF(DURABILITY < 40);ECHO("/fix all");ENDIF}$$ This in "OnPlayerJoined": $${LOG("&f[&4&lUser-&c&lJoin&f]&f&l &6%JOINEDPLAYER% &ahas &djoined &b&lECC.")}$$ This in "OnSendChatMessage": $$<eekmacros_me.txt>|$$<eekmacros_panic.txt>|$$<trade.txt> $$<eekmacros_me.txt>: $${ IFMATCHES(%CHAT%, "^/me") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&e&lLet's see...") ECHO("/bal") ECHO("/seen %PLAYER%") LOG("&eCO-ORDS - XYZ" &b%XPOS%/%YPOS%/%ZPOS%) ENDIF }$$ $$<eekmacros_panic.txt> $${ IF(HEALTH = 8); ECHO(/home home) LOOP ENDIF }$$ $$<trade.txt> $${ IF(@#trade_time<=180) SET(@#trade_time,180) ENDIF IF(%KEYNAME%=="onJoinGame") SET(@#trade_failsafe,0) UNSET(@tradead) ELSEIF(%KEYNAME%!="onSendChatMessage") IF(@tradead); LOG("&7[Tr] &eYou stopped advertising.") UNSET(@tradead) ELSE IF((%@#trade_failsafe%>=1) && (%@#trade_failsafe%<180)) LOG("&7[Tr] &cYou have recently advertised under 3 minutes ago.") ELSE LOG("&7[Tr] &aYou started advertising.") SET(@tradead) #i=1 DO() IF(@tradead==false) UNSET(@trade_breaknow) DO() INC(@#trade_failsafe) WAIT(1000ms) IF(@trade_breaknow) UNSET(@trade_breaknow) BREAK ENDIF WHILE(@#trade_failsafe<=180) BREAK ENDIF @#trade_failsafe=#i IF(#i==1) IF(@&tradead1!="") ECHO("/ch qm tr %@&tradead1%") ENDIF IF(@&tradead2!="") ECHO("/ch qm tr %@&tradead2%") ENDIF ENDIF WAIT(1000ms) INC(#i) IF(#i>%@#trade_time%) #i=1 ENDIF LOOP ENDIF ENDIF ELSE IFMATCHES(%CHAT%, "^/help (ad|ads)") FILTER LOG(" &e---- &6Help: ad &e-- &6Page &c1 &6of &c1 &e----") LOG("&7&lAutomated Advertisements Macro v1.0") LOG("&7&oDeveloped by 3point14mp") LOG("&3/ad set 1 &bmsg &7- sets your first-line ad message") LOG("&3/ad set 2 &bmsg &7- sets your second-line ad message") LOG("&3/ad clear &7- clears your stored ad messages") LOG("&3/ad clear 1 &7- clears your first-line ad message") LOG("&3/ad clear 2 &7- clears your second-line ad message") LOG("&3/ad time &bseconds &7- sets time between each ad (minimum 180)") LOG("&3/ad info &7- displays stored ads and the status of your macro") ENDIF IFMATCHES(%CHAT%, "^/ad set 1$") FILTER LOG("&fSets your first of two allowable trade ads.") LOG("&f/ad set 1 <message>") ENDIF IFMATCHES(%CHAT%, "^/ad set 2$") FILTER LOG("&fSets your second allowable trade ad.") LOG("&f/ad set 2 <message>") ENDIF IFMATCHES(%CHAT%, "^/ad set 1 ") FILTER MATCH(%CHAT%, "^/ad set 1 (.+)",{&newad}) @&tradead1=%&newad% LOG("&7[Tr] &b&oFirst-line Trade Ad Set To") LOG("&7[Tr] &f%&newad%") @#trade_failsafe=0 @trade_breaknow=true ENDIF IFMATCHES(%CHAT%, "^/ad set 2 ") FILTER MATCH(%CHAT%, "^/ad set 2 (.+)",{&newad}) @&tradead2=%&newad% LOG("&7[Tr] &b&oSecond-line Trade Ad Set To:") LOG("&7[Tr] &f%&newad%") @#trade_failsafe=0 @trade_breaknow=true ENDIF IFMATCHES(%CHAT%, "^/ad clear$") FILTER @&tradead1="" @&tradead2="" LOG("&7[Tr] &dCleared First/Second-line Trade Ads") @#trade_failsafe=0 @trade_breaknow=true ENDIF IFMATCHES(%CHAT%, "^/ad clear 1$") FILTER @&tradead1="" LOG("&7[Tr] &dCleared First-line Trade Ad") @#trade_failsafe=0 @trade_breaknow=true ENDIF IFMATCHES(%CHAT%, "^/ad clear 2$") FILTER @&tradead2="" LOG("&7[Tr] &dCleared Second-line Trade Ad") @#trade_failsafe=0 @trade_breaknow=true ENDIF IFMATCHES(%CHAT%, "^/ad time$") FILTER LOG("&fSets the time between ads. Must be at least 180 seconds.") LOG("&f/adtime <seconds>") ENDIF IFMATCHES(%CHAT%, "^/ad time ") FILTER MATCH(%CHAT%,"^/ad time (.+)",{&newtime}) SET(#newtime,%&newtime%) IF(#newtime<180) LOG("&7[Tr] &cError: Must keep ads at least &e180 &cseconds apart") ELSE @#trade_time=%#newtime% LOG("&7[Tr] &aSet time between ads to &e%#newtime% &aseconds") ENDIF ENDIF IFMATCHES(%CHAT%, "^/ad info") FILTER IF((@&tradead1=="") && (@&tradead2=="")) LOG("&7[Tr] You do not currently have any trade ad messages.") ELSE LOG("&7[Tr] Your planned ad messages are") IF(@&tradead1!="") SPLIT(" ","%@&tradead1%",&split[]) FOR(#j,4,75) IF(&split[%#j%]==""); BREAK; ENDIF SET(&split[%#j%],"&7%&split[%#j%]%) NEXT JOIN(" ","&split[]",&t1) LOG("&7[Tr] &fFirst-line: &7%&t1%") ENDIF IF(@&tradead2!="") SPLIT(" ","%@&tradead2%",&split2[]) FOR(#j,4,75) IF(&split2[%#j%]==""); BREAK; ENDIF SET(&split2[%#j%],"&7%&split2[%#j%]%) NEXT JOIN(" ","&split2[]",&t2) LOG("&7[Tr] &fSecond-line: &7%&t2%") ENDIF LOG("&7[Tr] &6Scheduled time between ads: &e%@#trade_time% &6seconds") IF((%@#trade_failsafe%>0) && (%@#trade_failsafe%<=180)) LOG("&7[Tr] &6Status: &cYour last automated ad was &e%@#trade_failsafe% &cseconds ago") ELSE LOG("&7[Tr] &6Status: &aMacro ready to use") ENDIF ENDIF ENDIF ENDIF }$$ This in "OnChat": $$<eekmacros_help.txt>|$$<eekmacros_me.txt>|$$<sgm.txt>|$$<lotto.txt> $$<eekmacros_help.txt> $${ IFMATCHES(%CHAT%, "^/help (eekmacros|eekmacro) 1") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eType '&b/help <macroname>&e' &e for information on each macro.") LOG("&eType '&b/help eekmacros 2&e' to go to the next page. LOG("&e&l'Me' Macro") LOG("&e&l'Hunger Reminder' Macro") LOG("&e&l'Panic Spawn' Macro") LOG("&e&l'Zoom' Macro") LOG("&e&l'AFK' Macro") ENDIF IFMATCHES(%CHAT%, "^/help (eekmacros|eekmacro) 2") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eType '&b/help <macroname>&e' for information on each macro.") LOG("&e&l'Trade Sign Maker' Macro") ENDIF IFMATCHES(%CHAT%, "^/help voteblocker") FILTER LOG("Blocks vote reminders, type /votereminder to toggle.") ENDIF IFMATCHES(%CHAT%, "^/help me") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eThe ""Me" macro is a macro that tells you basic&e information &eabout your character.) LOG("&eIt adds the command '/me'.") ENDIF IFMATCHES(%CHAT%, "^/help hungerreminder") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eThis macro will send you a message when your hunger is low &eenough.") ENDIF IFMATCHES(%CHAT%, "^/help panicspawn") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eThis macro will send you to spawn when your health is low.") ENDIF IFMATCHES(%CHAT%, "^/help zoom") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&ePress the key that you bound the macro to and you will zoom&e in&e. Release it &eto reset &eyour FOV.") ENDIF IFMATCHES(%CHAT%, "^/help afk") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&eType /afk and you will vanish and be put into /afk. Type it &eagain &eto &ereverse ðis.") ENDIF IFMATCHES(%CHAT%, "^/help tradesignmaker") LOG("Press the button you bound it to and it'll make a trade sign.") ENDIF }$$ $$<eekmacros_me.txt> $${ IFMATCHES(%CHAT%, "^/me") FILTER LOG("&e--- &c&leekelmo's macros &e---") LOG("&e&lLet's see...") ECHO("/bal") ECHO("/seen %PLAYER%") LOG("&eCO-ORDS - XYZ" &b%XPOS%/%YPOS%/%ZPOS%) ENDIF }$$ $$<sgm.txt> $${ STRIP(&strip,%CHAT%) IFMATCHES(%&strip%,"[ECC-SG](.+?)Joining Arena") ECHO("/sg vote") WAIT(1000ms) ECHO("/kit Ccpp,Bfrpp,Spypp,Hntpp") ENDIF }$$ $$<lotto.txt> $${ IFMATCHES(%&chat%,^\[LOTTERY\] Congratulations go to (.*) for winning \$[0-9]+ with [0-9]+ tickets\.); MATCH(%&chat%,^\[LOTTERY\] Congratulations go to (.*) for winning \$([0-9]+) with ([0-9]+) tickets\.,{@&winner,@#lotwin,#wintix}); @#pot=0; STOP(timer); @#seccount=0; @#mincount=15; EXEC(lottotimer.txt,timer); SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] Draw in: [0-9]+ seconds?); MATCH(%&chat%,^\[LOTTERY\] Draw in: ([0-9]+) seconds?,{#countsec}); @#mincount=0; @#seccount=#countsec; ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] Draw in: [0-9]+ minutes?\, and [0-9]+ seconds?); MATCH(%&chat%,^\[LOTTERY\] Draw in: ([0-9]+) minutes?\, and ([0-9]+) seconds?,{#countmin,#countsec}); @#mincount=#countmin; @#seccount=#countsec; ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] (.*) just bought [0-9]+ tickets?); MATCH(%&chat%,^\[LOTTERY\] (.*) just bought ([0-9]+) tickets?,{&username,#tickets}); #amount=#tickets*850; @#pot=@#pot+#amount; SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] (.*) just bought [0-9]+ tickets?! Draw in [0-9]+m [0-9]+s); MATCH(%&chat%,^\[LOTTERY\] (.*) just bought [0-9]+ tickets?! Draw in ([0-9]+)m ([0-9]+)s,{&username,#countmin,#countsec}); @#mincount=#countmin; @#seccount=#countsec; SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] (.*) just bought [0-9]+ tickets?! Draw in [0-9]+s); MATCH(%&chat%,^\[LOTTERY\] (.*) just bought ([0-9]+) tickets?! Draw in ([0-9]+)s,{&username,#tickets,#countsec}); @#mincount=0; @#seccount=#countsec; SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] Last winner: (.*) \$[0-9]+); MATCH(%&chat%,^\[LOTTERY\] Last winner: (.*) \$([0-9]+),{@&winner,@#lotwin}); SETLABEL(lotpot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fTime: %@#minutes%m %@#seconds%s ,lotpot); ENDIF; IFMATCHES(%&chat%,^\[LOTTERY\] There is currently \$[0-9]+ in the pot\.); MATCH(%&chat%,^\[LOTTERY\] There is currently \$([0-9]+) in the pot\.,{@#pot}); SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); ENDIF; }$$ $${ DO; SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); WAIT(10t) LOOP; }$$ $${ DO; WAIT(19t); IF(%@#seccount%=0); INC(@#seccount,60); DEC(@#mincount); ENDIF; DEC(@#seccount); IF(%@#mincount%=0); IF(%@#seccount%=0); STOP(timer); ENDIF; ENDIF; SETLABEL(lot,Last Winner: &5%@&winner%\n&fLast Pot: &2$%@#lotwin%\n&fPot: &a$%@#pot%\n&fDraw in: &b%@#mincount%min &b%@#seccount%sec,lot); LOOP; }$$ This in "OnHealthChange": $$<eekmacros_panic.txt> $$<eekmacros_panic.txt> $${ IF(HEALTH = 8); ECHO(/home home) LOOP ENDIF }$$
@Frostystorm1 @ClarinetPhoenix @Ozzyblack21 I forgot how to make the "Click to expand" box, can you help me please since this is too spammy? Thanks!
You can put the macro's code inside a spoiler and code box if you'd like. The way to set this up here; Spoiler: Spoiler Name Code: codehere there is also a little "insert" option for various media when making/editing a post, if you click spoiler and code you can add spoilers, and the code option will give you an an option to paste some text in a box and it will format it into a code box for you.
@314 can you help me with my macros? Not even 1 is working already tested them out 1 by 1, I am using LiteLoader version 1.12.2 and the macro.litemod version is 1.12.1 but if I try to connect to the server with 1.12.1 does not let me at all, thanks for the help!
That's how protocol-changing Minecraft versions work, yes. 0. Yes, and I probably spent far too much time debugging those macros earlier today. Please note that none of them have been tested. 1. Please, for the sake of my sanity, use [ CODE ] tags from now on. Also, code should use proper indentation. 2. I'm definitely not going to bother with fixing this version of 3point's trade.txt, I already did that a while ago. The FILTER() issue appears in a few other macros. 3. I'm not even sure what eekmacros_panic.txt is supposed to do because it shouldn't be in OnSendChatMessage (although it is in OnHealthChange [where it belongs] as well), shouldn't include a loop and shouldn't use a = operator. 4. eekmacros_me.txt shouldn't be in OnChat, and you posted it twice in your spoiler. 5. sgm.txt uses the deprecated STRIP() instead of %CHATCLEAN% and an improper regex. 6. eekmacros_help.txt is useless in OnChat, it has to be in OnSendChatMessage. Also optimized the regex and fixed a parenthesis error. 7. lotto.txt accesses the variable %&chat%, but it was never defined and is therefore blank. I assume there used to be a STRIP() line there. Also, MATCH() needs proper quotation marks around the regex. I'm going to assume that you have two labels called "lot" and "lotpot". 8. "lottoloop.txt" is referenced in OnJoinGame, but the code isn't provided here. You can see my changes here, my code is here. This kind of macro debugging reminds me of why I stopped doing that in the first place...