BRDTS_KeyboardScript

BR大逃杀全键盘操作脚本

Устаревшая версия за 18.12.2015. Перейдите к последней версии.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey, Greasemonkey или Violentmonkey.

Для установки этого скрипта вам необходимо установить расширение, такое как Tampermonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Violentmonkey.

Чтобы установить этот скрипт, вы сначала должны установить расширение браузера, например Tampermonkey или Userscripts.

Чтобы установить этот скрипт, сначала вы должны установить расширение браузера, например Tampermonkey.

Чтобы установить этот скрипт, вы должны установить расширение — менеджер скриптов.

(у меня уже есть менеджер скриптов, дайте мне установить скрипт!)

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение браузера, например Stylus.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

Чтобы установить этот стиль, сначала вы должны установить расширение — менеджер стилей.

(у меня уже есть менеджер стилей, дайте мне установить скрипт!)

// ==UserScript==
// @name         BRDTS_KeyboardScript
// @namespace    http://tampermonkey.net/
// @version      0.5
// @description  BR大逃杀全键盘操作脚本
// @author       StingX
// @match        http://123.57.37.3/*
// @match        http://www.dtsgame.com/*
// @require      http://code.jquery.com/jquery-1.11.0.min.js
// ==/UserScript==

function postCommand(mode,command){
    if(arguments.length){
    $('#submit').attr("disabled",true);
    var oXmlHttp = zXmlHttp.createRequest();
    var sBody = 'mode='+mode+'&command='+command+'&=%E6%8F%90%E4%BA%A4';
    oXmlHttp.open("post", "command.php", true);
    oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    oXmlHttp.onreadystatechange = function () {
        if (oXmlHttp.readyState == 4) {
            if (oXmlHttp.status == 200) {
                showGamedata(oXmlHttp.responseText);
                $('#submit').attr("disabled",false);
            } else {
                showNotice(oXmlHttp.statusText);
            }
        }
    };
    oXmlHttp.send(sBody);
    }
    else{
         $('#submit').attr("disabled",true);
    var oXmlHttp = zXmlHttp.createRequest();
    var sBody = getRequestBody(document.forms['cmd']);
    oXmlHttp.open("post", "command.php", true);
    oXmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
    oXmlHttp.onreadystatechange = function () {
        if (oXmlHttp.readyState == 4) {
            if (oXmlHttp.status == 200) {
                showGamedata(oXmlHttp.responseText);
                $('#submit').attr("disabled",false);
            } else {
                showNotice(oXmlHttp.statusText);
            }
        }
    };
    oXmlHttp.send(sBody);   
        
    }
}

//展开select
function open(elem) {
    if (document.createEvent) {
        var e = document.createEvent("MouseEvents");
        e.initMouseEvent("mousedown", true, true, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null);
        elem[0].dispatchEvent(e);
    } else if (element.fireEvent) {
        elem[0].fireEvent("onmousedown");
    }
}

var scroll = {
    '!' : function() { 
            postCommand('special','pose0'); 
        }, 
    '@' : function() { 
            postCommand('special','pose1'); 
        }, 
    '#' : function() { 
           postCommand('special','pose2'); 
        }, 
    '$' : function() { 
            postCommand('special','pose3'); 
        }, 
    '%' : function() { 
            postCommand('special','pose4'); 
        }, 
    '^' : function() { 
            postCommand('special','pose5'); 
        }, 
    'Q' : function() { 
            postCommand('special','tac0'); 
        }, 
    'W' : function() { 
            postCommand('special','tac2'); 
        }, 
    'E' : function() { 
            postCommand('special','tac3'); 
        }, 
    'R' : function() { 
            postCommand('special','tac4'); 
        }, 
        '1' : function() { 
            $("select[name='moveto']").val(1);
            sl('move');
            postCommand(); 
        }, 
        '2' : function() { 
            $("select[name='moveto']").val(2);
            sl('move');
            postCommand(); 
        }, 
        '3' : function() { 
            $("select[name='moveto']").val(3);
            sl('move');
            postCommand(); 
        }, 
        '4' : function() { 
            $("select[name='moveto']").val(4);
            sl('move');
            postCommand(); 
        }, 
        '5' : function() { 
            $("select[name='moveto']").val(5);
            sl('move');
            postCommand(); 
        }, 
        '6' : function() { 
            $("select[name='moveto']").val(6);
            sl('move');
            postCommand(); 
        }, 
        '7' : function() { 
            $("select[name='moveto']").val(7);
            sl('move');
            postCommand(); 
        }, 
        '8' : function() { 
            $("select[name='moveto']").val(8);
            sl('move');
            postCommand(); 
        }, 
        '9' : function() { 
            $("select[name='moveto']").val(9);
            sl('move');
            postCommand(); 
        }, 
        '0' : function() { 
            $("select[name='moveto']").val(10);
            sl('move');
            postCommand(); 
        }, 
        '-' : function() { 
            $("select[name='moveto']").val(11);
            sl('move');
            postCommand(); 
        }, 
        'q' : function() { 
            $("select[name='moveto']").val(12);
            sl('move');
            postCommand(); 
        }, 
        'w' : function() { 
            $("select[name='moveto']").val(13);
            sl('move');
            postCommand(); 
        }, 
        'e' : function() { 
            $("select[name='moveto']").val(14);
            sl('move');
            postCommand(); 
        }, 
        'r' : function() { 
            $("select[name='moveto']").val(15);
            sl('move');
            postCommand(); 
        }, 
        't' : function() { 
            $("select[name='moveto']").val(16);
            sl('move');
            postCommand(); 
        }, 
        'y' : function() { 
            $("select[name='moveto']").val(17);
            sl('move');
            postCommand(); 
        }, 
        'u' : function() { 
            $("select[name='moveto']").val(18);
            sl('move');
            postCommand(); 
        }, 
        'i' : function() { 
            $("select[name='moveto']").val(19);
            sl('move');
            postCommand(); 
        }, 
        'o' : function() { 
            $("select[name='moveto']").val(20);
            sl('move');
            postCommand(); 
        }, 
        'p' : function() { 
            $("select[name='moveto']").val(21);
            sl('move');
            postCommand(); 
        },
        ' ':function() { 
            postCommand(); 
        },
        'a':function() { 
            sl('search_');
            postCommand(); 
        },
    //left
        '37':function() { 
            var radios =  $("input[type='radio']");
            var checkedIndex;
            radios.each(function(i,e){
                if(e.checked){
                    checkedIndex = i;
                    return false;
                }
            });
            radios.get(checkedIndex+1).click();
        },
    //up
        '38':function() { 
            var radios =  $("input[type='radio']");
            var checkedIndex;
            radios.each(function(i,e){
                if(e.checked){
                    checkedIndex = i;
                    return false;
                }
            });
            if(checkedIndex>0)
                radios.get(checkedIndex-1).checked = true;
            else
                radios.get(radios.length-1).checked = true;

        },
    //right
    '39':function() { 
            var radios =  $("input[type='radio']");
            var checkedIndex;
            radios.each(function(i,e){
                if(e.checked){
                    checkedIndex = i;
                    return false;
                }
            });
           open(radios.eq(checkedIndex).next().children().first());
        },
    //down
        '40':function() { 
            var radios =  $("input[type='radio']");
            var checkedIndex;
            radios.each(function(i,e){
                if(e.checked){
                    checkedIndex = i;
                    return false;
                }
            });
            if(checkedIndex<radios.length-1)
                radios.get(checkedIndex+1).checked = true;
            else
                radios.get(0).checked = true;
        },
    };



var run =function () {
    create_right();
    

    
    window.addEventListener('keydown',
        function(e) {
            if ($('#chatmsg').is(':focus')||($('input[name="buynum"]').length&&$('input[name="buynum"]').is(':focus'))||e.metaKey || e.ctrlKey   || e.target.isContentEditable || document.designMode ==="on") {
                                console.log('block key2');
                return; }
            if (e.keyCode<37||e.keyCode>40)
                return;
            if (scroll[e.keyCode]) {
                scroll[e.keyCode]();
                e.preventDefault();
                e.stopPropagation();
            }
        }, false);
        window.addEventListener('keypress',
        function(e) {
            if ($('#chatmsg').is(':focus')||($('input[name="buynum"]').length&&$('input[name="buynum"]').is(':focus'))||e.metaKey || e.ctrlKey   || e.target.isContentEditable || document.designMode ==="on") {
                console.log('block key1');
                return; }
            var key =  String.fromCharCode(e.charCode);
            if (scroll[key]) {
                scroll[key]();
                e.preventDefault();
                e.stopPropagation();
            }
        }, false);
}



function create_right(){
    if($("td[rowspan='2']").length>0){
$("td[rowspan='2']").parent().append("\
<td rowspan=\"2\">         <table border=\"1\" width=\"250\" height=\"550\" cellspacing=\"0\" cellpadding=\"0\">     \
<tbody>             <tr><td valign=\"top\" class=\"b3\" style=\"text-align: left\">                 <div id=\"log\">                 <span class=\"yellow b\" style=\"letter-spacing: 2px;\">\
基础快捷键:<br/>\
选择--方向键↑→↓,Esc<br/>\
提交,确定--空格<br/>\
探索--a<br/>\
<br/>\
移动:<br/>\
北海岸--1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;北村住宅区--2<br/>\
北村公所--3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;邮电局--4<br/>\
消防署--5&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;观音堂--6<br/>\
清水池--7&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;西村神社--8<br/>\
墓地--9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;山丘地带--0<br/>\
隧道---&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;西村住宅区--q<br/>\
寺庙--w&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;废校--e<br/>\
南村神社--r&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;森林地带--t<br/>\
源二郎池--y&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;南村住宅区--u<br/>\
诊所--i&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;灯塔--o<br/>\
南海岸--p<br/>\

</span><br>                 </div>                                  </td>             </tr>         </tbody></table>         </td>");
    }
}


run();