Advertisement
kolton

Untitled

Aug 4th, 2012
135
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.01 KB | None | 0 0
  1. /**
  2. * @filename MuleLogger.js
  3. * @author kolton
  4. * @desc Log items on configurable accounts/characters
  5. */
  6.  
  7. var MuleLogger = {
  8. LogAccounts: {
  9. /* Format:
  10. "account1/password1/realm": ["charname1", "charname2 etc"],
  11. "account2/password2/realm": ["charnameX", "charnameY etc"],
  12. "account3/password3/realm": ["all"]
  13.  
  14. To log a full account, put "accountname/password/realm": ["all"]
  15.  
  16. realm = useast, uswest, europe or asia
  17. */
  18.  
  19. "account/password/realm": ["all"]
  20. },
  21.  
  22. LogGame: ["muleloggame", "password"], // ["gamename", "password"]
  23. LogNames: true, // Put account/character name on the picture
  24. LogItemLevel: true, // Add item level to the picture
  25. SaveScreenShot: false, // Save pictures in jpg format (saved in 'Images' folder)
  26. IngameTime: 180, // Time to wait after leaving game
  27.  
  28. // don't edit
  29. getItemDesc: function (unit) {
  30. var i, code, desc,
  31. stringColor = "",
  32. gid = "",
  33. header = "",
  34. name = unit.fname.split("\n").reverse().join(" ").replace(/ÿc[0-9!"+<;.*]|^ /, "");
  35.  
  36. desc = unit.description.split("\n");
  37.  
  38. // Lines are normally in reverse. Add color tags if needed and reverse order.
  39. for (i = 0; i < desc.length; i += 1) {
  40. if (desc[i].match(/^ÿ/)) {
  41. stringColor = desc[i].substring(0, 3);
  42. } else {
  43. desc[i] = stringColor + desc[i];
  44. }
  45.  
  46. // process line for d2bot
  47. desc[i] = desc[i].replace("ÿ", "\\xff").replace("\xFF", "\\xff");
  48. }
  49.  
  50. desc = desc.reverse().join("\\n");
  51.  
  52. if (this.LogItemLevel) {
  53. desc += ("\\n\\xffc0Item Level: " + unit.ilvl);
  54. }
  55.  
  56. code = getBaseStat(0, unit.classid, 'normcode') || unit.code;
  57. code = code.replace(" ", "");
  58.  
  59. if ([10, 12, 58, 82, 83, 84].indexOf(unit.itemType) > -1) {
  60. code += (unit.gfx + 1);
  61. }
  62.  
  63. if (this.LogNames && me.account) {
  64. header = me.account + " / " + me.name;
  65. }
  66.  
  67. // d2bot# optimization for runes, gems and set/unique items
  68. if ([5, 7].indexOf(unit.quality) > -1 || [74, 96, 97, 98, 99, 100, 101, 102].indexOf(unit.itemType) > -1) {
  69. gid = unit.gid;
  70. }
  71.  
  72. return (name + "$" + desc + "$" + code + "$" + header + "$" + gid);
  73. },
  74.  
  75. logChar: function () {
  76. var i, folder,
  77. items = me.getItems(),
  78. color = -1,
  79. realm = me.realm || "Single Player",
  80. finalString = "",
  81. screenShot = "";
  82.  
  83. if (!FileTools.exists("mules/" + realm)) {
  84. folder = dopen("mules");
  85.  
  86. folder.create(realm);
  87. }
  88.  
  89. if (!FileTools.exists("mules/" + realm + "/" + me.account)) {
  90. folder = dopen("mules/" + realm);
  91.  
  92. folder.create(me.account);
  93. }
  94.  
  95. for (i = 0; i < items.length; i += 1) {
  96. if (items[i].mode === 0) {
  97. color = items[i].getColor();
  98. finalString += (this.getItemDesc(items[i]) + ";" + "0" + ";" + color + "\n");
  99.  
  100. if (this.SaveScreenShot) {
  101. screenShot = items[i].itemType + this.getItemDesc(items[i]) + ";" + color;
  102. sendCopyData(null, "D2Bot #", 0, "saveItem;" + screenShot);
  103. delay(500);
  104. }
  105. }
  106. }
  107.  
  108. FileTools.writeText("mules/" + realm + "/" + me.account + "/" + me.name + ".txt", finalString);
  109. }
  110. };
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement