Comunidad Game Maker

Ayuda => Preguntas y respuestas => Mensaje iniciado por: Sivak en Enero 11, 2011, 12:38:26 AM

Título: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 11, 2011, 12:38:26 AM
hola queria saber como crear el efecto poison una vez que coliciono con un objeto y animar el efecto poison con particulas , y que un soldado que dispara automaticamente de prioridad por disparar al objeto que este mas cerca al final de path , espero puedan ayudarme con esto para finalizar mi juego >.<
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: lfcesar en Enero 12, 2011, 08:17:24 AM
add event -> colision -> al enemigo
en dentro del evento colision
vas en draw ->other-->create effect. ahi te sale por defecto explosion
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Hackware en Enero 12, 2011, 08:51:07 PM
?Qu? es el efecto Poison? A lo mejor pueda ayudar en algo. :)
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: brunoxzx en Enero 13, 2011, 12:41:19 AM
@Heackware creo que se refiere a un efecto de explosi?n pero de la manera que lo escribi? 2 veces es algo dudoso.

ahora no te puedo ayudar en lo de las explosiones ya que eso muchas veces es cuestion de gustos y es un poco tedioso, puedes checar este post tiene algunos efectos de explicones http://www.comunidadgm.org/index.php?topic=13736.0 (http://www.comunidadgm.org/index.php?topic=13736.0).

te dise?e este script que devuelve el ID del objeto que este mas cerca del final del path.
[gml]    /*argument0 objerto a checar
      argument1 numero de objeto a buscar 1 es el ma cerca del final
      del path, 2 es el segundo mas cerca del final, haci sigue la lista*/
    if instance_exists(argument0){
    var n,prioridad,final;
    n = argument1;
    n = min(max(1,n),instance_number(argument0));
    final=-4;
    prioridad = ds_priority_create();
    with (argument0) ds_priority_add(prioridad,id,path_position);
    repeat (n) final=ds_priority_delete_max(prioridad);
    ds_priority_destroy(prioridad);
    return cercano;}[/gml]
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 14, 2011, 11:00:29 PM
el efecto pison es el efecto de veneno es decir que baje cada determinado tiempo el hp mas no seguido despues de un choque con algun objeto aun sigo sin avanzar y brunoxzx muchisimas gracias tu scrip me sirvio si alguien ya me dice como envenenar algun objeto se los agradeceria , me falta solo eso el poder envenenar un objeto despues de un choque y animarlo con particulas si alguien sabe aunque sea solo envenenar o animarlaa les agradeceria la ayuda
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 18, 2011, 11:26:36 PM
estoy casi a punto de solucionar lo de las particulas pero necesoito ayuda puse que mi "soldado" cuando colisione con la "bala" tenga un test change de 10 y se envenene y se anime con particulas puse lo sigiente [gml]add_event (ev_step,ev_step_normal)("Sname = part_system_create();
particle1 = part_type_create();
part_type_shape(particle1,pt_shape_ring);
part_type_size(particle1,0.10,0.50,0,0);
part_type_scale(particle1,1,1);
part_type_color3(particle1,32768,246281,4227072);
part_type_alpha3(particle1,1,1,0);
part_type_speed(particle1,1,1,0,0);
part_type_direction(particle1,0,359,0,0);
part_type_gravity(particle1,0,270);
part_type_orientation(particle1,0,0,0,0,1);
part_type_blend(particle1,1);
part_type_life(particle1,10,20);
emitter1 = part_emitter_create(Sname);
part_emitter_region(Sname,emitter1,x,x,y,y,ps_shape_ellipse,1);
part_emitter_burst(Sname,emitter1,particle1,1);
")[/gml] pero me da error alguna idea plz?
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 20, 2011, 05:45:01 AM
ya medio modifique la cosa queda asi [gml]object_event_add (enemigo,ev_step,ev_step_normal,"
particle1 = part_type_create();
Sname = part_system_create();
part_type_shape(particle1,pt_shape_disk);
part_type_size(particle1,0.10,0.10,0,0);
part_type_scale(particle1,1,1);
part_type_color1(particle1,255);
part_type_alpha1(particle1,1);
part_type_speed(particle1,1,1,0,0);
part_type_direction(particle1,0,359,0,0);
part_type_gravity(particle1,0,270);
part_type_orientation(particle1,0,0,0,0,1);
part_type_blend(particle1,1);
part_type_life(particle1,60,60);
emitter1 = part_emitter_create(Sname);
part_emitter_region(Sname,emitter1,x,x,y,y,ps_shape_ellipse,1);
part_emitter_stream(Sname,emitter1,particle1,5);
")


[/gml] pero ahora me crea en todos los objetos iguales a este las particulas pero solo quiero que a este que colicione con la bala le salgan las particulasa siento que estoy mas cerca de la respuesta espero puedan apoyarme y si uso mal esta variante agradeceria que me corrigieran  :P
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: brunoxzx en Enero 20, 2011, 06:48:00 AM
en donde estas poniendo ese c?digo?
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 20, 2011, 07:44:30 PM
en el evento de colicion con la bala despues de un test chace con valor 10 , no lo pongo en step por que quiero que salgan las particulas despues del evento de colicion con un porcentaje , pero solo quiero un objeto no a todos los objetos del mismo nombre no se si me entiendas
Título: Re: efecto poison,prioridad a objeto adelantado en path
Publicado por: Sivak en Enero 21, 2011, 04:50:08 PM
ya lo solucione siempre la forma fue muy facil jajaj se los paso de todos modos con un EJEMPLO para que animen sus status efect con particulas osea veneno , lento , quemado , stun etc etc esto es lo que yo hice [gml]////colision con bala y probabilidad que se eventue  el efecto /////
r=round(random(9))
if (r == 1)
{
event_perform(ev_alarm,1)
}
////alarm1////
ponen el codigo  de sus status ya sea slow poison etc
event_perform(ev_alarm,2)

////alarm2////
"Sname = part_system_create();
particle1 = part_type_create();
part_type_shape(particle1,pt_shape_ring);
part_type_size(particle1,0.10,0.50,0,0);
part_type_scale(particle1,1,1);
part_type_color3(particle1,32768,246281,4227072);
part_type_alpha3(particle1,1,1,0);
part_type_speed(particle1,1,1,0,0);
part_type_direction(particle1,0,359,0,0);
part_type_gravity(particle1,0,270);
part_type_orientation(particle1,0,0,0,0,1);
part_type_blend(particle1,1);
part_type_life(particle1,10,20);
emitter1 = part_emitter_create(Sname);
part_emitter_region(Sname,emitter1,x,x,y,y,ps_shape_ellipse,1);
part_emitter_burst(Sname,emitter1,particle1,1);
"
set alarm 2 to 2
////// atencion/////
si usan generadores de particulas las particulas vendran como part_emitter_stream y hay que remplasar por part_emitter_burst es la clave

[/gml]