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.

Temas - kostra

61
GM siempre me hace trolleadas máximas...


Que alguien me diga... por qué creo un objeto, le asigno un sprite mirándo a la derecha con su origin donde debe de estar (no empecé ayer con GM...) en create le pongo
[gml]direction = point_direction(x,y,algo.x,algo.y);
speed = 4;
image_angle = direction;[/gml]
[spoiler="imagen"][/spoiler]

inclusive poniendo esa última linea en step, probando, por si acaso... y el objeto va a ese algo.x algo.y pero la imagen se rota donde le da la gana??

me lo explica alguien?!! T_T
62
Wenas, como nunca he usao surfaces, poco sé xD, siguiendo tuto tengo un dibujado de oscuridad con las antorchas, lo más básico supongo, pasa que, las antorchas se mueven al ser un scrolling y por abajo, hay unas instancias y quisiera que se viesen encima, ya sea la instancia en sí con su sprite, o dibujándolo con draw, como sea, yo solo quiero evitar esto:


el código que uso para la oscuridad y tal es el siguiente:

en el ocontrolador...

create:
[gml]globalvar dark;
dark = surface_create(room_width,room_height);[/gml]

draw_end:
[gml]surface_set_target(dark);
draw_clear(c_black);
with otorch {
    draw_sprite(storchlight,irandom(1),x+10*image_xscale,y+6);
    }
draw_set_alpha(0.8);
surface_reset_target();
draw_surface(dark,0,0);
draw_set_alpha(1);[/gml]
63
Pregunta algo estúpida, pero es que no acostumbro a usarlos por eso no zé :B

Quiero en un objeto ponerle un path (que será aleatorio) y cuando termine este path, se ponga otro (que también será aleatorio) y así sucesivamente hasta el infinito y más allá. Sé poner aleatorio, pero no sé eso de "cuando termine" vuelva a ejecutar la linea de path aleatoria, solo es eso :P

Achia :B
64
wenas, ahora es cuando me estoy acostumbrando más en tener mi propio set de script para facilitarme el trabajo futuro... el caso es que tengo un script para hacer un botón simple con image scale que es el siguiente:
[gml]///button()
/*
el origin del sprite necesita estar CENTRADO!!

ejemplo de buen uso: if button() { lo que hace al clickar el botón }
*/

if mouse_check_button_pressed(mb_left)
{
    if mouse_x >= x-(sprite_width/2) and mouse_x < x+(sprite_width/2) and mouse_y >= y-(sprite_height/2) and mouse_y < y+(sprite_height/2)
    {
        image_xscale = 0.9;
        image_yscale = 0.9;
    }
}
else if mouse_check_button_released(mb_left)
{
    if mouse_x >= x-(sprite_width/2) and mouse_x < x+(sprite_width/2) and mouse_y >= y-(sprite_height/2) and mouse_y < y+(sprite_height/2)
    {
        image_xscale = 1;
        image_yscale = 1;
        return true;
    }
    else
    {
        image_xscale = 1;
        image_yscale = 1;
    }
    return true;
}[/gml]

el problema es que, tengo varios botones, el cual cito uno, step:
[gml]if button() {
    oplayer.num = num;
    oplayer.shot = 1;
    }[/gml]

pero pasa que, uso el mismo script para varios botones con distinta variable "num" para asignarle al player, pero parece ser, que cuando retorna true en uno lo retorna en todos, eso porké? hago un mal uso de los scripts seguro, pero cuál? cómo arreglo esto para que pueda usar este script en varias INSTANCIAS y solo me retorne en ella?

porque por ejemplo, en un botón tengo esto:
[gml]if button() {
    oplayer.num = num;
    oplayer.shot = 1;
    show_message("hola");
    }[/gml]

el show_message solo lo tengo en UN BOTON pero si pulso otro me sale igual :S

y no, ninguno está emparentado en nada.

Grachie :B
65
Wenasss ootra vez xD

Estoy haciendo unos scripts para hacer swipe que en teoría lo tenía bien, y no sé si falla el script u otra cosa en el juego que ando usándolo... para el que no sepa, swipe es cuando pulsas la pantalla con el dedo y lo arrastras a una direción (deslizar dedo :B)

Voy a poner todo lo que tengo primero y luego digo qué pasa..

script "swipe_create" para inicializar variables que uso:
[gml]globalvar swpdist;
globalvar swpxswipe;
globalvar swpyswipe;
globalvar swpdir;
globalvar swpswiping;

swpdist = argument0;
swpxswipe = 0;
swpyswipe = 0;
swpdir = 0;
swpswiping = false;[/gml]

script swipe_step:
[gml]

if mouse_check_button_pressed(mb_left) { //si pulsamos
    swpswiping = true; //se activa el swipe
    swpxswipe = mouse_x;
    swpyswipe = mouse_y; //y se guardan las coordenadas iniciales para previamente comparar la distancia
    }
if mouse_check_button_released(mb_left) { //si dejamos de pulsar (para el caso de que pulsemos sin mover el dedo)
    swpswiping = false; //se desactiva el swipe
    swpdir = 0; //se resetea la dirección del swipe
    }


if swpswiping == true { //si el swipe está activado
    direction = point_direction(swpxswipe,swpyswipe,mouse_x,mouse_y); //se va asignando la dirección a la que va el dedo a partir de las coordenadas de inicio y las coordenadas donde se situa el dedo en el preciso momento
    if (direction >= 315 and direction < 360) or (direction > 0 and direction < 45) swpdir = 4; //dirección = derecha
    if direction >= 45 and direction < 135 swpdir = 1; //dirección = arriba
    if direction >= 135 and direction < 225 swpdir = 3; //dirección = izquierda
    if direction >= 225 and direction < 315 swpdir = 2; //dirección = abajo

    if point_distance(swpxswipe,swpyswipe,mouse_x,mouse_y) > swpdist { //si la distancia entre las coordenadas de inicio y las coordenadas del dedo actuales es mayor a la distancia límite
        swpswiping = false; //se desactiva el swipe
        return swpdir; //retorna la dirección (1=arriba;2=abajo;3=izquierda;4=derecha)
        }
    }
else //si el swipe no está activado
    return 0; //retorna 0 como dirección, que equivale a nada, así que nada hará[/gml]

entonces, tengo un objeto el cual llamaré a estos scripts para darle un movimiento de deslizado, el objeto es un cubo de hielo, así que pueden imaginarse un poco...

create:
[gml]swipe_create(32);[/gml]

step:
[gml]///swipe
op = 0;
if speed == 0
    op = swipe_step();
switch op {
    case 1:
        if place_free(x,y-1)
        vspeed = -8;
        break;
    case 2:
        if place_free(x,y+1)
        vspeed = 8;
        break;
    case 3:
        if place_free(x-1,y)
        hspeed = -8;
        break;
    case 4:
        if place_free(x+1,y)
        hspeed = 8;
        break;
    }[/gml]
[gml]///collisions

if vspeed < 0 {
    if !place_free(x,y-1)
        vspeed = 0;
    }
if vspeed > 0 {
    if !place_free(x,y+1)
        vspeed = 0;
    }
if hspeed < 0 {
    if !place_free(x-1,y)
        hspeed = 0;
    }
if hspeed > 0 {
    if !place_free(x+1,y)
        hspeed = 0;
    }[/gml]

en ese último código es donde creo, yace el problema, cabe destacar que así se ha quedado después de varias ediciones, así que quizás antes lo tenía mejor que ahora xD

El problema es que, hago un swipe jugando, para la derecha por ejemplo y ok, va a la derecha, colisiona con la pared y se queda quieto, ok... pero qué pasa? ya no puedo hacer más movimientos y no entiendo por qué... incluso he puesto un show_message(swpdir) para testear JUSTO antes del return swpdir; y me sale el mensaje, con la dirección que toca, pero o no me retorna, o el objeto se pasa el retorno por los huev... xD
66
Buenas de nuevo,hoy de racha, 3 temas tontos seguidos xD es lo que hay xD

El caso es, que desarrollando un script (que ya postearé para todos) me he encontrado con cosas raras que me hace pensar una cosa, que he comprobado y no sé si bien o no... mi pregunta es... en un script, cuando pasas por una linea de return, por ejemplo "return variable", el script se sigue ejecutando? he probado poner un show_message en la siguiente linea y no me sale, pero quiero asegurarme, porque a mí me parece extraño, y lo mismo no lo es, repito, solo quiero asegurarme xD
67
Hola, miren, trato de hacerme un diminuto script para debug pongo un ejemplo de algo que no funciona, pero para que me entiendan lo que pretendo.
[gml]variable = get_string("var","");
show_message(string(variable));[/gml]

obviamente, en el mensaje saldrá lo que escriba en el get_string... pero lo que quiero es, poner en el get_string el nombre de una variable, ya sea "obj_player.vida" o "puntos" siendo esta una global, por ejemplo, entonces en el message, me salga el valor de esta variable... se entiende? es posible?

Grachie :B
68
Buenas, supongo que ya habrán visto, que cuando instalas un juego de GM en el movil, les sale los permisos, y uno de ellos que siempre me sale es ese del título, pero, en la parte de permissions del GMS no dice nada de bluetooth... dónde puedo quitar eso? siempre lo pasé por alto pero ahora me apetece quitarlo, pues a menos permisos tenga, mejor para el público, además de que supongo me ahorrará en algo, grachia :B
69
Wenas, estoy montando un cochecito usando las físicas 2DBox, pero estoy en medio de un problema del que no consigo salir.
Tengo el coche montado, con su suspensión, sus ruedecitas, su control de rotación con vk_left/right y tengo la aceleración y marcha atrás con vk_up/down pero... las ruedas dan vueltas para aceleral y tal pero.. algo falla en los atributos de algunas partes porque el coche acelera lentísimo, digamos que las ruedas resbalan en el suelo, he probadobajar la fricción, pero no funciona, he probado subir la densidad de las piezas, pero tampoco me tira :S qué atributos he de tener encuenta para que acelere bien y me tire para ambas direcciones de una vez??? T_T
70
Preguntas y respuestas / Colocar objetos aleatoriamente
Diciembre 17, 2015, 12:00:44 PM
Miren, estoy haciendo un simple juego de memoria, el típico "memory" de juntar parejas. Y no se me ocurre una manera (facilita) de colocar las tarjetitas aleatoriamente en la cuadrícula

Tengo un objeto para cada tarjeta, se me ocurre alguna manera, pero es demasiado comerme la olla, seguro que hay alguna manera buena y eficaz :B


Grachie :B
71
Preguntas y respuestas / [Solucionado xD] fail compile
Diciembre 10, 2015, 08:17:08 PM
CitarFAILURE: Build failed with an exception.

* What went wrong:
A problem occurred configuring project ':com.mhplabs.lazykukii'.
> Could not resolve all dependencies for configuration ':com.mhplabs.lazykukii:_debugCompile'.
   > Could not find com.android.support:support-v4:23.0.1.
     Searched in the following locations:
         https://jcenter.bintray.com/com/android/support/support-v4/23.0.1/support-v4-23.0.1.pom
         https://jcenter.bintray.com/com/android/support/support-v4/23.0.1/support-v4-23.0.1.jar
     Required by:
         Default:com.mhplabs.lazykukii:unspecified

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.

BUILD FAILED

Total time: 11.929 secs
Create finished: 20:10:37

Cuál es el problema? xD
72
No entiendo qué es lo que pasa, traté de importar un archivo gm8 a gms pero me salía corrupto, entonces pensé... será que usa funciones obsoletas (aunque esto no debería ser problema, ya que lo suele importar de igual manera advirtiéndote de esto...).. así que le he dado un repaso completo a toooooodo el proyecto, que me he tardado 3 días de infierno letal xD
pero nada... me sigue sin importar...

Y si saben algúna otra manera de pasarlo a gms sin que haga falta otro tremendo infierno T_T si me lo pueden decir, estaré muy agradecido :B
73
Preguntas y respuestas / entero demasiado grande!
Diciembre 03, 2015, 09:23:36 PM
Hola, estoy haciendo un script donde entra un argumento STRING y devuelve un argumento REAL pero pasa que... el real que devuelve es demasiado grande, e informándome por la gmcyoyo, parece ser que hay un límite, entonces he pensado.. y si corto el numero y lo retorno por partes? pero pum... no se puede retornar más de un valor, si retorno varias veces, se suplanta y nos quedamos con el último trozo solamente...

Alguna solución??

Para que entiendan mejor... estoy haciendo un conversor de cadenas ascii a enteros binarios. Y en el test, poniendo "hola", retorna 7x4=28 cifras... imaginen si alguien pone "ola k ase? petar el GM o k ase?"


xDD
74
No entiendo qué tipo de "link de ejemplo" tengo que ponerles para que no me rechacen la cuenta!! :S

eso es todo...
75
Intercambio / Busco alguien que controle BIEN networking
Diciembre 02, 2015, 11:14:22 PM
reposteo el tema, pues creo que lo posteé en mal sitio ( http://www.comunidadgm.org/preguntas-y-respuestas/busco-alguien-que-controle-networking/ ) :

ola muy wenash, miren, se me ocurrió una ideilla para un proyecto, pero me limita no entender ni papa sobre networking (en todos mis intentos en todos estos años que llevo en gm, siempre fracasé en eso... incluso clonando exactamente proyectos que ya funcionaban xD)...

El caso es que busco a alguien que controls BIEN sobre el tema, para hacer juntos un proyecto conjunto a partir de mi idea (MP).
Lo más importante, es que en el engine, lo que necesita son conexiones entre dos dispositivos android, de forma aleatorio (buscar oponente...) me explico?
Además, tal y como he visto en absolutamente todos los ejemplos de networking y antiguo online tanto con extensiones antiguas y nuevas, siempre he visto objeto player, este proyecto no consta de un player principal, será de estrategia y no controlas un player, sino que tendrás un gui con tropas por así decirlo y las vas creando. Más info para el que esté interesado.

Muchas graciask :B

EDITO: una preguntita... hace falta hacer las cosas distintas en networking, o puedo ir empezando ya el proyecto como si fuese offline y después es fácil implementarle networking? :/
76
Pienso que estaría bien que en Marketplace, añadiesen la opción de comprar/vender assets a cambio de Bitcoins ( https://bitcoin.org/es/como-funciona ). He buscado en el foro de yyg y solo hay un post pidiendolo y rápidamente le han dicho que no está en sus planes y lo han denegado... Quisiera saber cuánta gente aquí está interesada... y en el caso de que seamos bastantes, volver a pedirlo, esta vez con más gente para mayor presión a yyg... a mí personalmente me vendría tan, pero taaaaan bieeen... Qué opinan?
77
Preguntas y respuestas / emm, array en ini?
Diciembre 01, 2015, 01:15:22 AM
Seguro que es una pregunta absurda que incluso podría resolver solo, pero toy drunken y me he estancado con esta estupidez, así que pregunto y pido perdón de antepierna xD

Cómo leches se guarda una array en un ini?, me he colapsado xD
78
Pregunta MUY simple.
[gml]obj = instance_create(x,y,obj_item)
obj.price = 10;[/gml]

Qué se ejecuta antes, la asignación de obj.price = 10;, o la verificación que ponga en el create de obj_item, algo así como "if price != 10 bla bla bla?


Espero se entienda..
79
General / posible bug?
Noviembre 24, 2015, 05:43:37 AM
No se si va bien aqui este tema...

El caso es... quisiera saber si a alguien le pasa y no solo a mí, pero pasa que en GMS, programando siempre tranquilamente, tecleando a la velocidad del rayo como todos xD... CASI SIEMPRE, cuando voy a escribir la función show_message, justo al escribir show, al pulsar el shift para poner el guión bajo/barrabaja, deja de escribir como si hubiese clickado fuera de la ventana, y a veces se lia parda y se me abre por ejemplo la ventana de "compra este modulo bla bla" y estoy 100% seguro que no es que le de sin querer al pad del pc... S-E-G-U-R-O

A alguien le ha pasado alguna vez?... repito, a mi CASI SIEMPRE y empieza a hartarme.. por eso posteo esto, para verificar si es un bug del programa y notificarlo a YYG...

Gracias.
80
Como nunca uso bucles ni arrays, pos los uso mal y ya juntándolos ni te digo xDDD

a ver.. primero creo una array de 23 al inicio del juego
for (i=0;i<23;i++)
{
    global.buffact[i] = false;
}

así se hace?? xD

entonces... en el evento draw (me es más cómodo ahora que el step)
rune = 0;
while (global.buffact[rune] == false and rune < 23)
{
    rune++;
};
switch rune
{
    case 0:
        runename = "FEHU";
        break;
    case 1:
        runename = "WUNJO";
        break;
    case 2:
        runename = "TEIWAZ";
        break;
    case 3:
        runename = "URUZ";
        break;
    case 4:
        runename = "THURISAZ";
        break;
    case 5:
        runename = "KENAZ";
        break;
    case 6:
        runename = "BERKANA";
        break;
    case 7:
        runename = "MANNAZ";
        break;
    case 8:
        runename = "ANSUZ";
        break;
    case 9:
        runename = "ISA";
        break;
    case 10:
        runename = "JERA";
        break;
    case 11:
        runename = "INGUZ";
        break;
    case 12:
        runename = "DAGAZ";
        break;
    case 13:
        runename = "ALGIZ";
        break;
    case 14:
        runename = "PERTHRO";
        break;
    case 15:
        runename = "LAGUZ";
        break;
    case 16:
        runename = "RAIDO";
        break;
    case 17:
        runename = "NAUTHIZ";
        break;
    case 18:
        runename = "HAGALAZ";
        break;
    case 19:
        runename = "SOWULO";
        break;
    case 20:
        runename = "EIHWAZ";
        break;
    case 21:
        runename = "EHWAZ";
        break;
    case 22:
        runename = "GEBO";
        break;
    case 23:
        runename = "OTHILA";
        break;
}


draw_set_colour(choose(c_green));
draw_text(8,8+(8*7),"RUNE: "+string(runename));

//ENEMY AND BOSS
////////////////

if room == rplay
or (!instance_exists(oen) and !instance_exists(oboss))
    exit;
if room == renemy
{
    draw_set_halign(fa_right);
    //VIT
    draw_set_colour(c_ltgray);
    if envit > 0
        draw_text(room_width-8,8+(8*1),"HP: "+string(ceil((envit*10)))+"/"+string(ceil(oen.enhpnow*10)));
    else
        draw_text(room_width-8,8+(8*1),"HP: 0/"+string(round(enhpnow*10)));
    //ATK
    draw_text(room_width-8,8+(8*2),"ATK: "+string(ceil(enatk)));
    //DEF
    draw_text(room_width-8,8+(8*3),"DEF: "+string(ceil(endef)));
    //DEX
    draw_text(room_width-8,8+(8*4),"DEX: "+string(ceil(endex)));
    //HP
    draw_text(room_width-8,8+(8*5),"HP: "+string(enhp));
}

Pero pum, me sale el error de array out of range!

Lo que trato de hacer es que analice la array numero por numero hasta toparse con un true y en cuanto encuentra un true, deja la variable rune en el numero que está, y así poder asignar el nombre que le pertoca a la variable runename.

PD: aunque al principio haya puesto todos en false, al ejecutarse ese código sí hay alguna en true, de echo están todas para el testeo, ya lo cambiaré :P en el momento del juego real sin testeo podrá haber UNA SOLA activada (true) o NINGUNA (false), en el caso de ninguna, el runename = "NOTHING";

a ver quien me instruye un poco con esto, he pasado todos estos años rodeado de ifs, podría hacer esto con millones de ifs, pero es lo que quiero evitar, hay que evolucionar xD