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

256
Joder. A mi me sucedio lo mismo con un juego. Pero no recuerdo como lo solucione.

Lo mismo esta por el foro la respuesta y la solucion de como lo hice.

Suerte!!!
257
Preguntas y respuestas / Re:AUDIO 3D en Android
Julio 06, 2017, 12:12:55 AM
Hostia tio. No habia caido. Pues si que funciona. Y perfectamente. Ya me extraba a mi, porque en windows si que va bien.

Entonces es mas bien de la arquitectura del movil.
Quizas en otro dispositivo como el Note si que tiene la posibilidad de reproducirlo.

Muchas gracias!!!  ;D

Cita de: Clamud en Julio 05, 2017, 07:05:42 PM
Tal vez solo funciona con auriculares.
258
Preguntas y respuestas / AUDIO 3D en Android
Julio 04, 2017, 12:57:15 PM
Buenas familia, pues tengo un problemilla.

Estoy usando algunos objetos con audio en 3d. Cuando lo pruebo en el ordenador (Windows), funciona perfectamente, el objeto pasa derecha a izquierda y el audio pasa del altavoz derecho al izquierdo. Todo perfecto,

Pero cuando lo pruebo en android, el objeto sonar suena, pero no hace el balance de derecha-izquierda y viceversa, siempre suena por el mismo altavoz, no se si en el caso de android esto no es posible, lo he probado con un samsung s3 y un s7. En los dos ocurre lo mismo.

Si alguien sabe algo que me comente please. Saludos y abrazos!!!!  ;D
259
Preguntas y respuestas / Re:COLISION CON SPRITE
Junio 28, 2017, 03:13:00 PM
Gracias brunos por responder.

Pero no es exactamente eso lo que necesito. No se si me he explicado mal.

El objecto player tiene su propio sprite. E indeoendientemente este dibuja otro sprite a parte del suyo propio, que es el de la linterna.

Entonces, como comprueba el enemigo si colisiona con el sprite linterna. (Que repito, no es el sprite del player, sino que el player dibuja este sprite en su draw independientemente del suyo)

Espero haberme explicado mejor ahora.

Saludos.

Cita de: brunoxzx en Junio 28, 2017, 01:20:07 AM
Un modo sencillo sería:
[gml]
var s=objecto_PLAYER.sprite_index;
objecto_PLAYER.sprite_index=sprite_LINTERNA;
if ( place_meeting(x, y, objecto_PLAYER ) ){
    //Evento Colision:
}
objecto_PLAYER.sprite_index=s;
[/gml]
260
Efectivamente. Eso hice. Dependiendo de la postura del player. El collision_line va medir en puntos diferentes. Y al parecer me funciona. Voy a probarlo a muerto, para ver si en algun momento falla. Pero parece que si, que funciona bien.

Muchas gracias a todos por vuestros consejos.  ;D

261
Bueno chiscos, gracias a todos por responder.

He probado el poderoso collision_line, y me he encontrado con lo siguiente.

El caso, es que cuando el player se agacha, tengo el punto y del sprite exactamente en la misma altura, de cuando el sprite del player esta de pie, lo unico que cambio es la mask del player.

Todo esto lo hice asi, para ajustar unos obstaculos que el player tenia que esquivar agachandose, y la verdad es que me quedo de maravilla.

Por eso, preferiria no cambiar ni los ajustes de los sprites de las mascaras.

Pero que ocurre, que el collision_line, no puede diferenciar la diferencia entre cuadno esta agachado o cuando esta de pie.
Entonces, la idea funciona, el enemigo no me ve si estoy detras de la caja, pero no distingue si estoy de pie o agachado, es decir, me ve, o no me ve, en los dos casos iguales por no poder diferenciar la altura del sprite.

Asi que, como puedo ajustar esto???

Alguna super idea???  :-[
262
Preguntas y respuestas / COLISION CON SPRITE
Junio 27, 2017, 09:12:48 PM
Buenas familia, otra vez ando por aqui.

Ahora traigo una duda, seguro que algunos sabreis como resolverlo.

El caso es que con un objecto, en el draw, dibujo un sprite_LINTERNA en concreto, con draw_sprite (etc,etc,)

La cuestion es la siguiente.

Con otro objecto_enemigo, podria comprobar la colision con el sprite_LINTERNA??? cuando este realmente no existe como objecto, ya que es el objecto_PLAYER el que lo dibuja desde el Draw????

No se si me he explicado, jejejeje.

Espero vuestros consejo, please. Saludos a todos!!!!  ;)
263
Muchas gracias por contestar Marth, pues no sabia que collision_line, comprobaba un tercer objecto.

De todas formas el objectoVISION me funciona y lo dejare y aparte probare el collision_line para ver si esta detras de un objecto o no.

Voy a probarlo y ya te cuento si me funciona, muchas gracias por el truquillo.  ;D

Cita de: Marth en Junio 21, 2017, 10:03:25 PM
Normalmente, para ver si entre dos objetos hay un tercero cortando el paso, se usa la función collision_line(x,y,other.x,other.y,Obstaculo,preciso,propio_objeto).
Imagino que el guarda debe detectar al enemigo cuando esta a menos de cierta distancia, ademas de que o no esta el rival agachado o no hay obstaculos entre el guardia y su rival.
No haria falta un objeto que ayude al guardia a detectar a los rivales.
264
Buenas familia.

Otra vez ando por aqui con otra cuestion, a ver si alguien ha resuelto algo parecido, o puedo recomendarme como se podria hacer.

El caso es que, tengo un guardia de seguridad, al cual le he equipado la habilidad de poder ver, mediante un objecto que siempre lo acompaña, con forma de triangulo en horizontal, lo tipico de forma de vision.

EL caso es que cuando el objectoVISION del guarda colisiona con el player, este. actua, se pone en alerta, dispara, etc.
Hasta aqui todo me funciona perfecto.

El caso, es el siguiente. Si el player se agacha tras una caja, el campo si vision del guardia (objectoVISION del guardia), no deberia sobre pasar la caja, y asi, no podria ver al player.

Mi pregunta es...como hago esto??

He pensado en borrar el sprite del objectoVISION al colisionar con la caja, pero, al sobre pasar la caja, este volvera a crear el sprite de la vision???

No se, la verdad es que no lo tengo muy claro la teoria, asi que bueno. A ver si alguien me puede comentar algo, o sabe como podria hacerlo.

Saludos, y abrazos a todos!!!!  ;)
265
Preguntas y respuestas / Re:Steamworks
Junio 12, 2017, 04:58:03 PM
Os pego, parte de las preguntas mas frecuentes a la hora de hacer una cuenta steamworks.

Información sobre impuestos: TINs estadounidenses
P. ¿Por qué necesito obtener un Individual Taxpayer Identification Number (ITIN)?
R. Normalmente, un extranjero está sujeto a los impuestos de los Estados Unidos por parte de su fuente de ingresos de los Estados Unidos. Muchos tipos de fuentes de ingresos de los Estados Unidos recibidos por extranjeros están sujetos a una retención del 30%. Se puede solicitar una reducción, incluso una exención, si existe un tratado de impuestos entre el país de residencia del extranjero y los Estados Unidos. Para poder recibir los beneficios del tratado de impuestos, tienes que rellenar el formulario W-8BEN, y para ello es necesario un TIN estadounidense o de otro país. Puedes ver los países que tienen tratados de impuestos con los Estados Unidos aquí:

http://www.irs.gov/Businesses/International-Businesses/United-States-Income-Tax-Treaties---A-to-Z

Si tu país de residencia es Eslovaquia, deberás proporcionar un TIN estadounidense al rellenar el formulario W-8BEN para reclamar los beneficios del tratado fiscal y aplicar una exención en el tipo de retención. Un TIN de otro país no es suficiente.


P. ¿Solicitar un TIN me obliga a presentar una declaración de impuestos de los EE. UU.?
R. La solicitud de un ITIN para beneficiarte del tratado de impuestos no implica que debas solicitar una devolución de impuestos de los Estados Unidos.


P. ¿Qué tipos de TINs estadounidenses hay?
R. Para los no estadounidenses, un TIN podría ser el Número de Identificación de Empleador (Employer Identification Number, EIN) en el caso de particulares o empresas, o el Número de Identificación Personal del Contribuyente (Taxpayer Identification Number, ITIN) sólo en el caso de particulares.


P. Como particular, ¿puedo elegir entre solicitar un EIN o un ITIN?
R. Sí, un particular puede elegir entre solicitar un EIN o solicitar un ITIN.


P. ¿Cómo obtengo un TIN estadounidense?
R. Un Número de Identificación de Empleador (EIN), para particulares (necesitas indicar que eres el propietario único) y negocios, puede obtenerse llamando al (267) 941-1099. Este número no es gratuito y pueden aplicarse cargos de larga distancia. También se puede obtener un EIN rellenando el "Formulario SS-4, Solicitud de Número de Identificación de Empleador" por fax, el cual tarda aproximadamente cuatro días laborables y por correo unas cuatro semanas. Podrás encontrar más información sobre el formulario SS-4 en la página web del IRS.

http://www.irs.gov/pub/irs-pdf/fss4.pdf


P. ¿Cuánto tarda el IRS (Hacienda) en emitir un Individual Taxpayer Identification Number (ITIN)?
R. Obtener un ITIN puede llevar algunos meses, o incluso más.

Por lo visto el TIN debe ser Estado Unidense, para poder tributar como empleado americano, ya que son ellos, los que nos pagan.

No un TIN del pais residente como me habeis dicho por aqui. O por lo menos eso creo yo,

Por favor si alguien sabe algo que me comente, please.  ;)
266
Preguntas y respuestas / Re:Steamworks
Junio 11, 2017, 08:16:22 PM
Muchas gracias por responder knd144

Dices que el numero de identificacion tributatia lo tengo que pedir en mi pais. Pero segun entendi. Tengo que pedir ese numero en estados unidos. Porque el dinero sale de alli. Al menos eso yo entendi.

Y para el sdk gracias por el enlace. Le echare una ojeada.

Gracias men.  ;D

Cita de: knd144 en Junio 11, 2017, 06:13:39 PM
En numero de identificacion Tributaria lo tienes que tramitar en tu país; haz una búsqueda en google tipo "Tramitar numero de identificacion Tributaria [pais]"; no te preocupes, por lo general eso se tramita en línea, pero debes de leer si tenerlo conlleva alguna obligación fiscal.

El SDK efectivamente es el que integrarás en tus proyectos de steam (Como sl SDK de Java o de Android). Puedes leer la documentación de STEAM al respecto:
https://developer.valvesoftware.com/wiki/SDK_Installation
267
Preguntas y respuestas / Steamworks
Junio 10, 2017, 11:14:34 AM
Buenas, otra vez ando por aqui, jejeje.

El caso es que me han dado luz verde para que uno de mis juegos entre en Steam.

Ahora me estan pidiendo una cuenta Steamworks con muchisimas preguntas y datos, alguien ha hecho esto antes??

El caso es que, he completado todo el formulario, me han pedido que lo firme y lo envie. Pero no dice exactamente donde hay que enviarlo. Despues de enviar el formulario, he recibido un email donde se me pide un tal TIN o numero de identificacion Tributaria.

Y ese numero de donde lo saco??

A parte de toda la documentacion, me he tenido que descargar un SDK que supongo que tendre que integrar en el proyecto-juego y tampoco tengo ni idea.

Es mi primera vez que entro en Steam y estoy super verde.

Si alguien sabe algo que me comente, please.  ???
268
Preguntas y respuestas / Re:ALMACENAR DISCOS
Mayo 29, 2017, 11:45:41 PM
Hostias NiuWeb. Efectivamente ahora funciona. Que maquina eres tio.

Entonces lo que pasaba, es que se metia en un bucle do de i no paraba de sumarse hasta que este se salia del rango del mientras del for.

Eso es lo que pasaba. Noo??

De todas formas muchas gracias a todos y sobre todo a NiuWeb. Que ha sido el que ha dado en el clavo.
Fijate que cosa mas tonta era. Muchas gracias de verdad.  ;D ;D ;D

[q ;Duote author=NiuWeb link=topic=28954.msg127308#msg127308 date=1496079357]
El error -probablemente- está aquí:
[gml]
for(i=45;i<BOLSILLO_MAXIMO;i++)
{
    if (DISCO==false) //Desde aquí
    {
        i++;
    } //Hasta aquí :v
   
    if (DISCO==true)
    {
        DISCO_CARGADO = i;
        CODIGO_CARGADO = CODIGO;
    }
}
[/gml]
Si la primera condición se ejecuta, se sumará 1 a i y se avanzará el ciclo. El problema viene después, cuando la siguiente iteración se inicia, la misma operación del ciclo vuelve a sumar 1 a i, y eso hace que se salga del límite del arreglo. Puedes intentar modificarlo así:
[gml]
for(i=45;i<BOLSILLO_MAXIMO;i++)
{

    if (DISCO)
    {
        DISCO_CARGADO = i;
        CODIGO_CARGADO = CODIGO;
    }
}
[/gml]
Sencillito, sólo eliminas la primera condición.
[/quote]
269
Preguntas y respuestas / Re:ALMACENAR DISCOS
Mayo 29, 2017, 04:46:36 PM
Lo primero, muchas gracias por todos vuestros consejos.

El ejemplo de Niuweb, nunca lo he utilizado, y la verdad, no llego a entenderlo completamente.

El codigo que os pase, realmente funciona, cuando cojo el disco 46, pero al coger otro disco, por ejemplo el 45 o 47 da el error de variable index out range.

Pero en teoria esta todo bien.

Os explico mi codigo para estrofa a estrofa, para que entre todos intentemos dar con el problema.

Antes de comenzar el juego declaro unas variables globales en el Create de un objecto. En ella se estable el for de los discos y codigos que contienen los discos.

//VARIABLES DE LOS DISCOS
globalvar DISCO;
globalvar BOLSILLO_MAXIMO;
BOLSILLO_MAXIMO = 65;
globalvar CODIGO;

for(i=45;i<BOLSILLO_MAXIMO;i++)
{
    DISCO[i]=false;
    CODIGO[i]=0;
}

Utilizo los numero del 45 al 65, e inicializo todos los DISCO[45] hasta el DISCO[65] a false.
y los CODIGOS del 45 al 65 lo inicio a 0.

En el CREATE de cada DISCO inicio estas variables.

numero = 45;
CODIGO[numero]=2580;


en numero, declaro el numero del disco, y en CODIGO introduzco la informacion o clave que va llevar dicho disco.

Al COLISIONAR el jugador con el disco. simplemente pongo dicho disco en true. aqui esta.

DISCO[numero]= true;

Es decir, DISCO[45] ahora es true, es decir, que ahora el player lleva el disco con el.

Ahora, al darle al INVENTARIO (que no es un inventario exactamente, pero se puede entender como tal)

Revisamos otra vez el array con el FOR. En el inventario, solo puede visualizar a la vez, solo UN DISCO, para pasar de un disco a otro utilizare unas flechas, pero repito, solo puedo visualizar en grande UN SOLO DISCO. Por lo tanto el FOR quedaria asi.

CREATE DEL INVENTARIO

BOLSILLO_MAXIMO = 65;

for(i=45;i<BOLSILLO_MAXIMO;i++)
{
    if (DISCO[i]==false)
    {
        i++;
    }
   
    if (DISCO[i]==true)
    {
        DISCO_CARGADO = i;
        CODIGO_CARGADO = CODIGO[i];
    }
}

}


Comenzando desde i=45 hasta el 65 comprobamos si la variable DISCO esta a true (es decir, que el player lo ha cogido). Si es false, pasamos al otro DISCO, asi hasta llegar al primero que este en true. Ejemplo, DISCO[45] esta a true (que es con el que me falla)

Al estar en true, entra en la condicion, y como solo podemos visualizar en grande un solo disco, pues al ser este el primero, este va ser el primero en visualizarse, para ello, utilizamos las variables globales DISCO_CARGADO donde cogemos el valor de i, que es el numero correspondiente del disco y CODIGO_CARGADO, donde cogemos el valor de CODIGO, que fue donde al coger el disco el jugador, guardamos la informacion del disco, de esta manera, CODIGO[45].

Despues en el DRAW del inventario dibujamos el DISCO y en el escribimos lo siguiente, una etiqueta que va dibujada en el disco con su numero correspondiente con la variable DISCO_CARGADO.

if (TENEMOS_DISCOS)
{

    draw_text(x+sprite_width/2,y+sprite_height/2+50,string("ACESSO#"
    + string(DISCO_CARGADO)));
}


Luego, el siguiente paso es mostrar la informacion del disco con la variable CODIGO_CARGADO, pero eso ya seria el siguiente paso, hasta aqui ya se produce el error;

FATAL ERROR in
action number 1
of Create Event
for object objectMENU_DISCOS:

Push :: Execution Error - Variable Index [0,65] out of range [1,65] - -5.DISCO(100040,65)
at gml_Object_objectMENU_DISCOS_CreateEvent_1 (line 34) -     if (DISCO[i]==true)




EN TEORIA YO LO VEO TODO BIEN!!!! Si alguien ve algo mal que me lo indique, porque el caso es que al coger el DISCO 46, si que funciona, y el disco 45 es una duplicacion de este, solo que le cambio el valor de la variable numero a 45, que es el que indica que es el disco 45. Asi que no entiendo nada.

Bueno si alguien ve algo que me comente. He intentado explicarlo al maximo posible ya que algunos me pedian que faltaban cosas. Creo que con esto esta todo.

Bueno a ver si juntos lo resolvemos. Gracias a todos. 

???
270
Preguntas y respuestas / Re:ALMACENAR DISCOS
Mayo 29, 2017, 12:19:15 AM
DISCO lo tengo igual que false. Que supongo que es a lo que te refieres a que lo inicio a 0.

Y si, uso la variable de array sin loop. Eso esta mal??

Y porque con el DISCO 46 funciona perfecto???

Voy a tener que revisarlo pero aun no entiendo que pasa.

Muchas gracias. ;)



Cita de: Arcadian en Mayo 28, 2017, 08:58:04 PM
La variable DISCO comienza con valor de cero, y en tu array el valor mínimo para i es 45.

De todas formas revisa tu ciclo for, estas usando esa variable por un lado pero luego tienes otra llamada DISCO[] que es un array pero que no usas dentro del loop, no esta muy católico ese código...