- Nombre del creador: Markus (https://www.comunidadgm.org/profile/Markus/)
- Breve descripción de su función: Permite enviar mensajes a la consola (show_debug_message()) permitiendo agregar argumentos al string del mensaje.
- Versión GM utilizada: Game Maker: Studio 2
- Código del Script:
Argumentos
- mensaje: es un string con el mensaje a imprimir, cada '%s' que contenga se reemplazará con los argumentos entregados.
- argumentos: puede ser un número o un string. También puede ser un arreglo con números y/o strings.
Código
[gml]
//console_log(mensaje, argumentos);
///@param mensaje
///@param argumentos
var mensaje = argument[0];
var argumentos = argument[1];
if (is_array(argumentos))
{
for (var i = 0; i < array_length_1d(argumentos); i++)
{
var value = is_real(argumentos) ? string(argumentos) : argumentos;
mensaje = string_replace(mensaje, "%s", value);
}
}
else
{
var value = is_real(argumentos) ? string(argumentos) : argumentos;
mensaje = string_replace(mensaje, "%s", value);
}
show_debug_message(mensaje);
[/gml]
Ejemplo con 1 argumento
[gml]
var nombre = "Pedrito";
console_log("Hola, mi nombre es %s y soy feliz.", nombre);
[/gml]
Resultado: Hola, mi nombre es Pedrito y soy feliz.
Ejemplo con un arreglo como argumento
[gml]
var nombre = "Pedrito";
var edad = 12;
console_log("Hola, mi nombre es %s y tengo %s años.", [nombre, edad] );
[/gml]
O también
[gml]
var datos = ["Pedrito" , 12];
console_log("Hola, mi nombre es %s y tengo %s años.", datos);
[/gml]
Resultado de los dos anteriores: Hola, mi nombre es Pedrito y tengo 12 años.
yo uso mucho el show_debug_message, para mandar un string donde no se si se esta ejecutando cierta parte del codigo, supongo que este scritpts es para ver las variables o los valores internos, aunque para eso tenemos el modo debug, de cualquier manera me parece que con algunas modificaciones se pudiera usar hasta para mandar textos o dialogos en el evento draw.
Cita de: somnus en Abril 29, 2019, 01:59:33 AM
yo uso mucho el show_debug_message, para mandar un string donde no se si se esta ejecutando cierta parte del codigo, supongo que este scritpts es para ver las variables o los valores internos, aunque para eso tenemos el modo debug, de cualquier manera me parece que con algunas modificaciones se pudiera usar hasta para mandar textos o dialogos en el evento draw.
Yo también lo uso mucho para evaluar código y por lo mismo a veces imprimo las variables involucradas para revisar que todo vaya según lo planeado. Así que creé este script por comodidad. Al última línea se puede reemplazar por "return mensaje;" y el script devolvería un string con el log en vez de enviarlo directamente a la consola, así podrias usarlo en el evento Draw.