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 - DarkKRuleR

496
Preguntas y respuestas / Re:como tener ``plata´´
Noviembre 18, 2012, 02:30:31 PM
De una forma muy sencilla: creas un objeto que nunca se vaya a destruir. Le marcas la casilla PERSISTENT, búscala en el objeto. Así, aunque cambies de Room, el objeto seguirá ahí y no se destruirá.
en Create del objeto (se le suele llamar obj_controlador, obj_main... vamos, el principal), inicias una variable, por ejemplo pesos, así:
pesos = 0;
luego, en el objeto del rival que será destruido, tan sólo tienes que poner
obj_controlador.pesos += 25;
con eso sumará 25 a su variable pesos, tú le sumas  o restas lo que quieras (restar: -=25). Esto lo pones en aquel momento en que deba ir. Por ejemplo, en el evento Destroy del enemigo, así te dará el dinero al destruirlo.

Luego la tienda es más complicado, pero te puedo dar una noción básica.

Imagina que en el controlador, a parte de pesos, tenemos:
granadas = 0;
con eso tenemos 0 granadas. Un código de la tienda puede ser:
if (obj_controlador.pesos >= 80) {
   obj_controlador.pesos -= 80;
   obj_controlador.granadas += 1;
}


de forma sencilla eso dice "Si tenemos 80 pesos o más, restamos 80 pesos y sumamos 1 granada." Luego es cosa tuya ir aprendiendo como funciona, dónde ponerlo...
(>= significa más o igual, si tenemos 80 pesos o más.)
497
Texic, tienes toda la razón, eso es aceptable y correcto, complicarse pero correcto xD
Marron, el delay que yo puse es una variable llamada Delay para que el algoritmo de disparo funcione, se le podría haber puesto cualquier otro nombre ^^ es una simple variable numérica. Si fuera una función sería delay(), o delay(blabla), etc
498
vale, usé mouse_enter y leave para poner a true/false la variable para hacer visible la carta y está todo solucionado, gracias!

si supiera como va el sistema de puntos te daría xD (cada cuanto se gana, como y en que cantidad, para saber cuanto dar o si hay que racionarlo... vamos, todo) lo pregunté en noticias pero no hay respuesta y ahí no dice cómo funciona :c
499
Me devuelve 2... pero ya no hay errores!!! quizas sea porque se me olvidó poner el obj_controlador, cofcof

pero sigue sin funcionar del todo... en BEGIN STEP de un objeto que es una carta gigante tengo (obj_carta_screen):
sprite = obj_controlador.carta_vacia;
ver = false;

y luego en las cartas pequeñas tengo en STEP:
if (position_meeting(mouse_x, mouse_y, self)) {obj_carta_screen.sprite = sprite; obj_carta_screen.ver = true;}

si no me equivoco, la carta grande siempre comienza reseteando su imagen en begin_step, y si tengo el ratón sobre una carta pequeña la grande cambia a la imagen de la pequeña y SE HACE VISIBLE, pero en mi caso la grande siempre es invisible... cuando deberia hacerse visible al pasar el raton por una pequeña y poner su ver = true!
500
Cita de: Texic en Noviembre 17, 2012, 10:07:10 PM
No siempre tienen por qué mirar a la derecha, si miran arriba sería cuestión de restarle 90 a direction y si mira abajo sumarle 90

pero es más fácil que todos tus sprites miren a la derecha, así trabajas sabiendo que la dirección 0 es efectivamente la 0, la 90 es la 90, etc etc. Lo contrario es una complicación innecesaria ^^
501
ya puse sleep(100) y sleep(10000) justo después del sprite_add del controlador. En ambos casos falla al acceder a carta_vacia...

si lo que fallara fuera al leer el png por poner mal la dirección o usar / o \, daría error y me daría cuenta no? si no da error es que lee la imagen correctamente... y que carta_vacia contiene correctamente la imagen...
502
Preguntas y respuestas / Re:Balas de ametralladora
Noviembre 17, 2012, 10:01:25 PM
eso te lo dijo Pikamaker, en step, image_angle = direction (él puso direccion,  falta la t, pero es eso), ah, para que esto funcione, asegúrate que el SPRITE de la bala mira a la derecha, siempre deben mirar los sprites a la derecha para poder trabajar bien con image_angle
503
buenas, pues la cosa es que no consigo lograr esto sin fallos... mi programa es un juego de cartas
obj_controlador
create:
carta_vacia = sprite_add(working_directory + "/Cartas/carta_screen.png", 0, false, false, 0, 0);

for (i = 0; i < 60; i += 1) {
    DeckA[i] = instance_create(600, 500, obj_carta);
    DeckA[i].sprite = carta_vacia;
    DeckB[i] = instance_create(300, 100, obj_carta);
    DeckB[i].sprite = carta_vacia;
}


con eso creo las 60 cartas con sprites predefinidos (de momento no me he puesto a leerlos). en la carta tengo:

obj_carta
create:
sprite = obj_controlador.carta_vacia;

la duda: a lo mejor no es necesario que en el create de la carta asigne eso, pero sí lo hago en otras partes y en ambas pasa lo mismo: da error al leer obj_controlador.carta_vacia. Por qué?

si no hiciera esa asignacion en el evento create, estaría bien ya que se asigna en el for anterior, o es necesario también en su create? en este caso, si no me equivoco, el valor dado a sprite en el for para cada carta sobreescribe el valor del evento create de cada carta, eso es así?
lo segundo es más pro saber, siempre lo he hecho así sin problema, la cosa es el primer error...
504
Preguntas y respuestas / Re:Balas de ametralladora
Noviembre 17, 2012, 09:39:43 PM
un método más sencillo sin alarmas

create del personaje:
delay = 0;

evento disparo (mouse click):
if (delay == 0) {instance_create(x, y, obj_bala); delay = 30;}

step:
if (delay > 0) delay -= 1;

al poner 30 al disparar, que son los steps que duran 1 segundo predefinido, disparará 1 bala por segundo como mucho. Si pones 15, 2 balas por segundo. Si pones 60, 1 bala cada 2 segundos, etc.
505
Nono, si lo que tú dices es la idea que tenía hasta ahora. En mi desarrollo actual, cuando un usuario reta a otro a una partida de cartas, crea un tema, yo posteo en el tema, posteo el CAMPO DE BATALLA con casillas para poner cartas, y mediante un sistema molón que descubrí de casualidad, consigo aplicar las 60 cartas una encima de otra.
Entonces,  cuando le toca al usuario, puede ir arrastrando las cartas MIENTRAS EDITA EL POST (en el propio post el html se realiza, no es como aquí que hay que usar <img>, , etc, allí en tu propio post, mientras escribes, todo sale hecho). entonces tú vas escribiendo tu turno (robo tal carta, juego tal carta) mientras modificas el campo y envías.
Como la realidad, los usuarios tienen que ir recordando lo sucedido, o leyéndolo, conque lo que tú dices ya lo tengo. Precisamente como ya lo tenía, quería ir un paso más allá y mejorarlo.
Un fallo principal era: las cartas son miniaturas, para poder verlas todas están reducidas, y para verlas a tamaño completo hay que hacerle click. Si lo hiciera en game maker, podría hacer que al pasar por encima mostrara la carta. No, eso no puedo hacerlo en el foro, creéme he provado de todo.

Si lo hago en GM, a demás se guardará la vida y las variables de cada carta siempre para consultarlo. A demás, en GM puedo hacer que la baraja sea barajada al azar. En el foro la baraja no puede ser barajada por el usuario, sólo por mí al comienzo, conque no puedo hacer cosas de "coge tal carta de tu baraja y luego barájala".

COmo ves, en GM gano MUCHO, a demás de que el planteamiento es el mismo: el usuario va escribiendo lo que hace (y el propio GM tambien escribe lo que tu haces) pero todo se lleva automaticamente (aunque igualmente tu tienes que hacerlo todo), esa es la gracia, mejorar la experiencia. Lo único complicado sería ir pasando los savegames.


o sea, la cosa es que ya lo hago todo en el FORO, y quería aprovechar mis conocimientos en Game Maker para automatizar todo lo posible. Lo que dices de Ogame no sería posible, no tengo ni idea de programar para páginas web ni tengo ahora mismo el tiempo para aprender, en cambio en GM sería sencillo pues lo tengo todo muy pensado y aprendido
.
506
pues en este caso la única solución posible, si es imposible que GM comunique con una web, sería que el usuario se descargara todas las imágenes en rar, descomprimiera y... eso. Quizás, como cada carta pesa maximo 120 KB, y como mucho habrá 200 cartas o más, pues podría tardarle poco en descargar, podría ser algo pesado pero sobrellevable.  Y cada vez que edite una carta avisar para que se descarguen otra vez, pero en este caso sólo un paquete de cartas y no todos.
Y me sigue jodiendo que los usuarios de Linux y tal no podrían jugar, aunque fueran pocos.
Tsss, este tema me tiene loco xD bueno, supongo que el tema de cargar una imagen desde un link está solucionado, no se puede. Me plantearé hacer lo que dije y si es viable, gracias ^^
507
y no se puede hacer de alguna forma una captura de esa pantalla y guardarla igual que capturarías la pantalla de cualquier juego? luego esa captura puede desplazarse un poco y recortarla, o sea, coger solo una parte...
508
hmm.. al hacer splash_show_web con la url de la imagen me aparece la carta, si hay alguna forma de capturar esa carta y guardar su imagen de forma automatica en una variable sería problema solucionado, pero estoy trasteando y no lo lgro  :-[
509
le doy vueltas y es la unica manera, no puedo decirle al usuario que se descargue las imágenes, y si las actualizo es un jaleo. Con esto aunque las actualice da igual pues se descargarán en cada sesion. En ese caso miraré la dll y la probaré, pero no me dijiste su nombre!

-y por lo de los problemas, sin esa dll qué otra solución habría en la que el usuario NO DEBA descargar nada? Sería demasiadas cosas, la idea es que el propio Game Maker descargue la imagen de tal link, luego la subo con sprite_add y luego la borro de la carpeta (o sea, no dejar lo descargado ahí!)
510
Noticias / Re:Bienvenidos a la Nueva CGM
Noviembre 16, 2012, 01:09:38 PM
Cómo van los puntos? porque puntué a 12 el tema de "Como funciona este tema" de Fenris, y me quedé sin puntos xD
o sea, cada cuánto tiempo/número de posts regeneras puntos y cuántos puntos? para tener claro no darlos todos y gestionarlos xD
y  cómo podemos ver nuestros temas donde nos han dado puntos? que tengo 4 puntos y estoy "cómorl?! dónde?!"