TW Big Map

Fullscreen Map for The West Classic

Bu betiği kurabilmeniz için Tampermonkey, Greasemonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

You will need to install an extension such as Tampermonkey to install this script.

Bu betiği kurabilmeniz için Tampermonkey ya da Violentmonkey gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği kurabilmeniz için Tampermonkey ya da Userscripts gibi bir kullanıcı betiği eklentisini kurmanız gerekmektedir.

Bu betiği indirebilmeniz için ayrıca Tampermonkey gibi bir eklenti kurmanız gerekmektedir.

Bu komut dosyasını yüklemek için bir kullanıcı komut dosyası yöneticisi uzantısı yüklemeniz gerekecek.

(Zaten bir kullanıcı komut dosyası yöneticim var, kurmama izin verin!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Zateb bir user-style yöneticim var, yükleyeyim!)

// ==UserScript==
// @name         TW Big Map
// @version      1.1
// @author       Johnny
// @namespace    Johnny
// @description  Fullscreen Map for The West Classic
// @match        https://classic.the-west.net/game.php*
// @grant        none
// ==/UserScript==

(function() {
  let css = '\
    #health_bar, #energy_bar, #experience_bar, #avatar, #current_task, #cash, #deposit, #task_time, #left_menu, #right_menu { position: fixed; } \
    #footer_menu_left { z-index: 42; } \
    #head_container { width: 100%; padding: 0; } \
    #border_cap { display: none; } \
    #left_menu { top: 0; left: 0; } \
    #right_menu { top: 0; right: 0; } \
    #head_background { margin: 0; width: 100%; } \
    #menus { z-index: 42; } \
    #character_info { margin: 0; z-index: 42; color: white; text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000; } \
    #avatar { top: 0; left: 130px; } \
    #health_bar, #energy_bar, #experience_bar { left: 201px; } \
    #health_bar { top: 6px; } \
    #energy_bar { top: 26px; } \
    #experience_bar { top: 46px; } \
    #current_task { top: 0; right: 130px; height: auto; } \
    #cash, #deposit, #task_time { right: 201px; } \
    #task_time { top: 7px; } \
    #cash { top: 33px; } \
    #deposit { top: 53px; } \
    body { padding: 0; overflow: hidden; } \
    #map_wrapper { top: 0; bottom: 0; left: 0; right: 0; position: fixed; width: 100%; height: 100%; z-index: 23; } \
    #map_place, #map, #map_mover, #fade_div { width: 100%; height: 100%; } \
    #minimap_container { z-index: 42; top: 45px; } \
    #chat { position: fixed !important; z-index: 42 !important; bottom: 0 !important; left: 0 !important; background: rgba(29, 28, 28, .8) !important; margin: 0 !important; border-top: 1px solid rgb(100, 100, 100); box-shadow: rgb(0, 0, 0) 0px 0px 10px 1px; } \
    .messagelist li span { color: #fff !important; } \
    .messagelist li span:first-of-type, .messagelist li a, .playerlist li a { color: #b7a97e !important; font-weight: bold; } \
    #roomselection .switchbutton:first-of-type { margin-left: 0; } \
    #roomselection .switchbutton { opacity: 1 !important; color: #AE9E82 !important; border: none !important; } \
    #roomselection .switchbutton.selected { color: #fff !important; background: rgba(0, 0, 0, .5) !important; border: 1px solid #646464 !important; border-radius: 2px; box-shadow: 0px 0px 1px 1px black; -moz-box-shadow: 0px 0px 1px 1px #000; -webkit-box-shadow: 0px 0px 1px 1px #000; } \
    .close_chat_button { background: url(https://westzzs.innogamescdn.com/images/chat/windowicons.png?6) no-repeat !important; background-position: -24px 0 !important; } \
    #send input, #send button { background: rgba(0, 0, 0, 0.3); border: 1px solid #646464; border-radius: 2px; box-shadow: 0px 0px 1px 1px black; -moz-box-shadow: 0px 0px 1px 1px #000; -webkit-box-shadow: 0px 0px 1px 1px #000; color: #fff; font-weight: bold; padding: 0 4px; } \
    #send input::-webkit-input-placeholder { color: #757575; } \
    #send input::-moz-placeholder, #send input:-moz-placeholder { color: #757575; } \
    .resizer { width: 24px; height: 13px; background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAAEAQMAAAB1Fsd5AAAABlBMVEUAAAD///+l2Z/dAAAAAXRSTlMAQObYZgAAAAxJREFUCNdjaGAAAwADiACBhux1cwAAAABJRU5ErkJggg==") repeat; position: absolute; top: 5px; right: 5px; cursor: ns-resize; } \
  ';
  let style = document.createElement('style');
  style.setAttribute('type', 'text/css');
  style.innerHTML = css;
  document.getElementsByTagName('head')[0].appendChild(style);

  let icons = document.getElementById('footer_menu_left');
  icons.style.position = 'fixed';
  icons.style.height = 'auto';
  icons.style.left = window.innerWidth / 2 - 59.5 + 'px';
  let map = document.getElementById('minimap_container');
  map.style.left = window.innerWidth / 2 - 325 + 'px';

  let waitForChat = window.setInterval(function() {
    let chat = document.getElementById('chat');
    if (!chat) return;
    window.clearInterval(waitForChat);
    let chatInitHeight = localStorage.getItem('chat-height');
    if (chatInitHeight) chat.style.height = chatInitHeight;
    let resizer = document.createElement('div');
    resizer.className = 'resizer';
    chat.appendChild(resizer);
    resizer.addEventListener('mousedown', initDrag, false);
    let startY;
    let startHeight;
    function initDrag(e) {
      startY = e.clientY;
      startHeight = parseInt(document.defaultView.getComputedStyle(chat).height, 10);
      document.documentElement.addEventListener('mousemove', doDrag, false);
      document.documentElement.addEventListener('mouseup', stopDrag, false);
    }
    function doDrag(e) {
      let height = (startHeight - e.clientY + startY) + 'px';
      chat.style.height = height;
      localStorage.setItem('chat-height', height);
    }
    function stopDrag(e) {
      document.documentElement.removeEventListener('mousemove', doDrag, false);
      document.documentElement.removeEventListener('mouseup', stopDrag, false);
    }
  }, 100);

  WMap.initialize();
})();

window.addEventListener('resize', function() {
  let icons = document.getElementById('footer_menu_left');
  icons.style.left = window.innerWidth / 2 - 59.5 + 'px';
  let map = document.getElementById('minimap_container');
  map.style.left = window.innerWidth / 2 - 325 + 'px';

  WMap.initialize();
});