Advertisement
priMELval

trade sign macro ver 1.1

Nov 13th, 2016
106
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.85 KB | None | 0 0
  1. $${
  2.  
  3. // Bind to onChat, onSendChatMessage and MIDDLEMOUSE
  4.  
  5. STRIP(&chat,%CHAT%)
  6. // /trade command
  7. IF(%KEYNAME%="onSendChatMessage")
  8.  
  9. IFMATCHES(%&chat%,"^/trade")
  10.  
  11. IFMATCHES(%&chat%,"^/trade (.*) ([0-9]+) (.*)")
  12.  
  13. MATCH(%&chat%,"^/trade (.*) ([0-9]+) (.*)",{@&price,@#amount,&itemid})
  14. PLACESIGN("[Trade]","%@&price%","%@#amount% %&itemid%:%@#amount%","",1)
  15.  
  16. ELSE
  17. IFMATCHES(%&chat%,"^/trade (.*) ([0-9]+)")
  18.  
  19. MATCH(%&chat%,"^/trade (.*) ([0-9]+)",{@&price,@#amount})
  20. SET(@#getiteminfo,1)
  21. ECHO(/dura)
  22.  
  23. ELSE
  24.  
  25. LOG(&6[&4Trade Signs&6] &aUsage: /trade <price> <amount> [item])
  26. LOG(&6[&4Trade Signs&6] &aIf you do not specify an item it will use &athe &aitem &ain &ayour &ahand.)
  27. LOG(&6[&4Trade Signs&6] &aYou must have a trade sign in your hotbar.)
  28.  
  29. ENDIF
  30. ENDIF
  31. FILTER()
  32. ENDIF
  33.  
  34. // Extract from /dura
  35. ELSEIF(%KEYNAME%="onChat")
  36. STRIP(&chat,%CHAT%)
  37.  
  38. IF(%@#getiteminfo%=1)
  39.  
  40. IFMATCHES(%&chat%,"^Item:(.*) - ([0-9]+):([0-9]+)")
  41. MATCH(%&chat%,"^Item:(.*) - ([0-9]+):([0-9]+)",{&crap,#itemid,#itemdam})
  42. SET(@getiteminfo,0)
  43. IF(%#itemdam% != 0)
  44. SET(&itemid,"%#itemid%,%#itemdam%")
  45. ELSE
  46. SET(&itemid,"%#itemid%")
  47. ENDIF
  48.  
  49. PLACESIGN("[Trade]","%@&price%","%@#amount% %&itemid%:%@#amount%","",1)
  50. ENDIF
  51.  
  52. ELSEIF(%@#getiteminfo%=2)
  53.  
  54. IFMATCHES(%&chat%,"^Item:(.*) - ([0-9]+):([0-9]+)")
  55. MATCH(%&chat%,"^Item:(.*) - ([0-9]+):([0-9]+)",{&crap,#item,#itemdama})
  56. SET(@getiteminfo,0)
  57. &pick = ITEMNAME(%#item%)
  58. IF(%#itemdama%!=0)
  59. PICK(%&pick%:%#itemdama%)
  60. ELSE
  61. PICK(%&pick%)
  62. ENDIF
  63. ENDIF
  64. ENDIF
  65.  
  66. // Select item in trade sign
  67. // May cause spam if used on signs with non numerical ids
  68. // Set MIDDLEMOUSE to Always override for convenience
  69. ELSEIF(%KEYNAME%="MIDDLEMOUSE")
  70. IFMATCHES(%HITID%,"(wall|standing)_sign")
  71.  
  72. STRIP(&signtext,%SIGNTEXT[0]%)
  73. IF(%&signtext%="[Trade]")
  74. STRIP(&signtext,%SIGNTEXT[3]%)
  75. IFMATCHES(%&signtext%,%PLAYER%)
  76.  
  77.  
  78. STRIP(&signtext,%SIGNTEXT[2]%)
  79. IFMATCHES(%&signtext%,"^([0-9]+) (.*):([0-9]+)")
  80. MATCH(%&signtext%,"^([0-9]+) (.*):([0-9]+)",{#uselesscrap,&tradecont})
  81. IFMATCHES(%&tradecont%,"(.*),([0-9]+)")
  82. MATCH(%&tradecont%,"(.*),([0-9]+)",{&item,@#itemdama})
  83. SET(hasdam)
  84. ELSE
  85. SET(&item,%&tradecont%)
  86. UNSET(hasdam)
  87. ENDIF
  88. IFMATCHES(%&item%,^([0-9]+)$)
  89. &pick = ITEMNAME(%&item%)
  90. IF(hasdam)
  91. PICK(%&pick%:%@#itemdama%)
  92. ELSE
  93. PICK(%&pick%)
  94. ENDIF
  95. ELSE
  96. SET(@#getiteminfo,2)
  97. ECHO(/dura %&item%)
  98.  
  99. ENDIF
  100.  
  101. ELSE
  102. LOG(&6[&4Trade Signs&6] &cERROR: This trade sign can't be refilled)
  103.  
  104. ENDIF
  105.  
  106. ELSE
  107. PICK(sign)
  108.  
  109. ENDIF
  110.  
  111. ELSE
  112. PICK(sign)
  113. ENDIF
  114. ELSE
  115. KEY(pick)
  116. ENDIF
  117. ENDIF
  118. }$$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement