Florr.io Auto-Evade Script

Script para esquivar automáticamente entidades dañinas en Florr.io con fines de desarrollo y pruebas internas.

目前為 2025-01-28 提交的版本,檢視 最新版本

您需要先安裝使用者腳本管理器擴展,如 TampermonkeyGreasemonkeyViolentmonkey 之後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyViolentmonkey 後才能安裝該腳本。

您需要先安裝使用者腳本管理器擴充功能,如 TampermonkeyUserscripts 後才能安裝該腳本。

你需要先安裝一款使用者腳本管理器擴展,比如 Tampermonkey,才能安裝此腳本

您需要先安裝使用者腳本管理器擴充功能後才能安裝該腳本。

(我已經安裝了使用者腳本管理器,讓我安裝!)

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展,比如 Stylus,才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

你需要先安裝一款使用者樣式管理器擴展後才能安裝此樣式

(我已經安裝了使用者樣式管理器,讓我安裝!)

作者
wdfie jiiooijio
評價
0 0 0
版本
1.0
建立日期
2025-01-28
更新日期
2025-01-28
尺寸
2.8 KB
授權條款
未知
腳本執行於

// ==UserScript==
// @name Florr.io Auto-Evade Script
// @namespace http://florr.io/dev-tools/
// @version 1.0
// @description Script para esquivar automáticamente entidades dañinas en Florr.io con fines de desarrollo y pruebas internas.
// @author Desarrollador del Juego
// @match https://florr.io/
// @grant none
// ==/UserScript==

(function () {
'use strict';

const EVASION_DISTANCE = 150; // Distancia mínima para esquivar entidades peligrosas.
const CHECK_INTERVAL = 50; // Tiempo en ms entre cada chequeo de entidades.

/**
* Función principal para detectar y esquivar entidades dañinas.
*/
function autoEvade() {
const player = getPlayer();
const entities = getEntities();

if (!player) {
console.warn('No se detectó al jugador.');
return;
}

if (entities.length === 0) {
console.log('No hay entidades cercanas.');
return;
}

entities.forEach(entity => {
if (isDangerous(entity) && getDistance(player, entity) < EVASION_DISTANCE) {
console.log(`Esquivando entidad peligrosa en (${entity.x}, ${entity.y})`);
evadeEntity(player, entity);
}
});
}

/**
* Obtiene la posición del jugador.
*/
function getPlayer() {
return window.gameState?.player || null; // Ajustar según la estructura real del juego.
}

/**
* Obtiene todas las entidades presentes en el mapa.
*/
function getEntities() {
return window.gameState?.entities || []; // Ajustar según la estructura real del juego.
}

/**
* Determina si una entidad es peligrosa.
*/
function isDangerous(entity) {
return entity.type === 'enemy'; // Ajustar según los tipos reales de entidades.
}

/**
* Calcula la distancia entre el jugador y una entidad.
*/
function getDistance(a, b) {
return Math.sqrt((a.x - b.x) ** 2 + (a.y - b.y) ** 2);
}

/**
* Lógica para esquivar una entidad peligrosa.
*/
function evadeEntity(player, entity) {
const dx = player.x - entity.x;
const dy = player.y - entity.y;

const angle = Math.atan2(dy, dx);
const newX = player.x + Math.cos(angle) * EVASION_DISTANCE;
const newY = player.y + Math.sin(angle) * EVASION_DISTANCE;

movePlayer(newX, newY);
}

/**
* Mueve al jugador a una nueva posición.
*/
function movePlayer(x, y) {
if (window.sendInput) {
window.sendInput('move', { x, y });
} else {
console.error('La función de movimiento no está disponible.');
}
}

// Ejecuta la función autoEvade en intervalos definidos.
setInterval(autoEvade, CHECK_INTERVAL);
})();