Paso 10: Extendido de Ping - Pong
El script tiene el típico ping-pong-función ya instalado, que significa que si usted envía ping al cliente que se ejecuta en el script, le enviaremos un pong detrás. Usted puede hacer esto por horas... :-)
Si quieres una reacción a palabras diferentes, que tienes que añadir algunas declaraciones de if.
Con algunas pocas palabras más esto puede ser muy confuso. Y no puede combinar palabras o comandos. El comando se envía programado. Si se envía "Ping" en vez de "ping" nada iba a suceder, porque esta no es la misma palabra y el texto del mensaje se compara con == a la cadena "ping".
Otra posibilidad para encontrar palabras de comando en el mensaje es este:
--en lua significa comentario. Para las dos líneas por encima de usted pueden quitar los comentarios y ver lo que sucede dentro de la función.
El checkforcommand se llama desde dentro de la on_msg_receive con esto:
Hay dos arreglos, uno para el comando para enviar la llamada "functionsnamen" y otro para las funciones en el script de lua que se llaman en caso de que un comando se encuentra.
Con la string.lower() convertir el commandstringarray [1] en menor caso y compararlo con functionsnamen. De esta manera no importa si escribimos "Ping" o "pINg" o "PiNG" o algo como eso.
Usted puede haber notado que existe el commandstringarray. Esto tiene la siguiente función: después de receiveing un mensaje, el texto completo se analiza en esta matriz. De esta forma puedo comprobar si la primera palabra del mensaje era "ping" y el segundo era otra cosa y así sucesivamente. La commandstringarray es una matriz de cadenas. Lua es muy fácil con los tipos de variables y tipos de matriz.
Para obtener el mensaje en esta matriz escribí esta función, que obviamente se llama antes de checkforcommand:
el bucle está en busca de un espacio "" separa dos palabras y escribe la partstrings a los índices subsecuentes de la matriz.