Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.27 KB | None | 0 0
  1. // ==UserScript==
  2. // @name Wymieniacz
  3. // @namespace http://tampermonkey.net/
  4. // @version 0.1
  5. // @description try to take over the world!
  6. // @author You
  7. // @match http://*.margonem.pl/
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11.  
  12. // Version 15.12.18
  13.  
  14.  
  15. KantoregBot = new (function () {
  16. var self = this;
  17.  
  18. this.msg1 = sessionStorage.getItem("Msg1");
  19.  
  20. this.msg2 = sessionStorage.getItem("Msg2");
  21.  
  22. this.serverAdress = 'http://localhost/kantoreg/bot/';
  23.  
  24. // Ilość złota
  25. this.myGold = 0;
  26.  
  27. // Ilość czasu czekania po wymianie w sekundach
  28. this.waitTime = 60;
  29.  
  30. // Ilość wiadomości
  31. this.mailsLength2 = 0;
  32.  
  33. // Lista światów na których jest wymiana jeżeli chcesz dodać to dodajesz tutaj, albo usuwasz :D :D :D
  34. this.worldsRegexp = 'berufs|perkun|nerthus|classic|gefion|hutena|jaruna|katahha|lelwani|majuna|nomada|tarhuna|telawel|zemyna|zorza|deimos|pandora|syberia';
  35.  
  36. this.mailsLength = 0;
  37.  
  38. this.tempGold2 = null;
  39.  
  40. this.worlds = [ // Grupa 1
  41. ['Classic', 'Zorza', 'Perkun', 'Gefion', 'Zemyna', 'Majuna'],
  42.  
  43. // Grupa 2
  44. ['Hutena', 'Jaruna', 'Lelwani', 'Katahha', 'Tarhuna', 'Telawel'],
  45.  
  46. // Grupa 3
  47. ['Aldous', 'Tempest', 'Nomada', 'Brutal', 'Nerthus', 'Berufs'],
  48.  
  49. // Osobny przelicznik
  50. ['Pandora', 'Berufs', 'Nerthus', 'Syberia', 'Unia', 'Deimos'],
  51. ];
  52.  
  53.  
  54.  
  55.  
  56. // Czy robić reklamę?
  57. this.advertising = true;
  58.  
  59. this.tempGold = null;
  60.  
  61. this.mailMsg = 'Dziękuje za skorzystanie z kantoru! \
  62. Zapraszam również do polubienia mojego fanpage, \
  63. gdzie można się podzielić opinią z innymi, brać udział w konkursach wraz z innymi graczami: \
  64. https://www.facebook.com/Kantoreg/ Kanał YT: https://www.youtube.com/channel/UCbEXTWzR_B42UEgvvLQkQEA';
  65.  
  66. // Przechowuje wiadomości do wysyłania
  67. this.messageTargets = [];
  68.  
  69. // Ilość wiadomości do wysłania
  70. this.messageTargetsAmmount = 0;
  71.  
  72. this.bool1 = false;
  73.  
  74. // Current world
  75. this.currentWorld = document.location.hostname.replace('.margonem.pl', '');
  76.  
  77. //#################################################################################################
  78.  
  79. this.setMsg1 = function() {
  80. sessionStorage.setItem("Msg1", true);
  81. }
  82.  
  83. this.setMsg2 = function() {
  84. sessionStorage.setItem("Msg2", true);
  85. }
  86.  
  87. this.moveTop = function () {
  88. jQuery('body').trigger({
  89. type: 'keydown',
  90. which: 87
  91. });
  92. }
  93.  
  94. this.moveRight = function () {
  95. jQuery('body').trigger({
  96. type: 'keydown',
  97. which: 68
  98. });
  99. }
  100.  
  101. this.moveLeft = function () {
  102. jQuery('body').trigger({
  103. type: 'keydown',
  104. which: 65
  105. });
  106. }
  107.  
  108. this.moveDown = function () {
  109. jQuery('body').trigger({
  110. type: 'keydown',
  111. which: 83
  112. });
  113. }
  114.  
  115. this.advertisingFirstStage = function () {
  116. function timeout () {
  117. setTimeout(() => {
  118. if(hero.x === 42 || hero.x === 43 || hero.x === 44) {
  119. self.moveRight();
  120. }
  121.  
  122. if(hero.x == 42 && hero.y == 46 || hero.y == 47 || hero.y == 48) {
  123. self.moveRight();
  124. }
  125.  
  126. if(hero.x === 45) {
  127. self.bool1 = true;
  128. }
  129.  
  130. if(self.bool1) {
  131. self.moveRight = () => {};
  132. self.moveTop();
  133. }
  134.  
  135. if(hero.y === 31) {
  136. self.moveTop = () => {};
  137. self.moveLeft();
  138. }
  139.  
  140. if(hero.x === 35 && hero.y != 28 && hero.y != 27) {
  141. self.moveLeft = () => {};
  142. jQuery('body').trigger({
  143. type: 'keydown',
  144. which: 87
  145. });
  146. }
  147.  
  148. if(hero.x == 35 && hero.y == 28 || hero.y == 27) {
  149. jQuery('body').trigger({
  150. type: 'keydown',
  151. which: 65
  152. });
  153. }
  154.  
  155. if(hero.x === 34 && hero.y == 28 || hero.y == 27) {
  156. timeout = () => {};
  157.  
  158. jQuery('body').trigger({
  159. type: 'keyup',
  160. which: 87
  161. });
  162.  
  163. jQuery('body').trigger({
  164. type: 'keyup',
  165. which: 65
  166. });
  167. }
  168.  
  169. timeout();
  170. });
  171. }
  172. timeout();
  173. }
  174.  
  175. this.advertisingSendMessage = function () {
  176. //chatSendMsg("Uważajcie na plagę scamerskich kantorów! Jedyny uczciwy to ten u Kantoreg! www.margonem.pl/?task=profile&id=8418017#tab2" );
  177. //chatSendMsg("Promocja! Dużo więcej złota na Pandorę!! Kantoreg wymienia złoto w promocyjnych przelicznikach! https://www.margonem.pl/?task=profile&id=8418017#tab2" );
  178. //chatSendMsg("Kantor! Zapraszam do kantoru! Wszystkie swiaty normalne! Syberia! Pandora! Najlepsze przeliczniki! www.margonem.pl/?task=profile&id=8418017#tab2" );
  179. //chatSendMsg("Tylko dziś promocja przeliczników! Przenieś złoto i wygraj licytację eventową! https://www.margonem.pl/?task=profile&id=8418017#tab2 ");
  180. //chatSendMsg("Zapraszam na stream! Co 10 min losuje randoma, który coś wygrywa! https://www.youtube.com/watch?v=ob6Wp7X0cak&feature=youtu.be ");
  181. }
  182.  
  183. this.advertisingRellogStage = function () {
  184. sessionStorage.clear();
  185. self.updateGold();
  186.  
  187. $.ajax({
  188. url: "https://www.margonem.pl/ajax/logon.php?t=charlist",
  189. type: "GET",
  190. beforeSend: function(xhr) {
  191. xhr.withCredentials = true;
  192. },
  193. crossDomain: true,
  194. success: function(_chars) {
  195. const JSON_CHARS = JSON.parse(_chars);
  196.  
  197. $.get(self.serverAdress+'?get_seen_worlds2=true', (res) => {
  198. const worlds = res.data;
  199.  
  200. if(worlds['berufs'] != 1) {
  201. JSON_CHARS.forEach((element, index, arr) => {
  202. if(element.world == 'berufs') {
  203. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  204. window.relog(element.world, element.id);
  205. }
  206. });
  207. }
  208.  
  209. else if(worlds['brutal'] != 1) {
  210. JSON_CHARS.forEach((element, index, arr) => {
  211. if(element.world == 'brutal') {
  212. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  213. window.relog(element.world, element.id);
  214. }
  215. });
  216. }
  217.  
  218.  
  219. else if(worlds['pandora'] != 1) {
  220. JSON_CHARS.forEach((element, index, arr) => {
  221. if(element.world == 'pandora') {
  222. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  223. window.relog(element.world, element.id);
  224. }
  225. });
  226. }
  227.  
  228. else if(worlds['classic'] != 1) {
  229. JSON_CHARS.forEach((element, index, arr) => {
  230. if(element.world == 'classic') {
  231. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  232. window.relog(element.world, element.id);
  233. }
  234. });
  235. }
  236.  
  237. else if(worlds['hutena'] != 1) {
  238. JSON_CHARS.forEach((element, index, arr) => {
  239. if(element.world == 'hutena') {
  240. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  241. window.relog(element.world, element.id);
  242. }
  243. });
  244. }
  245.  
  246. else if(worlds['jaruna'] != 1) {
  247. JSON_CHARS.forEach((element, index, arr) => {
  248. if(element.world == 'jaruna') {
  249. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  250. window.relog(element.world, element.id);
  251. }
  252. });
  253. }
  254.  
  255. else if(worlds['deimos'] != 1) {
  256. JSON_CHARS.forEach((element, index, arr) => {
  257. if(element.world == 'deimos') {
  258. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  259. window.relog(element.world, element.id);
  260. }
  261. });
  262. }
  263.  
  264. else if(worlds['katahha'] != 1) {
  265. JSON_CHARS.forEach((element, index, arr) => {
  266. if(element.world == 'katahha') {
  267. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  268. window.relog(element.world, element.id);
  269. }
  270. });
  271. }
  272.  
  273. else if(worlds['lelwani'] != 1) {
  274. JSON_CHARS.forEach((element, index, arr) => {
  275. if(element.world == 'lelwani') {
  276. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  277. window.relog(element.world, element.id);
  278. }
  279. });
  280. }
  281.  
  282. else if(worlds['perkun'] != 1) {
  283. JSON_CHARS.forEach((element, index, arr) => {
  284. if(element.world == 'perkun') {
  285. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  286. window.relog(element.world, element.id);
  287. }
  288. });
  289. }
  290. else if(worlds['tarhuna'] != 1) {
  291. JSON_CHARS.forEach((element, index, arr) => {
  292. if(element.world == 'tarhuna') {
  293. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  294. window.relog(element.world, element.id);
  295. }
  296. });
  297. }
  298.  
  299. else if(worlds['telawel'] != 1) {
  300. JSON_CHARS.forEach((element, index, arr) => {
  301. if(element.world == 'telawel') {
  302. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  303. window.relog(element.world, element.id);
  304. }
  305. });
  306. }
  307.  
  308. else if(worlds['zemyna'] != 1) {
  309. JSON_CHARS.forEach((element, index, arr) => {
  310. if(element.world == 'zemyna') {
  311. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  312. window.relog(element.world, element.id);
  313. }
  314. });
  315. }
  316.  
  317. else if(worlds['nomada'] != 1) {
  318. JSON_CHARS.forEach((element, index, arr) => {
  319. if(element.world == 'nomada') {
  320. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  321. window.relog(element.world, element.id);
  322. }
  323. });
  324. }
  325. else if(worlds['majuna'] != 1) {
  326. JSON_CHARS.forEach((element, index, arr) => {
  327. if(element.world == 'majuna') {
  328. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  329. window.relog(element.world, element.id);
  330. }
  331. });
  332. }
  333. else if(worlds['syberia'] != 1) {
  334. JSON_CHARS.forEach((element, index, arr) => {
  335. if(element.world == 'syberia') {
  336. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  337. window.relog(element.world, element.id);
  338. }
  339. });
  340. }
  341.  
  342. else if(worlds['gefion'] != 1) {
  343. JSON_CHARS.forEach((element, index, arr) => {
  344. if(element.world == 'gefion') {
  345. $.get(self.serverAdress+'?add_world2=true&world='+element.world);
  346. window.relog(element.world, element.id);
  347. }
  348. });
  349. }
  350.  
  351. else {
  352. message('Bot odwiedził już każdy świat.');
  353. }
  354.  
  355. });
  356. }
  357. });
  358.  
  359. }
  360.  
  361.  
  362.  
  363. this.relog = function (world, id) {
  364. let d = new Date();
  365.  
  366. d.setTime(d.getTime()+3600000*24*30);
  367. setCookie('mchar_id', id, d, '/', 'margonem.pl');
  368. setCookie('user_id', g.aid, d, '/', 'margonem.pl');
  369. document.location.replace("http://"+world+".margonem.pl");
  370. }
  371.  
  372. this.request = function (data, callback) {
  373. $.ajax({
  374. type: 'GET',
  375. url: self.serverAdress,
  376. dataType: 'JSON',
  377. data: data,
  378. success: res => callback(res),
  379. error: (err) => {
  380. mAlert('Wystąpił błąd podczas komunikacji z serwerem.');
  381. }
  382. });
  383. }
  384.  
  385. this.check_fake_world = function (string) {
  386. var regexp = new RegExp('(\\b)(' + self.worldsRegexp + ')(\\b)','ig');
  387.  
  388. return regexp.test(string);
  389. }
  390.  
  391.  
  392. this.removeDiacritics = function (str) {
  393. var defaultDiacriticsRemovalMap = [
  394. {'base':'A', 'letters':/[\u0041\u24B6\uFF21\u00C0\u00C1\u00C2\u1EA6\u1EA4\u1EAA\u1EA8\u00C3\u0100\u0102\u1EB0\u1EAE\u1EB4\u1EB2\u0226\u01E0\u00C4\u01DE\u1EA2\u00C5\u01FA\u01CD\u0200\u0202\u1EA0\u1EAC\u1EB6\u1E00\u0104\u023A\u2C6F]/g},
  395. {'base':'AA','letters':/[\uA732]/g},
  396. {'base':'AE','letters':/[\u00C6\u01FC\u01E2]/g},
  397. {'base':'AO','letters':/[\uA734]/g},
  398. {'base':'AU','letters':/[\uA736]/g},
  399. {'base':'AV','letters':/[\uA738\uA73A]/g},
  400. {'base':'AY','letters':/[\uA73C]/g},
  401. {'base':'B', 'letters':/[\u0042\u24B7\uFF22\u1E02\u1E04\u1E06\u0243\u0182\u0181]/g},
  402. {'base':'C', 'letters':/[\u0043\u24B8\uFF23\u0106\u0108\u010A\u010C\u00C7\u1E08\u0187\u023B\uA73E]/g},
  403. {'base':'D', 'letters':/[\u0044\u24B9\uFF24\u1E0A\u010E\u1E0C\u1E10\u1E12\u1E0E\u0110\u018B\u018A\u0189\uA779]/g},
  404. {'base':'DZ','letters':/[\u01F1\u01C4]/g},
  405. {'base':'Dz','letters':/[\u01F2\u01C5]/g},
  406. {'base':'E', 'letters':/[\u0045\u24BA\uFF25\u00C8\u00C9\u00CA\u1EC0\u1EBE\u1EC4\u1EC2\u1EBC\u0112\u1E14\u1E16\u0114\u0116\u00CB\u1EBA\u011A\u0204\u0206\u1EB8\u1EC6\u0228\u1E1C\u0118\u1E18\u1E1A\u0190\u018E]/g},
  407. {'base':'F', 'letters':/[\u0046\u24BB\uFF26\u1E1E\u0191\uA77B]/g},
  408. {'base':'G', 'letters':/[\u0047\u24BC\uFF27\u01F4\u011C\u1E20\u011E\u0120\u01E6\u0122\u01E4\u0193\uA7A0\uA77D\uA77E]/g},
  409. {'base':'H', 'letters':/[\u0048\u24BD\uFF28\u0124\u1E22\u1E26\u021E\u1E24\u1E28\u1E2A\u0126\u2C67\u2C75\uA78D]/g},
  410. {'base':'I', 'letters':/[\u0049\u24BE\uFF29\u00CC\u00CD\u00CE\u0128\u012A\u012C\u0130\u00CF\u1E2E\u1EC8\u01CF\u0208\u020A\u1ECA\u012E\u1E2C\u0197]/g},
  411. {'base':'J', 'letters':/[\u004A\u24BF\uFF2A\u0134\u0248]/g},
  412. {'base':'K', 'letters':/[\u004B\u24C0\uFF2B\u1E30\u01E8\u1E32\u0136\u1E34\u0198\u2C69\uA740\uA742\uA744\uA7A2]/g},
  413. {'base':'L', 'letters':/[\u004C\u24C1\uFF2C\u013F\u0139\u013D\u1E36\u1E38\u013B\u1E3C\u1E3A\u0141\u023D\u2C62\u2C60\uA748\uA746\uA780]/g},
  414. {'base':'LJ','letters':/[\u01C7]/g},
  415. {'base':'Lj','letters':/[\u01C8]/g},
  416. {'base':'M', 'letters':/[\u004D\u24C2\uFF2D\u1E3E\u1E40\u1E42\u2C6E\u019C]/g},
  417. {'base':'N', 'letters':/[\u004E\u24C3\uFF2E\u01F8\u0143\u00D1\u1E44\u0147\u1E46\u0145\u1E4A\u1E48\u0220\u019D\uA790\uA7A4]/g},
  418. {'base':'NJ','letters':/[\u01CA]/g},
  419. {'base':'Nj','letters':/[\u01CB]/g},
  420. {'base':'O', 'letters':/[\u004F\u24C4\uFF2F\u00D2\u00D3\u00D4\u1ED2\u1ED0\u1ED6\u1ED4\u00D5\u1E4C\u022C\u1E4E\u014C\u1E50\u1E52\u014E\u022E\u0230\u00D6\u022A\u1ECE\u0150\u01D1\u020C\u020E\u01A0\u1EDC\u1EDA\u1EE0\u1EDE\u1EE2\u1ECC\u1ED8\u01EA\u01EC\u00D8\u01FE\u0186\u019F\uA74A\uA74C]/g},
  421. {'base':'OI','letters':/[\u01A2]/g},
  422. {'base':'OO','letters':/[\uA74E]/g},
  423. {'base':'OU','letters':/[\u0222]/g},
  424. {'base':'P', 'letters':/[\u0050\u24C5\uFF30\u1E54\u1E56\u01A4\u2C63\uA750\uA752\uA754]/g},
  425. {'base':'Q', 'letters':/[\u0051\u24C6\uFF31\uA756\uA758\u024A]/g},
  426. {'base':'R', 'letters':/[\u0052\u24C7\uFF32\u0154\u1E58\u0158\u0210\u0212\u1E5A\u1E5C\u0156\u1E5E\u024C\u2C64\uA75A\uA7A6\uA782]/g},
  427. {'base':'S', 'letters':/[\u0053\u24C8\uFF33\u1E9E\u015A\u1E64\u015C\u1E60\u0160\u1E66\u1E62\u1E68\u0218\u015E\u2C7E\uA7A8\uA784]/g},
  428. {'base':'T', 'letters':/[\u0054\u24C9\uFF34\u1E6A\u0164\u1E6C\u021A\u0162\u1E70\u1E6E\u0166\u01AC\u01AE\u023E\uA786]/g},
  429. {'base':'TZ','letters':/[\uA728]/g},
  430. {'base':'U', 'letters':/[\u0055\u24CA\uFF35\u00D9\u00DA\u00DB\u0168\u1E78\u016A\u1E7A\u016C\u00DC\u01DB\u01D7\u01D5\u01D9\u1EE6\u016E\u0170\u01D3\u0214\u0216\u01AF\u1EEA\u1EE8\u1EEE\u1EEC\u1EF0\u1EE4\u1E72\u0172\u1E76\u1E74\u0244]/g},
  431. {'base':'V', 'letters':/[\u0056\u24CB\uFF36\u1E7C\u1E7E\u01B2\uA75E\u0245]/g},
  432. {'base':'VY','letters':/[\uA760]/g},
  433. {'base':'W', 'letters':/[\u0057\u24CC\uFF37\u1E80\u1E82\u0174\u1E86\u1E84\u1E88\u2C72]/g},
  434. {'base':'X', 'letters':/[\u0058\u24CD\uFF38\u1E8A\u1E8C]/g},
  435. {'base':'Y', 'letters':/[\u0059\u24CE\uFF39\u1EF2\u00DD\u0176\u1EF8\u0232\u1E8E\u0178\u1EF6\u1EF4\u01B3\u024E\u1EFE]/g},
  436. {'base':'Z', 'letters':/[\u005A\u24CF\uFF3A\u0179\u1E90\u017B\u017D\u1E92\u1E94\u01B5\u0224\u2C7F\u2C6B\uA762]/g},
  437. {'base':'a', 'letters':/[\u0061\u24D0\uFF41\u1E9A\u00E0\u00E1\u00E2\u1EA7\u1EA5\u1EAB\u1EA9\u00E3\u0101\u0103\u1EB1\u1EAF\u1EB5\u1EB3\u0227\u01E1\u00E4\u01DF\u1EA3\u00E5\u01FB\u01CE\u0201\u0203\u1EA1\u1EAD\u1EB7\u1E01\u0105\u2C65\u0250]/g},
  438. {'base':'aa','letters':/[\uA733]/g},
  439. {'base':'ae','letters':/[\u00E6\u01FD\u01E3]/g},
  440. {'base':'ao','letters':/[\uA735]/g},
  441. {'base':'au','letters':/[\uA737]/g},
  442. {'base':'av','letters':/[\uA739\uA73B]/g},
  443. {'base':'ay','letters':/[\uA73D]/g},
  444. {'base':'b', 'letters':/[\u0062\u24D1\uFF42\u1E03\u1E05\u1E07\u0180\u0183\u0253]/g},
  445. {'base':'c', 'letters':/[\u0063\u24D2\uFF43\u0107\u0109\u010B\u010D\u00E7\u1E09\u0188\u023C\uA73F\u2184]/g},
  446. {'base':'d', 'letters':/[\u0064\u24D3\uFF44\u1E0B\u010F\u1E0D\u1E11\u1E13\u1E0F\u0111\u018C\u0256\u0257\uA77A]/g},
  447. {'base':'dz','letters':/[\u01F3\u01C6]/g},
  448. {'base':'e', 'letters':/[\u0065\u24D4\uFF45\u00E8\u00E9\u00EA\u1EC1\u1EBF\u1EC5\u1EC3\u1EBD\u0113\u1E15\u1E17\u0115\u0117\u00EB\u1EBB\u011B\u0205\u0207\u1EB9\u1EC7\u0229\u1E1D\u0119\u1E19\u1E1B\u0247\u025B\u01DD]/g},
  449. {'base':'f', 'letters':/[\u0066\u24D5\uFF46\u1E1F\u0192\uA77C]/g},
  450. {'base':'g', 'letters':/[\u0067\u24D6\uFF47\u01F5\u011D\u1E21\u011F\u0121\u01E7\u0123\u01E5\u0260\uA7A1\u1D79\uA77F]/g},
  451. {'base':'h', 'letters':/[\u0068\u24D7\uFF48\u0125\u1E23\u1E27\u021F\u1E25\u1E29\u1E2B\u1E96\u0127\u2C68\u2C76\u0265]/g},
  452. {'base':'hv','letters':/[\u0195]/g},
  453. {'base':'i', 'letters':/[\u0069\u24D8\uFF49\u00EC\u00ED\u00EE\u0129\u012B\u012D\u00EF\u1E2F\u1EC9\u01D0\u0209\u020B\u1ECB\u012F\u1E2D\u0268\u0131]/g},
  454. {'base':'j', 'letters':/[\u006A\u24D9\uFF4A\u0135\u01F0\u0249]/g},
  455. {'base':'k', 'letters':/[\u006B\u24DA\uFF4B\u1E31\u01E9\u1E33\u0137\u1E35\u0199\u2C6A\uA741\uA743\uA745\uA7A3]/g},
  456. {'base':'l', 'letters':/[\u006C\u24DB\uFF4C\u0140\u013A\u013E\u1E37\u1E39\u013C\u1E3D\u1E3B\u017F\u0142\u019A\u026B\u2C61\uA749\uA781\uA747]/g},
  457. {'base':'lj','letters':/[\u01C9]/g},
  458. {'base':'m', 'letters':/[\u006D\u24DC\uFF4D\u1E3F\u1E41\u1E43\u0271\u026F]/g},
  459. {'base':'n', 'letters':/[\u006E\u24DD\uFF4E\u01F9\u0144\u00F1\u1E45\u0148\u1E47\u0146\u1E4B\u1E49\u019E\u0272\u0149\uA791\uA7A5]/g},
  460. {'base':'nj','letters':/[\u01CC]/g},
  461. {'base':'o', 'letters':/[\u006F\u24DE\uFF4F\u00F2\u00F3\u00F4\u1ED3\u1ED1\u1ED7\u1ED5\u00F5\u1E4D\u022D\u1E4F\u014D\u1E51\u1E53\u014F\u022F\u0231\u00F6\u022B\u1ECF\u0151\u01D2\u020D\u020F\u01A1\u1EDD\u1EDB\u1EE1\u1EDF\u1EE3\u1ECD\u1ED9\u01EB\u01ED\u00F8\u01FF\u0254\uA74B\uA74D\u0275]/g},
  462. {'base':'oi','letters':/[\u01A3]/g},
  463. {'base':'ou','letters':/[\u0223]/g},
  464. {'base':'oo','letters':/[\uA74F]/g},
  465. {'base':'p','letters':/[\u0070\u24DF\uFF50\u1E55\u1E57\u01A5\u1D7D\uA751\uA753\uA755]/g},
  466. {'base':'q','letters':/[\u0071\u24E0\uFF51\u024B\uA757\uA759]/g},
  467. {'base':'r','letters':/[\u0072\u24E1\uFF52\u0155\u1E59\u0159\u0211\u0213\u1E5B\u1E5D\u0157\u1E5F\u024D\u027D\uA75B\uA7A7\uA783]/g},
  468. {'base':'s','letters':/[\u0073\u24E2\uFF53\u00DF\u015B\u1E65\u015D\u1E61\u0161\u1E67\u1E63\u1E69\u0219\u015F\u023F\uA7A9\uA785\u1E9B]/g},
  469. {'base':'t','letters':/[\u0074\u24E3\uFF54\u1E6B\u1E97\u0165\u1E6D\u021B\u0163\u1E71\u1E6F\u0167\u01AD\u0288\u2C66\uA787]/g},
  470. {'base':'tz','letters':/[\uA729]/g},
  471. {'base':'u','letters':/[\u0075\u24E4\uFF55\u00F9\u00FA\u00FB\u0169\u1E79\u016B\u1E7B\u016D\u00FC\u01DC\u01D8\u01D6\u01DA\u1EE7\u016F\u0171\u01D4\u0215\u0217\u01B0\u1EEB\u1EE9\u1EEF\u1EED\u1EF1\u1EE5\u1E73\u0173\u1E77\u1E75\u0289]/g},
  472. {'base':'v','letters':/[\u0076\u24E5\uFF56\u1E7D\u1E7F\u028B\uA75F\u028C]/g},
  473. {'base':'vy','letters':/[\uA761]/g},
  474. {'base':'w','letters':/[\u0077\u24E6\uFF57\u1E81\u1E83\u0175\u1E87\u1E85\u1E98\u1E89\u2C73]/g},
  475. {'base':'x','letters':/[\u0078\u24E7\uFF58\u1E8B\u1E8D]/g},
  476. {'base':'y','letters':/[\u0079\u24E8\uFF59\u1EF3\u00FD\u0177\u1EF9\u0233\u1E8F\u00FF\u1EF7\u1E99\u1EF5\u01B4\u024F\u1EFF]/g},
  477. {'base':'z','letters':/[\u007A\u24E9\uFF5A\u017A\u1E91\u017C\u017E\u1E93\u1E95\u01B6\u0225\u0240\u2C6C\uA763]/g}
  478. ];
  479.  
  480. for(var i=0; i<defaultDiacriticsRemovalMap.length; i++) {
  481. str = str.replace(defaultDiacriticsRemovalMap[i].letters, defaultDiacriticsRemovalMap[i].base);
  482. }
  483.  
  484. return str;
  485.  
  486. }
  487.  
  488. this.checkBradlleyTemp = function (string) {
  489. const mandarynka = 'bradlley|braddlley|revizor';
  490. const regexp = new RegExp('(\\b)(' + mandarynka + ')(\\b)','ig');
  491.  
  492. return regexp.test(string);
  493. }
  494.  
  495. this.wait = function () {
  496. function timeout () {
  497. setTimeout(() => {
  498.  
  499. self.waitTime--;
  500. g.away.update();
  501.  
  502. if(self.waitTime == 0) {
  503. timeout = () => {};
  504.  
  505. message('Zakończono afczenie lecę z reklamą.');
  506.  
  507. self.removeSeenWorlds();
  508. sessionStorage.clear();
  509.  
  510. $.ajax({
  511. url: "https://www.margonem.pl/ajax/logon.php?t=charlist",
  512. type: "GET",
  513. beforeSend: function(xhr) {
  514. xhr.withCredentials = true;
  515. },
  516. crossDomain: true,
  517. success: function(_chars) {
  518. const JSON_CHARS = JSON.parse(_chars);
  519.  
  520. JSON_CHARS.forEach((element, index, arr) => {
  521. if(element.world == 'zorza') {
  522. window.relog(element.world, element.id);
  523. }
  524. });
  525. }
  526. });
  527.  
  528. }
  529.  
  530. console.log(self.waitTime);
  531.  
  532. timeout();
  533. }, 1000);
  534. }
  535.  
  536. timeout();
  537. }
  538.  
  539. this.check_message = function (msg) {
  540. try {
  541. if(msg.match(/\([^)]*\)|\[[^\]]*\]/g)) {
  542. return {
  543. msg: msg,
  544. world: msg.match(/\([^)]*\)|\[[^\]]*\]/g)[0].replace(/[\])}[{(]/g, '').replace(/\s/g, ''),
  545. characterNick: msg.match(/\([^)]*\)|\[[^\]]*\]/g)[1].replace(/[\])}[{(]/g, ''),
  546. }
  547. }
  548. }
  549.  
  550.  
  551. catch(e) {
  552. }
  553. }
  554.  
  555. this.parseMessages = function () {
  556. if(self.mailsLength2 != -1) {
  557.  
  558. const msg = $('#inbox').find('.onemail')[self.mailsLength2].innerText,
  559. gold = typeof msg.split('\n')[1].split(':')[2] == 'undefined' ? undefined : Number(msg.split('\n')[1].split(':')[2]),
  560. id = Number($($('#inbox').find('.onemail')[self.mailsLength2]).attr('id').replace('msg', '')),
  561. characterNick = typeof self.check_message(msg) != 'undefined' ? self.check_message(msg).characterNick : '',
  562. world = typeof self.check_message(msg) != 'undefined' ? self.check_message(msg).world : '';
  563.  
  564.  
  565. // Wszystko jest w wiadomośi
  566. if(typeof characterNick != 'undefined' && characterNick != '' && world != '' && typeof world != 'undefined' && typeof gold != 'undefined' && self.check_fake_world(world) && !isNaN(gold)) {
  567.  
  568. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #06d00633');
  569.  
  570. // Spróbuj pobrać wiadomość
  571. _g('mail&a=get&id='+id, res => {
  572. if(isset(res['alert'])) {
  573. if(res['alert'].indexOf('Masz pełne kieszenie') > -1 || res['alert'].indexOf('Więcej nie pomieścisz w kieszeniach')>-1) {
  574.  
  575. self.tempGold2 = gold;
  576.  
  577. $.post('http://'+document.location.hostname.replace('.margonem.pl', '')+'.margonem.pl/engine?t=clan&a=save&f=gold&v='+hero.gold/2+'&ev='+g.ev+'&browser_token='+g.browser_token+'&aid='+g.aid, (res) => {
  578. if(isset(res['msg'])) {
  579. res.msg.forEach((element, index, arr) => {
  580. if(element.indexOf('Wpłacono złoto do skarbca') > -1) {
  581. // Ponów próbę
  582. setTimeout(() => {
  583. self.parseMessages()
  584. }, 1000);
  585. }
  586. })
  587. }
  588. });
  589. }
  590. }
  591.  
  592. // Jeżeli jest jakieś ostrzeżenie, warning np pominięto pakiet... ponów
  593. else if(isset(res['w'])) {
  594. if(res['w'].indexOf('Pakiet odrzucony') > -1 || res['w'].indexOf('Zapytanie odrzucone') > -1) {
  595. setTimeout(() => {
  596. self.parseMessages();
  597. }, 1000);
  598. }
  599. }
  600.  
  601.  
  602.  
  603. // Jeżeli wiadomość została pobrana
  604. else if(isset(res['maildela'])) {
  605. if(res['maildela']['gold'] == 0) {
  606.  
  607. //Dodaj do bazy danych zadania
  608. self.request({
  609. add_messages: 'true',
  610. gold: self.tempGold2 != null ? self.tempGold2 : gold,
  611. to_world: self.capitalizeFirstLetter(world),
  612. from_world: self.capitalizeFirstLetter(self.currentWorld),
  613. to_character: characterNick
  614. }, (res) => {
  615. res = JSON.parse(res);
  616.  
  617. if(res.ok) {
  618. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #06d00633');
  619.  
  620. setTimeout(() => {
  621. self.tempGold2 = null;
  622. self.mailsLength2--;
  623. self.parseMessages();
  624. }, 1000);
  625. }
  626.  
  627. else {
  628. log('Wystąpił błąd podczas dodawania wiadomości do bazy danych! Wiadomość nie została dodna.', 3);
  629. }
  630. });
  631.  
  632. }
  633. }
  634.  
  635. });
  636.  
  637. }
  638.  
  639. // Ta wiadomośc nie jest o wymianie złota
  640. else {
  641. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #ff00004d');
  642.  
  643. setTimeout(() => {
  644. self.mailsLength2--;
  645. self.parseMessages();
  646. }, 1000);
  647. }
  648.  
  649. }
  650.  
  651. else {
  652. if(self.currentWorld == 'gefion') {
  653. setTimeout(() => {
  654. self.advertisingLastStage();
  655. }, 1000);
  656. }
  657. else {
  658. setTimeout(() => {
  659. message('Relog bot');
  660. self.advertisingRellogStage();
  661. }, 1000);
  662. }
  663. }
  664.  
  665. }
  666.  
  667. this.goldConvert = function(a) {
  668. c = a.slice(-1);
  669.  
  670. if (c == 'k' || c == 'g' || c == 'm') return parsePrice(a);
  671.  
  672. }
  673.  
  674.  
  675. this.openMailBox = function (t) {
  676. _g('talk&id=17632', (res) => {
  677. if(t == 1) {
  678. self.mailsLength2 = $('#inbox').find('.onemail').length-=1;
  679. setTimeout(() => {
  680. self.parseMessages();
  681. }, 1000);
  682. }
  683. else {
  684. setTimeout(() => {
  685. self.goldExchange();
  686. }, 1000);
  687. }
  688. });
  689.  
  690. }
  691.  
  692. this.updateGold = function () {
  693. $.ajax({
  694. type: 'POST',
  695. url: 'http://'+self.currentWorld+'.margonem.pl/engine?t=clan&a=myclan&ev='+g.ev+'&browser_token='+g.browser_token+'&aid='+g.aid,
  696. crossDomain: true,
  697. dataType: 'json',
  698.  
  699. success: (res) => {
  700. $.get('http://localhost/gold_status.php?update_gold=true&w='+self.currentWorld+'&g='+round(res.myclan.gold + hero.gold, 10));
  701. }
  702. });
  703. }
  704.  
  705. // Sprawdza czy reklamowanie się jest zakończone
  706. this.isAdvertisingIsEnd = function () {
  707. self.request({
  708. is_advertising_is_end: 'true'
  709. }, (res) => {
  710. res = JSON.parse(res);
  711.  
  712. if(res[0].IsadvertisingEnd == 1) {
  713. self.advertising = false;
  714. message('Tryb wymiany złota');
  715. }
  716. });
  717. }
  718.  
  719. this.getNumberFromString = function (string) {
  720. var numb = string.match(/\d/g);
  721. numb = numb.join("");
  722.  
  723. return numb;
  724. }
  725.  
  726. this.capitalizeFirstLetter = function(string) {
  727. return string.charAt(0).toUpperCase() + string.slice(1);
  728. }
  729.  
  730. window.relog = function(world, id) {
  731. let d = new Date();
  732.  
  733. d.setTime(d.getTime()+3600000*24*30);
  734. setCookie('mchar_id', id, d, '/', 'margonem.pl');
  735. setCookie('user_id', g.aid, d, '/', 'margonem.pl');
  736. document.location.replace("http://"+world+".margonem.pl");
  737.  
  738. }
  739.  
  740.  
  741. this.calculateGold = function(obj) {
  742. var from_world = obj.from_world,
  743. to_world = obj.to_world,
  744. gold = obj.gold;
  745.  
  746.  
  747. var fromWorldGrp,
  748. toWorldGrp,
  749. fromWorldName,
  750. toWorldName;
  751.  
  752. for(var y = 0; y < self.worlds.length; y++) {
  753. for(var x = 0; x < self.worlds[y].length; x++) {
  754. if(self.worlds[y][x] == from_world) {
  755. fromWorldGrp = y;
  756. fromWorldName = self.worlds[y][x];
  757. }
  758. if(self.worlds[y][x] == to_world) {
  759. toWorldGrp = y;
  760. toWorldName = self.worlds[y][x];
  761. }
  762. }
  763. }
  764.  
  765. fromWorldGrp++; toWorldGrp++;
  766.  
  767. // Jeżeli z grupy 1
  768. if(fromWorldGrp == 1) {
  769. // Na grupę 1
  770. if(toWorldGrp == 1) return gold * 0.9;
  771. // Na grupę 2
  772. if(toWorldGrp == 2) return gold * 0.95;
  773. // Na grupę 3
  774. if(toWorldGrp == 3) return gold * 0.75;
  775.  
  776. if(toWorldName == 'Pandora') return gold * 1.65+0.15;
  777. if(toWorldName == 'Berufs') return gold * 0.45;
  778. if(toWorldName == 'Nerthus') return gold * 0.5;
  779. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  780. if(toWorldName == 'Deimos') return gold * 1.5;
  781. }
  782.  
  783. // Jeżeli z grupy 2
  784. if(fromWorldGrp == 2) {
  785. // Na grupę 1
  786. if(toWorldGrp == 1) return gold * 0.8;
  787. // Na grupę 2
  788. if(toWorldGrp == 2) return gold * 0.9;
  789. // Na grupę 3
  790. if(toWorldGrp == 3) return gold * 0.7;
  791.  
  792. if(toWorldName == 'Pandora') return gold * 1.6+0.2;
  793. if(toWorldName == 'Berufs') return gold * 0.45;
  794. if(toWorldName == 'Nerthus') return gold * 0.5;
  795. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  796. if(toWorldName == 'Deimos') return gold * 1.5;
  797. }
  798. // Jeżeli z grupy 3
  799. if(fromWorldGrp == 3) {
  800. // Na grupę 1
  801. if(toWorldGrp == 1) return gold * 0.95;
  802. // Na grupę 2
  803. if(toWorldGrp == 2) return gold * 0.95;
  804. // Na grupę 3
  805. if(toWorldGrp == 3) return gold * 0.85;
  806.  
  807. if(toWorldName == 'Pandora') return gold * 1.85+0.15;
  808. if(toWorldName == 'Berufs') return gold * 0.45;
  809. if(toWorldName == 'Nerthus') return gold * 0.5;
  810. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  811. if(toWorldName == 'Deimos') return gold * 1.5;
  812. }
  813.  
  814. // Z pandory
  815. if (fromWorldName == 'Pandora') {
  816. // Na grupę 1
  817. if(toWorldGrp == 1) return gold * 0.28;
  818. // Na grupę 2
  819. if(toWorldGrp == 2) return gold * 0.33;
  820. // Na grupę 3
  821. if(toWorldGrp == 3) return gold * 0.25;
  822.  
  823. if(toWorldName == 'Berufs') return gold * 0.15;
  824. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 1.3;
  825. if(toWorldName == 'Deimos') return gold * 0.30;
  826. if(toWorldName == 'Nerthus') return gold * 0.1;
  827. }
  828.  
  829. // Z Syberi/Uni
  830. if (fromWorldName == 'Syberia' || fromWorldName == 'Unia') {
  831. // Na grupę 1
  832. if(toWorldGrp == 1) return gold * 0.15;
  833. // Na grupę 2
  834. if(toWorldGrp == 2) return gold * 0.15;
  835. // Na grupę 3
  836. if(toWorldGrp == 3) return gold * 0.15;
  837.  
  838. if(toWorldName == 'Pandora') return gold * 0.25 + 0.05;
  839. if(toWorldName == 'Berufs') return gold * 0.06;
  840. if(toWorldName == 'Deimos') return gold * 0.22;
  841. if(toWorldName == 'Nerthus') return gold * 0.07;
  842. }
  843.  
  844. // Z Deimos
  845. if (fromWorldName == 'Deimos') {
  846. // Na grupę 1
  847. if(toWorldGrp == 1) return gold * 0.20;
  848. // Na grupę 2
  849. if(toWorldGrp == 2) return gold * 0.20;
  850. // Na grupę 3
  851. if(toWorldGrp == 3) return gold * 0.20;
  852.  
  853. if(toWorldName == 'Pandora') return gold * 0.40 + 0.1;
  854. if(toWorldName == 'Nerthus') return gold * 0.12;
  855. }
  856.  
  857. // Z Berufs
  858. if (fromWorldName == 'Berufs') {
  859. if(toWorldName == 'Nerthus') return gold * 0.65;
  860. else {
  861. return gold * 1.3;
  862. }
  863. }
  864.  
  865. if(fromWorldGrp == 1 || fromWorldGrp == 2 || fromWorldGrp == 3) {
  866. if(toWorldName == 'Nerthus') return gold * 0.5;
  867. }
  868. }
  869.  
  870. this.getTarget = function () {
  871. self.request({
  872. get_target: 'true'
  873. }, (target) => {
  874. target = JSON.parse(target);
  875.  
  876.  
  877. if(target.ok == 1) {
  878. $.ajax({
  879. url: "https://www.margonem.pl/ajax/logon.php?t=charlist",
  880. type: "GET",
  881. beforeSend: function(xhr) {
  882. xhr.withCredentials = true;
  883. },
  884. crossDomain: true,
  885. success: function(_chars) {
  886. _chars = JSON.parse(_chars);
  887.  
  888. for(let i in _chars) {
  889.  
  890. // if(self.capitalizeFirstLetter(self.currentWorld) == target.world_target) {
  891. // window.location.reload();
  892. //}
  893.  
  894. //else if(self.capitalizeFirstLetter(_chars[i].world) == target.world_target) {
  895. // window.relog(target.world_target, _chars[i].id);
  896. //}
  897.  
  898. if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(self.currentWorld)) {
  899. window.location.reload();
  900. }
  901. else if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(_chars[i].world)) {
  902. window.relog(target.world_target, _chars[i].id);
  903. }
  904.  
  905. }
  906. }
  907. });
  908. }
  909.  
  910. else if(target.ok == 'no data') {
  911. self.removeGoldExchangeStatus();
  912. message('Bot zakończył wymianę złota, lub brak zadań.');
  913. self.wait();
  914. }
  915. });
  916. }
  917.  
  918. // Wysyła do serwera powiadomienie, że jest jakiś problem z wiadomościa!
  919. this.errorWithMail = function (msg) {
  920. self.request({
  921. error_with_mail: 'true',
  922. message: msg
  923. }, (res) => {
  924. return res;
  925. });
  926. }
  927.  
  928.  
  929. this.addMessageToLog = function (data, callback) {
  930. $.ajax({
  931. type: 'GET',
  932. url: self.serverAdress + data,
  933. dataType: 'JSON',
  934. success: res => callback(res),
  935. error: (err) => {
  936. mAlert('Wystąpił błąd podczas komunikacji z serwerem.');
  937. }
  938. });
  939.  
  940. }
  941.  
  942. this.goldExchange = function () {
  943. if(self.messageTargetsAmmount != -1) {
  944.  
  945. var to_character = self.messageTargets[self.messageTargetsAmmount].to_character,
  946. gold = Number(self.messageTargets[self.messageTargetsAmmount].gold),
  947. from_world = self.messageTargets[self.messageTargetsAmmount].from_world,
  948. to_world = self.messageTargets[self.messageTargetsAmmount].to_world,
  949. msg = self.mailMsg,
  950.  
  951. goldToSend = self.calculateGold({
  952. from_world: self.capitalizeFirstLetter(from_world),
  953. to_world: self.capitalizeFirstLetter(to_world),
  954. gold: gold
  955. }),
  956.  
  957. link = self.tempGold == null ? 'mail&a=send&r='+to_character+'&msg='+self.mailMsg+'&gold='+goldToSend : 'mail&a=send&r='+to_character+'&msg='+self.mailMsg+'&gold='+self.tempGold;
  958.  
  959.  
  960. if(goldToSend > hero.goldlim) {
  961. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Złoto ponad limit', (res) => {});
  962.  
  963. message('Odrzucono. Wiadomość ponad limit.');
  964.  
  965. self.messageTargets[self.messageTargetsAmmount].OK = true;
  966. self.messageTargetsAmmount--;
  967.  
  968. setTimeout(() => {
  969. self.goldExchange();
  970. }, 1000);
  971. }
  972. else {
  973. _g(link, (res) => {
  974.  
  975. if(isset(res['alert'])) {
  976.  
  977. if(res.alert == 'Nie masz tyle złota!') {
  978. // Musi wypłacić ze skarbca złoto i wysłać
  979. $.post('http://'+document.location.hostname.replace('.margonem.pl', '')+'.margonem.pl/engine?t=clan&a=save&f=gold&v=-'+50000000+'&ev='+g.ev+'&pid='+hero.id+'&browser_token='+g.browser_token+'&aid='+g.aid, (res) => {
  980. if(isset(res['msg'])) {
  981. res.msg.forEach((element, index, arr) => {
  982. if(element.indexOf('Wybrano ze skarbca') > -1) {
  983. setTimeout(() => {
  984. self.goldExchange();
  985. }, 3000);
  986. }
  987. else {
  988. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Brak złota', (res) => {});
  989.  
  990. setTimeout(() => {
  991. self.messageTargets[self.messageTargetsAmmount].OK = true;
  992. self.messageTargetsAmmount--;
  993.  
  994. self.goldExchange();
  995. }, 3000);
  996. }
  997. });
  998. }
  999. });
  1000.  
  1001. }
  1002.  
  1003. if(res.alert == 'Nie ma tyle złota w skarbcu klanowym!') {
  1004. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Nie masz tyle złota w klanie', (res) => {});
  1005.  
  1006. setTimeout(() => {
  1007. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1008. self.messageTargetsAmmount--;
  1009.  
  1010. self.goldExchange();
  1011. }, 3000);
  1012. }
  1013.  
  1014. if(res.alert == 'Ten gracz nie życzy sobie otrzymywać poczty od nieznajomych.') {
  1015.  
  1016. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Zablokowana skzynka pocztowa', (res) => {});
  1017.  
  1018. setTimeout(() => {
  1019. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1020. self.messageTargetsAmmount--;
  1021.  
  1022. self.goldExchange();
  1023. }, 3000);
  1024.  
  1025. }
  1026.  
  1027. if(res.alert.indexOf('przeciwnej frakcji') > -1) {
  1028. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Gracz jest w przeciwnej frakcji', (res) => {});
  1029.  
  1030. setTimeout(() => {
  1031. // Dekramentacja
  1032. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1033. self.messageTargetsAmmount--;
  1034.  
  1035. self.goldExchange();
  1036. }, 3000);
  1037. }
  1038.  
  1039. if(res.alert.indexOf('Ten gracz przekroczył już limit złota na swojej skrzynce') > -1) {
  1040.  
  1041. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Gracz przekroczył limit złota', (res) => {});
  1042.  
  1043. setTimeout(() => {
  1044. // Dekramentacja
  1045. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1046. self.messageTargetsAmmount--;
  1047.  
  1048. self.goldExchange();
  1049. }, 3000);
  1050. }
  1051.  
  1052. if(res.alert == 'Gracz nie istnieje.') {
  1053.  
  1054. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Taki gracz nie istnieje', (res) => {});
  1055.  
  1056. setTimeout(() => {
  1057.  
  1058. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1059. self.messageTargetsAmmount--;
  1060.  
  1061. self.goldExchange();
  1062. }, 3000);
  1063. }
  1064.  
  1065. if(res.alert == 'Ten gracz ma pełną skrzynkę!') {
  1066.  
  1067. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Gracz ma pełną skrzynkę', (res) => {});
  1068.  
  1069. setTimeout(() => {
  1070.  
  1071. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1072. self.messageTargetsAmmount--;
  1073.  
  1074. self.goldExchange();
  1075. }, 3000);
  1076. }
  1077.  
  1078. if(res.alert.includes('Nie masz tyle złota')) {
  1079.  
  1080. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Brak złota', (res) => {});
  1081.  
  1082. setTimeout(() => {
  1083. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1084. self.messageTargetsAmmount--;
  1085.  
  1086. self.goldExchange();
  1087. }, 3000);
  1088. }
  1089.  
  1090. if(res.alert.indexOf('Nie ma takiego gracza') > -1) {
  1091.  
  1092. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Nie ma takiego gracza', (res) => {});
  1093.  
  1094. setTimeout(() => {
  1095. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1096. self.messageTargetsAmmount--;
  1097.  
  1098. self.goldExchange();
  1099. }, 3000);
  1100. }
  1101.  
  1102. if(res.alert.indexOf('Możesz wysłać do tego gracza maksymalnie') > -1) {
  1103. const textGold = res.alert.replace('Możesz wysłać do tego gracza maksymalnie', '')
  1104. .replace('złotych monet.', '').trim();
  1105.  
  1106. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=0'+'&from_world='+from_world+'&reason=Mógł wysłać maksymalnie ' + textGold, (res) => {});
  1107.  
  1108. setTimeout(() => {
  1109. self.tempGold = self.goldConvert(textGold);
  1110. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1111. self.messageTargetsAmmount--;
  1112. self.goldExchange();
  1113. }, 3000);
  1114.  
  1115.  
  1116. }
  1117. }
  1118.  
  1119. if(isset(res['w'])) {
  1120. if(res['w'].indexOf('Zapytanie odrzucone') > -1 || res['w'].indexOf('Pakiet odrzucony') > -1) {
  1121. setTimeout(() => {
  1122. self.goldExchange();
  1123. }, 3000);
  1124. }
  1125. }
  1126.  
  1127. if(res['mailsent'] == '1') {
  1128. self.addMessageToLog('?add_log=true&calculatedGold='+goldToSend+'&to_character='+to_character+'&gold='+gold+'&to_world='+to_world+'&sent=1'+'&from_world='+from_world+'&reason=', (res) => {});
  1129.  
  1130. // Ustaw jako wysłaną wiadomość
  1131. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1132.  
  1133. // Dekramentacja
  1134. self.messageTargetsAmmount--;
  1135.  
  1136. if(self.tempGold != null) self.tempGold = null;
  1137.  
  1138. setTimeout(() => {
  1139. self.goldExchange();
  1140. }, 3000);
  1141. }
  1142.  
  1143.  
  1144. });
  1145. }
  1146. }
  1147.  
  1148.  
  1149. else {
  1150. // Sprawdzam teraz czy wszystkie wiadomości zostały wysłane
  1151. // Jeżeli tak czyszczę bazę danych
  1152. let temp = [];
  1153.  
  1154. self.messageTargets.forEach((element, index, arr) => {
  1155. if(element.OK) {
  1156. temp.push(element);
  1157. }
  1158. });
  1159.  
  1160. if(temp.length == self.messageTargets.length) {
  1161. message('Koniec wysyłania wiadomości');
  1162. hideMails();
  1163.  
  1164. self.request({
  1165. delete_messages: 'true',
  1166. world: self.currentWorld
  1167. }, (res) => {
  1168. res = JSON.parse(res);
  1169.  
  1170. if(res.ok) {
  1171. setTimeout(() => {
  1172. self.getTarget();
  1173. }, 1000);
  1174. }
  1175. else {
  1176. log('Bot Error Nie można usunąć wiadomości w bazie danych!', 3);
  1177. }
  1178. });
  1179. }
  1180. }
  1181.  
  1182. }
  1183.  
  1184. this.clearBotStatus = function () {
  1185. //http://magornem.5v.pl/kantoreg/bot/?clear_bot_status=true
  1186. }
  1187.  
  1188. this.removeSeenWorlds = function () {
  1189. self.request({
  1190. clear2: 'true'
  1191. }, (res) => {
  1192. console.log(res);
  1193. });
  1194. }
  1195.  
  1196. this.removeAlerts = function () {
  1197. mAlert = () => {};
  1198. }
  1199.  
  1200. this.sendBack = function (to, gold, ) {};
  1201.  
  1202. this.checkTarget = function () {
  1203. self.request({
  1204. get_target: 'true'
  1205. }, (target) => {
  1206. target = JSON.parse(target);
  1207.  
  1208. if(target.ok == 'no data') {
  1209. self.wait();
  1210. self.removeGoldExchangeStatus();
  1211. message('Bot zakończył wymianę złota, lub brak zadań.');
  1212. }
  1213.  
  1214.  
  1215. else {
  1216. if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(self.currentWorld)) {
  1217. target.data.forEach((element, index, arr) => {
  1218. element.OK = false;
  1219. self.messageTargets.push(element);
  1220. });
  1221.  
  1222. self.messageTargetsAmmount = self.messageTargets.length;
  1223. self.messageTargetsAmmount--;
  1224.  
  1225. message('Zacznij wymianę złota');
  1226.  
  1227. setTimeout(() => {
  1228. self.openMailBox(2);
  1229. }, 1000);
  1230.  
  1231. }
  1232. }
  1233. });
  1234. }
  1235.  
  1236. this.catchMails = function () {
  1237. function timeout() {
  1238. setTimeout(() => {
  1239.  
  1240. if(typeof $('#mailnotifier').attr('tip') != 'undefined') {
  1241. self.mailsLength = Number($('#mailnotifier').html())
  1242. }
  1243.  
  1244.  
  1245. timeout();
  1246. });
  1247. }
  1248.  
  1249. timeout();
  1250. }
  1251.  
  1252. // Koniec reklamy -> gefion
  1253. this.advertisingLastStage = function () {
  1254. // Ustawiam tryb wymiany
  1255. self.request({
  1256. advertising_set_end_status: 'true'
  1257. }, (res) => {
  1258. res = JSON.parse(res);
  1259. if(res.ok) {
  1260. self.getTarget();
  1261. }
  1262. else {
  1263. message('Błąd podczas ustawiania trybu wymiany!');
  1264. }
  1265. });
  1266.  
  1267. }
  1268.  
  1269. this.removeGoldExchangeStatus = function () {
  1270. self.request({
  1271. clear_bot_status: 'true'
  1272. }, (res) => {
  1273.  
  1274. });
  1275. }
  1276.  
  1277. this.advertisingSecondStage = function () {
  1278. function timeout () {
  1279. setTimeout(() => {
  1280. if(hero.y == 27 || hero.y == 28 && !hero.x > 42) {
  1281. self.moveRight();
  1282. }
  1283.  
  1284. if(hero.x == 46) {
  1285. self.moveRight = () => {};
  1286. self.moveDown();
  1287. }
  1288. if(hero.y === 50) {
  1289. self.moveDown = () => {};
  1290. self.moveLeft();
  1291. }
  1292.  
  1293. if(hero.x === 42 && hero.y === 50) {
  1294. timeout = () => {};
  1295.  
  1296. if(window.location.href.indexOf('gefion') > -1) {
  1297. message('Koniec reklamy!');
  1298.  
  1299. if(self.mailsLength > 0) {
  1300. setTimeout(() => {
  1301. self.openMailBox(1);
  1302. }, 1000);
  1303. }
  1304.  
  1305. else {
  1306. setTimeout(() => {
  1307. self.removeSeenWorlds();
  1308. self.advertisingLastStage();
  1309. }, 2000);
  1310. }
  1311. }
  1312.  
  1313. else {
  1314. if(self.mailsLength > 0) {
  1315. // Sprawdzam skrzynkę pocztową jeżeli są jakieś wiadomości i zapisuje je do bazy danych
  1316. setTimeout(() => {
  1317. self.openMailBox(1);
  1318. }, 1000);
  1319. }
  1320. // Jeżeli nic nie ma to przeloguj ; )
  1321. else {
  1322. setTimeout(()=>{
  1323. message('Relog bot');
  1324. self.advertisingRellogStage()
  1325. }, 2000);
  1326. }
  1327. }
  1328. }
  1329.  
  1330. timeout();
  1331. });
  1332. }
  1333. timeout();
  1334. }
  1335.  
  1336. this.advertisingThread = function () {
  1337. function timeout () {
  1338. setTimeout(() => {
  1339. if(map.name == "Ithan" && self.msg1 == null) {
  1340. self.advertisingSendMessage();
  1341. self.setMsg1();
  1342. timeout = () => {};
  1343. self.advertisingFirstStage();
  1344. }
  1345. else if(map.name == "Dom Aukcyjny" && self.msg2 == null) {
  1346. self.advertisingSendMessage();
  1347. self.setMsg2();
  1348.  
  1349. timeout = () => {};
  1350.  
  1351. setTimeout(() => {_g('walk')}, 2000);
  1352. }
  1353.  
  1354. else if(map.name == "Ithan" && self.msg1 != null && self.msg2 != null) {
  1355. timeout = () => {};
  1356. self.advertisingSecondStage();
  1357. }
  1358.  
  1359. timeout();
  1360. });
  1361. }
  1362. timeout();
  1363. }
  1364.  
  1365.  
  1366. this.init = function (){
  1367. // Sprawdza czy postać jest na świecie na którym ma być.
  1368. if(self.advertising == false) {
  1369. self.checkTarget();
  1370. }
  1371.  
  1372. // Sprawdź czy ma się reklamować
  1373. if(self.advertising) {
  1374. self.advertisingThread();
  1375. }
  1376.  
  1377. // Wyłapuje wiadomości
  1378. self.catchMails();
  1379.  
  1380. self.removeAlerts();
  1381. }
  1382.  
  1383. // Sprawdza czy gra się załądowała
  1384. const checkGameIsLoaded = setInterval(() => {
  1385. if(g.init > 4) {
  1386. self.init();
  1387. clearInterval(checkGameIsLoaded);
  1388. }
  1389. });
  1390.  
  1391. // Sprawdza czy reklamowanie się jest zakończone
  1392. self.isAdvertisingIsEnd();
  1393.  
  1394. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement