PMC - Pi's Macro Collection

Discussion in 'Basic Tutorials' started by 314, Sep 5, 2015.

  1. Torzon

    Torzon Builder
    Builder ⛰️ Ex-Tycoon ⚜️⚜️⚜️

    Joined:
    Oct 21, 2015
    Messages:
    152
    Trophy Points:
    11,440
    Gender:
    Male
    Ratings:
    +49
    Figured it out :) And case-sensitivity bites!

    If(HIT="ENTITY")
    SLOT(1)
    ENDIF

    Also, $${Echo(%HITID%)}$$ will tell you the hitid of the item you are looking at.
     
  2. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    :eek: Thanks for the info!

    I will need to do a complete overhaul of the toolswitch macro soon...
     
    #42 314, Nov 13, 2015
    Last edited: Nov 13, 2015
  3. Torzon

    Torzon Builder
    Builder ⛰️ Ex-Tycoon ⚜️⚜️⚜️

    Joined:
    Oct 21, 2015
    Messages:
    152
    Trophy Points:
    11,440
    Gender:
    Male
    Ratings:
    +49
    Of course, and thank you for having such an awesome tool for us!
     
  4. zr2002

    zr2002 Nub Moderator
    Resident ⛰️ Ex-EcoLeader ⚜️⚜️⚜️ Premium Upgrade

    Joined:
    Aug 17, 2014
    Messages:
    5,474
    Trophy Points:
    63,660
    Gender:
    Male
    EcoDollars:
    $0
    Ratings:
    +3,161
    @314

    Code:
    $${
    DO;
      IF(@pmctoolswitch)
      IF(HITID = "grass")
      SLOT(2)
      ENDIF
      IF(HITID = "dirt")
      SLOT(2)
      ENDIF
      IF(HITID = "sand")
      SLOT(2)
      ENDIF
      IF(HITID = "gravel")
      SLOT(2)
      ENDIF
      IF(HITID = "clay")
      SLOT(2)
      ENDIF
    
    
      IF(HITID = "stone")
      SLOT(1)
      ENDIF
      IF(HITID = "cobblestone")
      SLOT(1)
      ENDIF
      IF(HITID = "iron_ore")
      SLOT(1)
      ENDIF
      IF(HITID = "gold_ore")
      SLOT(1)
      ENDIF
    
      IF(HITID = "coal_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "lapis_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "diamond_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "redstone_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "lit_redstone_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "emerald_ore")
      SLOT(9)
      ENDIF
      IF(HITID = "planks")
      SLOT(3)
      ENDIF
      IF(HITID = "log")
      SLOT(3)
      ENDIF
      IF(HITID = "fence")
      SLOT(3)
      ENDIF
      IF(HITID = "log2")
      SLOT(3)
      ENDIF
      IF(HIT = "ENTITY")
      SLOT(4)
      ENDIF
      ENDIF
    LOOP();
    }$$
    Var HIT doesn't work for blocks, so I just used HIT for an entity and HITID for blocks. Added wood stuff and entities (Did I forget anything)

    idk if this is what you wanted but here xD
     
    #44 zr2002, Nov 13, 2015
    Last edited: Nov 13, 2015
  5. Torzon

    Torzon Builder
    Builder ⛰️ Ex-Tycoon ⚜️⚜️⚜️

    Joined:
    Oct 21, 2015
    Messages:
    152
    Trophy Points:
    11,440
    Gender:
    Male
    Ratings:
    +49
    @zr2002, that's exactly what I was looking for, and finally figured it out last night. Planks wasn't working for me because case-sensitivity :(. Thanks for looking into this and posting, however, as it will aid others for sure.

    Also, need to add a IF(HITID = "log2") in there. I forget which tree that is :).
     
    #45 Torzon, Nov 13, 2015
    Last edited: Nov 13, 2015
  6. zr2002

    zr2002 Nub Moderator
    Resident ⛰️ Ex-EcoLeader ⚜️⚜️⚜️ Premium Upgrade

    Joined:
    Aug 17, 2014
    Messages:
    5,474
    Trophy Points:
    63,660
    Gender:
    Male
    EcoDollars:
    $0
    Ratings:
    +3,161
    Thank you! I'll edit my post in a minute :)
     
  7. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    Ah, right. 1.8 trees. Acacia and dark oak. Of course MC didn't add them as metadata of normal logs...

    Many thanks, that is something to work with. :)
     
  8. zr2002

    zr2002 Nub Moderator
    Resident ⛰️ Ex-EcoLeader ⚜️⚜️⚜️ Premium Upgrade

    Joined:
    Aug 17, 2014
    Messages:
    5,474
    Trophy Points:
    63,660
    Gender:
    Male
    EcoDollars:
    $0
    Ratings:
    +3,161
    Not a problem :)
     
  9. zr2002

    zr2002 Nub Moderator
    Resident ⛰️ Ex-EcoLeader ⚜️⚜️⚜️ Premium Upgrade

    Joined:
    Aug 17, 2014
    Messages:
    5,474
    Trophy Points:
    63,660
    Gender:
    Male
    EcoDollars:
    $0
    Ratings:
    +3,161
    done
     
  10. bgt691

    bgt691 Builder
    Builder ⛰️ Ex-President ⚒️⚒️

    Joined:
    Oct 23, 2015
    Messages:
    41
    Trophy Points:
    10,500
    Gender:
    Male
    Ratings:
    +11
    What is your problem? I was attempting to figure it out until I sorta got my self kicked for spamming since I ended the "on chat" sentence with | so I did try to mess further yet.

    The question is how do I do. Key bind so that I can do the /sell all /smelt all etc. commands or any other with a single key stroke

    Thank you
    Oh I'm on a Mac not sure if that makes a difference or if liteloder is similar across both Mac and pc

    <Pre-made tag to alert @314 of the report>
     
    #50 bgt691, Nov 20, 2015
    Last edited: Nov 20, 2015
  11. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    See http://www.ecocitycraft.com/forum/threads/pmc-pis-macro-collection.134143/page-2#post-747354 for a similar case.

    The solution to your problem is
    Code:
    $${
    ECHO("/sell all")
    WAIT(1000ms)
    ECHO("/smeltall")
    WAIT(1000ms)
    Other code you want to have executed.
    }$$
    
    Without WAIT(), as you tried (/sell all|/smeltall, I assume), it executes all commands at once. Which, of course, activates the chat spam kick.
     
  12. bgt691

    bgt691 Builder
    Builder ⛰️ Ex-President ⚒️⚒️

    Joined:
    Oct 23, 2015
    Messages:
    41
    Trophy Points:
    10,500
    Gender:
    Male
    Ratings:
    +11
  13. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    Before I continue working on my macros, I definitely need to clean up PMC_Commands.txt. Also, I am considering using Github for easy version control instead of the forum, but I don't know about that yet.


    ._.
     
    #53 314, Nov 22, 2015
    Last edited: Nov 22, 2015
  14. bgt691

    bgt691 Builder
    Builder ⛰️ Ex-President ⚒️⚒️

    Joined:
    Oct 23, 2015
    Messages:
    41
    Trophy Points:
    10,500
    Gender:
    Male
    Ratings:
    +11
    what would i bind this too to make it switch between stuff for me? or how would i make this work i've tried a few things hasn't seemed to work for me yet
    Correction got to work but below is some suggestions thanks for the great macros

    Edit #2" when i got to mine and come up to stone it does not change to slot it stays at slot 2 the shovel

    another error i get is even if the .tool is disabled it always switches to slot 3 for logs


    and 2nd to answer your question theres a few smaller items you could add
    ITems in each slot incase someone cant tell
    1) silk pic
    2) silk/reg shovel
    3) axe
    4)Msword
    9) fort pic

    IF(HITID = "mycelium")
    SLOT(2)
    ENDIF
    IF(HITID = "dirt:1")
    SLOT(2)
    ENDIF

    IF(HITID = "pumpkin")
    SLOT(3)
    ENDIF
    IF(HITID = "cocoa")
    SLOT(3)
    ENDIF
    IF(HITID = "melon_block")
    SLOT(4)
    ENDIF


    IF(HITID = "granite")
    SLOT(1)
    ENDIF
    IF(HITID = "diorite")
    SLOT(1)
    ENDIF
    IF(HITID = "andesite")
    SLOT(1)
    ENDIF


    (dirt:1 is coarse dirt)
    you could honestly name every block but these are a tad more practical then adding everything
     
    #54 bgt691, Nov 24, 2015
    Last edited: Nov 24, 2015
  15. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    The ones I quoted are already included since a check for "stone" or "dirt" also checks for any meta-ID and thus matches andesite, granite and diorite as stone and coarse dirt and podzol as dirt. I am not sure about melons yet (as not everybody has a melon sword and (I hope?) not few players use pickaxes with silk if they need a few melon blocks for building.

    I plan to work on a major cleanup of PMC very soon...
     
  16. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    What happens when a 314 is unable to connect to ECC?

    This.
    https://github.com/ECC314/PMC/archive/master.zip

    I cleaned up the main file and decreased it from ~250 to 41 lines. Many other files added. Some things fixed. Merged a few modules into one statistics module and expanded it by a lot. An awful lot.

    Currently broken:
    .stats <parameter> causes an "Unknown command" message, but it still works. I will be working on this.

    WARNING: If you plan to update PMC because you already have an existing copy, you will need to remove event bindings and redo them. I will try to update the installation instructions as soon as possible.
     
  17. Torzon

    Torzon Builder
    Builder ⛰️ Ex-Tycoon ⚜️⚜️⚜️

    Joined:
    Oct 21, 2015
    Messages:
    152
    Trophy Points:
    11,440
    Gender:
    Male
    Ratings:
    +49
    @314 Is there a legal way to move item(x) from your inventory to one of your bar slots? For example, in a building project, moving a stack of stone from your inventory to your slot(9) would be nice (only if legal on the server).
     
    #57 Torzon, Nov 25, 2015
    Last edited: Nov 25, 2015
  18. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    A while ago I was told that everything that moves items around the inventory is not allowed.
     
  19. Torzon

    Torzon Builder
    Builder ⛰️ Ex-Tycoon ⚜️⚜️⚜️

    Joined:
    Oct 21, 2015
    Messages:
    152
    Trophy Points:
    11,440
    Gender:
    Male
    Ratings:
    +49
    Thanks Pi. I can see how that would be a problem in crafting and such, so I'll leave it at that. Appreciate the response!
     
  20. 314

    314 Irrational Moderator, former ServerAdmin
    SuperMod EcoLegend ⛰️⛰️⛰️⛰️ Ex-President ⚒️⚒️ Prestige ⭐ VI ⭐ Premium Upgrade

    Joined:
    Apr 1, 2014
    Messages:
    7,046
    Trophy Points:
    97,160
    EcoDollars:
    $1,400,000
    Ratings:
    +4,917
    And the first update for the new PMC is already out; I fixed the bug of an "Unknown command" error appearing when using .stats.

    Also, thanks to @zr2002 for creating an (almost fully) working implementation of .sg kits.