Menú

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.

Mostrar Mensajes Menú

Mensajes - karurosu

#1
Hola.

Duda resuelta, estaba tomando mal el valor ya que yo lo intentaba tomar desde el objeto padre directamente en el script y en lugar de eso envié la variable itemName como parámetro a la función cuando esta es llamada por cada hijo que hereda dicha función, así los hijos envían correctamente su itemName y en el switch evalúo dicho parámetro, en este caso como solo hay una instancia de ese mismo objeto en el nivel entonces no hay ningún problema.

Código corregido
Evento Paso del objeto Padre:
Código: php
/// @description paso del objeto
//profundidad, animación
switch myState {
    //si el objeto está fijo en el suelo
    case itemState.idle:
        depth = -y;        
    break;
    //si el objeto fue tomado
    case itemState.taken:
        //realiza un seguimiento de la posición del jugador
        var _result = scr_itemPosition(object_index.itemName);
        x = _result[0];
        y = _result[1];
        depth = _result[2];
    break;
    case itemState.puttingBack: //si el objeto comienza a bajarse
        y = putDownY;
        myState = itemState.idle;
    break;
}

Función scr_itemPosition:
Código: php
// script de objeto
function scr_itemPosition(_obj_name){
    var _x, _y, _depth;
    var _x_object = array_create(4), _y_object = array_create(4), _depth_object = array_create(4);
    
    switch(_obj_name){
        case "Rolling Pin":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 2;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 106;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 95;
            _depth_object[3] = 2;
        break;
        case "Apple":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 2;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 90;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 88;
            _depth_object[3] = 2;
        break;
        case "Head of Cabbage":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 100;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 90;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 80;
            _depth_object[3] = 100;
        break;
        case "Kitchen Scale":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 100;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 90;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 80;
            _depth_object[3] = 100;
        break;
        case "Lesson Book":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 100;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 90;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 80;
            _depth_object[3] = 100;
        break;
        case "Watering Can":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 90;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 100;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 90;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 80;
            _depth_object[3] = 100;
        break;
    }
    
    if(instance_exists(obj_player)){
        switch obj_player.dir{
            case 0://derecha
                _x = obj_player.x + _x_object[0];
                _y = obj_player.y - _y_object[0];
                _depth = obj_player.depth - _depth_object[0];
            break;
            case 1://arriba
                _x = obj_player.x + _x_object[1];
                _y = obj_player.y - _y_object[1];
                _depth = obj_player.depth + _depth_object[1];
            break;
            case 2://izquierda
                _x = obj_player.x - _x_object[2];
                _y = obj_player.y - _y_object[2];
                _depth = obj_player.depth - _depth_object[2];
            break;
            case 3://abajo
                _x = obj_player.x + _x_object[3];
                _y = obj_player.y - _y_object[3];
                _depth = obj_player.depth - _depth_object[3];
            break;
        }
    
        return [_x, _y, _depth];
    }
}
#2
Hola buen día amigos.

Estoy desarrollando un tutorial de la página de Game Maker y para hacerlo más detallado se me ocurrió la idea de darle una posición específica a cada objeto que puede recoger el player en el videojuego desarrollado y que dé la impresión de que sostiene cada objeto correctamente según su tamaño.

Para ello mi idea es hacer tres arreglos que le den la posición al objeto en X, Y y la profundidad, sin embargo estos objetos aparecen en el mapa del juego y heredan sus variables de un objeto padre (obj_par_item), así que se me hizo fácil añadir solamente un switch con la variable obj_par_item.itemName (variable heredada por todos los objetos que cambia de nombre según el objeto) para extraer el nombre de cada objeto recogido por el player (solamente puede cargar un objeto a la vez) y así dar la posición específica para cada objeto.

Mi sorpresa es que al mostrar en consola el valor del itemName siempre sale el mismo valor (que es el nombre del primer objeto hijo Rolling Pin) independientemente del objeto que tome, puede ser el primer elemento, el segundo, tercero, etc. ¿alguien sabe a qué se debe esto?

¡Muchas gracias!

Adjunto imágenes del ejercicio

No tienes permitido ver los links. Registrarse o Entrar a mi cuenta

Adjunto el código de mi script:
Código: php
// script de objeto
function scr_itemPosition(){
    var _x, _y, _depth;
    var _x_object = array_create(4), _y_object = array_create(4), _depth_object = array_create(4);
    
    show_debug_message(obj_par_item.itemName);
    
    switch(obj_par_item.itemName){
        case "Rolling Pin":
            //derecha
            _x_object[0] = 65;
            _y_object[0] = 104;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 2;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 106;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 95;
            _depth_object[3] = 2;
        break;
        case "Apple":
            //derecha
            _x_object[0] = 10;
            _y_object[0] = 104;
            _depth_object[0] = 2;
            //arriba
            _x_object[1] = 0;
            _y_object[1] = 95;
            _depth_object[1] = 2;
            //izquierda
            _x_object[2] = 65;
            _y_object[2] = 106;
            _depth_object[2] = 2;
            //abajo
            _x_object[3] = 0;
            _y_object[3] = 95;
            _depth_object[3] = 2;
        break;
    }
    
    if(instance_exists(obj_player)){
        switch obj_player.dir{
            case 0://derecha
                _x = obj_player.x + _x_object[0];
                _y = obj_player.y - _y_object[0];
                _depth = obj_player.depth - _depth_object[0];
            break;
            case 1://arriba
                _x = obj_player.x + _x_object[1];
                _y = obj_player.y - _y_object[1];
                _depth = obj_player.depth + _depth_object[1];
            break;
            case 2://izquierda
                _x = obj_player.x - _x_object[2];
                _y = obj_player.y - _y_object[2];
                _depth = obj_player.depth - _depth_object[2];
            break;
            case 3://abajo
                _x = obj_player.x + _x_object[3];
                _y = obj_player.y - _y_object[3];
                _depth = obj_player.depth - _depth_object[3];
            break;
        }
    
        return [_x, _y, _depth];
    }
}

#3
Hola buenas tardes a todos!

Hace poco hice un procedimiento que se ejecutará cada 1 y 16 de cada mes siempre y cuando sea día hábil, y si el 1 o el 16 cae en fin de semana entonces dicho procedimiento se debe ejecutar el lunes más próximo al 1 o al 16, con esto en mente me surgió la duda, ¿Alguien sabrá si esta ejecución se puede realizar configurando un job en oracle? ¿O es necesario hacer esta validación en el procedimiento como tal?

¡Muchas gracias por sus respuestas!
#4
Buen día.

Si te refieres al diseño del contenido gráfico pues muchos usan Photoshop o Corel, según tengo entendido Photoshop es muy completo pero nunca lo he utilizado tan a detalle.

Si te refieres a la estructura de la interfaz pues hay librerías que te permiten hacer diseños responsivos y muy buenos, como Bootstrap o Bulma.

¡Saludos!
#5
Buen día.

En México está una universidad en línea con una maestría en seguridad informática, me parece que sus siglas son "UNIR".

Aunque la verdad lo  mejor es tener iniciativa siempre y tratar de aprender más.

¡Saludos!
#6
Buen día.

Pues deberás comenzar con la teoría, hay muchos conceptos que son muy utilizados en el hacking ético, te recomiendo el curso de "Hacking desde cero" que por cierto es de un user de Underc0de, una parte está en Udemy gratis o tienen su página web en google te sale, también en el grupo de Whatsapp de Underc0de comparten muchos cursos útiles, recientemente hice uno de hacking ético muy bueno y completo.

¡Saludos!

#7
Buen día.

Como dicen intenta con el usuario root, fíjate también que a mi me pasaba en un Ubuntu que no reconocía la contraseña al escribirla muy rápido porque no procesaba las pulsaciones del teclado correctamente, verifica eso.

¡Saludos!
#8
Buen día.

Alguien que esté más metido en eso seguramente sabe más, pero me imagino que se consulta a un WS del banco para validar el pago y de ser así y te libera tus boletos.

¡Saludos!
#9
Buenas tardes.

Pues puedes investigar con la empresa si vende las piezas, algunas empresas hacen eso, o buscar en las páginas conocidas como amazon o mercado libre y basarte en la calificación del vendedor y los comentarios del componente, yo suelo hacer eso para garantizar la calidad de lo que compro.

¡Saludos!
#10
Buen día.

Nunca me ha pasado pero la contraseña por defecto es toor.

Quizá como te dicen arriba sea porque la bajaste de otro sitio.

Puedes también probar instalando otra versión.

¡Saludos!
#11
Buen día.

No recuerdo si en gmail se puede usar un correo para recuperar tu cuenta, igual si no lo tienes va a ser muy complicado.

Así me pasó hace mucho tiempo, pero como no tenía nada en el correo mejor cree otro como dice Gabriela.

¡Saludos!
#12
Dudas y pedidos generales / Re:Sistema malogrado
Abril 10, 2019, 11:19:39 AM
Buen día.

Como ya te dijeron debes formatear tu equipo, eso pasa cuando se daña tu sistema operativo.

También puedes intentar reparar desde la ventana que te abre o restaurar el equipo.

¡Saludos!
#13
Dudas y pedidos generales / Re:Duda brackets
Abril 09, 2019, 03:51:59 PM
Buenas tardes.

Lamentablemente no existe una extensión que permita hacer eso en Brackets.

Pero para los marcadores si hay una, se llama Brackets Editor Bookmarks.

¡Saludos!
#14
Buenas tardes.

Tendrías que investigar sobre una librería que lea el texto y lo lea por medio de reconocimiento, en visual basic estuve leyendo en google que está System.Speech.

¡Saludos!
#15
Dudas y pedidos generales / Re:Analizar con AVs
Abril 09, 2019, 03:37:18 PM
Buenas tardes.

¿Por qué no utilizas los multi scanners web?

Eso sí ten cuidado porque algunos suben los informes a su base como virus total.

¡Saludos!
#16
Si la conexión es inversa según recuerdo de mis lecturas de hace tiempo pues el equipo victima se conecta a ti, por lo tanto este se conecta y desconecta cuando su equipo está encendido o apagado respectivamente, si la conexión no es inversa entonces tú tendrías que conectarte a las victimas cada que inicias tu software, por ello se desarrolló el primer tipo de conexión que te comento, lo raro sería que se desconectaran muy rápido lo que indicaría quizá algún problema en la conexión.

¡Saludos!
#17
Buenas tardes, puede ser un problema del GRUB, hay una solución presionando la tecla E cuando apenas va a entrar al sistema y escribiendo después de "linux /boot/vmlinuz- ." los caracteres "nomodeset", esto lo acabo de googlear así que no estoy seguro si es así, pero yo recuerdo hace tiempo haberlo hecho y me funcionó, sin embargo no tengo a la mano las modificaciones que realice, puedes probar y nos cuentas si funciona.

¡Saludos!
#18
Off Topic / Re:Feliz cumpleaños mortal_poison!!!
Marzo 29, 2019, 12:46:28 PM
¡Feliz cumpleaños!

Que la pases bien y tengas muchos éxitos y salud en los años venideros.

:D :D :D
#19
Buen día.

Me parece que la más conocida es virus total, si lo que quieres es analizar posibles archivos modificados ajenos creo que está bien, pero ten en cuenta que algunas de estas páginas almacenan los análisis que haces, esto por si estás haciendo pruebas con algún archivo encriptado por tí, lo que reduciría el tiempo de indetectabilidad.

¡Saludos!
#20
Buenas tardes.

En mi poca experiencia no creo que exista un método infalible o 100% indetectable, sin embargo, hay algunos crypters que ocultan el código malicioso o aplicaciones que realizan esto dentro de Kali, no recuerdo si Venom es una de ellas, eso sí no es algo como dije 100% infalible, lo mejor supongo es que conocieras el AVS de la victima y basarte más en ese quizá, también ten cuidado con donde analizar tu archivo encriptado porque algunas páginas suben los resultados de los análisis a sus DB.

¡Saludos!