autoatk
unknown
javascript
3 years ago
4.7 kB
9
Indexable
var data var cv = document.getElementById('screen') var e1 = new Event('mousedown') var e2 = new Event('mouseup') var press1 = 0 var press2 = 0 var x var y var enemyFound var name = app.game.playerName var lastDistance = 0 var clickedTimes = 0 name = name.substring(0, 1).toLocaleUpperCase() + name.substring(1) setInterval(function() { data = app.game.Bc.DA var eY, eX var eL = 0 var pL = 0 enemyFound = false for (var key in data) { if (data[key]['color'] == '#ffff00' && !enemyFound) { enemyFound = true eX = data[key]['Cq']['x'] + data[key]['Cs']['width'] / 2 eY = data[key]['Cq']['y'] } if (data[key]['color'] == '#ffffff' && data[key]['H1'] == name) { x = data[key]['Cq']['x'] + data[key]['Cs']['width'] / 2 y = data[key]['Cq']['y'] } for (var i = 1; i < 5; i += 1) { if (y + 19 + i * 19 == data[key]['Cq']['y']) { // console.log('line under player by ' + i + ' space') if (pL < i) { pL = i } } } if (enemyFound) { for (var i = 1; i < 5; i += 1) { if (eY + 19 + i * 19 == data[key]['Cq']['y']) { // console.log('line enemy under by ' + i + ' space') if (eL < i) { eL = i } } } } } if (eL != 0) { eY += eL * 19 // console.log('enemy line pushed by ' + eL + ' space') } if (pL != 0) { y += pL * 19 // console.log('player line pushed by ' + pL + ' space') // var canvas = cv.getContext('2d'); // canvas.fillStyle="#FFFFFF"; // canvas.fillRect(x,y,4,4); } if (press1 != 0) { KeyEvent.simulateUp(press1, press1) press1 = 0 } if (press2 != 0) { KeyEvent.simulateUp(press2, press2) press2 = 0 } if (enemyFound) { var distance = lineDistance(eX, x, eY, y) if (distance <= 250) { if (distance == lastDistance && clickedTimes >= 8) { clickedTimes = 0 press2 = 0 // console.log('too long fighting') } KeyEvent.simulateDown(press1, press1) KeyEvent.simulateDown(press2, press2) lastDistance = distance } if (distance <= 60) { if (clickedTimes == 0) { app.game.app.canvas.dispatchEvent(e1) clickedTimes = 1 // console.log('Click pressed') } else { clickedTimes += 1 // console.log('Click hold ' + clickedTimes) } } else { if (clickedTimes >= 1) { app.game.app.canvas.dispatchEvent(e2) clickedTimes = 0 // console.log('Click release') } } } else { if (clickedTimes >= 1) { app.game.app.canvas.dispatchEvent(e2) clickedTimes = 0 // console.log('Click release') } } }, 500) function lineDistance(x1, x2, y1, y2) { var xs, ys xs = x2 - x1 xs = xs * xs ys = y2 - y1 ys = ys * ys return Math.sqrt(xs + ys) } var KeyEvent = function(data, type) { this.keyCode = 'keyCode' in data ? data.keyCode : 0 this.charCode = 'charCode' in data ? data.charCode : 0 this.type = type || 'keypress' } KeyEvent.prototype.toNative = function() { var event = document.createEventObject ? document.createEventObject() : document.createEvent('Events') if (event.initEvent) event.initEvent(this.type, true, true) event.keyCode = this.keyCode event.which = this.charCode || this.keyCode return event } KeyEvent.prototype.fire = function(element) { var event = this.toNative() if (element.dispatchEvent) { element.dispatchEvent(event) return } element.fireEvent('on' + this.type, event) } KeyEvent.simulateDown = function(charCode, keyCode, element) { if (element === undefined) { element = document } var keyEvents = [] keyEvents.push( new KeyEvent( { charCode: 0, keyCode: keyCode }, 'keydown' ) ) keyEvents.push( new KeyEvent( { charCode: charCode, keyCode: charCode }, 'keypress' ) ) for (i = 0; i < keyEvents.length; i++) { keyEvents[i].fire(element) } } KeyEvent.simulateUp = function(charCode, keyCode, element) { if (element === undefined) { element = document } var keyEvents = [] keyEvents.push( new KeyEvent( { charCode: 0, keyCode: keyCode }, 'keyup' ) ) for (i = 0; i < keyEvents.length; i++) { keyEvents[i].fire(element) } } window.KeyEvent = KeyEvent
Editor is loading...