Bonjour, un petit script, sympa, je ne sais, s'il serait autorisé ou pas sur grepo! Mais bon, le taf:
// ==UserScript==
// @name grepolis-manager-ui
// @namespace
http://grepolis.com/// @version 1.0
// @description Ajoute des liens pour l'ouverture des menus comme avec l'option premium de manager
// @author nonconnu
// @match
https://*.grepolis.com/game/*// @grant none
// ==/UserScript==
(function() {
'use strict';
// Configuration des liens de raccourcis
// `label` (qui peut être du html) correspond à ce qui est affiché à l'écran
// `fn` correspond à la fonction appelée lors du clique sur le lien
// Les fonctions ont été récupéré depuis
https://wiki.en.grepolis.com/wiki/The_G ... #Quick_Bar let configLinks = {
senate: {
label: 'Sénat',
fn: () => MainWindowFactory.openMainWindow(),
},
cave: {
label: 'Grotte',
fn: () => HideWindowFactory.openHideWindow(),
},
warehouse: {
label: 'Entrepôt',
fn: () => BuildingWindowFactory.open('storage'),
},
farm: {
label: 'Ferme',
fn: () => FarmWindowFactory.openFarmWindow(),
},
timberCamp: {
label: 'Scierie',
fn: () => LumberWindowFactory.openLumberWindow(),
},
quarry: {
label: 'Carrière',
fn: () => StonerWindowFactory.openStonerWindow(),
},
silverMine: {
label: 'Mine d\'argent',
fn: () => IronerWindowFactory.openIronerWindow(),
},
marketPlace: {
label: 'Marché',
fn: () => MarketWindowFactory.openMarketWindow(),
},
harbor: {
label: 'Port',
fn: () => DocksWindowFactory.openDocksWindow(),
},
barracks: {
label: 'Caserne',
fn: () => BarracksWindowFactory.openBarracksWindow(),
},
cityWall: {
label: 'Rempart',
fn: () => BuildingWindowFactory.open('wall'),
},
academy: {
label: 'Académie',
fn: () => AcademyWindowFactory.openAcademyWindow(),
},
temple: {
label: 'Temple',
fn: () => TempleWindowFactory.openTempleWindow(),
},
agoraDefence: {
label: 'Agora (défence)',
fn: () => PlaceWindowFactory.openPlaceWindow('index', open),
},
troopsOutside: {
label: 'Troupes dehors',
fn: () => PlaceWindowFactory.openPlaceWindow('units_beyond', open),
},
simulator: {
label: 'Simulateur',
fn: () => PlaceWindowFactory.openPlaceWindow('simulator', open),
},
culture: {
label: 'Culture',
fn: () => PlaceWindowFactory.openPlaceWindow('culture', open),
},
};
// La configuration générale de la barre de menu
// Elle est divisée en deux. Chaque élément de positionnement
// doit contenir un pointeur vers une config présente dans configLinks.
let uiBarConfig = {
left: [
configLinks.senate,
configLinks.academy,
configLinks.troopsOutside,
configLinks.culture,
],
right: [
configLinks.simulator,
configLinks.cave,
configLinks.harbor,
configLinks.barracks,
],
};
uiBarConfig.right.reverse();
// On vérifie si la barre de raccourcis existent et si elle ne contient pas déjà des choses
let uiBar = $('.ui_quickbar');
if (!uiBar.length) return;
if (uiBar.has('*').length) return;
// On place les raccourcis
uiBarConfig.left.forEach(cfg => appendToUiBar(uiBar, 'left', cfg));
uiBarConfig.right.forEach(cfg => appendToUiBar(uiBar, 'right', cfg));
// Place les raccourcis sur la barre, selon une position 'left' ou 'right'
function appendToUiBar(uiBar, position, cfg) {
let link = $('<a href="#"></a>');
link.html(cfg.label);
link.css({
'float': position,
'margin': '0 3em',
'color': 'white',
'line-height': '1.6',
});
link.click(cfg.fn);
uiBar.append(link);
}
})();