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

21
Preguntas y respuestas / Extensiones en game maker
Julio 26, 2014, 05:26:08 PM
Me he fijado en la página: http://docs.yoyogames.com/source/dadiospice/001_advanced%20use/extensions/creating%20extensions.html que muestra como colocar una extensión.

Quise hacer una en JS con el siguiente contenido:

function A(x)
{
return(x*x);
}




En game maker cree una extención, luego le agrege un archivo (el JS anterior) sin llenar los campos "Init Funtion" y "Final Funtion" y, finalmente cree una función llamada "MiFuncion" llenando el campo External Name con "A" (nombre de la función de JS) y en el argument0 le puse "double".

ahora cree un objeto para que llame a la función "MiFuncion" pero no pasa nada.. por qué?
22
Preguntas y respuestas / javascript en GMS
Julio 25, 2014, 03:23:11 PM
Hola. Tengo una plataforma educativa en moodle. La idea que tengo hace una especie de evaluación a modo de juego (con game maker) pero necesito enviarle la calificación al alumno por medio de un código de javascript.
Mi pregunta es como puedo ejecutar código de javascript en :GMS:
23
Preguntas y respuestas / Videojuego en Facebook
Julio 08, 2014, 01:29:29 AM
Como puedo hacer para que mi videojuego este en facebook.

Más precisamente quiero hacer que el jugador pueda entrar con su cuenta y que guarde su estado personal para que cuando lo vuelva a jugar quede en el ultimo nivel que visito.

Me explico?
24
Preguntas y respuestas / Curso de Videjuegos
Abril 14, 2014, 05:36:26 PM
Hola.
Junto con un amigo vamos a dar un curso de creación de video juegos y como el único programa que se usar bien es el game maker 8.0 pensé que seria bueno que mis futuros alumnos terminen haciendo un juego.
Pero ahora es donde esta mi problema. Debido a que no tengo la licencia para cada alumno no supongo que estaría mejor enseñarle game maker 8.0 PRO y claro que tiene algunas desventajas por eso  quiero saber que juegos "muy, muy simples" podría hacer para el curso.
:P A mi se me ocurrió el "flappy bird", image_angle no esta en la versión PRO pero me las arreglo rotando el sprite.
Quisiera algunas ideas para tener más opciones.
Recuerden que es un curso y el juego tiene que ser de lo mas sencillo posible.  ;D
25
Preguntas y respuestas / Base de datos SQL Server
Enero 31, 2014, 04:18:38 AM
Existe algún DLL o alguna otra forma de guardar y traer datos de una base de datos creada en SQL Server?
26
Preguntas y respuestas / Rotacion en 3D
Enero 31, 2014, 02:26:26 AM
Tengo una esfera y quiero "girarlo" con el museo. Como el mouse solo se mueve en la coordenada X e Y lo que quiero hacer es rotal el plante solo en 2 coordenadas para ello use este código:


if mouse_check_button(mb_left)
{
RotX=x-mouse_x;
RotY=y-mouse_y;
}

draw_set_color(c_white);
d3d_transform_set_identity();

d3d_transform_add_rotation_x(RotX);
d3d_transform_add_rotation_x(RotY);

d3d_transform_add_translation(x,y,z);

d3d_draw_ellipsoid(-100,-100,-100,100,100,100, background_get_texture(background0) ,1,1,30);

d3d_transform_set_identity();


Esto no me da el resultado que quiero.

Se entiende lo que quiero hacer y lo que esta saliendo mal?
27
Preguntas y respuestas / Colisión circular
Noviembre 18, 2013, 01:40:53 AM
Quería hace una colisión para un juego de zombis pero tengo un par de problemas.

- Cuando se crea un nuevo zombi los demás se tiene que hace a un lado.
- Cuando existen muchos zombis la precion hace que se junten de más

Adjunto el editable.
28
Preguntas y respuestas / 39DLL problema con pueto
Noviembre 06, 2013, 04:01:32 PM
Quiero hacer un juego son un servidor y solo un cliente.
Cuando el cliente se conecta se ejecuta el código:


socket = tcplisten(1471,2,1);

if (socket<0)
{
show_message("Error escuchando en el puerto indicado.");
game_end();
break;
}

global.Servidor = true;


El servido tiene la posibilidad de cancelar la espera que realiza para conectarse con el cliente. Pasa ello uso:

if (Opcion=="Cancelar")
{
closesocket(socket);
instance_destroy();
}


El problema sucede cuando el servidor intenta "esperar" de vuelta al cliente. Me salta un "error" con el mensaje: "Error escuchando en el puerto indicado."
Es porque cuando se creo un nuevo socket este me devuelve un valor negativo indicando que no pudo conectarse con el puerto que anteriormente si pude acceder.

Entonces supongo que el código:
closesocket(socket);
no funciona como creía que lo hacia.

Como puedo solucionarlo?
29
Propuestas y soporte / SCRIPT & LIV
Agosto 01, 2013, 04:37:24 PM
En CGM exite un lugar donde postear los script pero no exite un lugar donde postear los liv.
Podria ponerlo en el mismo lugar?
30
Desarrollo de Scripts / draw & depth
Julio 11, 2013, 11:05:52 PM
Nombre del creador: romon_28.

Breve descripción de su función: Dibuja un sprite con profundidad (depth)

Versión GM utilizada:   :GM6: :GM7: :GM8:

Código del Script "draw_sprite_ext_depth()":
/*

draw_sprite_ext_depth(sprite,subimg,x,y,xscale,yscale,rot,color,alpha,depth);
Igual que draw_sprite_ext() pero incluyendo el depth.

Nota: Se puede usar fuera del evento draw.
*/

if !variable_global_exists("Depth_RoMoN_")
{
global.Depth_RoMoN_=object_add();
object_event_add(global.Depth_RoMoN_,ev_create,0,
"
  L_Dw=ds_list_create();
");
object_event_add(global.Depth_RoMoN_,ev_draw,0,
"

if (ds_list_size(L_Dw)==0)
{
  instance_destroy();
  ds_list_destroy(L_Dw);
  exit;
}

for(i=0;i<ds_list_size(L_Dw);i+=9)
{
  Sp=ds_list_find_value(L_Dw,i+0);
  IS=ds_list_find_value(L_Dw,i+1);
  X =ds_list_find_value(L_Dw,i+2);
  Y =ds_list_find_value(L_Dw,i+3);
  XS=ds_list_find_value(L_Dw,i+4);
  YS=ds_list_find_value(L_Dw,i+5);
  Rt=ds_list_find_value(L_Dw,i+6);
  Cl=ds_list_find_value(L_Dw,i+7);
  Ap=ds_list_find_value(L_Dw,i+8);
  draw_sprite_ext(Sp,IS,X,Y,XS,YS,Rt,Cl,Ap);
}

ds_list_clear(L_Dw);
"
);
}

with(global.Depth_RoMoN_)
{
if (depth==argument9)
{
  sprite_index=argument0;
  for(i=0;i<9;i+=1)
  {
   ds_list_add(L_Dw,argument[i]);
  }
  exit;
}
}

with(instance_create(0,0,global.Depth_RoMoN_))
{
depth=argument9;
for(i=0;i<9;i+=1)
{
  ds_list_add(L_Dw,argument[i]);
}
}


Esto es una idea basica. Se podria implementar todos los codigos de dibujo (draw) como el mismo esquema, solo abria que hacer unos retoque pero no he tenido ganas. Al final solo hice este script a modo de ejemplo.
31
Preguntas y respuestas / DLL C#
Julio 04, 2013, 03:34:10 PM
Intente crear una DLL y ejecutarlo con game maker.
Al la DLL lo hice en C#.
Y me salto un error: "Error defining an external function".
Mi pregunta es si game maker permite usar una DLL creadas en c# o soy yo quien hizo algo mal.
32
Preguntas y respuestas / 36DLL varios clientes
Junio 29, 2013, 05:59:24 PM
Necesito un ejemplo donde una cantidad "x" de clientes pueda unirse a una partida.
Vi en el foro que alguien pregunto sobre 4 jugadores que se quieren unir a una partida, pero tiene que unirse los 4 si o si. Lo que no me gusto del ejemplo es que tiene 1 "Objeto" por cada cliente en vez de una instancia, lo que hace dificil entenderlo ya que los mensajes, tanto los enviados como de resividos, te marean.
33
Preguntas y respuestas / 39dll sendmessage
Junio 27, 2013, 02:57:52 PM
Teniendo una maquina como servidor que le quiere enviar el mismo mensaje a todos sus clientes, pera ello uso el script "sendmessage". Pero tengo dudas con respecto a su utilidad.

Tengo 2 opciones:

1)

for(i=0;i<CantClientes;i+=1)
{
  clearbuffer();
  writebyte(1);
  writeuint(x);
  writeuint(y);
  sendmessage(global.Clientes[i]);
}


2)
  clearbuffer();
  writebyte(1);
  writeuint(x);
  writeuint(y);
  for(i=0;i<CantClientes;i+=1)
  {
   sendmessage(global.Clientes[i]);
  }

Se que la 1º opcion funciona, pero quiero saber si la segunda es una opcion valida para enviar los datos que se requiere.
34
Preguntas y respuestas / Buscar servidores
Junio 13, 2013, 03:07:44 PM
En un juego en red (LAN) como identifico al/los servidor/es de forma automatica utilizando el 39DLL?
35
Preguntas y respuestas / draw_blend_mode_ext
Junio 12, 2013, 04:27:28 PM
draw_blend_mode_ext
como funsiona?
36
Preguntas y respuestas / Colores iguales
Junio 10, 2013, 06:13:02 PM
en los colores:

Siendo Rojo el 1º valor, Azul el 2º valor, Verde el 3º valor, Trasparencia el 4º valor:
porque
1 1 1 0 = 0 0 0 0 ?
37
Preguntas y respuestas / Probleca con prioridad
Mayo 22, 2013, 04:48:08 AM
Hice un juego que tiene prioridad por sobre casi todas las cosas en cuanto a proceso. Es decir que la ventana de mi juego siempre esta al frente de todas las otra ventanas que podria tener abiertas.

Como hago para que no suceda eso?
38
Preguntas y respuestas / get_save_filename
Mayo 15, 2013, 03:50:09 PM
Quiero saber como puedo hacer para que con el metodo "get_save_filename" pueda comenzar en un directorio espesifico (ejemplo: working_directory+"\MiCarpeta\") sin colocar un posible nombre.

Esto quiero hacer algo asi:
get_save_filename("Bloc de Notas  (*.txt)|*.txt",working_directory+"\MiCarpeta\");

y no algo como esto:
get_save_filename("Bloc de Notas  (*.txt)|*.txt",working_directory+"\MiCarpeta\Nombre_Archivo");
39
Desarrollo de Scripts / TextBox (Caja de Texto)
Marzo 04, 2013, 04:58:51 PM
Nombre del creador: romon_28.

Breve descripción de su función: Simula una textbox (caja de texto).

Versión GM utilizada:   :GMS:

Código del Script "Crear_TextBox( x, y, Texto)":
///Crear_TextBox( x, y, Texto)
var Id = instance_create(argument0,argument1,Obj_TextBox);
with(local.Id){RMN_T=argument2;}
return(Id);


Código del Script "Crear_TextBox_ext( x, y, Texto, Digitos Maximos, Color Normal, Color Seleccionado, Fuente,Sprite)":
///Crear_TextBox_ext( x, y, Texto, Digitos Maximos, Color Normal, Color Seleccionado, Fuente,Sprite);
var Id = instance_create(argument0,argument1,Obj_TextBox);
with(local.Id)
{
RMN_T = argument2;
RMN_Largo = argument3;
RMN_ColorNormal = argument4;
RMN_ColorSelec = argument5;
RMN_Fuente = argument6;
sprite_index = argument7;
}
return(Id);


Código del Script "Atributos_TextBox()":
///Atributos_TextBox()

/* Indica si el usuario puede escribir */
RMN_Foco = false;
/* Texto del TextBox */
RMN_T = "";
/* Logitud maxima del texto del TextBox */
RMN_Largo = 512;
/* Color del texto sin foco */
RMN_ColorNormal = c_black;
/* Color del texto con foco */
RMN_ColorSelec = c_black;
/* Fuente del texto */
RMN_Fuente = noone;











//No modificar
RMN_Ubic=0;RMN_De="";RMN_A=RMN_De;RMN_Parp=RMN_Ubic;RMN_KeyPress=noone;RMN_KeyTiempo=RMN_Ubic;


Código del Script "Draw_TextBox()":
///Draw_TextBox()

//Dibujamos el TextBox
draw_set_color(RMN_ColorNormal);
draw_set_font(RMN_Fuente);
draw_set_halign(0);
draw_set_valign(1);

/////////////////////////
/////////////////////////

draw_text(x-50,y, string(RMN_Foco) );

if RMN_Foco
&& !keyboard_check_pressed(vk_enter)
{
with(object_index){if (id!=other.id) {RMN_Foco=false;};RMN_NoTab=true;}

RMN_B1=0;RMN_B2=RMN_B1;

if RMN_T==""{RMN_Ubic=0;}
//Ubicacion
  //Mouse

 
if mouse_check_button_pressed(mb_left)
{
  var H;H=string_height("|�AT1_jpgq1")/2;
  if mouse_y>=y-H&&mouse_y<=y+H
  {
   var i;for(i=0;i<string_length(RMN_T);i+=1;)
   {
    if string_width( string_copy(RMN_T,0,i) ) > (mouse_x-x) {i-=1;break;}
   }
   RMN_Ubic = i;
  }
}

//Key
if keyboard_check_pressed(vk_right)
|| (RMN_KeyPress==vk_right && RMN_KeyTiempo == 15)
{
  if RMN_KeyPress!=vk_right{RMN_KeyTiempo = 0;}
  RMN_KeyPress = vk_right;
  RMN_Ubic=min(RMN_Ubic+1,string_length(RMN_T));
}
if keyboard_check_pressed(vk_left)
|| (RMN_KeyPress==vk_left && RMN_KeyTiempo == 15)
{
  if RMN_KeyPress!=vk_left{RMN_KeyTiempo = 0;}
  RMN_KeyPress = vk_left;
  RMN_Ubic=max(RMN_Ubic-1,0);
}

//Borrado
if keyboard_check_pressed(vk_backspace)
|| (RMN_KeyPress==vk_backspace && RMN_KeyTiempo == 15)
{
  if RMN_KeyPress!=vk_backspace{RMN_KeyTiempo = 0;}
  RMN_KeyPress = vk_backspace;
  RMN_B1=1;
  keyboard_string="";
}

if RMN_Ubic<string_length(RMN_T)
&& (keyboard_check_pressed(vk_delete)
|| (RMN_KeyPress==vk_delete && RMN_KeyTiempo == 15))
{
  if RMN_KeyPress!=vk_delete{RMN_KeyTiempo = 0;}
  RMN_KeyPress = vk_delete;
  RMN_B2=1;
  keyboard_string="";
}

if (RMN_KeyPress!=noone)
{
  if (keyboard_check(RMN_KeyPress))
  {if RMN_KeyTiempo<15{RMN_KeyTiempo+=1;}}
  else
  {RMN_KeyPress=noone; RMN_KeyTiempo=0;}
}

//Adherir
RMN_De=string_copy(RMN_T,0,max(RMN_Ubic-RMN_B1,0));

if keyboard_string!=""
|| RMN_B1==1
|| RMN_B2==1
{
  RMN_A=string_copy(RMN_T,RMN_Ubic+1+RMN_B2, string_length(RMN_T)-RMN_Ubic);
 
  var T;
  T = RMN_De+keyboard_string+RMN_A
 
  if string_length(T)<RMN_Largo {RMN_T=T;}else{RMN_Ubic=max(RMN_Ubic-1,0);}

   
  if RMN_B1==0
  {
   if RMN_B2==0 {RMN_Ubic=min(RMN_Ubic+1,string_length(RMN_T));}
  }
  else
  {RMN_Ubic=max(RMN_Ubic-1,0);}

  RMN_De=string_copy(RMN_T,0,RMN_Ubic);
  RMN_Parp=2;
}

//Dibujar
draw_set_color(RMN_ColorSelec);
draw_text(x,y,RMN_T);


if round(RMN_Parp)>=1
{
  draw_text(x+string_width(RMN_De),y-2,"|");
  draw_text(x+string_width(RMN_De),y+2,"|");
}

if RMN_Parp>=1.2
{
  RMN_Parp-=.025;
}
else
{
  RMN_Parp+=.025;
  if RMN_Parp>=1 {RMN_Parp=0;}
}

keyboard_string="";
}
else
{
if keyboard_check_pressed(vk_enter){RMN_Foco = false;}
 
draw_text(x,y,RMN_T);
}


Código del Script "Dar_Foco_TextBox()":
///Dar_Foco_TextBox(Objeto_TextBox)
with(object_index){RMN_Foco=false;RMN_NoTab=false;}
RMN_Foco = true;


[-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-]
[Version anterior]
[-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-][-]

Nombre del creador: romon_28.

Breve descripción de su función: Simula una textbox (caja de texto).

Versión GM utilizada:   :GM6: :GM7: :GM8:

Código del Script "Crear_TextBox()":
/*
Crear_TextBox():  Retorna la Id de la TextBox creada.
Uso:
  TextBox1 = Crear_TextBox();
*/

if (!variable_global_exists("RMN_TextBoxSelec"))
{
global.RMN_TextBoxSelec = noone;
global.RMN_TextBoxIdAsing = 0;
}
else
{
global.RMN_TextBoxIdAsing += 1;
}

global.RMN_T[global.RMN_TextBoxIdAsing] = "";
RMN_Ubic = 0;
RMN_De = "";
RMN_A = "";
RMN_Parp=0;

global.RMN_TextBoxId = global.RMN_TextBoxIdAsing;
return(global.RMN_TextBoxId)


Código del Script "Foco_TextBox(id)":
/*
Foco_TextBox(id);
*/
global.RMN_TextBoxSelec = argument0;
keyboard_string="";
RMN_Parp=2;


Código del Script "Perder_Foco_TextBox()":
global.RMN_TextBoxSelec = noone;

Código del Script "get_Foco_TextBox(id)":
/*
get_Foco_TextBox(id)
*/
return (global.RMN_TextBoxSelec==argument0);


Código del Script "get_Texto_TextBox(id)":
/*
get_Texto_TextBox(id)
*/
return (global.RMN_T[argument0])


Código del Script "Draw_TextBox(id,x,y,ColorFoco,Maxim. Caracteres);":
/*
Draw_TextBox(id,x,y,ColorFoco,Maxim. Caracteres);
Uso:
  Draw_TextBox( TextBox1 , x , y , c_red , 12 );
*/

if global.RMN_TextBoxSelec==argument0
&& !keyboard_check_pressed(vk_enter)
{
RMN_B1=0;
RMN_B2=0;

if global.RMN_T[argument0]=="" {RMN_Ubic=0;}


//Ubicacion
  //Mouse

 
  if mouse_check_button_pressed(mb_left)
  {
   var H;
   H=string_height("|ÁAT1_jpgq1")/2;
   if mouse_y>=argument2-H
   && mouse_y<=argument2+H
   {
    var i;
    for(i=0;i<string_length(global.RMN_T[argument0]);i+=1;)
    {
     if string_width( string_copy(global.RMN_T[argument0],0,i) ) > (mouse_x-argument1)
     {
      i-=1
      break;
     }
    }
    RMN_Ubic = i;
   }
  }

  //Key
  if keyboard_check_pressed(vk_right) {RMN_Ubic=min(RMN_Ubic+1,string_length(global.RMN_T[argument0]));}
  if keyboard_check_pressed(vk_left ) {RMN_Ubic=max(RMN_Ubic-1,0);}

//Borrado
if keyboard_check_pressed(vk_backspace)
{
  RMN_B1=1;
  keyboard_string="";
}

if keyboard_check_pressed(vk_delete)
{
  RMN_B2=1;
  keyboard_string="";
}

//Adherir
RMN_De=string_copy(global.RMN_T[argument0],0,max(RMN_Ubic-RMN_B1,0));

if keyboard_string!=""
|| RMN_B1==1
|| RMN_B2==1
{
  RMN_A=string_copy(global.RMN_T[argument0],RMN_Ubic+1+RMN_B2,string_length(global.RMN_T[argument0])-RMN_Ubic);
 
  var T;
  T = RMN_De+keyboard_string+RMN_A
 
  if string_length(T)<argument4 {global.RMN_T[argument0] = T};

   
  if RMN_B1==0
  {
   if RMN_B2==0 {RMN_Ubic+=1;}
  }
  else
  {RMN_Ubic=max(RMN_Ubic-1,0);}

  RMN_De=string_copy(global.RMN_T[argument0],0,RMN_Ubic);
  RMN_Parp=2;
}

//Dibujar

draw_set_color(argument3);
draw_text(argument1,argument2,global.RMN_T[argument0])


if round(RMN_Parp)>=1
{
  draw_text(argument1+string_width(RMN_De),argument2,"|");
  draw_text(argument1+string_width(RMN_De)+1,argument2,"|");
}

if RMN_Parp>=1.2
{
  RMN_Parp-=.025;
}
else
{
  RMN_Parp+=.025;
  if RMN_Parp>=1 {RMN_Parp=0;}
}

keyboard_string="";
}
else
{
if keyboard_check_pressed(vk_enter){Perder_Foco_TextBox();}

draw_text(argument1,argument2,global.RMN_T[argument0]);
}


Nota: El metodo no dibuja la textbox (sprite) solo su contenido. No esta completo al 100% pero suficiente para un juego simple. Si mas de una persona me pide que lo termine lo voy a hacer, de otro modo lo dejare haci como esta. Preferentemente quisiera algo de credito en el juego que use estos metodos pero ustedes deciden.

Sobre la descargas:
La 1º descarga contiene los metodos anteriores.
El 2º contiene un mini ejemplo de lo que se puede hacer, este ultimo tambien contiene otros metodos que no son parte del mismo y no son obligatorios.
*Añadi una 3º descarga con un ejemplo un poco mas simple. Espero que le tiendan  :D
40
Preguntas y respuestas / Camara en 3D
Febrero 18, 2013, 11:07:09 PM
Tengo un editor 3D, y necesito hacer una cama como la que tiene anim8or. Como lo hago? o como puedo Buscarlo?

Nota: si no saben que es anim8or no es necesario su comentario.

Gracias!!!