Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mensajes - Wadk

136
Preguntas y respuestas / Re: Que tiene de malo este codigo
Diciembre 22, 2011, 03:51:38 PM
Elvis, tu c?digo es m?s o menos equivalente.

El problema parece ser que el estado despu?s de cambiar a "muerto" cambia a otra cosa y enseguida el c?digo vuelve a ejecutarse. Yo pondr?a el c?digo as?:
[gml]if (vida <= 0 && estado != "muerto") {
    show_message("estado = '" + estado + "'");
    estado = "muerto";
    alarm[0] = 30;
    effect_create_above(1, x, y, 1, c_white);
}[/gml]
Ah? te pod?s fijar cu?l es el valor de estado cuando deber?a ser "muerto".
137
No hay otra manera que no sea modificando el registro.
139
Citar?Como hacer que mi juego auto-arranque al iniciar la PC?
Citar?Como "esconder" mi juego?
Citar?Se puede poner de fondo de escritorio una imagen?
?Est?s haciendo un virus, peque?o malandr?n!

En fin, seg?n le?, se puede hacer... modificando el registro.
As?:
[gml]registry_set_root(0);
registry_write_string_ext("\Control Panel\Desktop", "Wallpaper", "C:\localizaci?n\de\la\imagen.png");[/gml]
No lo prob? y no s? si funciona.
Es posible que haya que actualizar el escritorio despu?s de ejecutarlo para que se vea el nuevo fondo. Si no me equivoco se hace con F5 teniendo el foco en el escritorio.
140
Hombre por dios, no es tan peligroso. El ?nico peligro estar?a en ponerte a borrar/crear/modificar datos a lo loco por todos lados.

?Probaste esto que puse antes?
CitarPor cierto, para entender mejor como funciona el registro, pod?s ir a inicio > ejecutar y escribir "regedit". Es un programita que viene con Windows y sirve para explorar y editar el registro.

Si ten?s tanto miedo, hac? como dice knd144 y prob? con una m?quina virtual.
142
Preguntas y respuestas / Re: ?Como "esconder" mi juego?
Noviembre 22, 2011, 05:38:17 PM
Cita de: MaanuRP en Noviembre 22, 2011, 12:48:41 PMQue se ponga en la barra de inicio (En la parte del reloj) es algo imposible, ya que eso es destinado para programas y esto es para hacer juegos? O alguien sabe como hacerlo?

Por favor, necesito saber esto ultimo para dar por solucionado el tema!
Un videojuego es un programa.
Que yo sepa el GM no tiene funciones para hacer nada con el ?rea de notificaci?n, pero estoy seguro de que hay DLLs con esa funcionalidad. Busc? por ah?.
143
Zedenox, este topic es de hace casi dos a?os. Evita revivir temas tan viejos.
Tambi?n evita postear si no vas a aportar nada, y evita los comentarios que puedan resultar ofensivos.

Tema cerrado.
144
Cita de: MaanuRP en Noviembre 16, 2011, 03:05:30 AM
Mmm y dejarme los codigos que deberia copiar y pegar?

Porque hay parametros que debo poner que no se que poner:

[gml]registry_set_root(0);  // Solo para el usuario actual.
registry_set_root(1);  // Para todos los usuarios del SO.
registry_write_string_ext("\Software\Microsoft\Windows\CurrentVersion\Run", "nombre_de_la_entrada", parameter_string(0));[/gml]

Argumento 1: Esta bien asi? ("\Software\Microsoft\Windows\CurrentVersion\Run"

Argumento 2: "nombre_de_la_entrada" que pongo aca?

Argumento 3: parameter_string(0) Esto que es? Tengo que poner solo esto aqui?
El argumento uno tiene que ir as?. B?sicamente indica en qu? parte del registro se va a guardar el dato, y \Software\Microsoft\Windows\CurrentVersion\Run es donde se guardan directorios de programas a ejecutar cuando inicia Windows.

En el registro los datos se guardan en pares de tipo "clave" y "valor". En el segundo argumento va la clave, que es como se identifica el valor. Cada clave debe ser ?nica, as? que no pod?s poner algo gen?rico. Una posibilidad ser?a el id del juego (game_id, creo), pero debe ser algo descriptivo. Y tambi?n, pens? que es como un nombre; no debe ser demasiado largo.
Podr?as poner, si por ejemplo tu juego se llama "Super Mario", algo como "super_mario_autorun".

El tercer argumento es el valor de la entrada. Debe ser la ruta completa al ejecutable del juego, y eso es lo que parameter_string(0) devuelve?.


Cita de: MaanuRP en Noviembre 16, 2011, 03:05:30 AMOtra cuestion: Obviamente quiero que esto se pueda borrar, como seria?
No parece que el GM tenga una funci?n para hacer eso :/. Como alternativa pod?s modificar la entrada de forma que el valor quede vac?o, y dejar? de funcionar.
[gml]
registry_set_root(0);  // Solo para el usuario actual.
registry_set_root(1);  // Para todos los usuarios del SO.
if (registry_exists_ext(key, name)) {
    registry_write_string_ext("\Software\Microsoft\Windows\CurrentVersion\Run", "nombre_de_la_entrada", "");
} else {
    // La entrada no existe.
}[/gml]
Es posible que al hacer eso la entrada se borre autom?ticamente.


Por cierto, para entender mejor como funciona el registro, pod?s ir a inicio > ejecutar y escribir "regedit". Es un programita que viene con Windows y sirve para explorar y editar el registro.


Cita de: MaanuRP en Noviembre 16, 2011, 03:05:30 AMOff-Topic: Felicitaciones por el ascenso a "admin" ^^
Pff, ahora voy a tener m?s trabajo. Pero gracias :).




? En realidad no siempre. Si el usuario ejecut? el juego desde una consola de comandos, lo m?s seguro es que parameter_string(0) devuelva solo el nombre del ejecutable, sin la ruta. Si quer?s una manera de obtener la ruta completa al ejecutable que cubra ese caso, pod?s probar con este script:
[gml]var a;
a = parameter_string(0);
if (string_char_at(1, a) == ":") {
    return a;
}
return working_directory + a;[/gml]
145
No, no tengo el Game Maker.
No deber?a ser tan jodido. Simplemente no toques ning?n valor que no sea el que crees para tu juego.
146
No uses execute_shell, el GM tiene funciones espec?ficas para trabajar con el registro.
http://www.comunidadgm.org/manual_GM/Registro_GML.htm

Si no me equivoco ser?a algo as?:
[gml]registry_set_root(0);  // Solo para el usuario actual.
registry_set_root(1);  // Para todos los usuarios del SO.
registry_write_string_ext("\Software\Microsoft\Windows\CurrentVersion\Run", "nombre_de_la_entrada", parameter_string(0));[/gml]
Ten?s que borrar una de las primeras dos l?neas seg?n como quieras que funcione.
147
Hombre, esa imagen tan inocente como se ve, pesa m?s de un megabyte. Hacete un favor y dej? de usar el formato bmp.

En fin, me tuvo un buen rato pensando el problema, y finalmene encontr? el error.
Lo introdujiste vos cuando modificaste el script. Busc?.


Si me llev? tiempo esto, que cuando fui a postear el mensaje me encontr? con dos mensajes nuevos ;).
As? que bueno, como veo que te est?s confundiendo bastante...
Todo lo que mencion?s en el post anterior es inv?lido, el verdadero error era este:
[gml] xf=argument0; //aca coloca las coordenadas x
yf=argument0  //las coordenadas y [/gml]
En la segunda l?nea deber?a decir argument1. Y eso era todo.
148
No tengo el GM. Si no explic?s el problema con palabras, no te puedo ayudar. Lo siento.
149
A ver, cambi? esto:
[gml]for (i = 0; i <= n; i += 1) {instance_create(x + lengthdir_x(l, d) * n, y + lengthdir_y(l, d) * n,object0);}[/gml]
Por esto:
[gml]for (i = 0; i <= n; i += 1) {instance_create(x + lengthdir_x(l, d) * i, y + lengthdir_y(l, d) * i,object0);}[/gml]
150
Bueno, de hecho lo que hace lengthdir_{x,y} "detr?s de c?maras" son operaciones matem?ticas con seno y coseno. Mir?, as? se implementar?a un lengthdir_x:
[gml]// lengthdir_x(len, dir);
var len, dir;
len = argument0;
dir = argument1;
return cos(degtorad(dir)) * len;[/gml]
lengthdir_y ser?a lo mismo pero con seno y -len.
De todas formas es mejor usar lengthdir porque es m?s r?pido.

En fin, si el c?digo de mi anterior post no era lo que quer?as entonces no entend? bien la pregunta.