// ==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 "";
} else {
if (Game.worldName == 'World 1') {
return "";
}
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;
}
}
});