Advertisement
Guest User

Untitled

a guest
Apr 27th, 2015
217
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.70 KB | None | 0 0
  1. /* Buttons */
  2. var start_trade_class = "TradeCurrencyModalBtn";
  3. var cancel_trade_class = "btn-negative";
  4.  
  5. /* Input */
  6. var limit_order_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_LimitOrderRadioButton";
  7. var give_currency_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_HaveCurrencyDropDownList";
  8. var receive_currency_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_WantCurrencyDropDownList";
  9. var give_box_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_HaveAmountTextBoxRestyle";
  10. var receive_box_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_WantAmountTextBox";
  11. var submit_trade_id = "ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_SubmitTradeButton";
  12.  
  13. /* Info */
  14. var quote_panel_class = "CurrencyQuote";
  15. var my_robux = "RobuxAlertCaption";
  16. var my_tix = "TicketsAlertCaption";
  17.  
  18. /* History */ // Dp not touch these values. Or anything for that matter. Go away
  19. var Previous_Tix_Traded = 0;
  20. var Previous_Robux_Traded = 0;
  21. var Current_Tix_Gained = 0; // "Current" variables are the ones that hold the values of the maximum to trade. They will not trade more money than you have gained.
  22. var Current_Robux_Gained = 0;
  23. var Trading_Robux = 2000; // CHANGE NUMBER TO THE NUMBER OF ROBUX YOU CURRENTLY HAVE/ARE WILLING TO USE
  24. var Trading_Tix = 0;
  25. var Previous_Bux_Rate = 0;
  26. var Previous_Tix_Rate = 0;
  27. var Current_Trading = "bux" // We start trading bux first
  28. var InTrade = 0;
  29. var Loading = 0;
  30. var total_profit = 0;
  31. var pending_profit = 0;
  32.  
  33. /* others */
  34. var framedoc;
  35. var tcinterval;
  36. var currenttrading_element;
  37. var expecting_element;
  38. var giving_element;
  39. var totalprofit_element;
  40.  
  41. // Multiply R$ by the right
  42. // Divide TIX by the left
  43. // Round only final value
  44.  
  45. function FetchExternalData(){
  46. var d = "";
  47. $.get("http://www.roblox.com/My/Money.aspx#/#TradeCurrency_tab", function(data){
  48. d = data;
  49. //console.log( $("#" + my_robux, data).text() );
  50. });
  51. return d;
  52. }
  53. /*
  54. function getPos(ele){
  55. var x=0;
  56. var y=0;
  57. while(true){
  58. x += ele.offsetLeft;
  59. y += ele.offsetTop;
  60. if(ele.offsetParent === null){
  61. break;
  62. }
  63. ele = ele.offsetParent;
  64. }
  65. return [x, y];
  66. }
  67. console.log( getPos( document.getElementById("frame1").contentDocument.getElementById("ctl00_ctl00_cphRoblox_cphMyRobloxContent_ctl00_SubmitTradeButton") ))*/
  68.  
  69. function GetBuxRate(Rates){ // What to multiply bux by
  70. var tes = Rates.match(/(.*)\/(.*)/);
  71. return tes[2];
  72. }
  73.  
  74. function GetTixRate(Rates){ // What to divide tix by
  75. var tes = Rates.match(/(.*)\/(.*)/);
  76. return tes[1];
  77. }
  78.  
  79. function GetSpread(){ // Get spread
  80. var Spread = framedoc.getElementsByClassName("column")[0].childNodes[5]
  81. console.log(Spread);
  82. return Spread.innerHTML;
  83. }
  84.  
  85. function Click(String, isClass, d){
  86. if (isClass == true){
  87. $("." + String, d)[0].click();
  88. }else{
  89. $("#" + String, d).click()
  90. }
  91. }
  92.  
  93. function OpenTradeWindow(d){
  94. Click(start_trade_class, true, d);
  95. Click(limit_order_id, false, d);
  96. }
  97.  
  98. function SetTradeTo(currency, d){
  99. if (currency === "tix"){
  100. $("#" + give_currency_id, d).val("Tickets");
  101. $("#" + receive_currency_id, d).val("Robux");
  102. }else if(currency === "bux"){
  103. $("#" + give_currency_id, d).val("Robux");
  104. $("#" + receive_currency_id, d).val("Tickets");
  105. }
  106. }
  107.  
  108. function MakeIFrame(){
  109. var f = document.createElement("iframe");
  110. f.width = window.innerWidth;
  111. f.height = 350
  112. f.style.position = "absolute"
  113. f.style.top = "0px";
  114. f.style.left = "0px";
  115. f.style.zIndex = 100001;
  116. f.setAttribute("src", "http://www.roblox.com/My/Money.aspx#/#TradeCurrency_tab");
  117. f.id = "frame1";
  118. document.body.outerHTML = "";
  119. document.body.appendChild(f);
  120.  
  121. currenttrading_element = document.createElement("span");
  122. currenttrading_element.style.display = "block";
  123. currenttrading_element.style.width = "400px"
  124. currenttrading_element.style.backgroundColor = "rgb(200,200,200)";
  125. currenttrading_element.style.position = "absolute";
  126. currenttrading_element.style.top = "360px";
  127. currenttrading_element.style.left = "10px";
  128. currenttrading_element.style.fontSize = "25px";
  129. currenttrading_element.style.textAlign = "center";
  130. currenttrading_element.style.borderRadius = "5px";
  131. currenttrading_element.innerHTML = "Currently exchanging: R$";
  132. document.body.appendChild(currenttrading_element);
  133.  
  134. giving_element = document.createElement("span");
  135. giving_element.style.display = "block";
  136. giving_element.style.borderRadius = "5px";
  137. giving_element.style.width = "400px"
  138. giving_element.style.backgroundColor = "rgb(200,200,200)";
  139. giving_element.style.position = "absolute";
  140. giving_element.style.top = "400px";
  141. giving_element.style.left = "10px";
  142. giving_element.style.fontSize = "25px";
  143. giving_element.style.textAlign = "center";
  144. document.body.appendChild(giving_element);
  145.  
  146. expected_element = document.createElement("span");
  147. expected_element.style.display = "block";
  148. expected_element.style.borderRadius = "5px";
  149. expected_element.style.width = "400px"
  150. expected_element.style.backgroundColor = "rgb(200,200,200)";
  151. expected_element.style.position = "absolute";
  152. expected_element.style.top = "440px";
  153. expected_element.style.left = "10px";
  154. expected_element.style.fontSize = "25px";
  155. expected_element.style.textAlign = "center";
  156. document.body.appendChild(expected_element);
  157.  
  158. totalprofit_element = document.createElement("span");
  159. totalprofit_element.style.display = "block";
  160. totalprofit_element.style.borderRadius = "5px";
  161. totalprofit_element.style.width = "400px"
  162. totalprofit_element.style.backgroundColor = "rgb(200,200,200)";
  163. totalprofit_element.style.position = "absolute";
  164. totalprofit_element.style.top = "360px";
  165. totalprofit_element.style.right = "10px";
  166. totalprofit_element.style.fontSize = "25px";
  167. totalprofit_element.style.textAlign = "center";
  168. totalprofit_element.innerHTML = "Total Profit: 0 R$";
  169. document.body.appendChild(totalprofit_element);
  170. }
  171.  
  172. function simulatedClick(target, options) {
  173.  
  174. var event = target.ownerDocument.createEvent('MouseEvents'),
  175. options = options || {};
  176.  
  177. //Set your default options to the right of ||
  178. var opts = {
  179. type: options.type || 'click',
  180. canBubble:options.canBubble || true,
  181. cancelable:options.cancelable || true,
  182. view:options.view || target.ownerDocument.defaultView,
  183. detail:options.detail || 1,
  184. screenX:options.screenX || 0, //The coordinates within the entire page
  185. screenY:options.screenY || 0,
  186. clientX:options.clientX || 0, //The coordinates within the viewport
  187. clientY:options.clientY || 0,
  188. ctrlKey:options.ctrlKey || false,
  189. altKey:options.altKey || false,
  190. shiftKey:options.shiftKey || false,
  191. metaKey:options.metaKey || false, //I *think* 'meta' is 'Cmd/Apple' on Mac, and 'Windows key' on Win. Not sure, though!
  192. button:options.button || 0, //0 = left, 1 = middle, 2 = right
  193. relatedTarget:options.relatedTarget || null,
  194. }
  195.  
  196. //Pass in the options
  197. event.initMouseEvent(
  198. opts.type,
  199. opts.canBubble,
  200. opts.cancelable,
  201. opts.view,
  202. opts.detail,
  203. opts.screenX,
  204. opts.screenY,
  205. opts.clientX,
  206. opts.clientY,
  207. opts.ctrlKey,
  208. opts.altKey,
  209. opts.shiftKey,
  210. opts.metaKey,
  211. opts.button,
  212. opts.relatedTarget
  213. );
  214.  
  215. //Fire the event
  216. target.dispatchEvent(event);
  217. }
  218.  
  219. MakeIFrame();
  220. console.log("Giving 5 seconds for page to load.");
  221.  
  222. setTimeout(function(){
  223. tcinterval = setInterval(function(){
  224. $d = $("#frame1").contents()
  225. console.log("===================== NEW TRANSACTION ======================");
  226. if ((InTrade == 0) && (Loading == 0) && ($("." + start_trade_class, $d)[0]) ){
  227. Loading = 1;
  228. $.get("http://www.roblox.com/My/Money.aspx#/#TradeCurrency_tab", function(data){
  229. Loading = 0;
  230. $my_robux = $("#" + my_robux, data).text();
  231. $my_tix = $("#" + my_tix, data).text();
  232. $tix_rate = Number(GetTixRate($("." + quote_panel_class, data)[0].childNodes[3].childNodes[2].innerHTML));
  233. $bux_rate = Number(GetBuxRate($("." + quote_panel_class, data)[0].childNodes[3].childNodes[2].innerHTML));
  234. $spread = Number($(".column", data)[0].childNodes[5].innerHTML);
  235. // check if any offers or bids are pending (bids = tix, offers = bux)
  236. $offers = $('.offer', data).length/2;
  237. $bids = $('.bid', data).length/2;
  238. $offerspending = $offers + $bids
  239. console.log( $offerspending + " offers pending.");
  240. if ( ($offerspending) < 1){
  241. total_profit = (total_profit + pending_profit);
  242. pending_profit = 0;
  243. totalprofit_element.innerHTML = "Total Profit: " + total_profit + " R$";
  244. $expected_bux = Math.round(Trading_Tix/$tix_rate);
  245. $bux_profit = ($expected_bux - Trading_Robux);
  246. $expected_tix = Math.round(Trading_Robux*$bux_rate);
  247. $tix_profit = ($expected_tix - Trading_Tix);
  248. console.log($tix_profit);
  249. if ((Math.abs($spread) < 550) && ($spread < 0) && ($bux_profit > 0) && (Current_Trading === "tix")){
  250. console.log("Profit to be made on TIX to R$: " + $spread + " - Rate: " + $tix_rate);
  251. InTrade = 1;
  252. console.log("Expected to profit " + $bux_profit + " R$ from this trade.");
  253. OpenTradeWindow($d);
  254. //SetTradeTo("tix", $d);
  255. $("#"+give_box_id, $d).val(Trading_Tix);
  256. $("#"+receive_box_id, $d).val($expected_bux);
  257. Trading_Robux = $expected_bux;
  258. Current_Trading = "bux"
  259. currenttrading_element.innerHTML = "Currently exchanging: R$";
  260. giving_element.innerHTML = "Gave: " + Trading_Tix + " TIX";
  261. expected_element.innerHTML = "Expecting: " + $expected_bux + " R$";
  262. pending_profit = $bux_profit;
  263. setTimeout(function(){
  264. simulatedClick( document.getElementById("frame1").contentDocument.getElementById(submit_trade_id) )
  265. //simulatedClick($("#"+submit_trade_id, $d));
  266. //$("#"+submit_trade_id, $d).trigger('click');
  267. InTrade = 0;
  268. }, 1500
  269. );
  270. }else if((Math.abs($spread) < 550) && ($bux_profit < 0) && (Current_Trading === "tix")){
  271. console.log("Will lose profit on TIX to R$. Not trading.");
  272. }else if ((Math.abs($spread) < 550) && ($spread > 0) && ($tix_profit > 20) && (Current_Trading === "bux")){
  273. console.log("Good spread to trade R$ to TIX: " + $spread + " - Rate: " + $bux_rate);
  274. InTrade = 1;
  275. console.log("Expected to profit " + $tix_profit + " TIX from this trade.");
  276. OpenTradeWindow($d);
  277. SetTradeTo("bux", $d);
  278. $("#"+give_box_id, $d).val(Trading_Robux);
  279. $("#"+receive_box_id, $d).val($expected_tix);
  280. Trading_Tix = $expected_tix;
  281. Current_Trading = "tix"
  282. currenttrading_element.innerHTML = "Currently exchanging: TIX";
  283. giving_element.innerHTML = "Gave: " + Trading_Robux + " R$";
  284. expected_element.innerHTML = "Expecting: " + $expected_tix + " TIX";
  285. setTimeout(function(){
  286. simulatedClick( document.getElementById("frame1").contentDocument.getElementById(submit_trade_id) )
  287. //simulatedClick($("#"+submit_trade_id, $d));
  288. //$("#"+submit_trade_id, $d).trigger('click');
  289. InTrade = 0;
  290. }, 1500
  291. );
  292. }else if ((Math.abs($spread) < 550) && ($tix_profit < 20) && (Current_Trading === "bux")){
  293. console.log("Will lose profit on R$ to TIX. Not trading.");
  294. }else{
  295. console.log("Bad spread. Not trading: " + $spread + " - Currently trying to exchange: " + Current_Trading);
  296. }
  297. }else{
  298. console.log("Waiting for current offer to finish...");
  299. }
  300. });
  301. }else{
  302. console.log("Currently in trade or loading page. Waiting...");
  303. }
  304. }, 5000);
  305. }, 1000);
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement