// ==UserScript== // @name TW-FriendsEvents // @description Add a button for filtering friends who wants event stuff // @include http://*.the-west.*/game.php* // @version 1.4.3 // @nocompat Chrome // @grant none // @namespace https://greasyfork.org/users/2196 // @downloadURL none // ==/UserScript== (function(e) { var t = document.createElement("script"); t.type = "application/javascript"; t.textContent = "(" + e + ")();"; document.body.appendChild(t); t.parentNode.removeChild(t); }) (function() { if (/http:\/\/.+\.the-west\..*\/game\.php.*/ .test(window.location.href)) { FriendsEvents = { info : { lang : 'en', version : '1.4.3', min_gameversion : '2.0', max_gameversion : '2.2', description : "

TW FriendsEvents

Add a button for filtering friends who wants event stuff
", url:'https://greasyfork.org/fr/scripts/1671-tw-friendsevents' }, id : "", interval : 0, ready : false, create : function(runId) { try { this.id = runId; WestUi.FriendsBar.friendsBarUi.friendsBar.filterTypes_[runId .toLowerCase()] = function(player) { if (player.name === Character.name) return false; var ev = Game.sesData[runId]; var lastActivation = WestUi.FriendsBar.friendsBarUi.friendsBar .getEventActivation(runId, player.player_id); var diff = lastActivation + parseInt(ev.friendsbar.cooldown, 10) - new ServerDate().getTime() / 1000; return (diff < 0); }; var img = $(''); var here = $('div.toggler-left'); here.before($('
') .append(img)); img .click(function(e) { if (!isDefined(WestUi.FriendsBar.friendsBarUi.friendsBar.activeFilters_[runId .toLowerCase()])) { WestUi.FriendsBar.friendsBarUi .inLine(runId); $('.filter_event' + runId).css({ 'opacity' : '1' }); } else { WestUi.FriendsBar.friendsBarUi.friendsBar .setFilter(runId .toLowerCase(), null); $('.filter_event' + runId).css({ 'opacity' : '0.43' }); WestUi.FriendsBar.friendsBarUi .changeEvents_('listen'); } } ); img.css({ 'opacity' : '0.43', 'cursor' : 'pointer' }); this.ready = true; } catch (e) { ErrorLog.log('Erreur de creation du button du FriendsEvent: ', e); ErrorLog.showLog(); } return this; },getDunMp : function() { if (Game.worldName == 'Monde 1' || Game.worldName == 'Monde 3' || Game.worldName == 'Alamogordo' || Game.worldName == 'Death Valley') { return "
by Dun
"; } else { if (Game.worldName == 'World 1') { return "
by Dun
"; } return ""; } ; }, api : function() { var TWApi = TheWestApi.register('TW_FriendsEvents', 'TW FriendsEvents', FriendsEvents.info.min_gameversion, FriendsEvents.info.max_gameversion, 'Dun - v' + FriendsEvents.info.version, FriendsEvents.info.url); TWApi .setGui($( "
" + FriendsEvents.info.description + "
").after( FriendsEvents.getDunMp())); } }; try { FriendsEvents.api(); FriendsEvents.interval = setInterval( function() { var loading = false; if (Game.loaded && isDefined(WestUi.FriendsBar.friendsBarUi)) { loading = true; } if (loading) { WestUi.FriendsBar.friendsBarUi.inLine = function( eventId) { WestUi.FriendsBar.friendsBarUi .changeEvents_('unlisten'); $('.filter_event' + eventId).css({ 'opacity' : '1' }); WestUi.FriendsBar.friendsBarUi.friendsBar .setFilter(eventId .toLowerCase(), true); }; clearInterval(FriendsEvents.interval); var runningEvents = west.events.Manager .getRunningEvents(); // for each active events for (var i = 0; i < runningEvents.length; i++) { var runId = runningEvents[i].id; if(isDefined( Game.sesData[runId])) { Game.sesData[runId].friendsEvent = FriendsEvents .create(runId); } } FriendsEvents.ready = true; } }, 500); } catch (e) { ErrorLog.log("Erreur d'initialisation", e); FriendsEvents.ready = false; } } });