mwBot
Get test api key
English zone
sección española
MW Bot Usage Calculator
Download bot
last update files

 

Lista de comandos para la versión 2024.12.31

Started by Nikolaj, 21 July 2024, 18:53

Previous topic - Next topic

Nikolaj

Lista de comandos para la versión 2024.12.31

-----
Se intentó mejorar las descripciones y explicaciones de los comandos. Un agradecimiento personal de mi parte a la princesa por sus recomendaciones sobre cómo se puede mejorar esto.
La traducción al español está hecha usando GPT, no me juzguéis demasiado duramente.


----------
función: goposition_stop
detener el movimiento a un punto específico


------
Nuevo atributo para el sistema de activación: main_stream
Fuerza que las instrucciones de "ejecución" se ejecuten en el hilo principal del bot, en lugar de en uno paralelo.
Ejemplo:
add_action_speak=test={"text": ["debug"], "execute": ["sleep=1.1", "lshift+."], "main_stream": 1}
Por defecto: main_stream = 0.


------
Ampliando la funcionalidad de la función setonkey.
Nuevo atributo: pass = 1 | 0.
Te permite transferir claves activadas al juego o bloquear su transferencia. Predeterminado: pass = 1.
Ejemplo:
setonkey=test={"keys": "j", "execute": ["playfile=start.wav"], "pass": 0}
Al presionar la tecla j se reproducirá un sonido, pero no atacará.
si estableces "pass": 1, entonces la pulsación de tecla se transmitirá al juego.


-----
Ampliación de funciones setonkey.
Ahora puede especificar claves alternativas para activar.
Antes solo se podía especificar una combinación, ahora hay varias.
Ejemplo:
setonkey=test={"keys": "f3", "execute": ["playfile=click.wav"]}
Solo se dispara cuando se presiona la tecla f3.
setonkey=test={"keys": ["f3", "lctrl+f4"], "execute": ["playfile=click.wav"]}
En este ejemplo, se activan tanto f3 como lctrl+f4.


-----
Nueva variable predeterminada: %LASTSERVERBOTTIME%
Indica cuántos segundos hace que se recibió un mensaje del servidor de administración "server_bot_connect".
Devuelve -1 por defecto.
ejemplo
open_game_window
var=server_name=blablablablablcbsjlcbjslbcjslcbjsabcjsalbcjksabxchjsabjh
server_bot_connect=%server_name%
block=send
server_bot_write=["keypress=j","playfile=click.wav"]
timewait=2
go_to_block=send
setIntervalFunction=dd=10=["if=[\"%LASTSERVERBOTTIME%\", \"20\", \"<=\", [\"speak=el último mensaje del servidor fue %LASTSERVERBOTTIME% Hace unos segundos, todo está bien\"], [\"Speak=mierda.  Recibimos el último mensaje del servidor %LASTSERVERBOTTIME% hace segundos\", \"delIntervalFunction=dd\", \"go_to_block=finish\"]]"]
wait
block=finish
speak=apagar el guión
break


------
Nueva variable predeterminada: %SCRIPTNAME%
Esta variable contiene el nombre del script.


------
Nueva característica: wlog
Escribe la cadena procesada en el registro mw.log.
Ejemplo:
wlog=guión actual: %SCRIPTNAME%


-----
Deshabilitar temporalmente los desencadenantes
El siguiente ejemplo demuestra cómo desactivar un activador que controla el nivel de salud crítico de una mascota.
Cuando el personaje se encuentre con el jefe, no curará a la mascota con habilidades; El disparador critPetHP se activará después de la muerte del jefe.
ejemplo
action_critical_pet_hp=150000
add_action_speak=critPetHP={"text":["^event_critical_pet_hp"], "execute":["disable_attack","disable_nav_attack","sleep=0.4","keypress=lshift+2","sleep=0.5","keypress=i","enable_attack","enable_nav_attack"], "noclear": 1}
add_action_speak=boss={"text": ["^Rey Mono"], "execute": ["del_action_speak=boss","playfile=1userOnline.wav","action_speak_change=[\"critPetHP\", \"enable\", \"n\"]"], "noclear":1}
add_action_speak=bossdied={"text": ["^Sistema, el rey mono muere blablabla"], "execute": ["playfile=1userOffline.wav","action_speak_change=[\"critPetHP\", \"enable\", \"y\"]"], "noclear":1}


-------
variable agregada con fecha actual
%CURRENTDATE%
formato: aaaa-mm-dd
ejemplo
open_game_window
timewait=1
var=time=%CURRENTDATE%
speak=%time%
break


-----
función: goposition_diagonal_mode
Activa o desactiva el modo de movimiento diagonal.
Ejemplo:
modo de habilitación
goposition_diagonal_mode=1
modo de desactivación
goposition_diagonal_mode=0
escribe esto en el código del script donde lo necesites
De forma predeterminada, la función siempre está desactivada.


-----
Puede presionar varias teclas simultáneamente a través de la tecla de función
Ejemplo:
keydown=s+d
sleep=4
keyup=s+d


-----
nuevas variables predeterminadas: CURRENTMICROTIME, CURRENTTIME
obteniendo la hora actual en milisegundos y segundos en formato Unix.
Ejemplo:
open_game_window
var=start=%CURRENTTIME%
sleep=2
var=end=%CURRENTTIME%
var_minus=end=%start%
speak=time: %end%
sleep=2


-----
nuevo parámetro: goposition_stop_get_coords
en modo goposition, ¿detener el movimiento mientras se comprueban las coordenadas?
Ejemplo:
goposition_stop_get_coords=1
stop
goposition_stop_get_coords=0
no te detengas
predeterminado 0


-----
La capacidad de reproducir archivos de sonido desde Internet.
un ejemplo
playfile=https://mwbot.org/1.mp3


-----
Nueva función: playfile_stop
Detener la reproducción
ejemplo:
playfile_stop


-----
función: nvda_mode
cambiar los modos NVDA en los scripts.
Ejemplo:
nvda_mode=0 - modo normal
nvda_mode=1 - modo pasivo
nvda_mode=2 - modo silencioso
demostración
open_game_window
add_action_speak=nvda={"text":["event_generate_action:(.*?)$"], "execute": ["if=[\"%%1\",\"on\",\"==\",[\"playfile=click.wav\",\"nvda_mode=0\",\"speak=enable mode\"], [\"playfile=click.wav\",\"speak=disable mode\",\"nvda_mode=2\"]]"], "noclear":1}
block=switch
action_speak_generate=on
sleep=2
action_speak_generate=off
sleep=2
go_to_block=switch


------
Nueva característica: var_replace
reemplazar texto en una variable
Ejemplo:
var=text=hello
var_replace=text=["llo", "y"]
speak=%text%
resultado=>hey
o
var=text=ring (left)
var_replace=text=[["(",")"], ["\\(","\\)"]]
speak=%text%
resultado=>ring \(left\)
o
var=text=hello
var_replace=text=[["l","o"], ["","y"]]
speak=%text%
resultado=>hey


-----
Nuevo evento: event_attack
te permite seguir aproximadamente el principio y el final de la batalla
event_attack:0
la pelea ha terminado
event_attack:1
La pelea ha comenzado
event_attack:2
El objetivo existe
ejemplo. Después del final de la batalla, la bruja usa la habilidad de explosión curativa.
add_action_speak=tttt={"text":["^event_attack:0"], "execute": ["sleep=1.5", "keypress=lshift+i", "speak=finish"], "timeout": 2}


-----
repair_max_retries
indicar el número de intentos de reparación del equipo
repair_max_retries=5
el bot intentará realizar reparaciones 5 veces, si falla 5 veces, el juego y el bot se cerrarán


------
¡Ahora haga una pausa y ejecute el script después de la pausa usando la tecla f2!
De forma predeterminada, el tiempo de espera al presionar la tecla f2 nuevamente es de 0,3 segundos.
Para cambiar los datos, establezca la configuración en el script: pause_timeout=flotar (segundos)
o especifique este parámetro en la configuración de su bot en el archivo config.ini
pause_timeout=segundos flotantes


-----
var_random
generando valores aleatorios
ejemplo:
var_random=variable=1,300
genera un valor aleatorio en la variable %variable% de 1 a 300
otro ejemplo:
var_random=variable=["b1", "b2","b3","b4","b5"]
go_to_block=%variable%
hace una muestra aleatoria de la lista proporcionada


-----
8. nuevo atributo para el sistema de activación: ignorepause
continuar la operación del disparador incluso cuando está en pausa
Ejemplo:
add_action_speak=lack of={"text": ["^lack of vitality"], "execute": ["gameexit"], "ignorepause":1, "noclear":1}


-----
función: var_exists
comprueba si existe una variable
ejemplo:
var_exists=varname={"true": ["speak=yes, variable exists"], "false": ["speak=no, empty variable"]}
var_exists=varname={"false": ["var=varname=1"]}


-----
mapwall_reset
borrar datos sobre la tarjeta conectada en la función mapwall=filename
Esto es necesario para que el bot comience a determinar automáticamente el mapa en el que se encuentra el personaje.


-----
drop_end_offset=int time seconds
especifica cuántos segundos debe dejar de ejecutarse el script, aclara el funcionamiento de la función enable_drop_control.
Ejemplo:
drop_end_offset=600
enable_drop_control
el script saldrá 10 minutos antes del final del tiempo de cultivo


-----
count_attack=int count
el número de repeticiones del ataque al realizar un ataque. predeterminado 2 veces


-----
un nuevo sistema para el intercambio de datos entre diferentes bots a nivel de script.
Si no entiendes qué es, ¡no lo uses!
server_bot_connect=string
string - El nombre de tu canal, crea una línea compleja para que extraños no lleguen a tu canal.
server_bot_disconnect
desconectarse del canal
server_bot_write=string | json
escribe al canal
si es una cadena normal, todos los participantes recibirán un evento como:
event_server_message:text
add_action_speak=server_message={"text": ["^event_server_message:hello"], "execute": ["speak=say hello"]}
si se transmite una línea json, se ejecutará una lista de funciones para todos los conectados a este canal
server_bot_write=["speak=hello", "playfile=click.wav"]
o puede especificar un destinatario específico especificando su apodo. El apodo es el nombre en el sistema bot.
server_bot_write={"nick": "Eugen", "execute": ["speak=hello", "playfile=click.wav"]}
Para que no se puedan realizar diversas funciones peligrosas, indicamos qué funciones se pueden realizar. Si no lo especifica, asumiremos que puede realizar cualquier función del bot.
server_bot_allowed_functions=["speak", "playfile"]


-----
copytext=text
Copia texto al portapapeles
Ejemplo:
copytext=tu texto
copytext=%variablename%


-----
var_append=variablename=text
agregar texto al final del contenido de la variable %variablename%


-----
trabajo implementado con archivos

función: filedelete
eliminar un archivo:
filedelete=filename

función: filerename
cambiar el nombre de un archivo
ejemplo:
filerename=old name=new name

función: fileexists
comprobar la existencia del archivo
ejemplo:
fileexists=filename={"true": ["speak=file exists"], "false": ["speak=no find file"]}
fileexists=filename1={"false": ["fileopen=filename1=w=100"]}

fileopen=filename=mode=value
filename - nombre del archivo, los archivos se crean a lo largo de la ruta: temp/fileopen/filename
mode - Modos disponibles con archivo abierto
a - agregar datos [valor] al final del archivo
w - sobrescribir datos [valor] al archivo
r - lea datos en la variable de valor, el valor debe estar sin etiquetas %variablename%, solo variable
r+ - agregar datos al final de la variable de valor


-----
setonkey=nombre de cadena={"keys": "lalt+f4", "execute": ["playfile=click.wav", "gameexit"]}
instala un controlador con el nombre "nombre de cadena" y monitorea cuando se presionan las teclas alt+f4 izquierdas, luego realizará una lista de acciones desde el "execute" atributo
Por ejemplo, puede configurar el bloque para que se ejecute cuando se presionan las teclas de acceso rápido, esto es conveniente al depurar un script.


------
delonkey=nombre de cadena
eliminar una clave de controlador llamada "nombre de cadena"


------
clear_var_action
limpia las etiquetas %%1, %%2.... para desencadenantes
Si tiene muchos activadores cuyos valores procesa, borre los valores de las etiquetas para evitar errores.


-------
last_login=your@mail.com
escribe en el archivo: config/public.ini como último correo electrónico de autorización
Esto es útil para cambiar de cuenta por bot. puedes configurar tu dirección de correo electrónico y reiniciar el juego. De esta manera es más confiable y abrirás el carácter que desees.


-----
Trabajar con variables en disparadores
Para obtener los valores que necesitamos del disparador, por ejemplo, queremos saber la cantidad de botellas que nos quedan, debemos tomar este fragmento de cadena entre paréntesis.
()
Por ejemplo
botella roja grande: 20
expresión regular para disparador
botella roja grande: (\\d+)
Para procesar el valor requerido utilizamos una construcción como
%%número de serie del fragmento desencadenante, entre paréntesis
en nuestro ejemplo es
%%1
para asignar este valor a una variable escribimos
var=count=%%1


-----
trabajar con valores al presionar teclas keypress=keyname
Usando el mismo principio, podemos recibir y escribir los valores que necesitamos al presionar teclas.
keypress=s=(\d+) red bottles
para interactuar con el valor utilizamos la construcción
~~número de serie del fragmento de cadena entre paréntesis
en nuestro caso es
~~1
por ejemplo este ejemplo
keypress=s=(%bottle%).*?(\d+)
para escribir el número de botellas en una variable, escribimos
var=countbottles=~~2
porque \\d+ está escrito en el segundo bloque, que ponemos entre paréntesis


-----
keypress_limit=número entero
El número de elementos que se pueden repetir en la lista cuando se ejecuta la función.
Ejemplo:
keypress_limit=5
keypress=s=robe
Si el número de elementos se repite más de 5 veces en nuestro ejemplo, la función keypress=keyname=regexp fallará con un error. Consideraremos que hemos entrado en un círculo de repetición.

------
enable_mount=nombre
Usa la bestia de fusión.
Ejemplo:
enable_mount=Caballo Blanco Azulado


------
disable_mount
Desmontar de la bestia de fusión.


------
disable_mount=nombre
Quitar la bestia de fusión especificada.
Ejemplo:
disable_mount=Caballo Blanco Azulado


-----
enable_drop_control
Permite finalizar el script cuando el tiempo de cultivo (farming) haya terminado. Finaliza el script y cierra el juego. Puedes agregarlo al script o a la configuración del personaje, dependiendo de dónde lo necesites.

-----
enable_drop_control=1
Apaga el ordenador cuando el tiempo de cultivo haya terminado.

------
enable_drop_control=2|nombre_del_script
Después de que el tiempo de cultivo haya terminado, se lanza el script especificado.

-----
enable_drop_control=3|nombre_del_bloque
El bot procederá a ejecutar el bloque especificado cuando el personaje tenga 0 minutos restantes.
Ejemplo:
enable_drop_control=3|return_to_the_city


-----
disable_drop_control
Desactiva el seguimiento del tiempo de cultivo. El bot no rastreará cuánto tiempo queda.


-----
enable_time_start=YYYY-MM-DD HH:MM
Continúa la ejecución del script después de la fecha especificada. También puedes usar una función lista en el bot, solo presiona la tecla F7.


-----
disable_time_start
Desactiva el seguimiento del lanzamiento por fecha.


-----
switch=tu texto={"default": ["acciones por defecto"], "si es igual a este valor": ["lista de acciones"], "si esto": ["entonces otra lista de acciones"]}
Ejemplo:
var=nombre=test
switch=%nombre%={"test2": ["speak=test2"], "test": ["speak=ok, true"]}
El atributo "default" funcionará si más de una opción no coincide.


-----
action_speak_change=["nombre del disparador", "nombre del atributo", "valor"]
Cambiar los datos de un atributo en un disparador.


-----
var_plus=nombre_de_variable=valor entero
Suma el valor a la variable.
Ejemplo:
var=contador=0
speak=contador: %contador%
sleep=1
var_plus=contador=5
speak=nuevo contador: %contador%


-----
var_minus=nombre_de_variable=valor entero
Resta valor de la variable.
Ejemplo:
var=x=10
var=y=5
var_minus=x=%y%


------
var_mult=nombre_de_variable=valor entero
Función para multiplicar valores.
Ejemplo:
var=x=4
var=y=5
var_mult=x=%y%


-----
var_div=nombre_de_variable=valor entero
Función para dividir valores.
Ejemplo:
var=x=20
var=y=5
var_div=x=%y%
speak=%x%


-----
if=["cond1", "cond2", "operador", ["acciones_si_verdadero"], ["acciones_si_falso"]]
Comprobación de condiciones.
Ejemplos:
if=["10", "3", ">", ["speak=ok, true", "sleep=1", "break"], []]
if=["1", "2", "<", ["speak=1 < 2, ok"], ["no, 1 > 2 :)"]]
Ejemplo con contador y variables:
var=contador=0
speak=contador: %contador%
sleep=1
var_plus=contador=1
if=["%contador%", "5", ">=", ["break"], ["go_to_line=2"]]
Tan pronto como el valor de la variable %contador% sea 5 o más, el script se detendrá.
Operadores válidos:
> < >= <= == !=
Fragmento de código del script para mejorar el equipo especificado:
keypress=s=(%equip%).*?(level:|nivel)\s(\d+)$
if=["~~3", "%lvl%", "<", ["go_to_block=impr"], ["go_to_line=26"]]
Si el nivel de mejora es menor que el nivel especificado en la variable, mejoramos el artículo (go_to_block=impr), de lo contrario, continuamos la búsqueda: keypress=s=(%equip%).*?(level:|nivel)\s(\d+)$
Puedes encontrar este script en un intercambiador de archivos y estudiarlo en más detalle. Mejora de artículos específicos de equipo (inglés, español); Tamaño: 1 KB; Usuario: Nikolaj; Fecha de carga: 30-08-2024 21:51:59.
no es necesario especificar un bloque "else" si no hay acciones en él. Puedes simplificar la escritura:
if=["2", "2", "==", ["speak=yes"]]



-----
action_speak_generate=tu texto
Genera texto para activadores.
add_action_speak=test={"text": ["^event_generate_actiontexto"], "execute":....}


-----
stopwall=expresión regular
En lugar de escribir palabras de parada en el archivo "stopwallword.txt", puedes usar esta función.
Ejemplo:
stopwall=ice pine
Esta función funciona cuando se utiliza el modo de movimiento aleatorio de personajes (random_going).


-----
block=nombre
Establece un marcador de ancla en una línea, análogo a la función "go_to_line".
Ejemplo:
block=startfarming
speak=hola, estamos comenzando


-----
go_to_block=nombre
Ve a la línea donde estableciste el marcador "nombre".
Ejemplo:
go_to_block=startfarming
 

-----
action_critical_pet_hp=int hp
Establece el nivel crítico de salud para tu mascota.
Cuando el valor int hp es igual o menor, se generará un evento para activadores de la forma:
event_critical_pet_hp:hp actual,
que podemos procesar a nuestra discreción.
Para deshabilitar, debes establecer un valor menor a 1, por ejemplo:
action_critical_pet_hp=0
Ejemplo:
action_critical_pet_hp=65000
add_action_speak=critPetHP={"text":["^event_critical_pet_hp"], "execute":["disable_attack","disable_nav_attack","sleep=0.4","keypress=lshift+2","sleep=0.4","keypress=y","enable_attack","enable_nav_attack"], "onecopy": 1, "noclear": 1}


-----
screenreader=eci
Incluye soporte para lectores de pantalla IBM eci.
Este parámetro debe agregarse a config.ini y luego reiniciar el bot.
Después, puedes usar el bot sin NVDA.
¡Atención! El bot no soporta sintetizadores de voz SAPI5, debes usar los sintetizadores de voz IBM eci.
 

-----
setIntervalFunction=nombre_del_temporizador=periodo_de_tiempo=["cmd1","cmd2","cmd3"]
Ejecuta funciones periódicamente mediante un temporizador.
Algunos ejemplos:
setIntervalFunction=equip=600=["badequipment=; comon"]
setIntervalFunction=bag=1800=["clearbag=1"]


-----
delIntervalFunction=nombre_del_temporizador
Elimina el temporizador con nombre nombre_del_temporizador.
Ejemplo:
delIntervalFunction=bag
 

-----
clearIntervalFunction
Borra todos los temporizadores.


-----
pet_regen_timeout=float segundos, por defecto 30 segundos
Tiempo para revisar los indicadores de maná y salud de la mascota.
Ejemplo:
pet_regen_timeout=300
El bot revisará la salud de tu mascota cada 5 minutos.
 

-----
pet_reload_bank_hp=int tiempo_de_espera
Tiempo de espera para la poción de salud de la mascota.
Ejemplo:
pet_reload_bank_hp=10


-----
pet_reload_bank_mp=int tiempo_de_espera
Tiempo de espera para la poción de maná de la mascota.
Ejemplo:
pet_reload_bank_mp=10


-----
badequipment=expresión regular
Descarta el equipo según la expresión regular.
Ejemplo:
badequipment=; común|; tosco|; excelente

 
-----
setpause
Pone el bot en pausa.
 

-----
unpause
Quita la pausa del bot.
 

-----
exit
Cierra el bot y el juego.
 

-----
gameexit
Función para salir del juego. Si está habilitado enable_restart, el juego se reiniciará.
 

-----
botexit
Salir del bot.


-----
action_critical_hp=int hp
Establece el nivel crítico de salud. Cuando el valor int hp es igual o menor a este valor, se generará un evento para activadores de la forma: event_critical_hp:hp actual.
Para deshabilitar, establece un valor menor a 1, por ejemplo:
action_critical_hp=0
Ejemplo:
action_critical_hp=25000
add_action_speak=critHP={"text":["^event_critical_hp"], "execute":["sleep=1","keypress=i","sleep=1","keypress=y","sleep=1","keypress=y"], "onecopy": 1, "noclear": 1, "timeout": 60}
Mi activador se dispara no más de una vez cada 60 segundos, porque la habilidad de defensa absoluta del sacerdote solo se puede usar una vez por minuto. Para usar ejemplos, debes editar esto según tus preferencias.
 

-----
mortalmap=nombre_del_archivo
Ejecuta un script después de la muerte del personaje.
Por defecto es map/mortal.
Ejemplo:
mortalmap=resurrect with crystal script
 

-----
no_mortal
No ejecutar el script después de la muerte del personaje.
El personaje morirá y no será resucitado.
 

-----
obstacles_default_key=nombre_de_la_tecla
Tecla predeterminada para evitar obstáculos.
Ejemplo:
obstacles_default_key=d
Función obsoleta, probablemente ya no relevante, pero puedes usarla en caso de rutas precisas.


-----
ignore_speaking=regexp
Ignorar el texto en el juego.
ignore_speaking=^global|^nearby
De esta forma, el bot no procesará la información recibida de dos canales.


-----
clear_ignore_speaking
Limpiar la cadena de ignore_speaking.


-----
goposition_max_time=float seconds
Establecer el tiempo máximo de movimiento en la función goposition en línea recta sin verificar las coordenadas.
goposition_max_time=10


-----
hotrepair=1 o 0
Configura cuándo reparar, antes o después de la batalla. El script no garantiza esta secuencia, pero intentará ejecutarlas. 1 - tan pronto como reciba una frase que indique que se necesita reparación; 0 - después de la batalla. El valor predeterminado es 0.
hotrepair=1


-----
writechannel_timeout=float seconds
Establecer el tiempo de búsqueda del canal requerido para escribir.
writechannel_timeout=2


-----
var=varname=varvalue
Establece la variable varname con el valor varvalue.
var=charname=Zlata


-----
enable_time_exit=datetime
Salir del bot y del juego a la hora especificada:
enable_time_exit=2024-04-26 15:00:00


-----
disable_time_exit
Desactivar time_exit.


-----
makesocket=color1|color2|color3
Perforar los agujeros necesarios en el equipo. Especifica los colores separados por |.
makesocket=Carmesí|Amarillo Oscuro


-----
search_object_timeout=float seconds
Tiempo de espera para la frase al buscar un objeto.
search_object_timeout=0.2


-----
wait
Función simple de espera infinita.
open_game_window
loadoptions=my.conf
wait
Con este script puedes controlar a tu personaje con una mano, solo muévelo presionando las teclas a, s, d, w, y el bot matará monstruos, curará, etc.


-------
Durante la ejecución del script, pueden ocurrir algunos errores, por ejemplo, el menú no se ha cargado y el bot está intentando encontrar una línea, en cuyo caso el script terminará con un error.
También, el script se interrumpirá si no encuentra la línea que necesitas, por ejemplo, quieres que el bot tome una botella azul del almacén, pero no está allí, en cuyo caso el script se saldrá y lanzará un error.
Para tales casos, el bot proporciona los siguientes manejadores de eventos:
La línea de abajo procesará todo un bloque de pulsaciones de teclas y, en caso de error, el bot procederá a ejecutar el script desde la línea 20:. Puedes escribir el nombre del manejador de eventos arbitrariamente.

add_action_speak=error={"text":["^event_keypress_error"], "command":["go_to_line", 20]}

La línea de abajo procesará el error punto por punto; en este ejemplo, el error puede ocurrir en la línea 20, en cuyo caso el bot procederá a ejecutar el script desde la línea 10.

add_action_speak=k_error1={"text":["^event_keypress_error_20"], "command": ["go_to_line", 10]}

La línea de abajo funcionará si se cumple la condición y no hay error, entonces el bot ejecutará el script desde la línea 32.

add_action_speak=k_ok={"text":["^event_keypress_ok"], "command":["go_to_line", 32]}

La línea de abajo funcionará si se cumple la condición en la línea 29, entonces el bot procederá a ejecutar el script desde la línea 32.

add_action_speak=k_ok1={"text":["^event_keypress_ok_29"], "command":["go_to_line", 32]}
Puedes estudiar la información con más detalle en este enlace:
https://mwbot.org/index.php/topic,68.0.html


-----
skip_keypress_error
Permite ignorar los errores únicos al activar la función keypress=keyname=text.
skip_keypress_error
keypress=s=log in
Si al presionar la tecla s, el bot no encuentra la frase "log in", el script no se romperá gracias a skip_keypress_error.
Es decir, si trabajas con el menú, necesitas escribir skip_keypress_error antes de cada pulsación de tecla keypress=keyname. Los errores serán manejados usando manejadores de eventos.


-------
prof_skill_timeout=float seconds
Tiempo para ir al mob muerto para desollar.
prof_skill_timeout=3


-------
enable_prof_skill=keyname
Activar la habilidad de desollar cadáveres.
enable_prof_skill=c


-----
disable_prof_skill
Desactivar la habilidad de desollar cadáveres.


-----
mapwall=filename
Especificar el archivo de obstáculos. El archivo debe estar en el directorio map/map.wall/filename.
mapwall=subterráneo
Algunos mapas de áreas tienen los mismos nombres, por lo que en algunos casos es necesario conectar manualmente los mapas de terreno.


-----
intervalPause
Pausar temporizadores.


-----
intervalStart
Iniciar temporizadores detenidos.


-----
setInterval=keyname=float seconds
Presiona keyname cada float segundos.
setInterval=y=121


-----
delInterval=keyname
Eliminar temporizador para keyname.
delInterval=y


-----
clearInterval
Borrar todos los temporizadores.


-----
masterweapons=int lvl
Mejorar el equipo al nivel lvl.
masterweapons=7


-----
no_regen_data=int number
Si no es posible obtener los valores de hp/mp número veces seguidas, considerar que el juego está congelado y terminar el proceso del juego.
no_regen_data=8


-----
keyboard_delay=int ms1|int ms2
ms1 - retraso en milisegundos antes de presionar la tecla. ms2 - retraso en milisegundos antes de soltar la tecla.
Si te parece que el bot no está funcionando correctamente, quizás no procesando alguna frase, intenta usar este parámetro, quizás al ralentizar las pulsaciones de teclas puedas resolver el problema.
keyboard_delay=10|30


------
enable_search_object=regexp=count
Buscar objeto para contar la profundidad. La profundidad predeterminada es 1.
enable_search_object=Artesano de Gemas=4
 

-----
disable_search_object
Desactivar búsqueda.


-----
break
Salir del script.


-----
goposition_speed=float number
Velocidad de movimiento del personaje por segundo mientras el bot está activo.
goposition_speed=8
Si tienes problemas para encontrar el punto final, puedes calibrar esto usando esta opción.


-----
fragstor=level 1 fragname|level 1 fragname2..
Vender fragmentos separados por |.
fragstor=Fragmento Turquesa Nivel 1|Fragmento Piedra de Luna Nivel 1|Fragmento Piedra de Sol Nivel 1|Fragmento Obsidiana Nivel 1|Fragmento Topacio Nivel 1|Fragmento Olivino Nivel 1|Fragmento Piedra Uva Nivel 1|Fragmento Jade Rubio Nivel 1|Fragmento Aguamarina Nivel 1|Fragmento Espinela Nivel 1|Fragmento Ojo de Tigre Nivel 1|Fragmento Zafiro Nivel 1|Fragmento de Cristal para Mejorar Armas|Fragmento de Cristal para Mejorar Equipos|Fragmento Ópalo Nivel 1|Fragmento Granate Nivel 1


-----
add_action_speak=name=json text
Añadir un desencadenante con el nombre y las instrucciones de texto.
Ejemplo: add_action_speak=test={"text": ["^(\d+); (\d+)$"], "execute": ["sleep=1", "speak=tus indicadores: %%1; %%2"]}
Si presionas la tecla (r), puedes averiguar los indicadores de hp/mp. Este desencadenante funcionará según la condición "text".
El bot genera algunos eventos como en el momento de la verificación de salud: event_hp:123
Al ejecutar búsqueda de texto: keypress=left=items
Cuando lo encuentra: event_keypress_oky event_keypress_ok_en qué línea funcionó keypress?
Y cuando no se encuentra la frase: event_keypress_errory event_keypress_error_line donde no se encontró el keypress
event_mortal- en el momento de la muerte del personaje.
event_baf
En el momento en que el bot verifica tu HP y hay datos sobre buffs/debuffs, se genera un evento: event_baf: línea hasta el signo ; al verificar HP.
Atributos para cadena json:
"timeout": tiempo después del cual se puede ejecutar este desencadenante nuevamente.
"onecopy": 1 - habilitar la ejecución de una copia del desencadenante sin duplicación. Solo se ejecutará una copia sin lanzamientos repetidos.
noclear - si existe este atributo, el desencadenante no se borrará al llamar a la función: clear_action_speak, solo se puede eliminar usando la función del_action_speak=name.
text - lista de expresiones regulares a rastrear.
"text": ["regexp1", "regexp2"]
command - ejecutar comandos.
Comandos disponibles:
• go_to_line - ir a la línea para ejecutar.
• go_to_block - ir al bloque para ejecutar.
• playfile - reproducir un archivo de la carpeta de sonidos.
• speak - decir el texto.
"command": ["go_to_line", 123]
is_count - contar el número de veces.
El desencadenante se activará después de is_count activaciones.
"is_count": 3
execute - ejecutar una lista de comandos como en un script normal.
"execute":["sleep=1", "speak=Hola", "waitspeak=.*", "go_to_line=123"]
add_action_speak=map2={"text": ["^Polson Wetland;Noroeste;barro$|.*?\d+;Polson Wetland$"], "command": ["go_to_block", "map2"]}
Usando este desencadenante, rastreo la transición al mapa pantano, también detecto el mapa pantano al verificar las coordenadas. El bot entiende que el personaje está en el pantano y va al bloque map2.



-----
del_action_speak=name
Eliminar el desencadenante con el nombre.
del_action_speak=map2



-----
clear_action_speak
Eliminar todos los desencadenantes.


-----
write=text
Escribir una cadena en el campo de entrada.
var=count=10
write=%count%
keypress=enter



-----
writechannel_waitwindow=float seconds
Tiempo de espera para que aparezca la ventana de entrada de texto.
writechannel_waitwindow=1


-----
writechannel=channel name=text
Escribir texto en el canal especificado.
writechannel=canal global=Hola Mundo


-----
searchitems=regexp
Buscar un artículo en el mercado. Abrir la categoría requerida. Cuando se encuentre el artículo, el bot se detendrá. Presiona F2 para continuar buscando.
searchitems=Brillante


-----
goposition=int pos1|int pos2
Enviar al personaje a las coordenadas pos1;pos2.
goposition=200|200
También puedes especificar la precisión de la posición final (no funciona en giros intermedios)
goposition=int x|int y=detalles
predeterminado 0 - coincidencia exacta
si proporcionamos datos por ejemplo:
goposition=100|100=5
y nuestro personaje llegará a las coordenadas: 102|96
entonces este será considerado el punto deseado.
por así decirlo, hemos indicado la desviación permitida desde el punto final

-----
mastersynthfrag
Crear gemas de nivel 1 a partir de fragmentos.


-----
sellcollection
Vender colecciones. El enfoque debe estar en el comprador adecuado.


-----
mastersynth=int lvl
Crear piedras de nivel lvl+1.
mastersynth=2


-----
pet_name=name1|name2|name3
Prioridad de invocación de mascotas.
pet_name=Gato de Pelo Corto|Ganado|Rana|Perro Salvaje


-----
loadoptions=filename
Cargar configuración. El archivo filename debe estar en el directorio map/filename.
loadoptions=my.conf
Si usas scripts de otras personas, no olvides cambiar el nombre del archivo de configuración. Casi todos los días alguien me dice que el personaje camina pero no mata monstruos. Después de 20-30 minutos entiendo que el usuario simplemente no conectó la configuración de su personaje. Por favor, ten cuidado.


-----
enable_obstacles
Activar el sistema de evitación de obstáculos. Por defecto, solo evita jugadores. Debe estar habilitada la visualización de clases de jugadores.


-----
speak=text
Haz que NVDA lea el texto en voz alta.
Este comando es principalmente para fines de prueba, pero también puedes usarlo si lo deseas. NVDA leerá el texto que escribas.


-----
disable_key_esc
Desactiva la pulsación periódica de la tecla Escape, que se usa para monitorizar el congelamiento del juego.
Debe desactivarse cuando el bot trabaja con el menú, para evitar errores y que el menú no se cierre.


-----
enable_key_esc
Habilita la pulsación periódica de la tecla Escape. Habilitado por defecto.


-----
enable_melee
Indica que el personaje es de combate cuerpo a cuerpo. Al usar habilidades, también mantendrá presionada la tecla Alt izquierda.
Consulta el tema sobre configuración de combate cuerpo a cuerpo en el sitio web.


-----
disable_melee
Desactiva el modo de combate cuerpo a cuerpo.


-----
key_repair=keyname
Especifica la tecla para la reparación. Caja de reparación o alicates.
key_repair=0


-----
enable_clearbag
Habilita la limpieza de la bolsa. Cuando el bot reciba una frase sobre sobrecarga, intentará descartar los objetos especificados en el archivo clearbag.txt. Los objetos deben especificarse uno por línea.


-----
disable_clearbag
Desactiva la función de limpieza de bolsa.


-----
clearbag
Inicia la limpieza de bolsa inmediatamente.
clearbag=tiempo de espera
Después de presionar la tecla: lshift+delete | tiempo de espera después de que el bot ingrese la cantidad y antes de presionar enter
clearbag=1
Este parámetro es necesario si tu script se queda atascado al ejecutar una función.


-----
timewait=float seconds
Espera no bloqueante antes de ejecutar la siguiente instrucción.
timewait=10
Por ejemplo, puedes detenerte en una intersección y el bot matará monstruos durante 10 segundos.


-----
enable_xp_control=int xp | int seconds
Habilita el control de experiencia. xp - cantidad de experiencia, segundos - frecuencia de verificación de estadísticas.
enable_xp_control=100000|600
El bot verificará la experiencia del personaje cada 10 minutos, y si quedan menos de 100000 para el próximo nivel, cerrará el juego. Esto es útil, por ejemplo, si tu personaje está en el nivel 69 y no deseas que suba al nivel 70.
Esta función se puede utilizar con el parámetro
enable_xp_control=int xp|int artículos de segunda clase=nombre del bloque
enable_xp_control=10000|600=xpminus
Cuando se obtiene una cantidad crítica de experiencia, el bot no cerrará el juego, sino que se moverá al bloque especificado para su ejecución.
Esto es útil, por ejemplo, si quieres que tu personaje automáticamente se mate contra un guardia para no pasar al siguiente nivel.
Puedes encontrar un script de ejemplo en el intercambio de archivos del bot:
nombre del guión: desert non stop english; Tamaño: 3 KB; Usuario: Nikolaj; Fecha de subida: 22-09-2024 14:03:55
Este script trabaja en el desierto, obteniendo equipo. Si queda menos experiencia hasta el siguiente nivel que la especificada en la configuración del guión, el personaje regresará a la aldea y el guardia lo matará el número especificado de veces, después de lo cual el personaje continuará matando monstruos en el desierto.


-----
disable_xp_control
Desactiva el control de experiencia.


-----
obstacles_key_timeout=float seconds
Tiempo de pulsación de tecla al evitar obstáculos.
obstacles_key_timeout=0.1
El bot presionará una tecla para evitar el obstáculo hasta que lo supere.


-----
clear_obstacles
Limpia la lista de obstáculos.


-----
ignore_mob=regexp
Especifica la lista de mobs que no se deben atacar.
ignore_mob=lich


-----
clear_ignore_mob
Limpia la lista de mobs a ignorar.


-----
regen_timeout=float seconds
Frecuencia con la que se verifican las estadísticas de hp/mp.
regen_timeout=2


-----
reload_bank_hp=int seconds
Tiempo de enfriamiento para pociones de hp.
reload_bank_hp=1


-----
reload_bank_mp=int seconds
Tiempo de enfriamiento para pociones de MP.
reload_bank_mp=6


-----
min_banks_hp=int number
Número mínimo de botellas de HP. Cuando se alcance el límite, el bot se cerrará.
Para desactivar, especifica el valor: -1
min_banks_hp=1


-----
min_banks_mp=int number
Número mínimo de botellas de MP. Cuando se alcance el límite, el bot se cerrará.
Para desactivar, especifica el valor: -1
min_banks_mp=1


-----
ignore_personal_banks=1 or 0
1 - ignora el seguimiento de botellas personales
0 - no ignores
Botellas obtenidas del almacén de la banda, durante un evento de juego, etc.


-----
key_regen_hp=keyname
Tecla para regenerar HP del personaje.
key_regen_hp=1


-----
key_regen_mp=keyname
Tecla para regenerar MP del personaje.
key_regen_mp=2


-----
key_pet_regen_hp=keyname
Tecla para regenerar HP de la mascota.
key_pet_regen_hp=3


-----
key_pet_regen_mp=keyname
Tecla para regenerar MP de la mascota.
key_pet_regen_mp=4


-----
key_pet_regen_food=keyname
Tecla para regenerar el hambre de la mascota.
key_pet_regen_food=5


-----
openmap=filename
Ejecuta un nuevo escenario.
El nombre del archivo debe estar en la carpeta: map/filename.
openmap=gofishing


-----
enable_repair=int number
Habilita la reparación del equipo.
-1 - ignora las notificaciones de reparación
0 - cierra el bot al recibir notificación
1 - repara usando cajas
2 - repara usando alicates
enable_repair=2
El bot reparará el equipo usando alicates.


-----
disable_repair
Desactiva la reparación del equipo.


-----
enable_pet
Habilita el uso de la mascota.


-----
disable_pet
Desactiva el uso de la mascota.


------
disable_pet=recall
Desactivar el uso de mascotas
si =recall se especifica
También recordará la mascota convocada.
Esto es útil, por ejemplo, si tu robot va a pescar después de la cueva de experiencias, de esta manera cancelarás la mascota y no tendrás que alimentarla.


-----
min_hp=int number
Nivel mínimo de HP para comenzar la regeneración.
min_hp=10000


-----
min_mp=int number
Nivel mínimo de MP para comenzar la regeneración.
min_mp=10000


-----
pet_min_hp=int number
Nivel mínimo de HP de la mascota para comenzar la regeneración.
pet_min_hp=10000


-----
pet_min_mp=int number
Nivel mínimo de MP de la mascota para comenzar la regeneración.
pet_min_mp=10000


-----
pet_min_food=int number
Nivel mínimo de hambre de la mascota.
pet_min_food=40


-----
direction_update_time=float seconds
Intervalo de tiempo para cambiar la dirección del movimiento en modo de movimiento aleatorio.
direction_update_time=7


-----
random_going
Habilita el movimiento aleatorio en el mapa.
No olvides configurar una lista de obstáculos.


-----
disable_random_going
Desactiva el movimiento aleatorio en el mapa.


------
stop_go
Detiene el movimiento del personaje.


-----
start_go
Reanuda el movimiento del personaje después de detenerse.


-----
x=int number1-int number2
Establece el límite para el movimiento a lo largo del eje x en modo de movimiento aleatorio.
x=100-200


-----
y=int number1-int number2
Establece el límite para el movimiento a lo largo del eje y en modo de movimiento aleatorio.
y=1-200


-----
enable_restart
Intenta reiniciar el juego cuando se cierra.


-----
disable_restart
Desactiva la función de reinicio del juego.


-----
keys_attack=key1|key2|key3...
Teclas para el ataque.
keys_attack=j|h|/|.|n


-----
speed_attack=float seconds
Pausa entre las pulsaciones de teclas de ataque.
speed_attack=0.06


-----
attack_type=1 or 0
1 - atacar mientras se mueve
0 - el personaje se detendrá para atacar
attack_type=0
No utilices el valor 1 si tu personaje es débil, de lo contrario atraerás a una multitud de monstruos que matarán a tu personaje.


-----
enable_attack
Habilita el uso de habilidades de combate del personaje.


-----
disable_attack
Desactiva las acciones de combate.


-----
nav_keys=k|o|;|l
Teclas para buscar objetivos.
nav_keys=lshift+5|lshift+6|k|;
Puedes especificar combinaciones de teclas para buscar un objetivo, por ejemplo, fijar el enfoque en quien te está atacando. Puedes experimentar.


-----
enable_pet_regen
Habilita el control del HP/MP de la mascota.


-----
disable_pet_regen
Desactiva el control del HP/MP de la mascota.


-----
enable_pet_food
Habilita el control del hambre de la mascota.


-----
disable_pet_food
Desactiva el control del hambre de la mascota.


-----
enable_regen
Habilita el control del HP/MP del personaje.


-----
disable_regen
Desactiva el control del HP/MP del personaje.


-----
go_to_line=int number
Salta a la línea especificada del script para su ejecución.
go_to_line=10
El bot comenzará a ejecutar el script desde la línea 10.


-----
enable_nav_attack=float timeout
Habilita la búsqueda de objetivos.
Si se especifica un tiempo de espera, esperará el tiempo especificado después de presionar una tecla para recibir texto.
El valor predeterminado es 0.05 segundos.
enable_nav_attack=0.1


-----
disable_nav_attack
Desactiva la búsqueda de objetivos.


-----
disable_obstacles
Desactiva el seguimiento de obstáculos.


-----
obstacles=regexp
Cadena para rastrear obstáculos especificados.
obstacles=stone|tree


-----
sleep=float seconds
Pausa por el tiempo especificado.
sleep=3
Si tu computadora no es potente, usa este comando cuando el personaje se mueva a un nuevo mapa. Así, el bot se dormirá por 3 segundos, no realizará ninguna acción, y esto reducirá el riesgo de que el juego se cierre.


-----
open_game_window
El bot establecerá automáticamente el enfoque en la ventana del juego.


-----
keydown=keyname
Mantén presionada la tecla especificada.
keydown=s
El bot mantendrá la tecla presionada hasta que se ejecute el siguiente evento.


-----
keyup=keyname
Suelta la tecla especificada.
keyup=s


-----
keypress=keyname
Presiona y suelta la tecla especificada.
keypress=s
Pulsación corta de la tecla "s".


-------
keypress=number of times|key name
Presiona una tecla específica un número determinado de veces. Por ejemplo:
keypress=4|down
El bot presionará la flecha hacia abajo 4 veces.


-----
keypress=keyname=text
Presiona la tecla especificada hasta que se encuentre el texto.
keypress=s=horse
De esta manera, el bot presionará la tecla "s" hasta que encuentre la palabra "horse".


-----
waitspeak=regexp
Espera la frase requerida antes de pasar a la siguiente instrucción.
Ejemplo:
waitspeak=^Welcome to Shard Market
El bot esperará hasta que el juego diga esta frase y luego continuará con las siguientes instrucciones.


-----
start_game
Función para iniciar el juego.