Advertisement
Guest User

Untitled

a guest
Dec 15th, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 51.53 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.getHeroGold = function () {
  496. $.post('http://'+ self.currentWorld +'.margonem.pl/engine?t=clan&a=myclan&ev='+g.ev+'&browser_token='+g.browser_token+'&aid='+g.aid, (res) => {
  497. self.myGold = res.myclan.gold + hero.gold;
  498. });
  499. }
  500.  
  501. this.wait = function () {
  502. function timeout () {
  503. setTimeout(() => {
  504.  
  505. self.waitTime--;
  506. g.away.update();
  507.  
  508. if(self.waitTime == 0) {
  509. timeout = () => {};
  510.  
  511. message('Zakończono afczenie lecę z reklamą.');
  512.  
  513. self.removeSeenWorlds();
  514. sessionStorage.clear();
  515.  
  516. $.ajax({
  517. url: "https://www.margonem.pl/ajax/logon.php?t=charlist",
  518. type: "GET",
  519. beforeSend: function(xhr) {
  520. xhr.withCredentials = true;
  521. },
  522. crossDomain: true,
  523. success: function(_chars) {
  524. const JSON_CHARS = JSON.parse(_chars);
  525.  
  526. JSON_CHARS.forEach((element, index, arr) => {
  527. if(element.world == 'zorza') {
  528. window.relog(element.world, element.id);
  529. }
  530. });
  531. }
  532. });
  533.  
  534. }
  535.  
  536. console.log(self.waitTime);
  537.  
  538. timeout();
  539. }, 1000);
  540. }
  541.  
  542. timeout();
  543. }
  544.  
  545. this.check_message = function (msg) {
  546. try {
  547. if(msg.match(/\([^)]*\)|\[[^\]]*\]/g)) {
  548. return {
  549. msg: msg,
  550. world: msg.match(/\([^)]*\)|\[[^\]]*\]/g)[0].replace(/[\])}[{(]/g, '').replace(/\s/g, ''),
  551. characterNick: msg.match(/\([^)]*\)|\[[^\]]*\]/g)[1].replace(/[\])}[{(]/g, ''),
  552. }
  553. }
  554. }
  555.  
  556.  
  557. catch(e) {
  558. }
  559. }
  560.  
  561. this.parseMessages = function () {
  562. if(self.mailsLength2 != -1) {
  563.  
  564. const msg = $('#inbox').find('.onemail')[self.mailsLength2].innerText,
  565. gold = typeof msg.split('\n')[1].split(':')[2] == 'undefined' ? undefined : Number(msg.split('\n')[1].split(':')[2]),
  566. id = Number($($('#inbox').find('.onemail')[self.mailsLength2]).attr('id').replace('msg', '')),
  567. characterNick = typeof self.check_message(msg) != 'undefined' ? self.check_message(msg).characterNick : '',
  568. world = typeof self.check_message(msg) != 'undefined' ? self.check_message(msg).world : '';
  569.  
  570.  
  571. // Wszystko jest w wiadomośi
  572. if(typeof characterNick != 'undefined' && characterNick != '' && world != '' && typeof world != 'undefined' && typeof gold != 'undefined' && self.check_fake_world(world) && !isNaN(gold)) {
  573.  
  574. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #06d00633');
  575.  
  576. // Spróbuj pobrać wiadomość
  577. _g('mail&a=get&id='+id, res => {
  578. if(isset(res['alert'])) {
  579. if(res['alert'].indexOf('Masz pełne kieszenie') > -1 || res['alert'].indexOf('Więcej nie pomieścisz w kieszeniach')>-1) {
  580.  
  581. self.tempGold2 = gold;
  582.  
  583. $.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) => {
  584. if(isset(res['msg'])) {
  585. res.msg.forEach((element, index, arr) => {
  586. if(element.indexOf('Wpłacono złoto do skarbca') > -1) {
  587. // Ponów próbę
  588. setTimeout(() => {
  589. self.parseMessages()
  590. }, 1000);
  591. }
  592. })
  593. }
  594. });
  595. }
  596. }
  597.  
  598. // Jeżeli jest jakieś ostrzeżenie, warning np pominięto pakiet... ponów
  599. else if(isset(res['w'])) {
  600. if(res['w'].indexOf('Pakiet odrzucony') > -1 || res['w'].indexOf('Zapytanie odrzucone') > -1) {
  601. setTimeout(() => {
  602. self.parseMessages();
  603. }, 1000);
  604. }
  605. }
  606.  
  607.  
  608.  
  609. // Jeżeli wiadomość została pobrana
  610. else if(isset(res['maildela'])) {
  611. if(res['maildela']['gold'] == 0) {
  612.  
  613. //Dodaj do bazy danych zadania
  614. self.request({
  615. add_messages: 'true',
  616. gold: self.tempGold2 != null ? self.tempGold2 : gold,
  617. to_world: self.capitalizeFirstLetter(world),
  618. from_world: self.capitalizeFirstLetter(self.currentWorld),
  619. to_character: characterNick
  620. }, (res) => {
  621. res = JSON.parse(res);
  622.  
  623. if(res.ok) {
  624. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #06d00633');
  625.  
  626. setTimeout(() => {
  627. self.tempGold2 = null;
  628. self.mailsLength2--;
  629. self.parseMessages();
  630. }, 1000);
  631. }
  632.  
  633. else {
  634. log('Wystąpił błąd podczas dodawania wiadomości do bazy danych! Wiadomość nie została dodna.', 3);
  635. }
  636. });
  637.  
  638. }
  639. }
  640.  
  641. });
  642.  
  643. }
  644.  
  645. // Ta wiadomośc nie jest o wymianie złota
  646. else {
  647. $($('#inbox').find('.onemail')[self.mailsLength2]).attr('style', 'background-color: #ff00004d');
  648.  
  649. setTimeout(() => {
  650. self.mailsLength2--;
  651. self.parseMessages();
  652. }, 1000);
  653. }
  654.  
  655. }
  656.  
  657. else {
  658. if(self.currentWorld == 'gefion') {
  659. setTimeout(() => {
  660. self.advertisingLastStage();
  661. }, 1000);
  662. }
  663. else {
  664. setTimeout(() => {
  665. message('Relog bot');
  666. self.advertisingRellogStage();
  667. }, 1000);
  668. }
  669. }
  670.  
  671. }
  672.  
  673. this.goldConvert = function(a) {
  674. c = a.slice(-1);
  675.  
  676. if (c == 'k' || c == 'g' || c == 'm') return parsePrice(a);
  677.  
  678. }
  679.  
  680.  
  681. this.openMailBox = function (t) {
  682. _g('talk&id=17632', (res) => {
  683. if(t == 1) {
  684. self.mailsLength2 = $('#inbox').find('.onemail').length-=1;
  685. setTimeout(() => {
  686. self.parseMessages();
  687. }, 1000);
  688. }
  689. else {
  690. setTimeout(() => {
  691. self.goldExchange();
  692. }, 1000);
  693. }
  694. });
  695.  
  696. }
  697.  
  698. this.updateGold = function () {
  699. $.ajax({
  700. type: 'POST',
  701. url: 'http://'+self.currentWorld+'.margonem.pl/engine?t=clan&a=myclan&ev='+g.ev+'&browser_token='+g.browser_token+'&aid='+g.aid,
  702. crossDomain: true,
  703. dataType: 'json',
  704.  
  705. success: (res) => {
  706. $.get('http://localhost/gold_status.php?update_gold=true&w='+self.currentWorld+'&g='+round(res.myclan.gold + hero.gold, 10));
  707. }
  708. });
  709. }
  710.  
  711. // Sprawdza czy reklamowanie się jest zakończone
  712. this.isAdvertisingIsEnd = function () {
  713. self.request({
  714. is_advertising_is_end: 'true'
  715. }, (res) => {
  716. res = JSON.parse(res);
  717.  
  718. if(res[0].IsadvertisingEnd == 1) {
  719. self.advertising = false;
  720. message('Tryb wymiany złota');
  721. }
  722. });
  723. }
  724.  
  725. this.getNumberFromString = function (string) {
  726. var numb = string.match(/\d/g);
  727. numb = numb.join("");
  728.  
  729. return numb;
  730. }
  731.  
  732. this.capitalizeFirstLetter = function(string) {
  733. return string.charAt(0).toUpperCase() + string.slice(1);
  734. }
  735.  
  736. window.relog = function(world, id) {
  737. let d = new Date();
  738.  
  739. d.setTime(d.getTime()+3600000*24*30);
  740. setCookie('mchar_id', id, d, '/', 'margonem.pl');
  741. setCookie('user_id', g.aid, d, '/', 'margonem.pl');
  742. document.location.replace("http://"+world+".margonem.pl");
  743.  
  744. }
  745.  
  746.  
  747. this.calculateGold = function(obj) {
  748. var from_world = obj.from_world,
  749. to_world = obj.to_world,
  750. gold = obj.gold;
  751.  
  752.  
  753. var fromWorldGrp,
  754. toWorldGrp,
  755. fromWorldName,
  756. toWorldName;
  757.  
  758. for(var y = 0; y < self.worlds.length; y++) {
  759. for(var x = 0; x < self.worlds[y].length; x++) {
  760. if(self.worlds[y][x] == from_world) {
  761. fromWorldGrp = y;
  762. fromWorldName = self.worlds[y][x];
  763. }
  764. if(self.worlds[y][x] == to_world) {
  765. toWorldGrp = y;
  766. toWorldName = self.worlds[y][x];
  767. }
  768. }
  769. }
  770.  
  771. fromWorldGrp++; toWorldGrp++;
  772.  
  773. // Jeżeli z grupy 1
  774. if(fromWorldGrp == 1) {
  775. // Na grupę 1
  776. if(toWorldGrp == 1) return gold * 0.9;
  777. // Na grupę 2
  778. if(toWorldGrp == 2) return gold * 0.95;
  779. // Na grupę 3
  780. if(toWorldGrp == 3) return gold * 0.75;
  781.  
  782. if(toWorldName == 'Pandora') return gold * 1.65+0.15;
  783. if(toWorldName == 'Berufs') return gold * 0.45;
  784. if(toWorldName == 'Nerthus') return gold * 0.5;
  785. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  786. if(toWorldName == 'Deimos') return gold * 1.5;
  787. }
  788.  
  789. // Jeżeli z grupy 2
  790. if(fromWorldGrp == 2) {
  791. // Na grupę 1
  792. if(toWorldGrp == 1) return gold * 0.8;
  793. // Na grupę 2
  794. if(toWorldGrp == 2) return gold * 0.9;
  795. // Na grupę 3
  796. if(toWorldGrp == 3) return gold * 0.7;
  797.  
  798. if(toWorldName == 'Pandora') return gold * 1.6+0.2;
  799. if(toWorldName == 'Berufs') return gold * 0.45;
  800. if(toWorldName == 'Nerthus') return gold * 0.5;
  801. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  802. if(toWorldName == 'Deimos') return gold * 1.5;
  803. }
  804. // Jeżeli z grupy 3
  805. if(fromWorldGrp == 3) {
  806. // Na grupę 1
  807. if(toWorldGrp == 1) return gold * 0.95;
  808. // Na grupę 2
  809. if(toWorldGrp == 2) return gold * 0.95;
  810. // Na grupę 3
  811. if(toWorldGrp == 3) return gold * 0.85;
  812.  
  813. if(toWorldName == 'Pandora') return gold * 1.85+0.15;
  814. if(toWorldName == 'Berufs') return gold * 0.45;
  815. if(toWorldName == 'Nerthus') return gold * 0.5;
  816. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 2.5;
  817. if(toWorldName == 'Deimos') return gold * 1.5;
  818. }
  819.  
  820. // Z pandory
  821. if (fromWorldName == 'Pandora') {
  822. // Na grupę 1
  823. if(toWorldGrp == 1) return gold * 0.28;
  824. // Na grupę 2
  825. if(toWorldGrp == 2) return gold * 0.33;
  826. // Na grupę 3
  827. if(toWorldGrp == 3) return gold * 0.25;
  828.  
  829. if(toWorldName == 'Berufs') return gold * 0.15;
  830. if(toWorldName == 'Syberia' || toWorldName == 'Unia') return gold * 1.3;
  831. if(toWorldName == 'Deimos') return gold * 0.30;
  832. if(toWorldName == 'Nerthus') return gold * 0.1;
  833. }
  834.  
  835. // Z Syberi/Uni
  836. if (fromWorldName == 'Syberia' || fromWorldName == 'Unia') {
  837. // Na grupę 1
  838. if(toWorldGrp == 1) return gold * 0.15;
  839. // Na grupę 2
  840. if(toWorldGrp == 2) return gold * 0.15;
  841. // Na grupę 3
  842. if(toWorldGrp == 3) return gold * 0.15;
  843.  
  844. if(toWorldName == 'Pandora') return gold * 0.25 + 0.05;
  845. if(toWorldName == 'Berufs') return gold * 0.06;
  846. if(toWorldName == 'Deimos') return gold * 0.22;
  847. if(toWorldName == 'Nerthus') return gold * 0.07;
  848. }
  849.  
  850. // Z Deimos
  851. if (fromWorldName == 'Deimos') {
  852. // Na grupę 1
  853. if(toWorldGrp == 1) return gold * 0.20;
  854. // Na grupę 2
  855. if(toWorldGrp == 2) return gold * 0.20;
  856. // Na grupę 3
  857. if(toWorldGrp == 3) return gold * 0.20;
  858.  
  859. if(toWorldName == 'Pandora') return gold * 0.40 + 0.1;
  860. if(toWorldName == 'Nerthus') return gold * 0.12;
  861. }
  862.  
  863. // Z Berufs
  864. if (fromWorldName == 'Berufs') {
  865. if(toWorldName == 'Nerthus') return gold * 0.65;
  866. else {
  867. return gold * 1.3;
  868. }
  869. }
  870.  
  871. if(fromWorldGrp == 1 || fromWorldGrp == 2 || fromWorldGrp == 3) {
  872. if(toWorldName == 'Nerthus') return gold * 0.5;
  873. }
  874. }
  875.  
  876. this.getTarget = function () {
  877. self.request({
  878. get_target: 'true'
  879. }, (target) => {
  880. target = JSON.parse(target);
  881.  
  882.  
  883. if(target.ok == 1) {
  884. $.ajax({
  885. url: "https://www.margonem.pl/ajax/logon.php?t=charlist",
  886. type: "GET",
  887. beforeSend: function(xhr) {
  888. xhr.withCredentials = true;
  889. },
  890. crossDomain: true,
  891. success: function(_chars) {
  892. _chars = JSON.parse(_chars);
  893.  
  894. for(let i in _chars) {
  895.  
  896. // if(self.capitalizeFirstLetter(self.currentWorld) == target.world_target) {
  897. // window.location.reload();
  898. //}
  899.  
  900. //else if(self.capitalizeFirstLetter(_chars[i].world) == target.world_target) {
  901. // window.relog(target.world_target, _chars[i].id);
  902. //}
  903.  
  904. if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(self.currentWorld)) {
  905. window.location.reload();
  906. }
  907. else if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(_chars[i].world)) {
  908. window.relog(target.world_target, _chars[i].id);
  909. }
  910.  
  911. }
  912. }
  913. });
  914. }
  915.  
  916. else if(target.ok == 'no data') {
  917. self.removeGoldExchangeStatus();
  918. message('Bot zakończył wymianę złota, lub brak zadań.');
  919. self.wait();
  920. }
  921. });
  922. }
  923.  
  924. // Wysyła do serwera powiadomienie, że jest jakiś problem z wiadomościa!
  925. this.errorWithMail = function (msg) {
  926. self.request({
  927. error_with_mail: 'true',
  928. message: msg
  929. }, (res) => {
  930. return res;
  931. });
  932. }
  933.  
  934.  
  935. this.addMessageToLog = function (data, callback) {
  936. $.ajax({
  937. type: 'GET',
  938. url: self.serverAdress + data,
  939. dataType: 'JSON',
  940. success: res => callback(res),
  941. error: (err) => {
  942. mAlert('Wystąpił błąd podczas komunikacji z serwerem.');
  943. }
  944. });
  945.  
  946. }
  947.  
  948. this.goldExchange = function () {
  949. if(self.messageTargetsAmmount != -1) {
  950.  
  951. var to_character = self.messageTargets[self.messageTargetsAmmount].to_character,
  952. gold = Number(self.messageTargets[self.messageTargetsAmmount].gold),
  953. from_world = self.messageTargets[self.messageTargetsAmmount].from_world,
  954. to_world = self.messageTargets[self.messageTargetsAmmount].to_world,
  955. msg = self.mailMsg,
  956.  
  957. goldToSend = self.calculateGold({
  958. from_world: self.capitalizeFirstLetter(from_world),
  959. to_world: self.capitalizeFirstLetter(to_world),
  960. gold: gold
  961. }),
  962.  
  963. 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;
  964.  
  965.  
  966. if(goldToSend > hero.goldlim) {
  967. 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) => {});
  968.  
  969. message('Odrzucono. Wiadomość ponad limit.');
  970.  
  971. self.messageTargets[self.messageTargetsAmmount].OK = true;
  972. self.messageTargetsAmmount--;
  973.  
  974. setTimeout(() => {
  975. self.goldExchange();
  976. }, 1000);
  977. }
  978.  
  979. else if(goldToSend > self.myGold) {
  980. 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) => {});
  981.  
  982. setTimeout(() => {
  983. self.messageTargets[self.messageTargetsAmmount].OK = true;
  984. self.messageTargetsAmmount--;
  985.  
  986. self.goldExchange();
  987. }, 3000);
  988. }
  989.  
  990. else {
  991. _g(link, (res) => {
  992.  
  993. if(isset(res['alert'])) {
  994.  
  995. if(res.alert == 'Nie masz tyle złota!') {
  996. // Musi wypłacić ze skarbca złoto i wysłać
  997. $.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) => {
  998. if(isset(res['msg'])) {
  999. res.msg.forEach((element, index, arr) => {
  1000. if(element.indexOf('Wybrano ze skarbca') > -1) {
  1001. setTimeout(() => {
  1002. self.goldExchange();
  1003. }, 3000);
  1004. }
  1005. else {
  1006. 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) => {});
  1007.  
  1008. setTimeout(() => {
  1009. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1010. self.messageTargetsAmmount--;
  1011.  
  1012. self.goldExchange();
  1013. }, 3000);
  1014. }
  1015. });
  1016. }
  1017. });
  1018.  
  1019. }
  1020.  
  1021. if(res.alert == 'Nie ma tyle złota w skarbcu klanowym!') {
  1022. 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) => {});
  1023.  
  1024. setTimeout(() => {
  1025. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1026. self.messageTargetsAmmount--;
  1027.  
  1028. self.goldExchange();
  1029. }, 3000);
  1030. }
  1031.  
  1032. if(res.alert == 'Ten gracz nie życzy sobie otrzymywać poczty od nieznajomych.') {
  1033.  
  1034. 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) => {});
  1035.  
  1036. setTimeout(() => {
  1037. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1038. self.messageTargetsAmmount--;
  1039.  
  1040. self.goldExchange();
  1041. }, 3000);
  1042.  
  1043. }
  1044.  
  1045. if(res.alert.indexOf('przeciwnej frakcji') > -1) {
  1046. 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) => {});
  1047.  
  1048. setTimeout(() => {
  1049. // Dekramentacja
  1050. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1051. self.messageTargetsAmmount--;
  1052.  
  1053. self.goldExchange();
  1054. }, 3000);
  1055. }
  1056.  
  1057. if(res.alert.indexOf('Ten gracz przekroczył już limit złota na swojej skrzynce') > -1) {
  1058.  
  1059. 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) => {});
  1060.  
  1061. setTimeout(() => {
  1062. // Dekramentacja
  1063. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1064. self.messageTargetsAmmount--;
  1065.  
  1066. self.goldExchange();
  1067. }, 3000);
  1068. }
  1069.  
  1070. if(res.alert == 'Gracz nie istnieje.') {
  1071.  
  1072. 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) => {});
  1073.  
  1074. setTimeout(() => {
  1075.  
  1076. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1077. self.messageTargetsAmmount--;
  1078.  
  1079. self.goldExchange();
  1080. }, 3000);
  1081. }
  1082.  
  1083. if(res.alert == 'Ten gracz ma pełną skrzynkę!') {
  1084.  
  1085. 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) => {});
  1086.  
  1087. setTimeout(() => {
  1088.  
  1089. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1090. self.messageTargetsAmmount--;
  1091.  
  1092. self.goldExchange();
  1093. }, 3000);
  1094. }
  1095.  
  1096. if(res.alert.indexOf('Nie ma takiego gracza') > -1) {
  1097.  
  1098. 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) => {});
  1099.  
  1100. setTimeout(() => {
  1101. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1102. self.messageTargetsAmmount--;
  1103.  
  1104. self.goldExchange();
  1105. }, 3000);
  1106. }
  1107.  
  1108. if(res.alert.indexOf('Możesz wysłać do tego gracza maksymalnie') > -1) {
  1109. const textGold = res.alert.replace('Możesz wysłać do tego gracza maksymalnie', '')
  1110. .replace('złotych monet.', '').trim();
  1111.  
  1112. 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) => {});
  1113.  
  1114. setTimeout(() => {
  1115. self.tempGold = self.goldConvert(textGold);
  1116. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1117. self.messageTargetsAmmount--;
  1118. self.goldExchange();
  1119. }, 3000);
  1120.  
  1121.  
  1122. }
  1123. }
  1124.  
  1125. if(isset(res['w'])) {
  1126. if(res['w'].indexOf('Zapytanie odrzucone') > -1 || res['w'].indexOf('Pakiet odrzucony') > -1) {
  1127. setTimeout(() => {
  1128. self.goldExchange();
  1129. }, 3000);
  1130. }
  1131. }
  1132.  
  1133. if(res['mailsent'] == '1') {
  1134. 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) => {});
  1135.  
  1136. // Ustaw jako wysłaną wiadomość
  1137. self.messageTargets[self.messageTargetsAmmount].OK = true;
  1138.  
  1139. // Dekramentacja
  1140. self.messageTargetsAmmount--;
  1141.  
  1142. if(self.tempGold != null) self.tempGold = null;
  1143.  
  1144. setTimeout(() => {
  1145. self.goldExchange();
  1146. }, 3000);
  1147. }
  1148.  
  1149.  
  1150. });
  1151. }
  1152. }
  1153.  
  1154.  
  1155. else {
  1156. // Sprawdzam teraz czy wszystkie wiadomości zostały wysłane
  1157. // Jeżeli tak czyszczę bazę danych
  1158. let temp = [];
  1159.  
  1160. self.messageTargets.forEach((element, index, arr) => {
  1161. if(element.OK) {
  1162. temp.push(element);
  1163. }
  1164. });
  1165.  
  1166. if(temp.length == self.messageTargets.length) {
  1167. message('Koniec wysyłania wiadomości');
  1168. hideMails();
  1169.  
  1170. self.request({
  1171. delete_messages: 'true',
  1172. world: self.currentWorld
  1173. }, (res) => {
  1174. res = JSON.parse(res);
  1175.  
  1176. if(res.ok) {
  1177. setTimeout(() => {
  1178. self.getTarget();
  1179. }, 1000);
  1180. }
  1181. else {
  1182. log('Bot Error Nie można usunąć wiadomości w bazie danych!', 3);
  1183. }
  1184. });
  1185. }
  1186. }
  1187.  
  1188. }
  1189.  
  1190. this.clearBotStatus = function () {
  1191. //http://magornem.5v.pl/kantoreg/bot/?clear_bot_status=true
  1192. }
  1193.  
  1194. this.removeSeenWorlds = function () {
  1195. self.request({
  1196. clear2: 'true'
  1197. }, (res) => {
  1198. console.log(res);
  1199. });
  1200. }
  1201.  
  1202. this.removeAlerts = function () {
  1203. mAlert = () => {};
  1204. }
  1205.  
  1206. this.sendBack = function (to, gold, ) {};
  1207.  
  1208. this.checkTarget = function () {
  1209. self.request({
  1210. get_target: 'true'
  1211. }, (target) => {
  1212. target = JSON.parse(target);
  1213.  
  1214. if(target.ok == 'no data') {
  1215. self.wait();
  1216. self.removeGoldExchangeStatus();
  1217. message('Bot zakończył wymianę złota, lub brak zadań.');
  1218. }
  1219.  
  1220.  
  1221. else {
  1222. if(new RegExp('(\\b)('+target.world_target+')(\\b)','ig').test(self.currentWorld)) {
  1223. target.data.forEach((element, index, arr) => {
  1224. element.OK = false;
  1225. self.messageTargets.push(element);
  1226. });
  1227.  
  1228. self.messageTargetsAmmount = self.messageTargets.length;
  1229. self.messageTargetsAmmount--;
  1230.  
  1231. message('Zacznij wymianę złota');
  1232.  
  1233. setTimeout(() => {
  1234. self.openMailBox(2);
  1235. }, 1000);
  1236.  
  1237. }
  1238. }
  1239. });
  1240. }
  1241.  
  1242. this.catchMails = function () {
  1243. function timeout() {
  1244. setTimeout(() => {
  1245.  
  1246. if(typeof $('#mailnotifier').attr('tip') != 'undefined') {
  1247. self.mailsLength = Number($('#mailnotifier').html())
  1248. }
  1249.  
  1250.  
  1251. timeout();
  1252. });
  1253. }
  1254.  
  1255. timeout();
  1256. }
  1257.  
  1258. // Koniec reklamy -> gefion
  1259. this.advertisingLastStage = function () {
  1260. // Ustawiam tryb wymiany
  1261. self.request({
  1262. advertising_set_end_status: 'true'
  1263. }, (res) => {
  1264. res = JSON.parse(res);
  1265. if(res.ok) {
  1266. self.getTarget();
  1267. }
  1268. else {
  1269. message('Błąd podczas ustawiania trybu wymiany!');
  1270. }
  1271. });
  1272.  
  1273. }
  1274.  
  1275. this.removeGoldExchangeStatus = function () {
  1276. self.request({
  1277. clear_bot_status: 'true'
  1278. }, (res) => {
  1279.  
  1280. });
  1281. }
  1282.  
  1283. this.advertisingSecondStage = function () {
  1284. function timeout () {
  1285. setTimeout(() => {
  1286. if(hero.y == 27 || hero.y == 28 && !hero.x > 42) {
  1287. self.moveRight();
  1288. }
  1289.  
  1290. if(hero.x == 46) {
  1291. self.moveRight = () => {};
  1292. self.moveDown();
  1293. }
  1294. if(hero.y === 50) {
  1295. self.moveDown = () => {};
  1296. self.moveLeft();
  1297. }
  1298.  
  1299. if(hero.x === 42 && hero.y === 50) {
  1300. timeout = () => {};
  1301.  
  1302. if(window.location.href.indexOf('gefion') > -1) {
  1303. message('Koniec reklamy!');
  1304.  
  1305. if(self.mailsLength > 0) {
  1306. setTimeout(() => {
  1307. self.openMailBox(1);
  1308. }, 1000);
  1309. }
  1310.  
  1311. else {
  1312. setTimeout(() => {
  1313. self.removeSeenWorlds();
  1314. self.advertisingLastStage();
  1315. }, 2000);
  1316. }
  1317. }
  1318.  
  1319. else {
  1320. if(self.mailsLength > 0) {
  1321. // Sprawdzam skrzynkę pocztową jeżeli są jakieś wiadomości i zapisuje je do bazy danych
  1322. setTimeout(() => {
  1323. self.openMailBox(1);
  1324. }, 1000);
  1325. }
  1326. // Jeżeli nic nie ma to przeloguj ; )
  1327. else {
  1328. setTimeout(()=>{
  1329. message('Relog bot');
  1330. self.advertisingRellogStage()
  1331. }, 2000);
  1332. }
  1333. }
  1334. }
  1335.  
  1336. timeout();
  1337. });
  1338. }
  1339. timeout();
  1340. }
  1341.  
  1342. this.advertisingThread = function () {
  1343. function timeout () {
  1344. setTimeout(() => {
  1345. if(map.name == "Ithan" && self.msg1 == null) {
  1346. self.advertisingSendMessage();
  1347. self.setMsg1();
  1348. timeout = () => {};
  1349. self.advertisingFirstStage();
  1350. }
  1351. else if(map.name == "Dom Aukcyjny" && self.msg2 == null) {
  1352. self.advertisingSendMessage();
  1353. self.setMsg2();
  1354.  
  1355. timeout = () => {};
  1356.  
  1357. setTimeout(() => {_g('walk')}, 2000);
  1358. }
  1359.  
  1360. else if(map.name == "Ithan" && self.msg1 != null && self.msg2 != null) {
  1361. timeout = () => {};
  1362. self.advertisingSecondStage();
  1363. }
  1364.  
  1365. timeout();
  1366. });
  1367. }
  1368. timeout();
  1369. }
  1370.  
  1371.  
  1372. this.init = function (){
  1373. // Sprawdza czy postać jest na świecie na którym ma być.
  1374. if(self.advertising == false) {
  1375. self.checkTarget();
  1376. }
  1377.  
  1378. // Sprawdź czy ma się reklamować
  1379. if(self.advertising) {
  1380. self.advertisingThread();
  1381. }
  1382.  
  1383. // Wyłapuje wiadomości
  1384. self.catchMails();
  1385. self.getHeroGold();
  1386.  
  1387. self.removeAlerts();
  1388. }
  1389.  
  1390. // Sprawdza czy gra się załądowała
  1391. const checkGameIsLoaded = setInterval(() => {
  1392. if(g.init > 4) {
  1393. self.init();
  1394. clearInterval(checkGameIsLoaded);
  1395. }
  1396. });
  1397.  
  1398. // Sprawdza czy reklamowanie się jest zakończone
  1399. self.isAdvertisingIsEnd();
  1400.  
  1401. });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement