Principiante en Roblox y Lua: comenzar a hacer juegos con Roblox Studio | Kaupenjoe (Nico) | Skillshare

Velocidad de reproducción


1.0x


  • 0.5x
  • 0.75x
  • 1x (Normal)
  • 1.25x
  • 1.5x
  • 1.75x
  • 2x

Principiante en Roblox y Lua: comenzar a hacer juegos con Roblox Studio

teacher avatar Kaupenjoe (Nico), CS Student, Nerd and Educator

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Ve esta clase y miles más

Obtenga acceso ilimitado a todas las clases
Clases enseñadas por líderes de la industria y profesionales activos
Los temas incluyen ilustración, diseño, fotografía y más

Lecciones en esta clase

    • 1.

      Introducción a mi clase de Roblox

      0:45

    • 2.

      Descripción general de la clase

      1:12

    • 3.

      (Lua) Instalación de Roblox Studio

      3:10

    • 4.

      (Lua) Tipos variables en Lua

      6:31

    • 5.

      (Lua) Salida y comentarios

      7:37

    • 6.

      (Lua) Operaciones de matemática

      10:54

    • 7.

      (Lua) Operaciones relacionales y lógicas

      11:15

    • 8.

      (Lua) si y otras declaraciones

      9:50

    • 9.

      (Lua) variables locales

      4:07

    • 10.

      (Lua) Operaciones de cuerda

      7:47

    • 11.

      (Lua) en Lua

      8:46

    • 12.

      (Lua) Funciones en Lua

      4:50

    • 13.

      (Lua) Tablas en Lua

      10:50

    • 14.

      (Lua) La biblioteca de matemáticas

      8:11

    • 15.

      (Roblox) Roblox Studio explicado

      6:42

    • 16.

      (Roblox) Referencia a una pieza

      7:00

    • 17.

      (Roblox) Tipos de guiones

      7:25

    • 18.

      (Roblox) Propiedades

      9:15

    • 19.

      (Roblox) Vector3 y posición

      7:31

    • 20.

      (Roblox) La función de espera

      2:54

    • 21.

      (Roblox) Movimiento de parte básica

      3:18

    • 22.

      (Roblox) El acontecimiento tocado

      7:43

    • 23.

      (Roblox) Creación de instancias a partir de scripts

      6:29

    • 24.

      (Roblox) Click Detector

      6:22

    • 25.

      (Roblox) para aplicar fuerzas

      9:08

    • 26.

      (Roblox)

      8:14

    • 27.

      Puntos de Spawn (Roblox)

      3:36

    • 28.

      (Roblox) Jugador vs personaje

      3:12

    • 29.

      (Roblox) para ahorrar variables en el jugador

      5:21

    • 30.

      (Roblox) Leaderboard con Leaderstats

      10:01

    • 31.

      (Roblox)

      15:27

    • 32.

      (Roblox) agrega rutas al jugador

      7:47

    • 33.

      (Roblox) Tres tipos de GUIs

      10:38

    • 34.

      Referencias de API

      3:13

    • 35.

      (Roblox) Introducción y cómo se construye esta sección

      1:04

    • 36.

      (Roblox) Modelado de Obby

      27:42

    • 37.

      (Roblox) agrega puntos de control al Obby

      5:47

    • 38.

      (Roblox) agrega una tabla de clasificación con Leaderstats

      9:34

    • 39.

      (Roblox) agrega escaleras de desaparición al Obby

      11:33

    • 40.

      (Roblox) agrega piezas móviles al Obby

      11:41

    • 41.

      (Roblox) Ideas adicionales para el Obby

      2:31

    • 42.

      (Roblox) Publicación de tu juego

      6:45

    • 43.

      (Roblox) Añade fotos a tu GUI

      4:46

    • 44.

      (Roblox) Almacenamiento de datos de jugadores con DataStoreService

      22:40

    • 45.

      (Roblox) múltiples lugares en un solo juego

      2:38

    • 46.

      (Roblox) Teleport entre diferentes lugares

      4:42

    • 47.

      (Roblox) a dónde ir desde aquí

      1:27

  • --
  • Nivel principiante
  • Nivel intermedio
  • Nivel avanzado
  • Todos los niveles

Generado por la comunidad

El nivel se determina según la opinión de la mayoría de los estudiantes que han dejado reseñas en esta clase. La recomendación del profesor o de la profesora se muestra hasta que se recopilen al menos 5 reseñas de estudiantes.

3049

Estudiantes

4

Proyectos

Acerca de esta clase

¿Siempre has querido crear tus propios juegos, pero no sabes por dónde empezar? ¡Esta es exactamente la clase que necesitas entonces! Actualizado para 2023

En esta clase de principiante de Roblox y Lua, aprenderás los conceptos básicos de la programación de Lua, así como de desarrollo de juegos con Roblox Studio. No se necesita experiencia para aprender los insectos de crear juegos con Roblox Studio.

Esta clase es accesible para principiantes completos. Incluso si nunca has programado en tu vida. El conocimiento básico de Roblox sería ventajoso pero no es necesario.

Primero, aprenderás Lua, luego revisaremos los conceptos básicos de Roblox Game Development y como parte de la clase, ¡incluso harás tu primer juego!

Todo el código fuente estará disponible para que puedas seguir con todo lo que hago en las conferencias.

Si tienes alguna pregunta o sugerencia, no dudes en contactarme aquí. Estoy encantada de ayudarte a aprender a crear juegos con Roblox.

Conoce a tu profesor(a)

Teacher Profile Image

Kaupenjoe (Nico)

CS Student, Nerd and Educator

Profesor(a)

I am Nico - also known as Kaupenjoe - I have a Master's Degree in Computer Science and teach Game Development through many different classes. Mid-2020, when I became a bit disillusioned with my job, I set my sights to something different. Multiple people have previously told me I was good at teaching things.

With some of my prior YouTube Video making knowledge I was able to make my first courses. The Minecraft Courses in particular made a huge impact on students and myself and allowed me to teach full-time with courses and other supplementary methods.

I hope you will also join me and allow me to help you learn Programming, Modding or Game Development. As a hobby, side-hustle or as a promising career, it is an amazing and fulfilling field and I'm so happy to have y... Ver perfil completo

Level: Beginner

Valoración de la clase

¿Se cumplieron las expectativas?
    ¡Superadas!
  • 0%
  • 0%
  • Un poco
  • 0%
  • No realmente
  • 0%

¿Por qué unirse a Skillshare?

Mira las galardonadas Skillshare Originals

Cada clase tiene lecciones cortas y proyectos prácticos

Tu membresía apoya a los profesores de Skillshare

Aprende desde cualquier lugar

Ve clases sobre la marcha con la aplicación de Skillshare. Progresa en línea o descarga las clases para verlas en el avión, el metro o donde sea que aprendas mejor.

Transcripciones

1. Introducción a mi clase de Roblox: Hola, soy Nico, también conocido como Calvin draw y bienvenido a mi clase de principiante para roadblock scripting aquí en Skillshare. En esta clase, aprenderás tus primeros pasos para hacer juegos con Roblox. Incluso los principiantes completos son bienvenidos aquí, ya que hay una introducción a Lua incluida en esta clase. Después de que te hayas familiarizado con Lua, veremos algunos conceptos básicos de Roblox como detectores de clics, cambios de posiciones y el evento Tocado. Y claro, camino, mucho más equipado con ese conocimiento. Luego pasarás a hacer tu proyecto. Tu primer juego ONE, que va a ser un RB. Puedes usar todo lo que aprendiste y más, deja que tu creatividad se vuelva salvaje. Al final, incluso va a haber algunos temas intermedios adicionales que también van a ser muy útiles para la creación de juegos Romanov. Entonces, ¿a qué esperas para inscribirte en esta clase ahora y comenzar los primeros pasos para crear juegos increíbles y Roblox Te veré en la primera lección. 2. Descripción general de la clase: Bien, Bienvenido a los núcleos principiantes de Roblox. Y esto va a ser un breve resumen sobre lo que puede esperar en este curso. El primero de todo, hay una baja introducción incluida en este curso, lo cual va a ser muy, muy útil. Entonces, si nunca has escrito en Lua en absoluto, te recomiendo encarecidamente pasar por esto. Esto te va a ahorrar horas de dolor de cabeza porque no podrás hacer juegos adecuados y Roblox si no sabes al menos un poco de bucle tras bucle, hablaremos del Roblox Studio. Vamos a hablar de referenciar partes, los diferentes tipos de guiones. Vamos a ver algunos eventos, algunas funciones, o agregar movimiento. Incluso vamos a echar un vistazo a un poco de fuerza y limitaciones cuando hablen la diferencia entre jugadores y personajes, vamos a hacer una tabla de clasificación piezas coleccionables, agregando un rastro al jugador y algunas cosas más. Después de que hayamos terminado con lo básico, vamos a hacer un juego personalizado que va a ser un obstec, y eso también va a ser realmente increíble. Después del RB, también tengo algunos temas intermedios que cubriremos, como publicar el juego, agregar imágenes GUI, agregar imágenes GUI, almacenar los datos con un servicio de almacenamiento de datos, y algunas cosas más que también pueden ser muy útiles a lo largo del curso. Por cada conferencia, obtendrá un archivo RB Excel. Así que básicamente no obtuviste una instantánea por cada conferencia en términos de los guiones que hemos estado escribiendo, Roblox tiene algunas herramientas bastante poderosas para crear. Entonces espero que vayas a disfrutar el viaje de hacer tu propio primer juego de Roblox. Te veré en la próxima conferencia. Entonces, sí. 3. (Lua) Instalación de Roblox Studio: Bien, bienvenidos al curso de Roblox. Y en esta primera conferencia, estaremos instalando Roblox Studio en tu PC. Si tienes los roadblocks Player instalados en teoría, Roblox Studio también debería estar instalado. Sin embargo, si este no es el caso, puede navegar a roblox.com slash create y simplemente hacer clic en comenzar a crear. Luego comprobará si tienes instalado Roblox Studio. Entonces debería tener un pop-up si no se detiene para que puedas iniciarlo. Y si no lo has instalado, entonces solo puedes descargar el estudio. Esto es solo un archivo EXE, y si comienzas, esto luego instalará obstáculos en tu PC como cualquier otro programa. Si no estás conectado , entonces estarás leyendo con algo como esto. Entonces solo pones tu nombre de usuario y tu contraseña e inicio de sesión, el inicio de sesión y luego Roblox Studio va a comenzar. Sólo vamos a maximizar esto. Y ya pueden ver, en mi caso, ya tengo algunos juegos recientes, ¿verdad? Ya tengo algunos archivos, archivos locales e incluso archivos en línea para ti. Esto probablemente esté vacío bajo mis juegos. Sin embargo, debes tener tu lugar. Siempre hay algo que existe y bajo nuevo puedes comenzar un nuevo juego. Vamos a crear un nuevo juego. Escojamos la placa base de aquí. Y luego después de que se cargue, se puede ver que ahora básicamente ha creado un nuevo lugar. Están apareciendo muchas cosas. Normalmente cierro la caja de herramientas así como el editor de terreno aquí. Y yo también, hago la derecha y un poco más grande. Y también voy a Ver y enciendo la salida porque esto en realidad es bastante importante. Nos permite ver cierta salida y lo veremos muy pronto en las próximas conferencias. Una cosa te das cuenta que tienes este archivo con un poco de nube por aquí. Y si presiono Control S, puedes ver que quiere salvar mi juego, pero quiere guardar esto en la nube de Roblox por el momento. Lo que sugiero es no hacer esto. Lo que te recomiendo que hagas es ir a Archivo y o bien guardar en archivo o guardar en archivo, ya que esto realmente lo hace para que tengas un archivo RB Excel en tu disco duro local que en realidad es un poco mejor, especialmente si por ejemplo poco mejor, especialmente si por ejemplo te encuentras con un problema, puedes simplemente compartir tu archivo OB Excel y luego puedo echarle un vistazo, por ejemplo y también tendrás acceso, como probablemente puedas ver, a todos los archivos OBX que se generan a través de este curso. Así que cada una de las conferencias tiene un archivo RB exe donde todos los activos, todos los guiones que estamos escribiendo, todo está ahí dentro. Y básicamente puedes ver cada instantánea. Ahora mismo, a pesar de que tengo esto guardado en el disco duro local, todavía tengo la Nube. Nosotros solo queremos cerrar este lugar y van a archivar abierto desde archivo. Y luego sólo vamos a abrir el archivo que acabamos de hacer. Y puedes ver ahora este es absolutamente solo nuestro archivo local. Y si tuviéramos que presionar Control S, y de hecho volverá a guardar en nuestro disco duro, realmente genial. En las próximas conferencias, primero vamos a hacer un poco de introducción para familiarizarte con el lenguaje de programación Lua. Para esto realmente solo necesitamos el Explorer y principalmente el servicio de script del servidor, así como el botón de reproducción. Si tuviéramos que presionar el botón de reproducción, puedes ver que de repente nuestro modo de juego se carga y de hecho cargaríamos en este juego. Ahora puedo moverme y puedo saltar. Entonces esto básicamente está ahí para que pruebes tu juego. Pero como dije, todas las cosas circundantes, muchos de esos botones no hablarán de ellos en la introducción del baño. En primer lugar, solo quiero que consigas una base muy, muy sólida, Señor, esto es sumamente importante. Y luego vamos a hacer cosas absolutamente increíbles. Y eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 4. (Lua) Tipos variables en Lua: Bien, así que continuemos con la introducción de Lula aquí para el curso de Roblox. Y en esta conferencia vamos a estar hablando de variables. Ahora, las variables son básicamente tiendas para ciertos datos. Pero, ¿qué significa todo esto? Bien, hemos mirado un poco de las cosas de los alrededores por aquí. Y ahora vamos a entrar y realmente crear nuestro primer guión y luego echar un vistazo a eso. Vamos a estar creándolos en el servicio de script del servidor aquí mismo. Así que sólo vamos a hacer clic en el signo más y luego se puede ver que ya se usa con frecuencia dice guión. Por lo general, cuando estás creando algo, quieres las que no estén grises, las cosas grisadas son básicamente, uh, normalmente no quieres crear este tipo de partes y cosas dentro de este contenedor, por así decirlo. Pero queremos crear un guión, así que vamos a hacer esto. Se va a abrir de inmediato el guión. Puedes acercar el arte aquí manteniendo presionado Control y luego simplemente desplazándote hacia arriba con una rueda del mouse, haces el más pequeño desplazándote hacia abajo. Entonces esa es la forma en que puedes acercar aquí. Eso también es muy importante. Otro guión aquí, en realidad voy a renombrar esto. Hay un par de maneras de hacer esto. Haga clic con el botón derecho y puede ir a Renombrar. También puedes simplemente presionar F2 y luego te va a pedir que cambies el nombre de esto. O puedes ir, si tienes las propiedades aquí abajo, solo puedes ir al script aquí mismo y luego simplemente llamar a esto. Vamos a llamar a esto 01 dash variables. Porque esta es, bueno, esta es la primera conferencia, por así decirlo, en la que en realidad estamos saltando a esto. Y vamos a llamar a esto variables. Ahí vas. Ahora lo que aquí es muy importante es que ya llene esta cosa en particular con una impresión por aquí. Entonces, si no fuéramos a hacer nada, sólo voy a borrar lo que tenía antes. Si no hacemos nada y solo golpeamos play, ¿verdad? Lo que encuentras es que, bueno, no pasa nada porque ahora mismo no tenemos nuestra consola. De hecho, necesitamos habilitar esto o esto. Vamos a Ver y queremos ir a salida. Entonces esta es nuestra salida y ahora puedes ver helloworld desde, enviado desde el servidor. Vamos a hablar de esto desde este guión con un nombre, oh, variables de un guión. Y desde la línea uno, si volvemos a la pestaña aquí donde tenemos nuestro guión, podemos ver que esta es la línea uno, hermosa. Ahora podemos detener esto y proceder. Entonces solo voy a volver a agregar mi comentario por aquí. Vamos a estar hablando un poco más de comentarios y cosas así. Solo quiero esto en la parte superior del script específico, solo para que sepamos que estamos ahora mismo en el script de variables zero one. Entonces la impresión que no te importa. Así que sólo vamos a seleccionarlo, presione Eliminar para eliminar eso. Y vamos a estar hablando de tipos de variables. Ahora como una visión general de alto nivel, queremos variables porque queremos guardar ciertos datos. Entonces tal vez queremos guardar un número. Esto podría ser una puntuación alta, salud la montura, cualquier cosa por el estilo. Entonces sólo vamos a decir x es igual a diez. Y ahora en este caso, cada vez que me refiero a x, esto va a representar un número. En este caso, esto representa un entero. Un entero es sólo un número entero, así que va a ser dos o cinco, o -27. Eso está todo bien. Pero si queremos algo así como 20.8, mientras que eso es ahora un flotador, voy a hacer esto 20.8, esto es un flotador. Entonces al declarar esto, correcto, cuando creamos variables, básicamente queremos decir el nombre de las variables. Entonces en este caso, x entonces es igual. Este es el operador de asignación, básicamente significa que estamos asignando este valor a esta variable. Si todo esto es muy nuevo para ti, no te preocupes en absoluto. Mientras trabajas con esto, vas a poder captar más y más sobre lo que todo esto significa por el momento, básicamente puedes pensarlo como x es una especie de marcador de posición que ponemos en su lugar. Y luego cuando el código corre bien, cuando se ejecuta el script, entonces estamos como, bien, con x, en realidad significan diez. Si bien estamos viendo esto en el futuro un poco más en detalle. Solo voy a imprimir esto que veas si tenemos una huella y luego un paréntesis y ponemos x dentro de ella, ¿verdad? Y luego el paréntesis de cierre, qué es esto va a dar salida a esto, la pregunta es que esto va a dar salida X es como la letra X va a dar salida a un diez. Bueno, vamos a jugar y verás que da como resultado diez porque estamos sacando el valor que está dentro de la variable x Una buena metáfora que mucha gente usa es que las variables son básicamente solo cubos y contienen algún tipo de datos. Hay un tipo especial y eso se llama nulo. Este es un tipo especial de valor, y esto básicamente representa la ausencia de cualquier valor, también llamado null en ciertos lenguajes de programación. En este caso, se llama nulo. Esto no quiere decir que esto sea cero. Esto quiere decir que no es más que otro tipo de variable, o los booleanos. Ahora bien, los booleanos pueden ser verdaderos o falsos, a veces también representados con uno o cero, pero están escritos así. Entonces esto es un booleano y pueden ser verdaderos o falsos. Ahora, ¿cómo se ve esto? Bueno, e.g. Podemos decir que es buen curso y nosotros por supuesto, esperaríamos que esto sea igual a verdad. Y se puede ver que esto también cambia de color. Entonces básicamente, estas son ciertas palabras clave o ciertos tipos de variables. Básicamente pueden cambiar el color de la fuente aquí e incluso comercializar esto como negrita. Entonces podemos tener otro booleano, por ejemplo, está conectado a tierra. Esto es algo que está un poco más cerca de algo así como un juego. Y esto podría ser igual a falso. Y se puede ver también a veces también nos sugiere cosas. Entonces como escribimos, correcto, lo que puedes ver, ya ordenó sugerir, Oh, esto se supone que es falso y puedes presionar la tecla tab para autocompletar eso. Por último, también tenemos cadenas. Ahora vamos a estar hablando de aquellos en una futura conferencia un poco más en detalle. Pero básicamente, las cadenas son como palabras y siempre están rodeadas de estas comillas. Entonces podemos por ejemplo decir HelloWorld. Y ya pueden ver, eso está bien, aunque tengo un espacio aquí porque las comillas lo rodean, podemos guardar toda la palabra. Podrías encontrarte con el hecho de que tal vez en realidad quiero múltiples líneas. Esas serían muchas palabras, por ejemplo y la forma en que haces esto es que puedes hacer corchetes abiertos y puedes ver que los corchetes de cierre generalmente se generan automáticamente. Y entonces aquí solo puedes escribir hola, hola estudiante, y luego coma. Y entonces se podía ver, puedo seguir escribiendo esto. Estoy escribiendo porque es divertido tener múltiples líneas saludos. Vete, pero déjanos ahora múltiples líneas. Y esa es la idea general aquí, ¿verdad? Entonces para resumir aquí al final, a la derecha, las variables en general, nuestros cubos de datos que contienen algunos datos, y esos pueden tener valores diferentes y pueden ser diferentes tipos de datos. Puede contener un número normal, que es un entero. Puede contener números flotantes, que son números que tienen un punto decimal. También podría ser nu, que es la ausencia de algún valor. Puedes tener booleanos y también puedes tener fortalezas donde fue eso para esta conferencia aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces sí. 5. (Lua) Salida y comentarios: Bien, continuemos con la introducción de Lula aquí para el curso de bloqueos viales. Y en esta conferencia, vamos a estar viendo los comentarios de salida y un poco de cómo leer guiones para que empecemos una vez más, en el servicio de script del servidor, vamos a hacer clic en el pequeño plus aquí, crear un nuevo script. Y vamos a renombrar esto presionando la tecla F2. Y vamos a renombrar esto a comentarios de salida de O2 dash. ¿Qué tal esa? Ahí vas. Y luego veamos qué podemos hacer. Bueno, en realidad podemos quedarnos con esta huella. Yo sólo voy a mover esto hacia abajo. Y aquí arriba, vamos a volver a crear nuestro comentario. Entonces esto va a ser salida y comentarios. Hermoso. Ahí vas. Entonces ya hemos visto esta impresión antes y da salida a algo aquí abajo en la salida. Si no tienes esto una vez más, puedes ir a Ver y habilitarlo aquí mismo. Entonces puedes ver que esto ahora está habilitado porque tiene una especie de fondo de botón. Y si no está habilitado, entonces no tiene eso. Entonces así es básicamente como habilitas esto. Y ahí tienes. Si tenemos esto dentro de un guión y pulsamos play, entonces lo verás abajo en la salida y verás helloworld desde el servidor. Vamos a explicar esto en un poquito. Y luego O2 salida comenta tres. Entonces, una vez más, esto se debe a que esto estaba en la tercera línea. Paremos con esto y sigamos con el guión. Pero esto ya es bastante genial. Y la última vez hablamos de la idea de variables. Entonces, ¿y si tenemos una variable de salud y eso es igual a 1,000? Una vez más también aquí puedes ver que no necesitas los espacios entre esto. Entonces los espacios solo son particularmente importantes como en lugar de números, porque ahora los números ya no están conectados entre sí entre ciertas operaciones, en realidad puedes poner tantos espacios como quieras. Normalmente no lo recomiendo. Ya sea un espacio o cero espacios es básicamente la forma preferida de hacer esto legible. Pero sí, puedes poner tantos espacios como quieras. Y ahora en vez de dar salida a HelloWorld, lo que podemos decir está bien, la salud del jugador, hay salud sí. Y entonces la pregunta se vuelve, bien, ¿cómo podemos, cómo podemos entonces dar salida a este mil? Por supuesto que podríamos estar como, bueno, son mil, eso es genial. Pero si ahora cambiamos esto a 500 porque a lo mejor nos golpearon o algo así, esto seguirá diciendo mil. Entonces eso no funciona del todo como nos gustaría si mantenemos esto en mil. Y en realidad decimos, bueno salud, ¿verdad? Y entonces es como, bueno, obviamente va a tomar esta variable aquí. Bueno, vamos a ver qué pasa. En efecto, no lo hace. Simplemente dice que la salud del jugador es la salud, que por supuesto no es exactamente lo que teníamos en mente aquí. Lo que queremos salida es el valor de esta variable y no el nombre. Ahora bien, si está dentro de una cuerda. Entonces hablamos de esto antes, dentro de las comillas, entonces esto solo se lee como una palabra normal. No es una palabra clave y no es roja como variable. Pero en realidad podemos usar las variables. Eso sí funciona. Hay dos formas en las que podemos hacer esto. Podemos o hacer una columna por aquí. Entonces esto es específico de la función de impresión en este caso. Entonces después de la primera cadena, bien, podemos hacer una coma y luego podemos decir salud. Se puede ver que en realidad nos sugirió esto. Y luego solo presionas la tecla Tab para autocompletar. Entonces metemos otra coma, y luego cualquier cosa después de eso también se va a mostrar. Entonces podemos decir HP, por ejemplo y ahora lo que va a salir es la salud del jugador es, y luego cualquiera que sea el montaje aquí se guarda dentro de la variable de salud, y luego HP directamente después de esto. Así que vamos a jugar y ver lo que da salida. Y se puede ver que la salud del jugador es de 1,000 HP. Perfecto. Ahora en realidad hay dos espacios ahí. Entonces, lo que realmente podemos hacer, simplemente detener esto e incluso podemos deshacernos de esto porque ahora en este caso, esto en realidad agrega un espacio. Esta no es la única manera en la que puedes hacer esto. Sólo podemos copiar esta línea. Entonces solo lo estoy seleccionando, presionando Control C y luego Control V para pegarlo de nuevo. Y en lugar de hacer esto, también podemos hacer punto punto y luego otro punto punto aquí mismo. Y lo que esto va a hacer, esto, esto va a concatenar esta variable a la cadena. Entonces esto podría ser un poco más complicado en estos momentos. Pero no te preocupes, hablaremos de esto un poco más en una futura conferencia. Y además no debería ser demasiado demente. Básicamente, solo estamos diciendo que esto es una cadena de caracteres. Esta es una cadena de caracteres. Y si bien esta es una variable, en realidad solo queríamos agregar esto también a nuestra cadena específica. Entonces va a tener casi la salida exacta como esta. Pero vamos a ver qué pasa aquí. Entonces, si sacamos esto, realidad puedes ver que no hay espacio en el medio porque literalmente solo estamos tomando literalmente solo estamos tomando lo último que está aquí, ¿verdad? Entonces es decir, y luego estamos tomando lo que sea esta variable, sea cual sea el valor real de esta variable, estamos convirtiendo en una cadena y luego simplemente la estamos plopping justo al lado de la S en este caso. Entonces aquí sí queremos un espacio. Entonces, si simplemente paramos esto e iniciamos esto de nuevo, entonces podrás ver que la salida va a ser exactamente la misma en este caso, a excepción del HP. Porque una vez más, ven aquí, eso genera un espacio automáticamente. No tiene nada que ver con estos espacios, por cierto, no, no te confundas con esto. Yo sólo puedo ejecutar esto. Entonces esos espacios no tienen nada que ver con eso. Sólo tiene que ver con la forma en que todo el asunto se interpreta básicamente, ¿verdad? Entonces esas son dos formas de sacar aquí. En este caso, un texto con una variable también, que puede ser increíblemente útil, no sólo para fines de juego, sino también a veces para fines de depuración. Depuración básicamente refiriéndose a tratar encontrar problemas o errores en tus scripts. Y eso a veces puede ayudar mucho. Por último, también queremos hablar de comunes, donde ya has visto los comentarios con los dos guiones. Entonces esto es básicamente un comentario de una línea que puedo hacer. Sólo puedo decir algunas cosas interesantes, ¿verdad? Entonces esto podría ser para explicarte cosas por ti mismo o para que otros lean tus guiones o cosas por el estilo. Ahora esos sólo funcionarán para una línea. Entonces, si hago otra línea aquí, se puede ver de repente que todos somos una especie de comentario. Y tampoco hace falta agregar los guiones aquí al final. Esto es algo personal que hago, así que esto no es necesario en absoluto. También puedes simplemente mantenerlo así y todo va a funcionar totalmente bien. Hay una peculiaridad personal mía ahora donde realmente necesitas agregar más cosas es para un comentario de varias líneas. Entonces todavía podemos hacer los dos guiones y luego podemos hacer para abrir corchetes. Se puede volver a ver los corchetes de cierre generados automáticamente. Y luego dentro de aquí, en realidad tenemos un comentario multilínea. Ahí vas. Eso es increíble. Ahí vas. Entonces puedes ver que esto es ahora un comentario de varias líneas y cualquier cosa entre los corchetes aquí es básicamente todo lo que vamos a ser interpretados como un comentario. Incluso puedes cerrar esto con la pequeña flecha de aquí. Así que eso va a ser un poco más agradable. Incluso puedes hacer esto. Y luego lo va a cerrar. Se va a cerrar así. Eso es interesante. Bien, bueno, ahí tienes. Esa es una forma muy interesante de hacerlo. Ese es un comentario de varias líneas. Hemos visto algo similar donde veremos la parte posterior de las variables. Hemos visto la cadena multilínea por aquí con la misma idea cuando en este caso solo va a estar con comentarios. Pero como ya te he explicado nota importante, claro, todos estos scripts siempre están disponibles para ti para descargar. Por lo que los guiones están disponibles, así como el archivo RB XL para cada conferencia diferente siempre está disponible para su descarga. Así que básicamente puedes verificar todo, míralo uno por uno. Entonces, si podrías tener algo diferente que sea output o algo así, siempre puedes volver a verificar el código, ¿verdad? Para resumir, una vez más, podemos ver que la función print es una forma de sacar algo. Por lo general, quieres dar salida a una cadena, ¿verdad? Entonces, si escribes en forma impresa, puedes ver que ya le sugiere, y puedes presionar la tecla Tab dentro de eso, luego puedes comenzar a escribir. Ahora, por lo general se quiere escribir en una cadena. Entonces quieres comenzar con las comillas y luego solo puedes decir cosas ahí dentro. Y eso va a ser de salida dentro de la ventana de salida. Y luego también hay un comentario. Los comentarios normales comienzan con guión, guión, y luego lo que quieras escribir, este es un comentario de una línea. Los comentarios multilínea funcionan con un guión, guión y luego los corchetes abiertos. Bueno, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Así que sí. 6. (Lua) Operaciones de matemática: Bien, bienvenido de nuevo a la introducción del retreo aquí para el curso de Roblox. Y en esta conferencia, vamos a estar echando un vistazo a las operaciones matemáticas. Entonces para esto, una vez más, en los servidores de script del servidor, vamos a estar creando un nuevo script y vamos a cambiarle el nombre a A3 dash maths. Porque ¿por qué no? Ahí vas. Ahora, entonces agreguemos nuestro pequeño comentario agradable por aquí, las operaciones matemáticas. Y veamos qué tipo de operaciones matemáticas hay. Bueno, claro que hay adición, esa es la primera y la idea es la siguiente, ¿verdad? Entonces podemos tener una suma y eso podría ser por ejemplo 20. Entonces esto sólo va a ser una vez más una variable. Nuestro 20 es el valor y algunos es el nombre de la variable. Y ahora lo que podemos hacer es que podemos decir, bueno, eso es que algunos deberían ser en realidad 20 más 50, por ejemplo ahora esto debería ser 70. Así que vamos a echar un vistazo. Entonces, si hago otra impresión por aquí, y voy a decir sum es, vamos a usar esta. Entonces vamos a decir suma. Ahí vas. Entonces ahora va a dar salida a la variable sum. Ahora primero, en realidad hacemos suma igual a 20. De hecho cambiemos esto a diez. Entonces van a haber 60 porque eso va a demostrar esto un poco mejor. Entonces primero, vamos a decir suma es igual a 20. Decimos suma es igual a diez más 50. Entonces lo que va a salir y escuchar, algunos de ustedes podrían decir, bueno van a ser 20 más diez más 50 o algo así. Juguemos y veamos qué pasa. Se puede ver algunos son 60 porque lo último que sucede aquí es que a la variable se le asigna el valor de diez más cinco. Entonces éste es simplemente ignorado o sobrescrito porque el código siempre se evalúa de arriba a abajo. Entonces empezamos en la línea uno y va a pasar y pasar y pasar por. Y entonces va a ser, nuestra suma es ahora 20, y luego la siguiente línea, nuestra suma es ahora 60 porque básicamente evalué esta expresión como diez más 50. Esa es la idea general. También puedo hacer, es que puedo decir, bueno en realidad lo que poco quiero hacer es querer tener otra. Entonces digamos que esta va a ser la segunda suma porque, ¿por qué no? Y eso es igual a suma más alguna otra cantidad, ¿verdad? Entonces más 50 o más 150 pueden ser lo que queramos. Y ahora ¿qué va a ser esto? Bueno, algunos tienen el valor de 20. Entonces, en teoría, esto debería ser 20 más 150, que deberían ser 170. Entonces si hacemos esto, entonces podemos ver algunos son 20. Ahora se podría decir, espera, ¿cómo está el 20? Ah, bueno mira esto. Estamos emitiendo la variable sum y ahora la segunda variable sum. Así que siempre hay algo que hay que tener en cuenta. Entonces una vez más, si escribo esto, puedes ver que ya nos sugiere esto y luego solo podemos presionar la tecla Tab para autocompletar. Y ahora estamos dando salida a la segunda variable de suma. Y ahora deberíamos ver que la suma es de 170. Ahora también puedes ver todas las otras salidas aquí abajo en la salida. Eso está totalmente bien y puedes quedártelo así. Sin embargo, si esto se vuelve demasiado desordenado para ti, puedes ir a los otros y simplemente puedes agregar comentarios aquí a todas las líneas de impresión en los otros scripts solo para que no tengas las salidas allí también . Así que tenlo en mente. Entonces eso es suma. Veamos ahora la resta. ¿Te imaginas cómo va a ser esto? Bueno, vamos a hacer una, solo llamemos a esto resta. Y esto es igual a, bueno, por ejemplo algo así como 25 -50. ¿Esto va a funcionar? Este va a ser un número negativo. Eso mientras, quiero decir, vamos a ver la impresión correcta. Y vamos a decir, esto sólo va a ser resta es, y luego una vez más coma, y luego vamos a poner en resta una vez más, auto completando con la tecla Tab. Vamos a dejar que esto se reproduzca y veamos qué pasa. Y se puede ver que la resta es negativa 25, eso es absolutamente ninguna preocupación. Los números negativos están totalmente bien. Entonces esto funciona con números negativos, números no negativos, ¿verdad? También podemos tener 150 -50 y luego van a ser 100. Entonces eso es realmente genial. Lo siguiente es, por supuesto, la multiplicación. Ahora esta va a ser la pregunta mole t. Vamos a llamar a esto multitarea, va a estar bien. ¿Cómo funciona eso? Bueno, esto se hace con una estrella. Entonces esto es cinco estrellas, 40 por ejemplo y entonces debería ser ¿qué debería ser esto? 200? Sí, exactamente. Van a ser 200. Entonces esto va a ser multiplicación es, y luego una vez más, solo haz esto llamado multi por aquí. Y esto va a hacer exactamente lo mismo. Ahora una vez más, lo que quiero decir aquí, no hay que poner espacios en el medio. Puedes poner espacios en el medio, pero no tienes que hacerlo. Es la misma idea cuando pones los espacios aquí que el espacio está aquí mismo. Porque la idea es que este es ahora un operador de multiplicación que utiliza dos enteros en este caso, también se puede, por supuesto, hacer esto. Oh, ¿qué va a hacer esto? Bueno, quiero decir, probemos esto. Vamos a ver qué pasa cinco veces 40.5 es 202.5. Eso es absolutamente correcto, y eso funciona también. Por lo que también puedes usar números flotantes. Básicamente lo hace todo por su cuenta. Así que eso también es genial. Ahora, la división es lo único que es un poco más interesante. División es por supuesto, división y eso es igual a por ejemplo 20/3. Digamos que algo así. Bien, eso es interesante. Entonces hagamos división. Es, y entonces vamos a llamar a esto y vamos a ver lo que esto nos pone 20/3 es que no sé. Bueno, es 6.66, 666666 repitiendo hasta que corre hasta siete. Entonces esa es idea degenerada. Así que tenlo en cuenta cuando tengas cosas que no entren perfectamente entre sí. Entonces 21/3 claro, serían siete. Entonces si hacemos esto, entonces sólo vamos a conseguir siete. Eso es genial. Pero si tienes algo que no es divisible de manera uniforme, entonces obtendrás un número decimal. Y también esto es muy importante. Si intentáramos dividir por cero. Esto es algo que quizás hayas escuchado antes o no. Si agregas con cero, bueno, vas a conseguir el infinito. Entonces esto es algo muy interesante y esto es una peculiaridad de Lu son más o menos, en realidad se puede dividir por cero. No deberías hacerlo. Todavía es como si esto fuera algo que en realidad no debería ser una cosa. Y en este caso sí obtienes infinito. La mayoría de los lenguajes de programación, por lo general obtendrá un error si esto sucede. Así que tenlo en mente. Por lo general, quieres asegurarte de no dividir por cero. Pero luego hay otra cosa que podría ser muy interesante, y esa es la ley modal, también llamada el resto y esta, ¿verdad? Vamos a llamar a esto un resto. Y eso es igual a, digamos e.g., el 20. Y entonces va a ser una señal de porcentaje a y eso va a imprimir el resto. El resto es, vamos a imprimir el resto y vamos a ver realmente lo que va a ser esto. Y entonces verás bastante rápido lo que hace esto. Hagamos realmente divididos por tres o como el resto de tres. Y entonces verán que el resto aquí son dos. Entonces la idea general es que básicamente solo pasando por el proceso real de división y luego diciendo que este es el resto, recomiendo encarecidamente también solo revisar el resto. Esto es algo normal. Creo que esto debería enseñarse en clase de matemáticas. Esto debería ser algo que se enseñe en clase de matemáticas. Y en realidad puede ser muy, muy importante para ciertas cosas en la programación aquí en este caso, porque si tuviéramos que hacer el resto de dos, entonces 20 modal O2, esta es una forma de verificar si un número es par o impar, porque en este caso es par, ¿verdad? Entonces, si solo jugamos esto, vamos a conseguir un cero. Entonces básicamente podemos decir, Oye, si este número y luego hacemos módulo dos es igual a cero, sabemos que es un número par. Y si lo hacemos, podemos hacer cualquier número impar, qué, 21 en este caso, no importa. Entonces vamos a conseguir uno. Entonces si el resto es cero, entonces sabemos en este caso, si hacemos O2 modal, así que si el resto es uno con modal o dos aquí, entonces sabemos que el número, el número original es un número impar. Si es un cero, entonces es un número par de hecho muy interesante, último pero no menos importante, hay algo llamado incrementando y decrementando. Esto solo básicamente dice que queremos agregar uno a un número específico. Entonces, por ejemplo, podemos tener un número de cinco fríos, ¿verdad? Y luego en otros lenguajes de programación, dependiendo de si has programado antes o no, puedes hacer cosas como número más más o número menos menos. Ahora lo que verán es que esto no funciona, ¿de acuerdo? Podemos simplemente comentar esto, ¿verdad? Sólo vamos a decir que lo son y entonces esto va a ser como no funciona porque simplemente no funciona. Es simplemente algo que más bajo no nos ofrece. No obstante, hay cosas que podemos hacer para incrementar o decrementar este número. Entonces básicamente podemos decir que el número es igual a sí mismo más uno. Esto solo va a tomar cualquier número que se defina como en este caso cinco y luego solo agregarle uno, ¿verdad? Entonces una vez más, esto no es nada loco, es sólo decir número es igual a número de más uno. Así que solo estamos tomando lo que sea esta expresión y luego la guardamos de nuevo en número. Bien, eso es justo. También podemos tener número más igual a uno. Esto es hacer exactamente lo mismo. Es solo un poco más compacto y escrito en una línea. Estas son exactamente las mismas cosas que hacen es exactamente lo mismo. La razón por la que quieres conocerlos a los dos o los has visto a ambos, es que algunas personas prefieren hacerlo así. Algunas personas prefieren hacerlo así. Entonces, si lees guiones de otras personas, es muy importante haber visto ambos. Y entonces claro, la misma idea va por menos en este caso. Ahora, incluso puedes extender esto y puedes decir, bueno, ¿qué es, qué pasa con esto, verdad? Si hacemos veces iguales, absolutamente número, tal vez queremos hacer divide iguales. ¿Funciona esto? Eso será, ni siquiera sé cuál será el verano ahí, pero el número de la orilla ahora se vuelve loco. Modulo es igual en realidad, sí, podemos hacer esto también. Ahora bien, este nunca he visto como realmente necesitaba en ningún lado, nunca. Éste. Puede haber ciertos momentos en los que esto podría ser útil, pero sí, mayoría de las veces vas a estar usando estos, tal vez estos tres. Y estas dos son cosas muy específicas que son muy, muy raras. Pero una vez más, haber visto esto puede ser muy importante en verdad, ¿verdad? Para recapitular, las operaciones matemáticas son justo lo que dicen en la lata, ¿verdad? Son las operaciones las que realizan ciertas funciones matemáticas en este caso, ¿verdad? Así que sumar solo un símbolo más, un símbolo menos para la resta, una estrella para la multiplicación y la barra para la división. Y en este caso también el porcentaje para el modelo o el resto. Entonces esto es simplemente matemáticas normales. Ahora podrías decir, ¿por qué necesito matemáticas en esto Hay muchos momentos en los que podrías necesitar algunas matemáticas, ¿verdad? Entonces podría darse el caso de que tal vez tengas un arma y luego tenga un cierto multiplicador de efecto para el daño, y luego el jugador contrario tenga cierta armadura. Y quieres asegurarte de que la salud o el daño se genera correctamente, se calcula correctamente. Ahí es donde entra toda la suma, resta, multiplicación, división o eso. Y todo va a ser una especie de, va a haber algún tipo de algo que salga al final. Eso va a ser esto, el daño. Entonces Nath en realidad puede ser muy, muy importante. Ahora esos son, por supuesto, solo los conceptos básicos de las matemáticas. Pero con estos como bloques de construcción, ya se pueden construir algunas cosas bastante geniales donde sea que sea para esta conferencia aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 7. (Lua) Operaciones relacionales y lógicas: Bien, bienvenido de nuevo a la introducción del retreo aquí para el curso de Roblox. Y en esta conferencia, vamos a estar echando un vistazo a unos operadores relacionales y lógicos hoy en día suena muy complicado, pero una vez más, no te preocupes, vamos a pasar por esto antes que nada, creando un nuevo script en el servicio de que nada, creando un nuevo script en script del servidor aquí mismo. Y vamos a llamarlo 04 guión. Llamemos a esto lógico relacional. Ahí vas. Y una vez más, no necesitamos el HelloWorld donde sí necesitamos es para operadores relacionales y lógicos, a veces también llamados operaciones relacionales y lógicas. Cualquiera de los dos funciona más o menos. Una vez más, no olvides comentar la impresión si no quieres tenerla en la salida estar completamente inundada de spam. Y entonces pensemos en esto. Entonces, ¿qué son los relacionales, qué son los operadores lógicos? Nosotros, los relacionales son básicamente, están mirando dos valores y básicamente están evaluando la relación entre ellos. Entonces esto sería más pequeño que, más grande que menor o igual, mayor o igual. También tenemos iguales y tampoco iguales. Entonces estos son los, bueno básicamente todos los operadores relacionales y producen un, producen un valor booleano, ¿verdad? Entonces esto una vez más significa que si piensas de nuevo en los tipos de variables, esto es verdadero o falso. Ahora bien, esto no debería ser nada de locos aquí. Por supuesto, si digo, bueno, 20, menor o igual a 25, sólo hay, sólo puede ser verdadero o falso. No hay tontería, ¿verdad? No hay como uno. Si es 50 por ciento pequeño, eso, no es de eso de lo que estamos hablando. Sólo estamos diciendo, oye, ¿ esto es más pequeño que esto, o es igual que esto? Y esa es la idea general. Y los operadores lógicos son operadores que toman dos valores booleanos y los evaluarán. Esos son end OR y el operador NOT en este caso lo son, esos son los realmente importantes. También hay algunos otros. Si realmente te interesa esto, puedes buscar álgebra booleana. Ese es básicamente el término a echar un vistazo. Y eso básicamente nos mete un poco más en ello. Pero por el momento, no estamos muy preocupados por ello. Entonces, cuando pensamos en esto, podemos decir una prueba, por ejemplo aquí hay tres, menor que 20. Esto es por supuesto cierto en nuestro caso. Podemos simplemente imprimir esto, ¿verdad? Entonces, digamos, ¿ tres son más pequeños que 20? Y sólo vamos a imprimir esto. Vamos a imprimir prueba por aquí. Ahí vas. Pero vamos a jugar a esto y a ver qué pasa. Y va a imprimir cierto porque son tres, de hecho es menor que 20. Eso es muy interesante de hecho, se puede ver esto, evalúa esta expresión y convierte en una booleana en este caso cierta. Ahora también podemos decir, digamos pruebas aquí de nuevo, eso va a estar bien. Esto es 20 es mayor que 200. Esto por supuesto será falso. Y luego solo vamos a hacer es que solo vamos a seleccionar este control de prensa C, se puso en marcha ve aquí, presiona Control V para volver a pegarlo. Y entonces sólo estamos cambiando esto. Es 20 mayor que 200 porque ahora estamos diciendo que 2020 es mayor que 200, lo que por supuesto es falso. Dejemos que esto vuelva a jugar. Y vamos a ver es 20 más grande que 200 es falso. Eso es exactamente correcto porque no es así. Esos son los ejemplos de más grandes. Y entonces la misma idea se aplica para iguales menores, ¿verdad? Entonces solo va a ser cierto también si es igual. Y entonces si esto sería igual, ¿verdad? Esto ahora sería falso. ¿Correcto? Debe tener sentido porque, bueno, 20 no es menor que 20 es igual a 20. Si tuviéramos que hacer esto, de pronto se vuelve a hacer realidad otra vez. Ojalá eso tenga sentido aquí en este caso. Ahora cuando se trata del operador equals, digamos por ejemplo que tenemos una cadena, una que va a ser hola, y luego tenemos una cadena también, que se llama también hola. ¿Por qué no? Ahí vas. Entonces hacemos una comparación de esto. ¿Por qué no comparación? Esto es igual a, y luego decimos cadena uno igual a dos signos iguales. Este es el operador relacional igual que mira estas dos cadenas, ¿verdad? Y pone un valor booleano. Este es el operador de asignación, muy, muy fácil confundir uno con el otro. Pero lo que deberías obtener es que puedes ver que obtendrás un error si tienes uno solo. Entonces este subrayado rojo aquí, básicamente ya ves, es como, oh, esto no tiene ningún sentido para mí. Absolutamente sin preocupaciones. Dos signos iguales es el operador relacional. Un signo igual es el operador de asignación. Muy, muy importante. Ahora imprime, vamos a imprimir esto y vamos a imprimir la comparación. Y deberíamos conseguir en teoría una verdad, ¿verdad? Entonces vamos a tener una, la primera copia impresa, es esto cierto, la segunda es falsa. Y entonces aquí sólo vamos a tener una norma, solo una salida verdadera. Vamos a ver. Y vamos a ver la verdad, absolutamente increíble. Entonces eso definitivamente funciona. Ahora bien, si cambio algo aquí, incluso la carcasa, porque ahora estos ya no son exactamente iguales. Entonces, lo que va a pasar es falso porque en este caso, ambos no son iguales porque siempre se toma en cuenta la carcasa porque este es un personaje diferente y por lo tanto no son exactamente iguales. Pero esta sería una de esas cosas. Y no hagas esto. Esto es sólo un ejemplo aquí. Entonces tú, para que entiendas esto de alguna manera. Esto es algo así como lo que harías, ¿verdad? Cuando tienes una contraseña y estás como, bien, esto es lo que sea que tenga la persona. Escribí, y esta es la contraseña que guardé, roja. ¿Son iguales? Y entonces sólo si es verdad, entonces vas a dejarlos entrar. Ahora, no hagas esto, no guardes contraseñas así. Eso es algo que sólo deben hacer las personas avanzadas. Muy, mucho así solo para que te pongas a pensar en esto, bien, esta es una de esas formas en las que podrías ver que una comparación es importante. Ahora cuando se trata de los operadores lógicos, aquí se vuelve un poco más complicado, porque aquí realmente queremos tomar múltiples valores booleanos y ponerlos en como ponerlos uno al lado del otro. Y entonces ellos una especie de, ya sabes, esta es una extensión lógica para esto. Entonces, por ejemplo, lo que podrías hacer es, digamos que x es igual a la comparación. Entonces va a tomar aquí el valor de comparación, que es en este caso va a ser cierto. Y entonces podemos poner un operador y aquí. Y entonces el segundo valor tiene que ser otro booleano. Entonces, por ejemplo, podríamos decir, vamos a ponernos a prueba aquí, ¿verdad? Entonces ahora va a decir, bueno, si la cuerda coincide y la prueba es verdadera, entonces x va a ser verdad, ¿verdad? Entonces en este caso, comparación va a ser cierta y la prueba va a ser falsa, ¿verdad? Entonces esto es actualmente lo que pasa aquí, ¿verdad? Porque la prueba aquí es falsa. Entonces si ahora fuéramos a imprimir x es solo por el bien del argumento x aquí o allá vas. Si hacemos este extra ser falso y se puede ver x es falso. ¿Por qué es este el caso? Bueno, porque el operador final dice que ambos valores booleanos tienen que ser verdaderos para que toda la expresión sea verdadera. Ahora una vez más, si esto es un poco complicado para ti en este momento, absolutamente no te preocupes. Esto es algo con lo que solo hay que jugar un poquito. Entonces, lo que te recomiendo encarecidamente que hagas es que abras este guión lógico relacional por aquí y simplemente juegues con esto. Lo que es aún más loco es que puedes ponerte esto tantas veces como quieras. Entonces puedo decir Fin verdadero. Y tal vez otro que queramos decir, bueno, 20 es mayor o igual a 50, algo así, ¿verdad? Para que veas, puedes encadenarlos todo lo que quieras. Una vez más, podría ser un poco complicado. Se trata de probar esto y probar algunas cosas con nosotros, ¿verdad? Sólo voy a copiar esto y también voy a hacer un operador OR por aquí. Entonces esto va a ser, ahora va a ser verdadero o falso. Lo que sucede con el o significa que uno o ambos tienen que ser ciertos para que la salida sea verdadera. Entonces en este caso, verdadero o falso solo significa que la comparación es verdadera. Y entonces ni siquiera nos importa qué pasa el resto porque uno de ellos es cierto. Esto va a ser cierto. Para que podamos ver, Digamos que X1 y X2, solo para que entendamos que la diferencia está aquí. Y si jugamos esto, se puede ver x2 es cierto porque aquí estamos usando el operador u y a eso sólo le importa si uno de ellos es verdadero y entonces toda la expresión es verdadera. Como dije, en realidad no es algo avanzado, es solo una de esas cosas que realmente no se enseñan al principio de la escuela. ¿Es básicamente solo lógica formal? No hay nada de locura en esto. Y aunque pueda sonar un poco intimidante, en realidad no lo es. Una vez más, solo siéntate un poco con él, juega un poco con esto y encontrarás que esto en realidad no es tan loco. Ahora una última cosa, solo tomemos la comparación por aquí también. Y entonces lo que vamos a decir es que en realidad queremos negar esto. Esto quiere decir que esto en realidad no es una prueba. Ahora bien, esto podría ser como el FREC es esto, esto es bastante loco. Bueno, básicamente estamos negando este falso o lo estamos volteando. Entonces, negar simplemente significa que lo estamos volteando de un falso a uno verdadero. O si esto ya era cierto entonces a un falso. Entonces a veces verás esto escrito así con un signo de exclamación en el frente. Pero en esto solo significa que todo esto es cierto, ¿verdad? Entonces esto es ahora de repente no falso, lo que será igual a verdad, ¿verdad? Déjeme hacer esto. Entonces esto se vuelve un poco más claro, ¿verdad? Entonces estamos negando la prueba de que lo que esté escrito en la variable test, en este caso false. Y lo estamos volteando a verdad. Una vez más, si no obtienes esto de inmediato, solo juega un poco con esto. Te recomiendo encarecidamente que realmente quieras escribir cosas e imprimir cosas y luego algo ponerse un poco adelante con esto y luego ser como, Bien, ahora lo entiendes porque en realidad aplicar esto es mucho más importante que solo escucharme, como explicar esto como diez veces. Es mejor que te sientes y seas como, bien, la x es esta y luego la y es esta, y luego es como n nada, y luego simplemente imprimirla. Pero por el bien de la discusión, vamos a ver que x3 va a ser cierto. Y encontrarás que X3 efectivamente es cierto. Porque una vez más, la comparación es cierta y lo contrario de la prueba también es cierto. Por lo tanto, esto es cierto. Como resumen rápido, sus operadores relacionales y lógicos tienen que ver con los valores booleanos. Y básicamente nuestras operaciones que comparan dos valores, dos o más valores en algunos casos, y te dan un valor booleano a partir de eso, bien, ya sea un verdadero o falso. Hay más pequeños que, mayores que iguales, no iguales, y también los operadores lógicos Y, O y NO en este caso, estas operaciones simples en realidad son todo lo que a la computadora le gusta. Cuando bajas al más bajo de lo bajo es donde todos los unos y ceros de los que quizás hayas oído hablar antes. Esto es todo lo que usan y, o. Y luego algunos operadores relacionales, eso es todo lo que usan, nada más. Entonces con esto viene un gran poder realmente como, como en la programación, es por eso que son bastante importantes. Una vez más, aquí al final, básicamente quería darte el ímpetu para decir, bien, realmente siéntate por unos buenos diez, 20 min y solo prueba como en cómo funcionan estos. Si no los has entendido, si los entendiste, absolutamente genial. Todavía estaba implorándote que solo los pruebes un poco si no los has entendido, pruébalo de nuevo. Yo altamente, altamente recomiendo si por supuesto queda alguna duda, no dudes en preguntar. De lo contrario va a ser esto para esta conferencia aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 8. (Lua) si y otras declaraciones: Bien, bienvenidos de nuevo a la pequeña introducción aquí para el curso de barricadas. Y en esta conferencia vamos a estar echando un vistazo a si y demás declaraciones. Entonces ahora realmente nos estamos metiendo en la carne de esto. Una vez más, en los servidores de script del servidor, vamos a crear un nuevo script y vamos a cambiarle el nombre de cinco guiones si y si no. ¿Qué tal eso? Ahí vas. Estoy bien, una vez más, voy a hacer los cinco si y de otra manera. Ahora bien, si y de lo contrario las declaraciones son muy, muy interesantes de hecho, supongamos que lo que tenemos por ejemplo es que podríamos tener una cantidad de oro que va a ser 100. Y entonces tal vez tenemos una, lo mejor tienes una nota y eso va a ser digamos que apenas pasamos 65, algo así. Y entonces también tenemos un valor booleano. Y eso va a ser, es, claro que bueno. Y eso va a ser igual a verdad. Supongamos que ese es el caso. Ahora lo que podemos hacer con las declaraciones si else es que básicamente podemos interrumpir el flujo de arriba a abajo y decir: Bien, si algo es cierto, entonces haz esto. O si algo más es cierto, entonces haz esto. Entonces por ejemplo podemos decir si es grosero Bueno, se puede ver que sugiere que esto fue desigual, nos dice que esto es un booleano. Así que vamos a presionar la tecla Tab para autocompletar. Entonces decimos, entonces, una vez que presionamos la tecla Enter, el final de aquí se genera automáticamente. Y ahora esto es sumamente importante. Se puede ver que nuestro cursor aquí mismo está realmente sangría. Entonces esto es lo mismo que si tuviera que presionar la tecla Tab y se puede ver que aquí sucede la misma sangría. Y entonces esto es solo automáticamente porque ahora mismo estamos dentro de esta declaración if. Y en realidad hay que estar al tanto del guión escribiéndolo así. Así puedo escribir cosas aquí. No creo que técnicamente esté mal, pero se ve muy extraño. Así que básicamente, una vez que estás dentro de una declaración if o una función que vamos a ver más tarde y cosas así. Siempre tienes un guión y sí, si yo tendría otro si dentro de aquí, en vez de eso, si sangráramos otro tipo por el bien de la argumentación, sigamos con esto. Entonces esto va a imprimir algo y va a producir Brent. Sí, es un curso bastante bueno. Entonces ahí tienes. Así que mientras sea por supuesto bueno es cierto, vamos a imprimir esto. Juguemos esto por el bien de la discusión. Es verdad. Entonces, sí, es un bonito, es un curso bastante bueno. Bueno, solo asegurémonos de que también diga que es un curso bastante bueno. Pero ahora vamos a decir falso. Vamos a resolver este no es el caso, pero si pudiera ser, vamos a jugar y no tenemos salida. Porque en este caso, todo entre entonces y final solo se ejecutará si esto es cierto. Y ahora realmente estamos empezando a apilar sobre esas diferentes herramientas. Esto es básicamente cada una de esas conferencias. Es otra herramienta en tu kit de herramientas que necesitas para que entiendas los conceptos básicos que vienen después con todo los bloqueos de carreteras. Y esta es una de las más grandes e importantes, si y luego declaraciones else. Entonces, por ejemplo, también podríamos pensar en algo como esto. Digamos que solo agreguemos otro por aquí. Esto podría ser algo así como el peaje. Entonces tal vez justo donde quieres cruzar el puente y el total es de 150 de oro. Entonces lo que podemos decir, por ejemplo, es, bueno, si nuestro objetivo que tenemos es mayor o igual que el peaje, ¿verdad? Entonces podemos decir print, jugador podría pasar. Pero a lo mejor queremos ser como, bueno en realidad no queremos terminar aquí. Para que podamos sustituir este fin por otro. Y entonces una vez más se puede ver que es otra cosa. Si acabo de darle al tap kick, puedo autocompletar y presiono Enter, entonces genera otro extremo por aquí. Entonces podemos decir si el oro es mayor que el peaje, el jugador podría pasar. Y si este no es el caso, entonces podemos decir que al jugador no se le permite pasar, ¿verdad? Así que entonces sólo podemos golpear play. Y podemos ver, si miramos esto, al jugador no se le permite pasar porque oro es en realidad más pequeño que la parte superior derecha. Sólo tenemos 100 de oro, pero necesitamos 150. Por lo tanto, esto se imprime. Así que todo lo demás se imprime. Si esto es falso y todo aquí se imprime si esto es cierto, también podemos hacer algo así, ¿verdad? Entonces podemos decir, esta es ahora una forma muy cruda de hacerlo, pero es verdad, ¿verdad? Entonces podemos decir oro actual, digamos que el oro va a ser Armadura, Oro, ¿verdad? Así que solo pon salidas, el oro también. Y lo que podemos hacer es si pasamos, bueno, en realidad queremos hacer oro menos es igual a lo que sea el total, solo si realmente pasamos con éxito, porque de lo contrario en realidad no queremos hacerlo. Entonces ahora solo veamos cual es el objetivo después de que hagamos evaluamos esto? Bueno, va a ser, bueno, 100, ¿verdad? Porque no hemos pagado nada. Porque efectivamente podemos pagar porque nuestro peaje es, bueno, aquí son 150 y ni siquiera podemos hacer nada. Voy a hacer esto de un solo paso más complicado, pero entenderás esta ubicación, digamos en casa, ¿verdad? Entonces ya estamos en casa. Y si pasamos, digamos que vamos a estar en el centro. Digamos solo por el bien de la discusión, si no pasamos, bueno, ni siquiera necesitamos cambiar la ubicación, así podemos decir oro actual. Simplemente copiemos esto y luego podemos decir ubicación actual. Entonces también podemos imprimir la ubicación. Bien, vamos a jugar esto una vez más. Y luego ya veremos, bien, todavía estamos en casa y todavía tenemos 100 de oro. Pero ahora, ¿y si cambio el peaje ahora mismo? ¿En realidad cuesta 69 pasar? ¿Qué va a pasar ahora? Pues ahora nuestro oro es mayor o igual que el peaje, es decir, que se nos permite pasar. Nuestra ubicación va a cambiar al centro y vamos a restar cualquier objetivo que tengamos, como el peaje de nuestro Dios. Entonces juguemos esto y veamos, y de repente podemos ver que ahora tenemos 31 de oro y estamos en el centro. Ahora esto es por supuesto, nada en el juego en sí ha cambiado. Solo hemos cambiado una o dos variables en este caso. Pero tal vez ya puedas ver lo increíblemente poderoso que es esto tener estas declaraciones if y puedes encadenarlas juntas. Puedes poner otra declaración if aquí. Hay todo tipo de cosas que puedes hacer, lo cual es realmente, realmente increíble. Esta es realmente una de las cosas que es, quiero decir, es realmente genial ver que este tipo de cosas cobran vida. Ojalá este sea un ejemplo realmente ilustrativo de esto porque tienen declaraciones y las declaraciones if else son realmente, realmente impresionantes. Ahora, digamos una vez más, lo último. Entonces tenemos una calificación por aquí y digamos por ejemplo queremos verificar, bien, tiene esta persona pase. Entonces podemos decir si la pantalla es más grande o igual a 50, por ejemplo, entonces solo vamos a decir, en realidad, hagámoslo al revés. Entonces digamos que si es menor de 50, entonces vamos a imprimir un fail, ¿verdad? Porque entonces hemos fracasado. Ahora vamos a sustituir esto por otro. Pero ya sabes lo que en realidad, cuando se reemplaza por otra cosa, si porque quiero comprobar si o no el grado mayor o igual a 50 y también es menor. Tan grande es menor que 100 ellos. Entonces quiero hacer algo específico. Y luego quiero otro más, porque puedes encadenarlos tanto como quieras. Y entonces esto va a hacer otra cosa. Entonces esto va a estar imprimiendo, digamos pasado por aquí, eso es genial. Y luego aquí, si obtienes 100, bien, entonces esto pasaría si obtienes 100 o más. Pero pensemos en eso por un momento. Pero si tenemos 100 o más, entonces vamos a decir que pasaron con honores. Porque por qué no, ¿verdad? Porque eso es genial. Entonces ahora mismo conseguimos un 65 para el grado. Entonces deberíamos ver la salida B pasada. A ver si esto funciona. Y se puede ver pasado es efectivamente salida. Eso es muy bueno. Vamos a detenerlo y luego volvamos aquí y en realidad cambiemos esto a, digamos 100. Ahora debemos pasar con nosotros. A ver. Juguemos esto. Y podemos ver pasado con honores. Eso es genial. Incluso podemos ir un paso más allá. Digamos solo por el bien de la discusión, queremos agregar otro aquí. Lo que podemos hacer es agregar otra más si, y podemos decir si es mayor, más grande que 100. Ahora vamos, hagámoslo así. Digamos otra cosa si genial es igual a 100, entonces hacemos esto, ¿verdad? Y luego vamos a hacer otra más. Y eso básicamente va a ser, si es cualquier cosa menos 100, y entonces podemos decir más, más de 100 no es posible. Te engañaste. Entonces algo así, más de 100 no es posible que engañaste. Y ahora si tuviera que hacer 101, de repente, vamos a conseguir más de 100 no es posible. Te engañaste. Entonces, si no entiendes muy bien la lógica a través de esto, solo piensa en esto, ¿verdad? ¿Qué es la calificación en este momento? Genial como 101. ¿Esto es menor que 50? No 101 no es menor de 50. Por lo tanto, vamos a la otra si, ahora estamos comprobando, ¿es mayor o igual a 50? En efecto, es mayor o igual a 50. Pero esto también tiene que ser cierto porque estamos usando el operador lógico Y correcto, así que ambas cosas tienen que ser ciertas para que toda la declaración sea cierta. Y porque genial es mayor que 100, vamos a la otra si ahora nos vemos Grandes, igual a 100, no es igual a 100, efectivamente es 101. Por lo tanto, vamos a la otra por aquí. Y como no tenemos una declaración if, solo estamos diciendo, bien, ahora estamos usando la L, así que todo aquí se ejecuta, es decir, esto se imprime. Bueno, espero que esos sean algunos ejemplos interesantes de declaraciones if and else, cómo puedes usarlas y por qué son. Así que en realidad realmente, realmente impresionante. Se puede ver como nosotros ya, casi hicimos un pequeño juego por aquí solo con una si más declaraciones con un oro, con un peaje. Y eso ya es realmente increíble, cierto, para una pequeña recapitulación una vez más, if and else las declaraciones usan valores booleanos para evaluar algo, ¿verdad? Pueden usar un valor booleano normal. Puedes usar los operadores relacionales y lógicos para encadenar a esos booleanos juntos. Como hemos visto de múltiples maneras, podemos usar declaraciones if y else if y else para encadenar esas declaraciones if juntas. Y entonces todo dentro de esa sentencia si se ejecuta. Si la expresión booleana es verdadera, realmente una cosa muy genial. Y una vez más, solo recomiendo encarecidamente jugar un poco con esto en tu propio tiempo. Es realmente, realmente increíble. Bueno, eso es todo para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 9. (Lua) variables locales: Bien, bienvenido de nuevo a la introducción del retreo aquí para el curso de Roblox. Y luego esta breve conferencia, vamos a estar hablando de variables locales. Entonces para esto, una vez más, en el servicio de script del servidor, vamos a crear un nuevo script y vamos a llamar a este 06 dash local. Y esto por supuesto también va a tener unas variables locales O6 comunes. Ahora bien, este no es un tema increíblemente importante. Sin embargo, sí quería, básicamente hablaremos de ello una vez. Así que las variables locales antes cuando teníamos una variable, solo hacíamos x iguales, no sé, como 100 y eso fue todo. Ahora, también podemos poner la palabra clave local frente a ella. Y puedes ver, puedes ver que es una palabra clave porque se pone audaz y también roja. Entonces ahora podemos decir y local, e.g es 50. Ahora bien, ¿por qué sería importante esto o por qué no? Bueno, la idea general es que una variable local básicamente hace para que la restrinja donde sea accesible. Ahora mismo en este caso, en realidad, no importa porque solo podemos hacer print x y que todo va a estar bien e imprimir y y todo va a estar bien. Entonces ambos sólo van a funcionar. Digamos que tenemos una declaración if y sólo vamos a decir que x es, digamos más grande que cinco, y entonces queremos hacer algo. Ahora bien, si en vez de eso, si alguien, digamos que esta es una declaración es realmente complicada, muy compleja, y en realidad necesitamos algunas variables dentro de ella para funcionar. Podríamos decir algo como por ejemplo z es igual a 100. Eso funciona. Y entonces podemos usar esto aquí y lo que queramos hacer. Y lo loco es que podemos entonces incluso usar esta Z fuera de esta declaración if. Entonces puedes ver la Z aquí es accesible fuera de esta declaración if, pero esto no siempre es lo que queremos porque número uno, esto puede confundir a la persona que usa esto, ¿verdad? Entonces tal vez en realidad no queremos esto. Z solo se puede usar en esta declaración if. Y después de esto, lo que sea que se convierta, cualquier valor que tenga no es ni siquiera representativo de nada que queramos. Este podría ser el caso. Si este es el caso, entonces por ejemplo podemos hacerlo local. Y se puede ver lo que pasa es esto ahora tiene un subrayado rojo, significado y error. Se puede ver solo z global, porque normalmente las variables son variables globales. Pero en este caso, estamos diciendo explícitamente que se trata una variable local y sólo es accesible dentro de este contexto particular. Siendo el contexto la declaración if. Entonces si, si termina el primer nivel n, el final para esta sentencia if básicamente también elimina comillas entre comillas, esta variable local. En general, es algo normal básicamente hacer que todo sea local excepto si hay momentos en los que, oh, ya sabes qué, en realidad esto no debería ser local. En teoría, lo que debes hacer es cada vez que haces una variable, siempre empezar con un local y eso es, y entonces vas a estar bien, y entonces vas a estar bien. Porque hay muy pocos casos en los que no sea así. Y puedes ver si no está bien, si entonces quieres seguir trabajando con esto, entonces está totalmente bien, entonces puedes dejar esto fuera. Pero normalmente quieres hacerlos locales y luego vas a estar bien. Otra razón adicional por la que quieres hacer esto es solo porque son un poco más de rendimiento. Ahora para ser justos con las máquinas modernas, esto probablemente no va a hacer como mucha diferencia aquí, pero por si acaso puede ser bastante importante. Y si ves lo local en los guiones de otras personas, entonces solo debes saber, por lo general quieres usarlos para todas tus variables excepto en muy, en algunas circunstancias donde se necesitan las globales, entonces puedes mantenerlo fuera. Por lo general, cuando instancio una variable con local delante de ella, ¿verdad? Entonces solo me aseguré de que el príncipe de aquí esté comentado por esta impresión, claro, lo que arroja un error mientras tenemos una variable local. Pero en general en, para resumir aquí, una vez más, las variables locales, hacen un poco más rápido y restringen el alcance donde una variable en particular es accesible. No hacer un global hace que sea un poco apretado, más fácil para la gente usar tus guiones. Y además hace que el juego solo corra un poco más rápido. Puede haber cambios minúsculos aquí, pero generalmente quieres usar local siempre que sea posible. Eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 10. (Lua) Operaciones de cuerda: Bien, bienvenido de nuevo al curso de Roblox. Y en esta conferencia vamos a estar echando un vistazo a las operaciones de cadena, por supuesto, en primer lugar, en los servidores de script del servidor, vamos a crear un nuevo script por aquí, y cambiemos el nombre a 07 y operaciones de cadena de guión. Y claro, una vez más, vamos a hacer unas 07 operaciones de cuerda, Ahmed por aquí, y luego comencemos. Entonces podemos hacer una nueva variable. Vamos a llamarlo prueba y vamos a llamarlo algo así como hola ahí, estoy diciendo hola, y eso es una cadena. Y ya lo hemos visto anteriormente. Podemos, por ejemplo imprimir esto con la función printf poniendo en pruebas aquí mismo. Y eso va a, por supuesto, luego sacar el valor de la variable test en este caso. Para esto, necesitamos la salida por aquí y también asegurarnos de que en los antiguos y asegurarnos de comentar las funciones de impresión en los guiones antiguos también. Y si tenemos la ventana de salida abierta y la impresión por aquí, entonces vamos a jugar y deberíamos poder ver hola ahí. Estoy diciendo hola, bueno eso es bastante bueno. Ahora, ¿por qué estoy escribiendo algo tan raro ahí dentro? Bueno, porque vamos a ver algo interesante en un momento. Pero lo primero que podemos hacer con una cuerda es averiguar qué tan larga es la cuerda. Porque a lo mejor a veces queremos hacer eso. Así podemos averiguar la longitud de una cadena haciendo lo siguiente. Lo que podemos hacer es que podemos decir prueba de hashtag, y eso va a dar salida a la longitud de esta cadena en particular. Entonces solo va a contar cuántos personajes hay, incluyendo espacios. Entonces antes de que vamos a dar salida a esto, vamos a contar realmente 1, 234-567-8910, 1112, 1314, 1516 1718 1920 201-20-2203, 2420, 5206, 2728, 2930. En teoría, esta variable de prueba, esta cadena de aquí, debería tener tres caracteres de largo. Así que nuestra impresión de aquí debería resultar la longitud de una cuerda, 30. Juguemos y veamos si esto es efectivamente TI. Y la longitud de una cuerda es 30. Bonito. Esto ya es bastante genial, pero ¿qué otras cosas podemos hacer? Bueno, hay toda una serie de cosas diferentes. Entonces digamos que hacemos una nueva variable. Lo que vamos a hacer es que vamos a escribir una cadena y puedes ver que en realidad comienza a sugerirnos esto, y también lo marca como azul. Entonces es una palabra clave en este caso, y podemos poner un punto después de ella. Y entonces se puede ver que tenemos diferentes funciones a las que podemos llamar. Y esos básicamente representan cierta cosa que hacen con ciertas cosas. Entonces, por ejemplo, aquí devuelve la longitud de la cadena. Entonces, en lugar de hacer el hashtag, también puedes hacer cadena esa Lynn Wright y luego poner la cuerda ahí. Muy importante. Entonces podemos hacer esto. Y en este caso la nueva prueba en realidad va a ser la longitud. Vamos a llamar a esta longitud por un momento. Copiemos esto solo como una prueba. Y entonces podemos poner en longitud aquí mismo. Y si jugamos esto, vamos a ver 30.30 porque básicamente está haciendo exactamente lo mismo. Pero esta es una de las operaciones que podemos hacer. Así que por lo general la mayoría de las operaciones para cadenas en este caso siempre proceden con cadena punto y luego tipo de función básicamente. Hagamos una nueva prueba y echemos un vistazo. Así que enséñala. Y se puede ver que hay un montón de cosas. Entonces puedes ver esto concatena n copias de la misma cadena. Esto es básicamente solo si tienes, si pongo la cuerda ahí y pongo tres ahí, entonces va a ser hola ahí. Estoy diciendo hola. Hola, estoy diciendo hola, hola, estoy diciendo hola. Entonces esto es básicamente sólo para repetir lo mismo. Sup es. Esta es una subcadena y esto es similar a lo que vamos a ver en un momento. La descripción aquí. Puede ser un poco complicado, pero no te preocupes por ello. El byte suele ser algo que realmente no necesitamos. Pero lo que sí recomiendo es que siempre puedas echar un vistazo a cada una de estas funciones y básicamente simplemente haremos clic en ellas y luego podrás ver una descripción bastante buena e incluso puedes hacer clic Más información para saber más. Lo que vamos a hacer aquí es que vamos a hacer g sub, g sub. Esto parece una locura complicado, pero en realidad no lo es. Así que vamos a hacer doble clic en esto. Va a formatear todo esto correctamente y sólo vamos a poner en la coma de cadena de prueba. Y entonces este es un patrón. Queremos ver este patrón. Entonces, por ejemplo, hola. Y queremos reemplazarlo por algo. Y en este caso sólo vamos a reemplazarlo por una cadena normal. Y esta cuerda solo va a ser Howdy. Entonces, ¿qué esperas que suceda aquí si ahora sacamos nueva prueba, verdad? Entonces, si tuviéramos que imprimir nueva prueba, ¿verdad? Entonces esta nueva variable, lo que va a tener G sub, ojalá lo que va a hacer va a tomar la variable test aquí mismo. Y va a buscar la palabra hola, ¿verdad? Y va a devolver una copia en que cada vez que salga hola, va a estar reemplazando eso por Howdy. Entonces, si tuviéramos que imprimir nueva prueba, bueno, ojalá lo que vamos a encontrar es que va a decir, ¿cómo estás ahí? Estoy diciendo ¿Hola? Juguemos y veamos si efectivamente esto es lo que sucede. Y esto es efectivamente lo que sucede. ¿Cómo estás ahí? Estoy diciendo hola? Ahora lo que es sumamente importante si tuviera que imprimir también la prueba original aquí mismo, bien, porque hemos puesto esto en la función y hemos reemplazado el hola por un Howdy, encontrarás que la prueba no ha cambiado. Por lo que se puede ver prueba está completamente inalterada. Y esto también es lo que dice. Si sólo me detengo aquí, también es lo que dije. Si entramos aquí, devuelve una copia de la cadena que ha pasado. Entonces, no modifica la cadena que hemos pasado en. Eso es muy importante para recordar. Otra cosa que puedo mostrarte es, por ejemplo, encontrar algo. Entonces esto va a ser string dot find. Entonces este es otro método que en realidad ha echado un vistazo a lo que dice. Entonces busca la primera coincidencia del patrón y luego devuelve los índices. ¿Bien? Entonces, ¿qué significa eso? Bueno, vamos a poner por ejemplo prueba por aquí. No importa cuál pongamos. Y entonces puedo decir ahí, así que vamos a echar un vistazo ahí. Y entonces también podemos imprimir esto. Entonces, ¿dónde está lo vamos a hacer así ahí y luego encontrar resultados Y deberíamos sacar un número de esto para que veas dónde hay siete, bien, entonces ¿por qué es a las siete? Bueno, si contamos una vez más, bien, entonces estoy contando los personajes a mi derecha, entonces va a ser 1234567. Entonces este es efectivamente el séptimo carácter, o es el carácter con índices o índice de siete. Esa es la idea general. Y luego para financiar cosas que puedes usar si a veces, es interesante y eso es básicamente gritar caso y luego susurrando caso. Entonces la idea es ese punto de cadena superior, y si metemos algo ahí, y entonces podemos simplemente copiar esto. Así que solo seleccioné Control C, Control V para pegarlo. Y esto es entonces susurrar y esto es entonces más bajo. Lo que vas a encontrar es que la mayúscula, sólo va a ver devuelve una cadena con todos los caracteres en minúscula cambiar a mayúscula, mientras que abajo aquí devuelve una copia con todas las letras mayúsculas a minúsculas. Entonces si hacemos esto, se puede ver gritando hola ahí, estoy diciendo hola y entonces cada primavera es como. Entonces esos también son bastante geniales. Ahora bien, estas operaciones, incluyendo algunas de las otras funciones para cadenas, pueden ser increíblemente útiles si tienes algún tipo de texto que necesites modificar en función quizás de la ubicación del reproductor o necesitas generar algo en alguna parte. Entonces esto puede usarse básicamente para un montón de cosas. Por eso puede ser bastante importante. Y claro, como siempre, recomiendo mucho jugar un poco con esto. Por supuesto, hay algunas funciones de cadena más que puedes usar. Pero en conclusión, puedes obtener la longitud de una cadena haciendo hashtag que la variable string o también puedes usar las funciones de cadena desde string dot y luego cualquiera que sea la función en este caso Len. También hemos visto cómo puedes reemplazar cosas en cadenas y siempre recuerda que esto devuelve una copia de la cadena original nunca se cambia. Incluso podemos encontrar cosas y cadenas y al final aquí también vimos cambiar caracteres en minúsculas y mayúsculas también. Bueno, espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 11. (Lua) en Lua: Bienvenido de nuevo a la introducción del baño aquí para los núcleos de los bloqueos de carreteras. Y luego esta conferencia vamos a estar echando un vistazo a los bucles. Ahora bien, ¿qué son los bucles? Bueno, son muy interesantes. En primer lugar, por supuesto, un nuevo guión por aquí, 08 bucles de guión y un bonito comentario en la parte superior aquí también. Y la pregunta es, ¿qué son los bucles? Bueno, bueno, ¿y si te di la tarea imprimir cada número 1-100? Se podría decir, bueno, bien, empecemos bien. Vamos a hacer uno y luego vamos a copiar esto. Voy a decir 23 y 4.5, y en algún momento ya terminaste. Ahora voy a decir, bueno, en realidad, lo que me gustaría que hicieras es que cada número par en realidad no debería imprimirse. Yo sólo quiero los números impares, 1-100 y vas a estar como, Guau, eso es un poco molesto. Entonces vas a hacer un comentario cada número par o simplemente vas a eliminar cada número par, entonces yo estoy como, Oh, perdón, leí esto mal. En realidad quería al revés. En realidad no quería imprimir los números impares. De hecho quería no imprimir los números impares y estás como, Oh Dios mío, acabo de cambiarlo todo. Y en ese punto sólo vas a estar muy molesto. Por supuesto, esta no es la forma de hacerlo. Hay una manera mucho más fácil de hacerlo. Es decir, bucles, básicamente bucles en un término muy general, o ciertas piezas de código o ciertas piezas de script que van a repetir x cantidad de veces, muchas veces que básicamente quieras. Entonces, por ejemplo, podemos hacer un for-loop. Puedes ver esto ya sugiere que puedes hacer un bucle for y esto ya se está resaltando como una palabra clave. Y la forma en que esto funciona es voy a escribir esto y voy a explicar. Entonces podemos decir que soy igual a uno y voy a decir diez, y voy a decir coma otra vez y luego uno y luego hacer. Y en cuanto presiono la tecla Enter aquí mismo, se puede ver que el final degenera y todo lo que hay dentro de este for-loop, similar a lo que hemos visto si declaraciones, ¿verdad? Todo en lugar de esto for loop se va a hacer en este caso diez veces. Ahora, ¿cómo es esto? ¿Cómo funciona esto? ¿Qué significa esta locura? Bueno, esto significa lo siguiente. Significa que el bucle, tenemos que empezar a contar por supuesto, porque necesitamos saber con qué frecuencia estamos pasando. Lo que sea que pongamos aquí, podemos simplemente imprimir i en este caso, ¿verdad? Así que sólo vamos a imprimir el número que estamos contando. Y la pregunta es, bien, empezamos uno va a empezar en uno, quiere decir con esto, ¿verdad? Entonces estamos empezando en uno, bien, eso debería ser bastante autoexplicativo. Empezó uno. Ahora vamos a terminar a las diez. Esto es lo que significa este número , y luego es extremadamente potente. Este número significa que estamos aumentando el conteo en uno cada vez que terminamos el bucle. También podríamos hacer tres. Entonces estamos aumentando el conteo en tres o dos o seis o nueve o honramos 26 si quisiéramos, podemos hacer muchas cosas con esto. Pero por el momento, solo estamos pasando por esto. Y cada vez que pasamos por esta impresión, estamos aumentando este yo en uno. Y en cuanto llegue a diez, ya terminamos con esto. Bueno, juguemos y veamos qué pasa. Y podrás ver si ampliamos un poco la salida. 1 234-567-8910, exactamente lo que hubiéramos esperado. Pero estamos aumentando este yo uno cada vez que terminamos un bucle. Así que estamos empezando de nuevo por aquí. Estamos como, Bien, ahora mismo soy uno. El resto no nos preocupa por el momento porque no tengo diez o es menor que diez. Entonces estamos como, estamos totalmente bien. Y luego estamos imprimiendo yo, que de hecho es uno. Estamos llegando al final. Así que vamos a volver al for-loop. Estamos como, bien, ahora me aumenta en uno, así que ahora soy dos, y así sucesivamente y así sucesivamente y así sucesivamente hasta llegar a diez. Y entonces el bucle es como, Oh, mira esto. Ahora tengo diez. Así que ya terminamos. Y eso es lo que se llama un for-loop en este caso. Muy interesante de hecho. Ahora también podemos tener un tipo diferente de bucle. Déjame parar el juego por un momento. Y podemos tener un tipo diferente de gripe y eso es un bucle while. Entonces, por ejemplo, podemos tener una variable local x por aquí, eso es tres. Y entonces podemos decir while, y podemos decir mientras x es menor o igual a diez, entonces vamos a hacer algo que va a tener en serie se obtiene una expresión booleana explícita que tiene que ser cierta. Y si bien esto es cierto, vamos a hacer esto ahora mientras los bucles son notoriamente propensos con lo siguiente, y eso es un bucle infinito. bucle infinito ocurre si, por alguna razón, nunca se llega a falsificar esto. Entonces si x siempre es menor o igual a diez, entonces este bucle while va a ir, va a ir para siempre. Ahora creo, si recuerdo correctamente, Lula y además, Roblox Studio tienen una especie de protección contra fallas incorporada para esto, que todo tu Roblox Studio no se estrelle si esto sucede. Pero aun así te recomiendo que no pruebes esto porque es un poco molesto. Entonces dentro de aquí podemos por ejemplo decir, bien, solo vamos a aumentar x uno cada vez y entonces deberíamos estar totalmente bien porque claro, si aumentamos esto en uno, en algún momento va a ser más grande que x, ¿verdad? Entonces, si solo podemos decir print y eso es en realidad también print out x, y nada sería el caso. Y hagámoslo antes de que lo aumentemos sin embargo. Así que vamos a imprimir tres todo el camino hasta las diez. Y entonces también deberíamos estar fuera del bucle. Así que vamos a hacer otra impresión por aquí fuera del bucle. Y juguemos esto y veamos qué pasa aquí. Y claro, 3-10, donde fuera del bucle, absolutamente no se preocupe. También podemos hacerlo, y esto es sólo un ejemplo aquí. Dentro de ella. Si estamos dentro de un bucle while o un bucle for para el caso. ¿Correcto? Digamos que queremos ser como, Bien, ¿sabes qué? Cuando x llegue a siete, entonces en realidad queremos hacer lo siguiente y vamos a romper. Break es otra palabra clave que va a salir completamente inmediatamente del bucle como si hubiéramos llegado al final del bucle. Y eso no quiere decir que lleguemos a este fin. Estamos como si estuviéramos afuera del pajarito saltando. También podemos usar continuar. Y esto actuaría como si hubiéramos llegado al final por aquí. Por lo que esto continuará el bucle. Esto romperá el bucle. Esto básicamente vamos a estar fuera del bucle en ese punto. Esa es la idea general. Entonces si usamos break aquí, entonces vamos a tener salida de tres a siete. Puedes, o en este caso seis en realidad porque estamos dando salida x antes de aumentarlo. Entonces x es seis, se pone, se incrementa a siete. X7, estamos rompiendo y por eso tenemos 345.6. Y luego estamos fuera del circuito. Si tuviéramos que hacer una continuación aquí, lo que pasaría es en realidad nada sería diferente a lo que teníamos antes porque nada después de esto si la declaración es relevante. No obstante, si lo pusiéramos desde el principio por aquí, ahora va a ser interesante porque ahora son siete no sería salida. Entonces, si vemos esto ahora mismo, se puede ver de repente, lo que pasaría es que nos encontraríamos con un bucle infinito. Ahora esto es por supuesto, app. Para que veas que hemos agotado el tiempo de ejecución permitido porque lo que pasa aquí es que x es siete y luego estamos como, bien, sigamos y luego es como ejercicio. Sigamos, Sigamos, Sigamos, Sigamos, Sigamos, Sigamos. Y va a hacer esto hasta que, en este caso, se logre el tiempo de ejecución permitido. Eso es 10 s, si podemos ver esto bien, entonces la diferencia aquí en el tiempo es de 10 s. Entonces, en teoría, esto puede suceder. Entonces es por eso que debes tener cuidado con esto. Así que podríamos, por ejemplo, hacer algo como esto. Entonces la impresión pasa después y luego lo que el aumento aquí sucede antes. Entonces, si tuviéramos que hacer con esto, entonces de repente saltamos 6-8 y saltamos por encima de siete en este caso. Entonces esa es otra idea interesante. Y luego también tenemos un bucle de repetición, que es más o una cosa muy similar al bucle while. Lo que básicamente lo estamos haciendo al revés. Entonces básicamente estamos diciendo, Oye, queremos repetir el siguiente código hasta que algo sea cierto. Eso es más o menos, es casi equivalente al bucle while, pero es un poco diferente. Y eso está escrito así. Eso es prácticamente todo acerca de los bucles. O pueden ser interesantes. Eso debería ser más o menos hay que hacerlo, ¿verdad? En resumen, los bucles son una manera increíblemente fácil y eficiente de repetir el código que quieres repetirlo x cantidad de veces que hay para los bucles, mientras que los bucles y repiten hasta los bucles. Y esas son las, creo que las tres versiones principales. También hay algunas cosas interesantes para, para bucles posteriores que podemos ver los cuatro bucles de cada uno. Pero en general, esos son básicamente los tres grandes. Y pueden ser muy, muy interesantes de hecho. Así que recomiendo mucho jugar un poco con esto. Si quieres un poco de desafío, esto es solo un desafío para ti mismo. Lo que puedes hacer es aumentar esto a 100 e imprimir números 1-100 y luego hacer exactamente lo que te dije y básicamente decir, Oye, solo queremos imprimir números si son divisibles por dos. Entonces si el, si hay par o si no los hay. Entonces, esto debería ser bastante sencillo con la conferencia if and else y la conferencia de loops, deberías poder hacer eso. Te recomiendo que pruebes esto. Es un ejercicio muy divertido. Independientemente de eso, espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 12. (Lua) Funciones en Lua: Bien, bienvenido de nuevo al retrete o introducción aquí para el curso de barricadas. Y en esta conferencia, vamos a estar echando un vistazo a las funciones. Entonces he puesto esta palabra un par de veces. Vamos a crear un nuevo script por aquí y cambiarle el nombre a 09 funciones de guión, y por supuesto también 09 funciones aquí mismo. Ahora la pregunta es, ¿qué son las funciones? Bueno, como una visión general de alto, alto nivel, básicamente puedes poner múltiples instrucciones en lugar de una función y luego siempre ejecutar esa función en lugar de hacer todas estas cosas diferentes como ejemplo de alto nivel, podemos escribir una función. Se puede ver que esto es una palabra clave y luego este es el nombre de la función. Vamos a llamar a esto cocinar, ¿verdad? Y entonces incluso podemos poner algo aquí así que escribimos el nombre de esta función y luego tenemos paréntesis. Tan pronto como pongas el paréntesis abierto, el de cierre debería generarse automáticamente. Y aquí entonces puedes poner ciertos argumentos. Esos se llaman parámetros, son parámetros y se pueden pasar a la función, cambiando así la salida. Así que en nuestro ejemplo de codificación aquí, vamos a poner nada aquí y en realidad solo en realidad solo vamos al final, presione Enter, y luego el final aquí, una vez más vamos a generar automáticamente. Esto es lo mismo que hemos visto con los bucles y las declaraciones if y else también. Y dentro de aquí, si estamos cocinando algo, ahora puedo poner cosas diferentes. Ahora, en este caso, no va a funcionar. Sólo voy a hacer comentarios solo para que te hagas la idea de una función. ¿Qué es una función, verdad? Así que cada vez que queremos cocinar, tal vez en realidad queremos cocinar algo específico. Así que digamos, digamos que vamos a llamar a esta cocinera cena por el bien de la discusión, ¿verdad? Y cada vez que quiero cocinar la cena, hay algunas cosas que tengo que hacer, ¿verdad? Entonces tengo que sacar cubiertos, tengo que quizá precalentar el horno. Tengo que hacer un corte de verduras, cosas así. Entonces hay ciertas cosas que siempre tengo que hacer si quiero hacer esta función específica, verdad? Esta cosa específica. Y puedes enumerarlos todos dentro de una función. Y luego en lugar de escribir cada uno individualmente, si tuviéramos que hacer esto varias veces, siempre tendríamos que leer todas y cada una de las instrucciones. Y eso es una locura. Básicamente una función es un contenedor en que puedes poner múltiples líneas diferentes aquí en este caso, y luego se ejecutarán. Ahora bien, este es un ejemplo de alto nivel para que te hagas la idea. Ojalá. Ahora vamos a echar un vistazo a un ejemplo real. Entonces un ejemplo real podría ser una función sum. Estamos dentro del paréntesis. Ponemos en realidad el número uno y el num dos. Y ahora lo loco es, si tuviéramos que llamar a esta función num, en realidad queremos que se devuelva algo. Entonces podemos decir retorno. Y puedes ver que esto también es una palabra clave y queremos devolver num uno más num dos. Y esto es ahora lo que se está devolviendo. Ahora claro, en este caso, ya tenemos alguna especie de función simplemente usando el operador plus. No obstante, esto es una vez más, solo como un ejemplo para que empieces a entender las funciones y por qué pueden ser sumamente útiles. Porque ahora lo que podemos hacer es que podemos imprimir y podemos decir, bueno la función de suma, ¿verdad? Y podemos simplemente imprimir algunos y luego decir 3.10. Y esto es, como pueden ver, esto es, estamos llamando a la función sum. Incluso se puede ver que destaca por aquí. Si hago clic en esto y dentro de aquí, podemos pasar en un número uno y otro número, y esos se suman aquí. Entonces estos son parámetros que estamos pasando en parámetros, siempre hay que tener la cantidad correcta de parámetros. Entonces, si lo hacemos, si tuviera que hacer esto, entonces mientras no estamos recibiendo ningún problema aquí, si realmente tuviera que ejecutar esto, obtendríamos un problema. Pero por el bien de la discusión, juguemos esto. Y veremos que si miro en la salida, intentamos realizar un add en un número de nulo porque si no paso algo bien, entonces lo que se pasa adentro es nulo. Ahora ya hemos escuchado esto antes, ¿verdad? Nil, solo fue la ausencia de algún valor en una determinada variable. Entonces sí tenemos que pasar algo adentro. Y si tuviéramos que pasar los dos números por aquí, entonces podremos encontrar que la función sum da salida 13, que es exactamente lo que esperaríamos aquí. Ahora por supuesto, cuando en realidad estás escribiendo algo, las funciones pueden complicarse mucho más que esto, pero esto es solo una introducción muy, muy pequeña a las funciones. Los estaremos viendo cuando en realidad estemos haciendo algo de programación con el propio Roblox. Para resumir aquí, funciones que básicamente puedes usar para agrupar múltiples cosas diferentes y hacerlas todas ejecutadas una tras otra. Esto también puede incluir otras funciones. También se puede volver a ciertas cosas y funciones. Por ejemplo, tenemos una función sum aquí donde pasamos en dos parámetros. Y esos entonces van a ser devueltos después de que estemos haciendo algo con ellos. Esa es una mirada general a las funciones. Si no estás del todo seguro de cómo usarlos, no te preocupes, lo más importante es que te hayan presentado este tema y también podremos ver más sobre funciones en conferencias posteriores. De lo contrario, espero que esto te haya resultado útil y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 13. (Lua) Tablas en Lua: Bien, bienvenidos de nuevo a la introducción del baño aquí para las puntuaciones de robots que esta conferencia, vamos a estar echando un vistazo a las mesas. Ahora, las mesas son algo muy interesante y pueden ser bastante complicadas, pero no te preocupes en absoluto, vamos a estar bien. Así que hagamos tablas por aquí y tablas hash, y luego lo mismo por aquí. Y esto es mesas son mesas. La idea general de las tablas es básicamente que tienes una especie de lista de ciertas cosas. Entonces cuando, por supuesto, una mesa es un poco diferente a una lista, pero puedes, por ahora pensarla como una lista y para que tengamos algo que probar. Voy a hacer una variable local llamada días. Y en estos días, esta va a ser una lista de todos los días de lunes a viernes. En primer lugar, lo que vamos a hacer es igual a y luego un corchete, el corchete de cierre se genera automáticamente de nuevo. Y esta va a ser una tabla de cuerdas en este caso. Entonces esto va a ser la coma del lunes, y luego tenemos el martes. Y ¿puedes adivinar qué viene después exactamente? Día de los testigos, que es como se escribe el jueves y luego por último pero no menos importante, también tenemos el viernes. Ahí vas. Entonces esto es básicamente, bueno, estos son los días y ahora podemos hacer lo siguiente. Podemos imprimir, ¿verdad? Y lo que podemos imprimir es que podemos imprimir al día. Y el día que vamos a imprimir es que vamos a imprimir bien, ¿qué tal si queríamos imprimir, digamos el miércoles? ¿Cómo hacemos esto? Bueno, pensemos en este día para que podamos poner en días y puedas verlo incluso sugerirnos esto. Y ahora, ¿cómo sacamos realmente una de nuestras muertes? Bueno, tenemos este paréntesis por aquí y perspicacia que podemos poner en un número. Y ese número representa el índice de un lado de la lista, ¿verdad? Entonces este va a ser el elemento del índice uno y X2 y X3 y X4 y X5. Pero todos, miércoles, vamos a hacer tres y vamos jugar a ver si salimos el miércoles y de hecho un día, miércoles, eso ya es bastante increíble. Ahora, el índice aquí comienza en uno en lugar de cero. Entonces esto solo es importante si ya estás programando y si has programado antes, generalmente cuando haces otras cosas en otros lenguajes y otros lenguajes de programación, generalmente los índices comienzan en cero. Este no es el caso en Lua. En Lua, cada índice comienza en uno. Esto es muy importante. Ahora bien, si no sabes lo que significa nada de esto, no te preocupes por ello. Eso está bien. Sólo digo que para las personas que ya han programado antes, esto es algo muy, muy importante a tener en cuenta. Ahora claro que tenemos salida uno, pero y si tal vez queremos, vamos a sacar todo. Entonces esto va a parecer un poco más complicado, pero tenemos un for-loop que podemos usar que básicamente dará salida, bueno, todo dentro de esta tabla en particular. Ahora, hay dos cosas distintas que podemos hacer. O bien podemos usar un for-loop normal justo donde estamos como, Oye, quiero empezar en uno y quiero detenerme en. Se trata de unas jornadas de hashtag muy importantes. Entonces esta sería la longitud de esta tabla en particular. ¿Como cuántos elementos hay en esta tabla? Quiero aumentar en uno. Para esto quiero hacer y luego solo imprimir días. Una vez más corchetes. Vi esto en teoría debería salir lunes, martes, miércoles, jueves, viernes. Eso debería estar totalmente bien. A ver si esto funciona. Y claro, lunes, martes, miércoles, jueves, viernes. Absolutamente, no se preocupe. Y funciona totalmente bien. Esto bastante genial. Hay una segunda manera de que podamos hacer esto. Esto funciona totalmente, pero hay otra manera de que podamos hacerlo. Ahora esta, un poco más complicada. Sin embargo, la razón por la que el otro podría ser interesante es porque en este momento las tablas están mapeadas al índice. Entonces básicamente esto es rojo, este es uno, esto es dos, esto es tres, esto es cuatro, esto es cinco. En teoría, podría hacer lo que quisiera. Así que podría hacerlo, y sólo voy a, voy a hacer cosas locas. Digamos que un igual a esto es igual a esto, C es igual a esto, d es igual a esto, y entonces F es igual a esto. F es E. En realidad, ahí tienes. Entonces puedes ver que no hay, No, no hay errores por aquí porque ahora están mapeados a diferentes claves, ¿verdad? Entonces ahora lo loco es que si tuviera que quedarme con esto y estoy jugando esto, lo que encontrarás es que un día es nulo. Y además no estamos dando salida a nada porque no hay, Esto es todo nulo. Eso, esto no funciona. Pero esto bien que tenemos que hacer es que necesitamos obtener el par de valor clave. Porque básicamente hemos transformado esta tabla de una lista normal en la que se puede acceder a los elementos a través del índice a una especie de diccionario o un mapa que mapea un valor a otro valor. Entonces ahora podemos hacer un for-loop con una clave y un valor, y esto va a ser en pares de la tabla de días. Entonces vamos a hacer algo. Pero esto se ve bastante loco. La idea general, sin embargo, es ésta, esto es lo nuevo. Lo que estamos tomando es que estamos recibiendo una llave que siempre es lo primero aquí, ¿verdad? Entonces a es igual, esta es la clave y el valor es lo que esté escrito dentro de ella, ¿verdad? Entonces antes la clave era solo el índice 1,234.5. Y ahora la clave es a, B, C, D y E. Esto es lo único que cambió. Y si fuéramos a hacer lo siguiente, si ahora hacemos día o digamos, digamos clave. Y luego vamos a imprimir la llave. Y voy a hacer el valor y luego imprimir el valor. Lo que encontrarás es que esto generará valor clave el lunes y así sucesivamente y así sucesivamente. Pero vamos a jugar a esto. Verás clave un valor el lunes, clave C es miércoles, curiosamente, y esto también es algo muy importante. Ya no está en orden. ¿No es una locura? Bueno, este es efectivamente el caso. Así que vamos a jugar esto otra vez. Como vemos tuvimos lunes, miércoles, martes, viernes, jueves. Hagamos esto de nuevo y volvemos a recibir el mismo pedido. Esta es otra lección extremadamente importante porque si estamos usando estos pares aquí mismo, el orden en el que hemos guardado esto no está garantizado. Eso es sumamente importante y básicamente hay que tenerlo presente. No obstante, sigue siendo algo muy, muy interesante. Pero ten esto en mente, es muy genial. Y si volviera a borrar el valor de las claves de aquí, ¿verdad? Y íbamos a pasar por esto otra vez. ¿Cuál va a ser la clave? Bueno, es exactamente 12345. Ahora el orden es correcto porque no me cito sobre esto. No estoy 100% seguro, pero estoy bastante seguro de que las claves son ordenables u ordenables, ¿verdad? Entonces 1234, hay un orden definido para esas cosas, entonces el orden siempre va a ser la forma en que básicamente las has guardado. Y eso es bastante genial. Efectivamente. Sin embargo, esto no es todo, porque ¿qué falta en estos días? Bueno, claro, faltan el sábado y el domingo. Entonces lo que podemos hacer es que realmente podemos insertar ciertos valores en esta tabla. Podemos hacer punto de mesa y se puede ver que hay un montón de cosas que podemos hacer, podemos crear, podemos encontrar ciertas cosas. Incluso podemos ver devuelve la clave numérica máxima. Hay cosas locas. Podemos movernos, las cosas, podemos ordenarlas, podemos clonarlas. Pero para nuestros propósitos, lo que en realidad quiero es que solo quiero insertar algo. Y lo que quiero insertar es que quiero insertar en días. Entonces esta es la tabla en la que queremos insertar. Entonces tenemos que poner en lo específico, en este caso, lo que en realidad quiero hacer es que quiero poner esto en un lugar específico. Entonces voy a poner esto en la posición número seis. Y luego quiero poner en el valor. Y el valor aquí es el sábado. Y lo que podemos hacer es simplemente copiar esto. Y luego en la posición siete en este caso, quiero poner el domingo. Y si tuviéramos que sacar esto ahora, así que una vez más, puedo simplemente tomar lo que quiera. En realidad, solo tomemos este y luego solo iremos a eliminarlo de aquí. Eso va a estar bien para que no abarquemos la salida por aquí. Juguemos, y encontrarás que ahora tenemos un seis clave y eso va a devolver el valor del sábado y un siete clave que va a devolver el valor del domingo. Muy interesante de hecho. Y luego una última cosa aquí. Ahora sé que esto ha sido bastante y esto es un montón de cosas nuevas a la vez. No te preocupes en absoluto. Vamos a poder, ya sabes, vas a poder navegar a través esto con facilidad un poco más tarde. No obstante, esto, lo que siempre recomiendo como siempre es simplemente probar un montón de cosas con esto. Pruébalo. Al tener diferentes valores aquí al tener en lugar de cadenas, puedes poner números aquí. Y por cierto, esto también es algo realmente interesante. Incluso puedes poner, puedes mezclar y emparejar diferentes valores de tipos de variables. Puedes tener números aquí y así sucesivamente y así sucesivamente. Lo cual en realidad es muy interesante porque esto significa que se puede tener una cuasi clase. Ahora bien, esto es un poco más avanzado y una vez más, algo para las personas que ya han programado en otro idioma. Entonces puedes tener, así que por ejemplo podemos tener una persona que tenga un FirstName, por ejemplo, john. Y puede tener apellido, que tal vez sea Smith. Y entonces incluso puedes tener una h, ¿verdad? Que tal vez sea un 32. Y ahora lo que puedo hacer es que puedo imprimir persona, persona. Y luego queremos poner en FirstName, esta y. y luego queremos tener a la persona. También podemos hacer punto persona, y esto es una locura. Incluso podemos hacer punto persona. Y puedes ver las tres cosas diferentes que hemos puesto en esta tabla en particular. Podemos salir así. Entonces podemos hacer apellido y luego podemos decir, es que podemos decir persona.Nueva era, años. Déjame alejarme un poco. Ahí vas. Entonces persona y ¿qué? Va a dar salida al nombre de la persona. Esta es la forma en que podemos escribirnos. También podemos acceder a esto por esto. Y solo tenemos es y luego la edad, años. Vamos a sacar este LLS jugar esto y ver si esto funciona. Y claro, su hijo John Smith tiene 32 años. Absolutamente jodidamente, increíble. Esto es genial y por supuesto podemos ir un poco más allá. Y ahora esto es justo, solo quiero mencionar esto. Incluso podemos hacer una mesa de mesas. Esto quiere decir que en teoría, podemos tener múltiples personas y luego tener una lista de esas personas. No vamos a hacer esto aquí porque eso es absolutamente una locura. Esto va más allá del alcance de la introducción de Lula aquí. Yo sí quería presentarles a las mesas. Pueden ser bastante complicados. Esto puede ser un poco complicado. Esto puede ser un poco complicado. Pero ojalá pude empujarte en la dirección de una especie de comprensión de lo que está pasando aquí. Una vez más, recomiendo encarecidamente llevar el guión por aquí, que por supuesto siempre está disponible para descargar. Y puedes tomar esto y simplemente probarlo. Intenta hacer cosas diferentes con él, insertando cosas en diferentes lugares, insertando cosas tendidas alrededor de esa persona de aquí. Recomiendo encarecidamente solo hacer eso y tratar de tener una idea de cómo funciona esto. Pero una vez más, para resumir tablas generales, o pueden ser listas de cosas que tienen ciertas claves y ciertos valores. Si no especificas las claves, entonces las claves son solo una a través de cualquiera que sea la cantidad de elementos dentro de esa tabla o lista en este caso. Y puedes recorrerlos con dos bucles for diferentes, dos estilos diferentes de bucles for. Y eso es muy, muy genial de hecho. Incluso podemos usar las mesas para hacer algo como una clase. Ahora en este caso, es una persona por aquí que tiene apellido y edad. Y podemos sacar esto de dos maneras diferentes. Bueno, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 14. (Lua) La biblioteca de matemáticas: Bien, bienvenido de nuevo a la introducción del baño aquí para los núcleos de los bloqueos de carreteras. Y en esta conferencia vamos a estar hablando la biblioteca de matemáticas, ¿verdad? Entonces, una vez más, por supuesto, creamos nuestro guión por aquí, 11. Esto va a ser liberal matemático. Ahí vas. Y esto va a ser 11 matemáticas, eso va a estar bien. Y esto sólo va a ser una introducción muy, muy minúscula aquí. Pero podría ser útil. Así que, por supuesto, ya hemos hecho algunas cosas matemáticas, ¿verdad? Hemos agregado, hemos restado, hemos multiplicado, dividido, e incluso tenemos el resto. Cosas bastante locas que ya hemos hecho. Pero con la biblioteca de matemáticas podemos hacer cosas aún más locas. Entonces, si tuviéramos que imprimir por ejemplo menos cinco, pero estamos como, ¿sabes qué? En realidad, realmente no me importa si es o no menos cinco o más cinco. En realidad solo quiero el número absoluto para esto. Bueno, sólo podemos imprimir punto matemático. Y puedes ver aquí todas las locuras que básicamente podemos conseguir con esta biblioteca de matemáticas. Podemos obtener un número aleatorio. Eso lo vamos a ver en un momento. Incluso podemos conseguir la locura de Pi. Podemos hacer el exponente, obtenemos coseno, podemos devuelve un ángulo que le das en radianes y lo convierte en grados. Obtenemos el logaritmo. Hay muchas cosas, como se puede ver claramente que podemos hacer. Y esto puede ser sumamente útil para hacer aún más cosas matemáticas. Si eres como, Oh, no necesito estas cosas de matemáticas. Bueno, por ejemplo, tener cosas como la onda sinusoidal es realmente útil. Porque lo que puedes hacer con un letrero es, por ejemplo hacer círculos perfectos y así puedes estropear las cosas en círculos. Sólo estoy diciendo que esa es una de las cosas que, donde esto puede ser de suma utilidad. Pero en este caso en realidad queremos abs, lo que significa absoluto. Entonces estamos obteniendo el valor absoluto de menos cinco, que si solo jugamos esto es por supuesto cinco, porque, bueno, ese es el valor absoluto. Al valor absoluto no le importa el signo. Simplemente le importa, bueno, ¿cuál es el valor real? Hay otras cosas que podemos hacer. Entonces, por ejemplo, podemos hacer un verde azulado matemático. Entonces este va a ser el techo. Puedes ver que devuelve el entero más pequeño, mayor o igual a x ¿Qué significa eso? Bien, Esto suena como, suena mucho más loco de lo que realmente es. Si ponemos en 10.21, sólo va a regresar, bueno, va a sellar. Así que en realidad va a hacer de esto un número entero, lo que significa que esto va a redondear hacia arriba al siguiente número entero. Si en realidad hacemos el otro que va a ser piso, esto va a redondear hacia abajo. Así que en realidad podemos poner esto arriba, redondear hacia arriba y éste redondea hacia abajo, dual. Ten en cuenta, esto no ronda con las cosas normales de redondeo, ¿verdad? Entonces también tenemos ronda. Este, en este caso también se agota porque en realidad se ve bien. O la regla ¿verdad? 0.5 significa redondear hacia arriba y todo por debajo de 0.5, redondear hacia abajo. Pero vamos a ver, esto debería ser 111010. A ver si ese es efectivamente el caso. Y claro, 111010. Perfecto. Y detengamos esto y hagamos esto de nuevo con 0.5 y luego debería ser 111011. Y claro, 111011, exactamente como llegamos ahí. Son absolutamente perfectos. Así es exactamente como funciona esto porque son las, digamos, las reglas normales de redondeo. Ahí vas. Entonces eso ojalá tenga sentido. También podemos obtener el mínimo y el máximo. Entonces esto también es, puede ser bastante útil en escritura. Entonces esto es min, que es básicamente, te va a dar el número mínimo. Pones dos números, ¿verdad? Y devuelve un número menor dado como r Omega. Entonces eso debería tener mucho sentido. Y entonces claro que podemos tener dos corolario a eso, que es el máximo, que devuelve mayor número. En realidad puedes, estoy bastante seguro, poner tantos números como quieras. Vamos a hacer eso. ¿Por qué no 60? O sea, eso no cambiaría nada uno, esto en teoría también debería funcionar. Vamos a ver. Y efectivamente lo hace. El primero es uno y el segundo es 515. Entonces esto puede ser realmente útil, por ejemplo, tal vez quieras obtener el número más alto para una puntuación alta o algo así, las funciones Min y max pueden ser realmente útiles. Pero también vamos a imprimir pi porque sombrero blanco y no poder sino pi. Y luego también podemos usar la matemática de raíz cuadrada que SQRT es la raíz cuadrada de 25. Entonces pi por supuesto va a ser 3.141, 5265, algo así. Y entonces la raíz cuadrada de 25 debería ser cinco. A ver, ¿a qué distancia estaba yo con pi? 314-15-9265? Creo que tenía razón. Creo que dije 649. No estoy seguro, pero eso básicamente es pi. Y esto es por supuesto con precisión, eso es amina. Nunca voy a necesitar esta precisión en los juegos de todos modos, estoy bastante seguro de que esta es la precisión que vas a conseguir, la circunferencia del universo observable dentro de milímetros. Así que estoy bastante seguro de que esto va a estar bien. Y entonces claro, la raíz cuadrada de 25 es cinco. Perfecto El último deja. También puedes tener algo de aleatoriedad. Ahora aquí es muy importante que la aleatoriedad para la computadora sea siempre pseudo-aleatoria. Básicamente, esto significa que lo siembres con cierto valor. Y cuando generas números que siempre van a ser los mismos, esto es lo mismo. La idea de por ejemplo cuando piensas en Minecraft world generation como ejemplo, puedes ponerlo en una semilla y luego siempre genera el mismo mundo. Bueno, ¿cómo funciona eso? Esta es exactamente la semilla que estás poniendo. Y entonces los valores que sacas son siempre los mismos. Entonces podemos hacer un azar, esto te va a dar un número, el número 0-1. Y también puedes hacer matemáticas punto aleatorio. Y en realidad podemos poner cosas ahí. Entonces podemos poner en un 0.10 y esos van a ser los límites inferior y superior que puedas conseguir. Así que vamos a jugar esto y podemos ver que el primer número es 0.6, lo que sea, lo que sea, lo que sea, lo que sea, y luego 42. Quiero decir, qué número perfecto por aquí para conseguir n. Si paramos esto y volvemos a jugar esto, donde encontrarás es que, oh, exactamente los mismos números porque, y esto es exactamente lo que pasa, porque la semilla es la misma, ¿verdad? Entonces tenemos la misma semilla aleatoria por aquí. Si cambio esto, ahora vamos a conseguir números completamente diferentes. Entonces puedes ver ahora obtenemos 0.0, 69.57. Entonces cuando lo pones en la semilla, bien, si pones 100 también, deberías en teoría obtener exactamente los mismos números que yo obtuve. Y es decir, esa es la idea de esta aleatoriedad o la pseudo-aleatoriedad. Eso es bastante genial de hecho, generalmente si quieres aleatorizar esto por completo, lo que tomas es como la cantidad de segundos en tu computadora o la cantidad de ticks en tu computadora, porque eso suele ser lo suficientemente aleatorio para una semilla. Para resumir. En general, las funciones matemáticas son, bueno, hay abundantes y pueden conseguirte muchas cosas diferentes. Puedes números absolutos, puedes redondear hacia arriba y hacia abajo. Puedes obtener minimax, e incluso puedes obtener algunas constantes como pi aquí e incluso números aleatorios cuyos juegos finales son extremadamente útiles. Y ellos pueden simplemente, te pueden ayudar mucho para un número de cosas diferentes. Son enemigos matutinos en un área determinada que es un poco aleatorio o que le dan atributos aleatorios a los enemigos. Todo tipo de cosas. Realmente genial de hecho, ¿verdad? Pero eso en realidad concluye esta conferencia y también toda la introducción inferior. Ojalá esta fue una introducción lo suficientemente buena como para que te agarres un poco aquí con Laura. Si todavía no te sientes muy confiado en esto, está totalmente bien. Hay dos cosas que definitivamente puedo recomendar. Número uno, si hay ciertos temas que hemos discutido en los que estás un poco tembloroso, intentaste volver a pasar por la conferencia y ver si con todas las diferentes cosas de las que hemos hablado hasta ahora en retrospectiva, ahora son un poco más fáciles de entender. Número dos, lo que recomiendo encarecidamente es simplemente jugar con estos, con los diferentes temas que hemos conseguido. Simplemente juegue un poco con las funciones matemáticas de aquí, juegue con mesas, juegue con bucles y declaraciones if and else. Ya puedes hacer muchas cosas con solo estas 11 cosas de las que hemos hablado. A pesar de que puede que no parezca mucho. Te lo digo, estas son las bases en las que todo, cada juego básicamente se crea con todos estos conceptos básicos. Sí, claro, también hay muchas otras cosas. Pero estos conceptos básicos, si no puedes usarlos, entonces todo lo demás es irrelevante porque necesitas conocer los fundamentos, los fundamentos. De lo contrario, simplemente no funciona bien. En cuanto a esto, estamos saltando los controles de carretera propiamente dichos si esto le ha sido útil hasta ahora, realmente agradecería una reseña de usted. De lo contrario, los veré en la próxima conferencia. Entonces, sí. 15. (Roblox) Roblox Studio explicado: Bien, bienvenidos de nuevo a los puntajes de Roblox. En esta conferencia, vamos a echar un vistazo a algunas de las UI de Roblox Studio. Ahora esto solo te va a dar una visión general, no va a entrar en cada botón y lo que hace todo, porque eso llevaría básicamente un video de dos horas. Y eso no es exactamente lo que tenía en mente. Solo quería mostrarte cada una de las diferentes ventanas de aquí y más o menos lo que hacen. Entonces o esto o tal vez sin la salida va a ser aproximadamente lo que verás cuando abras Roblox Studio por primera vez con un juego personalizado, lo primero que realmente quiero que hagas es ir a ver y agregar la salida por aquí, porque la salida es una de las cosas más importantes que usaremos a lo largo de todo el curso, porque básicamente nos permite generar cualquier cosa que queramos a través de scripts. Y aquí es donde se va a exhibir esto. Entonces centrémonos en esta gran área de aquí mismo, que es una especie de vista de cámara. Y ya puedes ver que estoy en modo selecto. También hay modo de movimiento, modo escala y modo de rotación. Digamos en modo selecto. Y si tuviera que hacer clic derecho sobre esto, ahora puedo moverme si muevo la cámara, pero puedo acercar con el desplazamiento de la rueda del mouse. Y si hago click izquierdo, en realidad puedo seleccionar ciertas cosas. Entonces puedes ver ahora hay un borde azul alrededor de él, es decir, he seleccionado este objeto. Esta es la idea general. También puedo moverme con WASD y con E y hacer cola arriba, va arriba y abajo. Se puede ver cuando muevo la cámara en la parte superior derecha, el cubo de aquí también se mueve, porque este es un espacio tridimensional, se representa con un valor x, un valor y, y un valor z de este es solo un sistema de coordenadas tridimensional. Puedo pinchar en las caras de aquí y luego va a cambiar a esa cara. Para que pueda ir a la vista de arriba hacia abajo. Y ahora tengo todo en vista de arriba hacia abajo. Podría ser útil para ciertas cosas, pero también siempre puedo rotar fuera de ella. Si selecciono un determinado objeto, se puede ver que se ilumina en el Explorer a la derecha, a la derecha, para que pueda ver la pequeña ubicación aquí que luego se resalta. Y la idea general es que también pueda simplemente hacer clic en esto y luego también se pone de relieve. Entonces esta idea del explorador. El explorador representa todo lo que hay dentro de nuestro juego, tanto dentro del mundo del juego. El mundo del juego es todo lo del espacio de trabajo, ¿verdad? Entonces, si tuviera que hacer clic en el más de aquí, podría agregar un montón de cosas por aquí. No vamos a agregar nada ahora mismo, pero podría agregar una cantidad increíble de cosas. Esto es básicamente todo lo que vemos. Y luego también hay otras cosas, ¿verdad? Entonces hay servicios de iluminación de un jugador, algunas cosas de almacenamiento. Algunas cosas también pasarán por la mayoría de estas cosas durante las conferencias. Pero por el momento, el espacio de trabajo es realmente más importante que tenemos. Y tal vez el servicio de script del servidor, donde básicamente cargaremos en todos nuestros scripts por el momento. Después en la parte inferior derecha, cuando hayamos seleccionado algo, podemos ver que tenemos algunas propiedades. Las propiedades representan un determinado objeto, ¿verdad? Entonces en este caso, esta ubicación de desove particular tiene estas propiedades particulares, igual que cómo eres humano, ¿verdad? Y tienes un cierto nombre que sería una propiedad, igual que una idea general. Y se puede ver que diferentes tipos de objetos tienen diferentes tipos de propiedades. Entonces en este caso, la ubicación de spawn es de tipo spawn location y tiene algunos datos. Entonces puedes ver estos son lo que es su pluma naranja o este nombre tiene una talla? Entonces esto es parte de la transformación y tiene un pivote, tiene cierto comportamiento, tiene colisiones, tiene algunas propiedades de puerto, y así sucesivamente y así sucesivamente. Incluso tiene un campo de fuerza que es específico de las ubicaciones de desove. Lo mismo con los equipos, estoy bastante seguro. Así que hay un montón de cosas e incluso puedes agregar más atributos por aquí. Así que muy, muy interesante. En efecto, las propiedades son algo que veremos también en una futura conferencia. Y luego solo para dar un poco de visión general también. Entonces si seleccionamos esto y ahora podemos cambiar a modo de movimiento, y ahora podemos moverlo alrededor. Para que veas ahora puedo mover esto. También puedo escalarlo. Puedo ver las escalas que básicamente si sostenemos Shift, entonces lo escalamos de manera uniforme. Si mantenemos el control y lo escalamos en un eje, incluso podemos girarlo así. Y si quieres que esto se ajuste, entonces podrías hacer esto en la rotación en el movimiento por aquí, snap to grid, y entonces ahora solo puedo girarlo 45 grados. Sólo puedo moverlo en incrementos de una estrella. Esa es la idea general aquí mismo. La mayoría de estas otras cosas también veremos a lo largo del curso. La transformación podría seguir siendo algunas cosas interesantes. Entonces, si seleccionamos nuevamente la ubicación del spa, puedes ver que esta no es la transformación aquí. Podemos entrar en forma más detallada sobre cómo hacer ciertas cosas. Para que puedan ver, yo solo tengo como mucho más fino control de todo, sobre todo cuando caliento esto más alto. Ahora se puede ver que el tamaño del estudio está realmente representado aquí en números, lo cual es realmente impresionante. Así que puedo ponerme muy, muy preciso con cosas avatar del momento actual. Realmente no necesitamos nada aquí. Entonces esto es solo para agregar avatares, en este caso, pruebas, solo para probar ciertas cosas aquí mismo. Desde aquí podemos jugar, podemos iniciar un servidor local con x cantidad de jugadores. Incluso podemos cambiar el emulador del jugador. Es muy interesante. La vista es en realidad bastante importante porque aquí podemos habilitar y deshabilitar ciertas ventanas. Y como puede ver, en realidad hay bastantes gestor de activos y tenemos la caja de herramientas, y tenemos el navegador de objetos, y el análisis de script y la barra de comandos. Entonces hay un montón de cosas aquí, la mayoría de las cuales en realidad no necesitamos en este momento en absoluto. La mayoría de las cosas interesantes es que tal vez la caja de herramientas va a ser interesante. Entonces aquí es donde puedes cargar ciertas cosas de Roblox en tu juego, ¿verdad? Entonces puedes agregar luces, incluso puedes agregar algunos plugins en este caso, ¿verdad? Para que puedas agregar plugins. Algunos de ellos cuestan, algunos Roebuck, algunos de ellos no. Algunos de ellos son gratuitos. Sin embargo, siempre tenga cuidado, cuando agrega cosas de otras personas que podrían tener código malicioso en sus scripts maliciosos. Eso sí existe. Sobre todo esto es para cosas que son gratis. Siempre echa un vistazo a cuántas reseñas tienen y también cuántas críticas positivas que son la mitad, ¿verdad? Entonces algo que es como 91% positivo y tiene como 100 más críticas, eso probablemente va a estar bien. Así que tenlo en mente y podemos cerrar esto. Puede agregar una cuadrícula que ahora es una fuerza esa cuadrícula que podemos hacer una cuadrícula de dos tipos o una cuadrícula de 16 notas también. Esto solo te ayuda a ver lo que está pasando. renderizado de estructura de alambre básicamente apaga todos los sólidos, solo te da una estructura de alambre de todo. Esto puede ahorrar cierta cantidad de potencia de procesamiento de su PC es muy lento básicamente. Y luego aquí los plug-ins por el momento, no vamos a utilizar ningún complemento para el ciclo de conferencias, porque normalmente podemos hacer casi todo lo que necesitamos manualmente o nosotros mismos. Sin embargo, hay algunos complementos bastante geniales que están disponibles. Pero por el momento, no nos vamos a centrar en eso, ¿verdad? Y esa es una visión general. Como dije, podríamos entrar en detalles locos en todo tipo de cosas por el momento, vamos a estar bien con esto. Y entonces básicamente iremos de aquí y daremos un paso a la vez. Pero eso va a ser para esta conferencia aquí mismo hasta la próxima vez. Entonces, sí. 16. (Roblox) Referencia a una pieza: Bien, bienvenido de nuevo a los fundamentos de Roblox aquí para el curso de robótica. Y en esta conferencia vamos a estar echando un vistazo a las partes y a cómo hacer referencia a ellas. Entonces, ¿qué son las partes mientras que los poros son todo lo que existe en el espacio de trabajo, por así decirlo Entonces, si hacemos clic en esta parte de aquí mismo, puedes ver que estamos creando un nuevo puerto. Podemos borrar esto de nuevo. También podemos ir al plus en el espacio de trabajo y podemos bajar todo el camino hasta el puerto o simplemente podemos poner en parte y se puede ver parte y luego también crea una nueva parte para nosotros es que tenemos este puerto. Ahora podemos arrastrar esto y moverlo alrededor. Y podemos hacer todas las cosas que hemos visto hasta ahora, ¿verdad? Podemos movernos y podemos escalar este puerto. Podemos hacer esto más grande, podemos hacerlo más pequeño. Podemos mover esto. Entonces hay muchas cosas que podemos hacer con este puerto en particular. Y va a ser muy interesante hecho ahora este se llama puerto. Y lo que podríamos querer hacer es que queramos referencia a esto dentro de un guión, ¿verdad? Así que hay un montón de maneras en las que podemos hacer esto. Por el momento. Vamos a crear casi todos nuestros scripts en lugar del servicio de script del servidor, lo que va a hacer de este un, bueno, un script de servidor, ¿verdad? Esto sólo se va a ejecutar en el servidor. Las diferencias entre servidores y clientes hablarán de esto un poco más en los próximos años como una pequeña visión general, el servidor es básicamente lo que controla Roblox. Eso es como en algún lugar de un servidor, en algún lugar de tierra de Roblox, que no tienes nada que ver con eso. Tú eres el cliente, por lo que tu PC es el cliente. Cuando te conectas a un juego, te conectas a uno de esos servidores y tu cliente obviamente no puede hacer todo, ¿verdad? Para que el cliente pueda cambiar el número de monedas que tengas. Porque si pudieras hacer eso, podrías simplemente como presionar un botón o hacer un guión personalizado y estás como, Oh, tengo mil monedas y luego los servidores como si, absolutamente. Tienes 1,000 monedas. Entonces tiene que haber un desacoplamiento independientemente de eso, ahora mismo, una especie de servicio de guiones. Vamos a crear un nuevo guión, voy a llamar a esto. Vamos a elegir este guión F2 O2, y llamaremos a esto la referencia. Ligo hará zoom en esto una vez más y llamaremos a esto están haciendo referencia a una parte en el espacio de trabajo. Esto va a ser realmente muy interesante. Entonces hay un par de cosas que podemos hacer. Entonces digamos que queremos hacer referencia a la placa base. Esto lo podemos hacer. Vamos a hacer una placa base variable local y eso es igual al juego. Así que siempre queremos comenzar con el juego en minúsculas. Eso es muy importante, y ahora se puede ver que estoy consiguiendo todo lo que está en lugar de aquí. Entonces básicamente el juego es la raíz del explorador. Ya ves que consigo jugadores, que es este tipo de aquí. Tengo espacio de trabajo con este tipo. Y ahora hay un montón de otras cosas, me pregunto si tienes un espacio de trabajo. Una vez más, muy importante. La carcasa es importante aquí. Siempre tenlo en cuenta. El espacio de trabajo con una w minúscula podría parecer que podría funcionar, pero no funcionará. Así que tenlo en mente. Siempre asegúrese de que la carcasa sea correcta. Eso y ahora de repente, se puede ver que hay un montón de cosas, pero también hay cámara, que está justo aquí. Y ahí está la primera parte. Mira esto. Esta es la parte genial, ¿es este el mismo puerto? Efectivamente lo es. Y el nombre aquí tiene que coincidir exactamente. Si renombro esto, si hago clic en esto, presione F2 y cambie el nombre de esto a puerto p minúscula Esto ya no funcionará. Ahora, incluso se puede ver, nos sugiere un puerto con minúsculas porque ese es el nombre de la parte a la que estamos haciendo referencia. Tiene que coincidir exactamente. Sé que estoy insidiando en este punto, pero es sumamente importante porque he visto esta y otra vez que la gente acaba de cambiar la carcasa. La carcasa es importante. Bien, entonces ahora estamos haciendo referencia a la parte con p minúscula, ¿verdad? Bien, está bien. Como placa base, eso no es lo que queremos. En realidad queremos hacer referencia a las placas base. Entonces básicamente, ahí tienes. Puedo autocompletar esto con tab. Ahora he hecho referencia a la placa base. Puedo hacer cosas con él. Bueno, bien. Pero ¿qué pasa con mi parte a la que quiero hacer referencia? Bueno, vamos a volver a decir local. Y entonces llamémoslo mi parte ya que es solo el nombre de la variable, que es diferente del nombre del objeto de la parte. Esto también es muy importante. Esto es lo que se representa. Inserte el código mientras esta es la parte real del objeto físico. Y una vez más, vamos a decir espacio de trabajo de juego y luego puerto, no padre. En realidad, queremos estacionar. Ahí vas. Y ahora podemos hacer las cosas con un puerto porque la parte tiene diferentes tipos de propiedades. Podemos cambiar esas propiedades desde dentro del script. Entonces podemos decir mi parte, que es la variable que apunta a esta parte en particular. Eso, y ahora pueden ver puedo cambiar la posición, puedo cambiar el nombre, la rotación, el color. En nuestro caso, sólo vamos a cambiar la transparencia a 0.5. Y luego también haremos mi parte punto punto color. Y entonces podemos cambiar esto a un color tres puntos nu. Y luego simplemente haremos algo así como mientras en realidad podemos cambiar el color aquí mismo. Así que vamos a escoger como un bonito azul. Sí, eso es lindo. Entonces esto es simplemente generar automáticamente esos colores. Puedes ver si hago clic en la altura de este, si hago clic en el sábado, como puedes ver, el color aquí mismo, y puedes dar click en la rueda de colores para cambiar el color, lo cual es muy, muy genial en verdad. Ahora, ¿qué va a pasar cuando realmente empecemos el juego? Bueno, vamos a entrar en la vista del juego. Escuchamos el puerto ahora mismo se ve completamente normal, pero si empiezo el juego, esto debería ser transparente en un 50 por ciento. Por lo que debería ser 50% transparente y debería ponerse azul. Juguemos el juego y veamos dónde en lugar del juego. Y si voy por aquí, pueden ver que ahora es un poco transparente y es azul, exactamente lo que queríamos. Si entramos en el espacio de trabajo, incluso podemos ver la parte de aquí. Ahora tiene un color diferente y la transparencia es de 0.5. Bastante genial de hecho, puedo ver cuando ya no estamos jugando al juego, básicamente se restablece a sus propiedades originales en este caso, porque cambiándolas en lugar del script, no las cambia permanentemente. Entonces esa sería una forma de hacer referencia a una parte en un espacio de trabajo a través del nombre de aquí. Ahora, una vez más, es extremadamente importante que si cambio los nombres aquí por ejemplo mi parte genial, ¿verdad? Ahora bien, si tuviera que tocar esto ahora, ¿qué pensarías que pasa? Bueno, estamos haciendo referencia a algo que se llama parte. Sólo vamos a jugar. Y veremos que parte no es un miembro válido de obras o no desarrolla miembro del espacio de trabajo. Workspace y no ha cambiado su color ni su transparencia porque ahora la parte se llama Mike cool part. Así que tenlo en mente. Si obtienes este error aquí mismo, simplemente significa que probablemente estés haciendo referencia a algo que tiene un nombre cambiado. Si nos aseguramos de que estamos haciendo esto, de repente, si jugamos esto, ahora podemos ver que no estamos recibiendo ningún error. Y una vez más, obtenemos nuestra parte azul que es transparente. Bastante genial de hecho, cierto, para resumir, como ya he dicho, se asegura de nombrar las cosas correctamente. Puedes usar game dot workspace dot, cualquiera que sea el nombre de tu puerto que quieras hacer referencia. Asegúrese de que estos aseguren que la carcasa esté siempre correcta. Y luego puedes acceder a las propiedades haciendo tu parte variable punto. Y luego se puede acceder a todo tipo de propiedades que forman parte de esta parte en particular. Y puedes cambiarlos con un guión, pero eso va a ser todo para esta conferencia de aquí mismo. Espero que esto les haya resultado útil y las alertas y la nueva, los veré a todos en la próxima conferencia. Entonces, sí. 17. (Roblox) Tipos de guiones: Continuemos con los conceptos básicos de los bloqueos aquí sigue el curso de Roblox y en esta conferencia vamos a estar echando un vistazo a los diferentes tipos de guiones. Así que ya hemos visto esto anteriormente cuando hacemos un nuevo script en el servicio de script del servidor, es básicamente el uso frecuente dice Script y script del módulo. Hay, sin embargo, otro tipo de guión. Si solo escribimos esto aquí, van a ver que también hay un guión local. guión normal lamentablemente, al parecer no tiene una punta de herramienta, sin embargo, el guión local sí. Así se puede ver que un script local es un script que se ejecuta en el cliente y no en los servidores. Por lo que los scripts del logotipo se pueden colocar debajo de las siguientes cosas. La mochila de un jugador, el modelo de personaje del jugador, un uso de la GUI, el script del jugador y el primer servicio replicado, el script del módulo, derecho, es un fragmento de script y solo se ejecuta cuando otros scripts usan los Requiere en él. Entonces esa es una interesante. Y el guión, bueno, eso es sólo un guión normal. Hasta ahora hemos estado usando scripts normales bajo el servicio de script del servidor. Y esto entonces se ha corrido tanto en el servidor como en el cliente. Esa es la idea general. Ahora hay algunas cosas que solo quieres que sucedan en el cliente. Esas son principalmente cosas que básicamente son específicas del cliente. Entonces tal vez visuales, ¿verdad? Tal vez quieras agregar visuales a un determinado cliente. Eso es más o menos algo que quieres hacer con el cliente. Guiones locales o scripts de cliente. Pueden comunicarse con un servidor a través de eventos remotos. Pero ese es un tema muy intermedio, avanzado del que no hablaremos ahora mismo. Pero la idea general es que sí, podemos tener guiones locales. Entonces, si tuviéramos que, una vez más, echar un vistazo a dónde podemos agregar esto, una mochila, un modelo de personaje, un GYE, un jugador guiones replicarán el primer servicio. Entonces lo que podemos hacer es agregar esto a lo replicado primero. Se puede ver que hasta dice: Oye, guión local. Y si tuviéramos que hacer esto, y solo diremos print, print, Hello, World is actually totally fine. Cambiemos el nombre de esto y voy a decir O3 script local en este caso. Y luego solo un ejemplo de guión local en este caso, solo vamos a imprimir hola mundo, y vamos a ver si jugamos esto, va a ser output. Pero ahora, y esto es algo crucial. Ahora conseguimos cliente por aquí. Entonces esto es lo que no teníamos antes, ¿verdad? Ahora en realidad obtenemos algo de salida del cliente. Y esto es sumamente importante si solo entráramos en la referencia de aquí y vamos a hacer una impresión HelloWorld, solo lo mismo, solo por el bien de la discusión y jugamos esto. Vas a ver que ahora está en el servidor. Puedes ver ahí vas. Entonces HelloWorld está en el servidor de O2 haciendo referencia a la línea ocho y la otra, a la derecha, el HelloWorld, este es del cliente o tres guiones locales para escribir. Ahora se podría decir, bueno, ¿cuál es la maldita diferencia, verdad? No pasa nada loco. Bueno, ahora mismo este es mi cliente y de hecho puedo cambiar al servidor y al servidor. El servidor básicamente controla todo, ¿verdad? Entonces el servidor en teoría, podría decir, Oye, sabes qué, no, voy a mover a mi chico por aquí y solo voy a moverlo. Ahora, puedes moverte por las reglas de movimiento normales. Pero si trataras cambiar tu posición desde el cliente, solo, eso no funciona porque ahí sería ahí es donde entran las cosas anti trampas. Por lo que la separación cliente-servidor es muy importante. Entonces esa es básicamente la idea general con un guión local entra en juego. Y como dije, puedes comunicarte con el servidor, pero eso es algo para un nivel intermedio. Y entonces un script de módulo es un poco más complicado. Así que sólo vamos a hacer un módulo script O3 módulo de prueba aquí. En este caso, llamemos a esto testimonial. Ahí vas. Entonces en el script del módulo, la idea general es poner funciones o ciertas, básicamente funciones que vas a usar muchas veces, ¿verdad? Entonces diferentes multiplicadores, diferentes funciones de bonificación, algunos cálculos que podrías estar usando. Muchas veces lo que puedes usar es que puedes hacer una nueva función. Y la manera de hacerlo es que vamos a tomar esta mesa por aquí. Voy a decir módulo. Entonces este es el nombre de la tabla que suma. Entonces este va a ser el nombre del método y luego lo que queramos. Así que básicamente sólo vamos a hacer un método sum otra vez y vamos a devolver este caso, no repetir, vamos a devolver x más y Así que una vez más, esto es sólo un ejemplo. Escribe un método de suma. Realmente no harías un script de módulo personalizado para ello, sino solo para que veas, bien, así es como harías un método en un script de módulo y luego lo harías referencia más tarde. Entonces si tenemos esto, ya podemos en el script del servidor, los servidores vuelven a hacer un script normal y llamaremos a esto 03 módulos de prueba dash. ¿Por qué no? Eso está bien. Ahí vas. Y lo que vamos a hacer es que necesitamos ahora alguna manera conectar este script de módulo a este script en particular. La forma de hacerlo es que necesitamos usar el método require de aquí, pero en realidad queremos hacer una variable local. Entonces llamemos a esto la suma. Claro, y esto es igual al método requerido. Y luego necesitamos hacer referencia al script del módulo. Entonces este es el servicio de script del servidor de puntos de juego y el módulo de pruebas.o3 exactamente así. Y entonces realmente lo representará así porque podemos comenzar una referencia de un punto con un número, pero eso está bien. Podemos usarlo así, está bien. Y entonces podemos decir, vamos a imprimir esto. Así que vamos a imprimir punto de suma y ya lo puedes ver ahora incluso nos dice, oye suma, podemos usar esta prensa Tab para autocompletar y podemos decir 50.23 camisa. ¿Por qué no? Entonces esto sería 73 que estamos imprimiendo aquí afuera. Así que vamos a jugar. Y vamos a ver que el servidor imprime 73 aquí mismo. Bastante impresionante de hecho. Y claro que esto es una vez más, sólo un ejemplo. La idea aquí es que ya sabes, si tienes ciertos, si tienes ciertos números, ¿verdad? Entonces podrías agregar cosas como una, ya sabes, podrías agregar diferentes tablas. Podrías agregar tal vez haya como una experiencia, multiplicador de experiencias o algo así, ¿verdad? Y entonces podrías simplemente agregar una nueva mesa y estarías como, ya sabes, tal vez fácil, obtienes más experiencia, ¿verdad? Entonces obtienes como 25 puntos. Más experimentado, medio, se obtiene como una experiencia normal. Y luego en duro tal vez obtienes menos experiencia. Esto es solo una vez más, como solo un ejemplo de lo que podrías usar aquí. Ahora bien, esta no solo estaría disponible en el módulo, esto es sumamente importante porque ahora es una variable local, ¿verdad? Solo echemos un vistazo. Si tuviéramos que imprimir la suma R e intentaríamos usar esto. No podríamos hacer eso. Solo usamos algunos por aquí, lo cual es interesante. Ahora bien, si tuviéramos que hacer no locales, ¿qué pasaría ahora? ¿Crees que ahora podremos usar esto? Bueno, vamos a echar un vistazo, derecho, suma que todavía no somos capaces de usar esto, porque para usar esto, vamos a necesitar hacer módulo punto. Y ahora, de repente, se le agrega una especie de tabla a este particular. Y ahora si entramos aquí, de repente tenemos, tenemos el multiplicador de experiencia disponible para nosotros que es realmente increíble y básicamente puede, quiero decir, simplemente tiene mucho sentido, ¿verdad? Podrías almacenar todas muchas cosas en lugar de módulos, scripts en los que vas a usar, bueno, en todos los scripts diferentes. Tal vez un jugador especial nombra que tal vez ciertas cosas para conectarse a ciertos servicios más adelante en la línea. Entonces un script de módulo extremadamente, extremadamente útil para muchas cosas. Y sólo para mostrarte, puedes ver sumatoria experiencia, multiplicador medio. Si tuvieras que imprimir esto, entonces obtendríamos uno o aquí porque ese es exactamente el medio que hemos definido aquí mismo. Ahora eso es bastante impresionante de hecho. Entonces, para resumir, existen tres tipos de scripts diferentes que son scripts locales que se ejecutan únicamente en el cliente. Luego hay scripts normales que pueden ejecutar tanto en el servidor como en el cliente, y son una especie de sincronía automáticamente. Y luego también hay módulos, scripts que se utilizan para almacenar variables o funciones que podrás usar en cualquier parte de tu código. Y eso básicamente te ayuda a no repetirte. En fin, espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 18. (Roblox) Propiedades: Continuemos con la porción para principiantes de barricadas del curso de barricadas. Y en esta conferencia vamos a estar echando un vistazo a las propiedades. Así que vamos a hacer una inmersión profunda en las propiedades. Así que vamos a ampliar esta ventana y tomemos nuestra parte genial y echemos un vistazo a todas las locas propiedades diferentes que tenemos disponibles. Entonces el primero es el color ladrillo en general, el color ladrillo y el color, o casi lo mismo. Entonces, si aquí elegimos un color ladrillo diferente, digamos como un azul oscuro, se puede ver que el color aquí cambia. Y la idea general del bricolage solo son colores predefinidos que son fáciles de usar. Si bien el color puede ser literalmente como cualquier color, ¿verdad? Si solo elijo un color aleatorio por aquí, no va a tener nombre. Para que veas sí dice que es como marrón, verde amarillento. Entonces se va a aproximar a éste, pero no es exactamente ese color, ¿verdad? Para que veas que este es todo amor. Y entonces no sé que este es olivino, pero si tuviera que cambiar un poco los números aquí, bien, no va a cambiar demasiado en su apariencia, ¿verdad? A lo mejor esto va a ser como un dos por aquí. Y entonces va a ser un violeta arena. Pero se puede ver que es, no está exactamente aquí. Es simplemente similar a donde esta la arena, violeta. No tengo idea. No lo encuentro. Bueno de todos modos, esa es la idea general, ¿no? Entonces puedes poner un número aquí. Entonces esto sería un hexágono, ¿verdad? Algo así. Entonces ahora es negro metalizado, pero esa no es realmente la mentalidad negra. Se puede ver este color y este color, no son lo mismo. Entonces, es la idea general del color ladrillo y el color a la hora de lanzar sombras, que debería ser bastante autoexplicativa. Ahora mismo proyecta una sombra y ahora no lo hace. Eso es, eso es prácticamente todo lo que hay para ello, el material. Para que puedas elegir diferentes tipos de material. Por lo que ciertos materiales tienen ciertas propiedades para ellos. Así que puedes elegir metal, por ejemplo , que va a ser un poco de luz reflectante. Entonces puedes ver esto ahora realmente se parece mucho al metal. El plástico no iba a ser nada. Entonces si elegimos vidrio, correcto, no es 100% translúcido porque claro que la transparencia no está ahí. Pero si tuviéramos que hacer esto transparente, ahora tendría como un cristal Shine n sería transparente también. Bastante genial. Y así hay un montón de materiales diferentes que puedes elegir. plástico es solo el normal sin textura real, ¿verdad? Entonces la variante material en este caso, no tenemos ninguna varianza material y en realidad ni siquiera estoy seguro de cuál de los materiales sí tiene uno. Podemos ir al encargado de materiales aquí arriba y de hecho podemos echar un vistazo a todos los materiales que son, que existen por aquí. Campo de fuerza, por ejemplo, podríamos elegir el campo de fuerza. Entonces así es como se vería el campo de fuerza. Y entonces podemos entrar aquí y podemos elegir el campo de fuerza, por ejemplo, campo de fuerza. Y ahora este es un campo de fuerza. Así se puede ver que es muy transparente desde todos los lados. Entonces eso es realmente interesante. Y hay un montón de otras cosas. Tenemos metal por aquí, diferentes tipos de metal, lámina de placa de diamante, corroe. El metal es realmente increíble que puedas solo con algunas de estas cosas, ¿verdad? Si elegimos corroer metal por ejemplo si pueden ver el color aquí cambia lo que cambia en la textura misma, ¿verdad? Entonces ahora puedes ver como el color aquí es como el color base. Si tuviéramos que elegir este rojo, entonces de repente se pone rojo, verde, cosas así. Así que es genial lo que te puede gustar cambiar aquí, y es realmente increíble. Así que recomiendo jugar un poco con esto y tener una idea de este ladrillo también es genial y obtienes una textura de ladrillo justo encima de él. Bastante impresionante de hecho, reflectancia roja y transparencia. Ya hemos hablado de esto antes, ¿verdad? La reflectancia solo básicamente hace que la cosa real se refleje más. Ahora se puede ver que esto depende del material porque ahora el material de ladrillo, en realidad no pueden reflejarse. Si volviéramos a cambiar al plástico, que puede ser básicamente cualquier cosa que quieras, podemos hacer que esto se refleje como quieras. 100% sería literalmente, refleja toda la luz. Entonces ahora tiene un, ahora es un espejo, ¿verdad? Y eso refleja perfectamente esto. Pero debido a que nuestro guión hace que la transparencia sea 0.5, en realidad no queremos eso. Y ahora tenemos un espejo otra vez. Ahora se puede ver que no refleja al jugador. Eso será demasiado intensivo para gran parte del procesamiento. Pero esa es la idea general para la reflectancia y luego la transparencia. Esto ya lo hemos visto, básicamente lo transparente que es en esta parte en particular. Entonces archival, una cosa muy importante sobre todas las diferentes propiedades. Y esto en realidad es muy importante. Puedes pasar el cursor sobre esto y te va a dar una breve descripción de lo que hace esta cosa en particular. Entonces se puede ver archival básicamente es como, ¿Esto va a salvarse aquí? Entonces tenemos un nombre de clase que suele estar bloqueado porque en este caso se trata de un puerto. También podemos hacer esto bloqueado. Entonces si hacemos esta cerradura, entonces en realidad podemos moverla más. Entonces si bloqueamos esto y ahora ni siquiera me puede gustar ya ni siquiera puedo intentar seleccionar esto. Y ahora puedo volver aquí y puedo desbloquearlo, y ahora puedo seleccionarlo de nuevo, puedo moverlo de nuevo. Muy interesante. En efecto, el nombre aquí y el padre deben ser bastante autoexplicativos. Y entonces estos suelen ser también incambiables. No obstante, el tamaño es cambiable, así que a lo mejor queremos dimensionarlo, tal vez hacer 758, tal vez algo que no sea demasiado. Ahí vas. Así que eso es bastante genial. Así se puede ver que ahora está dimensionado y también podemos cambiar la posición. Entonces cuando cambiamos la posición, se puede ver la posición tanto en el origen como en los cambios del cuadro C. Por lo que también puedes hacer esto manualmente. Entonces podría volver a hacer -25.20, y ya se puede ver ahora se movió y eso es bastante genial. Ahora el punto de origen es básicamente, puedes pasar el cursor sobre esto, ¿verdad? Esta contiene la información de la posición y la matriz de la rotación. Puedes cambiar esto y puedes leer de él. El origen, si alguna vez pensabas esto, aquí es básicamente donde gira esto. Entonces la idea general es que si lo giro, gira alrededor de cierto punto en el espacio y se puede ver que apunta, gira alrededor de la mitad exacta de esta parte en particular, ¿verdad? No obstante, si tuviera que cambiar la posición del origen, tomemos el control Z para que la rotación vuelva a cero, si tuviera que cambiar esto a 000 aquí mismo, ¿verdad? Ahora, la cosa en realidad viene con ella. Eso no es lo que queremos. Queremos desfasar el pivote, ¿verdad? Entonces ahora si tuviéramos que compensar el pivote 20 menos cinco y -20, eso será por lo que queremos compensarlo. De repente, el pivote está en ceros, ceros. Entonces puedes ver ahora la posición es 00 porque hemos compensado el pivote. Y si yo fuera a rotar, ahora rotaríamos alrededor de esta posición en particular. Entonces ahora giramos alrededor de esto. Entonces eso es bastante genial en realidad, porque lo que puedes hacer es compensarlo. Y si por ejemplo quisieras tener una plataforma giratoria, bueno, ellos solo pueden cambiar la, cambiar la rotación aquí y ahora de repente tienes una plataforma giratoria. Puedes volverte loco como a distancias. Pero sí, eso es genial y se puede usar para muchas cosas diferentes. En este caso, puede chocar y puede tocar debe ser bastante autoexplicativo, ¿verdad? Es solo si una interacción física puede ocurrir o no aquí, puede tocar. Básicamente si se convoca al evento Tocado sobre esto, también hay diferentes grupos de colisiones que puedes definir. Un anclado significa que no lo hace, que no se ve afectado por la gravedad. Entonces, si tuviéramos esto, vamos a poner esto al aire y no esté anclado. Si jugamos, va a caer al suelo. Así que en realidad podemos ver esto. Así se puede ver que ahora está en el suelo, pesar de que lo colocamos en el aire. Y si tuviéramos que anclar este derecho, si bajamos por aquí y anclamos esto, entonces va a significar que se va a quedar en esa posición en particular y no se verá afectado por la gravedad. Entonces se puede ver ahora que está en el aire. Bastante genial, ¿verdad? Propiedades físicas personalizadas, sin masa, cosas así. Por lo general te recomiendo estar un poco alejado de esos porque entonces te metes en cosas locas, ¿verdad? Las propiedades físicas personalizadas que puedes ver, puedes cambiar la fricción, la elasticidad, la densidad. Entonces hay algunas cosas geniales que puedes hacer con él. Pero esto definitivamente es un poco más para usuarios intermedios y avanzados, ¿verdad? Y el resto con el que no me metería por el momento. Sin embargo, siempre podrías pasar el cursor sobre las cosas y echar un vistazo a lo que básicamente significan las diferentes propiedades. Y ahora esas son, por supuesto, propiedades que son específicas de una parte dependiendo de lo que estés creando aquí. Si hacemos clic en crear una textura o vaca D, o una tasa de diálogo o un prompt de proximidad. Todas esas locuras, todas esas van a tener propiedades diferentes. No obstante, hay que pensar, simplemente darse cuenta de que una propiedad no es otra cosa como una variable o un atributo adjunto a un determinado objeto. En este caso, en realidad no debería ser nada loco. Pero si tienes una propiedad, es algo así como la tasa de generación, por ejemplo, también podría ser una propiedad personalizada. Y entonces estarías como, oh, ese es probablemente un número que tiene cierta relación con A's con la tasa de desove de cierta cosa, ¿verdad? Entonces esta es la descripción general de las propiedades puede ser realmente útil y realmente genial para jugar un poco con esto. Y luego verás que hay muchas cosas que puedes hacer con propiedades e incluso propiedades personalizadas, que veremos más adelante en la línea para resumir, cada uno de tus objetos que existe tiene propiedades. Algunas de ellas son propiedades que comparten todas las diferentes cosas. Como si esto fuera una cosa en lugar de espacio 3D, siempre tiene un marco C y un origen, significado y un tamaño. Entonces esta es básicamente la transformación que significa la posición real del objeto en el espacio 3D. Y hay otras cosas como colisiones, las cosas que están descendiendo de parte también se pueden anclar sin masa, todo tipo de cosas. Entonces hay un montón de propiedades que existen. Recomiendo mucho jugar un poco con esto, solo agregar un nuevo puerto, jugar con algunas de las propiedades que existen aquí. E incluso puedes agregar tus propios atributos por el momento. No nos aventuraremos en eso en este momento. Pero basta decir con propiedades, podrías hacer muchas cosas geniales. Bien, eso va a ser para esta conferencia de aquí mismo, o nos pareció útil y aprendimos algo nuevo. veré a todos en la próxima conferencia. Entonces, sí. 19. (Roblox) Vector3 y posición: Bien, Bienvenido a los fundamentos de Roblox para el curso de Roblox. Y en esta conferencia vamos a estar hablando de vectores y cambiando la posición de una parte. Por lo que antes hablamos de hacer referencia a partes. Hemos hablado de módulos, scripts, y hemos hablado de las propiedades. Y ahora vamos a cambiar esas propiedades correctamente dentro de un script. Así que hagamos un nuevo guión por aquí. Necesita servicio de script de servidor. Llamémoslo 05 posiciones de guión. Y luego vamos a ver. Entonces llamaremos a esto el vector tres y posiciones. Comenta por aquí y luego hablaremos de qué es eso. Entonces, antes que nada, vamos a conseguir realmente nuestra parte. Así que eso va a ser, mi parte aquí va a ser igual al espacio de trabajo del juego, mi parte genial. Así que ya hemos visto esto anteriormente en la conferencia de referencia. Entonces eso no debería ser nada loco. Y ahora lo que podemos hacer mi parte y ahora podemos cambiar lo que quiero decir prácticamente todas las diferentes propiedades que hay ahí, incluyendo algunas algunas cosas que son como un rayo aquí. E incluso tenemos estas cosas raras como archivador tipo archivador. Por el momento, solo vamos a usar los cubos azules y por ejemplo la posición que puedes ver esta es de tipo vector tres, y esto describe la posición de esta parte dentro del mundo. Actualmente, si acabamos de hacer esto y solo imprimimos esto solo por el bien de la discusión. Vamos a imprimir esto. Deberíamos obtener un vector y eso es -21.8 y así sucesivamente y así sucesivamente a 0.4, 99.1, 17.93. Entonces esa es básicamente esta posición. Y si tuviera que cambiarlo, nada va a cambiar en la salida porque sólo estamos dando salida a la vez. Entonces si voy a la posición aquí y voy a hacer 50, 50, 50, como la posición real va a cambiar. Entonces ahora está por allá. Pero no actualizaría la salida porque si bien esta ya era salida y solo la estamos sacando una vez, ya es justo. ¿Y si cambiáramos esta posición, verdad? Entonces, ¿y si sacamos la posición y luego estamos diciendo y parte esa posición, y luego queremos cambiar esto ¿Cómo cambiamos esto? Bueno, cambiamos esto dándole un nuevo vector tres, ¿verdad? Entonces queremos decir vector menú de tres puntos. Y entonces aquí ponemos un número X, un número, y un número Z. Ahora lo importante aquí es que un vector tres, escriba un vector. A lo mejor has tenido esto en matemáticas. A lo mejor has tenido esto en matemáticas en general. Es muy fácil de entender. Lo que probablemente hayas visto antes es, hagamos algo como esto. Entonces probablemente hayas visto una cuadrícula bidimensional antes con un eje y y un eje x, ¿verdad? Y sobre eso, se puede describir cada punto con dos números. Ahora es lo mismo en tres direcciones, igual que otra dirección, ¿verdad? Entonces esta posición, como hemos visto antes, es que hagamos esto un poco más agradable. 2015 y -17 por el bien de la argumentación, ¿verdad? Entonces ahora está por aquí y ahora podemos cambiar esta posición simplemente dándole diferentes coordenadas. Entonces digamos en vez de -21, vamos a tener, volvamos a hacer 50, 50, 50. Y esto ahora está anclado las partes, así que va a permanecer en el aire. Entonces lo que esperaríamos encontrar son estas salidas -20, 15, -17, entonces vamos a cambiar la posición a 50, 50, 50. Entonces, cuando realmente cargamos en el juego, pesar de que esto genera los números antiguos, esto ahora se cambia a 50, 50, 50. Y podemos confirmar esto, sólo vamos bajando y podemos ver la posición es 50, 50, 50. Muy interesante en efecto, pero sólo podemos cambiar eso. Por supuesto podemos cambiar, quiero decir, prácticamente todo. Incluso podemos cambiar la rotación, que también es un vector tres. Ahora, hay algunas cosas interesantes sobre la rotación en el espacio tridimensional. Por el momento, sólo vamos a hacer el vector por aquí. Entonces por ejemplo podríamos hacer 4500, digamos, y ahora debería en la dirección x, giramos 45 grados. Así que vamos a echar un vistazo y ya podemos ver, si echamos un vistazo a esto, se puede ver que ahora se gira alrededor de 45 grados. Y si realmente echamos un vistazo a esto, también se puede ver que la orientación ahora no es del todo 45, sino más o menos 45. A veces hay problemas de redondeo. Así que ten eso en mente que a veces el redondeo puede ser un poco raro con especialmente estos vectores porque hay muchos cálculos que hay que hacer. Así que a veces redondean hacia abajo o redondean hacia arriba de una manera un poco rara. También podemos hacer algo que sea muy interesante y es que tal vez queremos mover la parte, ¿verdad? Entonces tal vez realmente queremos decir, ¿sabes qué? En realidad quiero que cambie la posición. Entonces quiero tomar la posición real de mi parte y solo quería tal vez bajar por un par de estudios. Entonces digamos hacer un nuevo vector por aquí. No queremos mover el eje x. Nosotros sí queremos moverlo tal vez 25 hacia abajo sobre el eje z. Y tal vez queremos hacer un más cinco en el, realidad no un más cinco, solo un 5 años en el eje z. Puedes ver esto todo funciona porque si haces un vector, vector menos un vector, eso todo funciona totalmente bien. Entonces, si solo jugamos esto, ahora vamos a ver que el cubo se ha movido a donde se ha movido. Bueno, vale la pena, está ahí mismo. Y si echamos un vistazo a este micro aparte, ahora está en 50, 75, 45. Ahora estás como, eso es un poco raro. Sí, eso es un poco raro. ¿Cómo sucedió esto? Bueno, restamos este vector, ¿no? Entonces tomamos 50 menos cero, eso es 50. Bastante justo. Hicimos 50 menos -25. Oh, bueno menos, menos, eso es un plus, es decir, hay un 75. Y entonces aquí restamos cinco. Entonces esa es una interesante donde si restamos algo que en realidad no queremos ningún número negativo aquí. Y entonces si volviéramos a ejecutar esto, ahora se puede ver que cada uno va a estar más abajo y ahí está. Entonces ahora es un camino más abajo. Y ahora nuestros cálculos para funcionar totalmente bien. Entonces esa es la idea general de los vectores calcular, ¿verdad? Así que básicamente es siempre el primer elemento menos o más tasa, por ejemplo, que va a funcionar. Entonces haríamos si nos quedamos con el menos, ese será el primer elemento. Los nuevos elementos serán 50 menos cero. Y entonces el segundo sería 50 -25, y luego el último sería 50 menos cinco. Esa es la idea general de esto. Qué pasa si dijéramos, ¿ sabes qué? Vamos a veces esto. ¿Esto va a funcionar? Bueno, vamos a hacer 22.2 por aquí. Y vamos a ver qué pasa. Entonces no hay errores. Y si echamos un vistazo, ahora está muy, muy lejos. Y si le echas un vistazo a esto, puedes ver 150, 90. Entonces, exactamente lo que esperaríamos aquí que sucediera. La misma idea, ¿verdad? En lugar de hacer un menos, ahora hacemos veces dos. Y entonces hacemos esto básicamente para todos ellos, ¿verdad? Entonces hacemos esto, y luego lo hacemos. Ahora esto es en realidad 45 y esto fue 25. Y es por eso que obtenemos 150.90 como las partes por aquí. Muy interesante de hecho. Ahora hay un par de otras cosas que son interesantes y eso es, por ejemplo si queremos dimensionar algo, ¿verdad? Entonces tenemos el tamaño por aquí. Podemos, por ejemplo, hacer a veces iguales y luego podemos dimensionarlo en un 50 por ciento extra. Eso va a simplemente multiplicar o dimensionar números por 1.5 aquí en este caso. Entonces, si volvemos a mirar esto, se puede ver que esto es ahora más grande ahora realidad no lo parece tanto. Pero si vamos aquí y vemos el tamaño es ahora 10.57 punto 5.12. Y si no estamos corriendo, el tamaño es de sólo 75.8. Pero esos son algunos de los ejemplos aquí de cambiar la posición, la rotación, el tamaño. Esto ya es genial, ¿verdad? En resumen, la posición o rotación está representada por un vector. Y un vector es simplemente tres números aquí, teniendo un x e y y el valor z. Y puedes cambiarlos con las operaciones normales, ¿verdad? Multiplicando, restando todo ese trabajo. Entonces eso es bastante genial y lo haces así. Bueno, eso es todo para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 20. (Roblox) La función de espera: Bien, continuemos con los conceptos básicos de robótica aquí para el curso robusto. En esta conferencia, vamos a estar hablando de la función de peso. Entonces, la función de peso es algo increíblemente importante que encontrarás muchas veces a lo largo del scripting y Roblox. Y vamos a crear un nuevo script por aquí, llámalo 06 dash waiting. Y simplemente llamaremos a esto la función de peso porque se trata de la función de peso. Digamos que tengo un for-loop. Empecé en cero y voy a diez e incremento en uno. Hagámoslo. Y digamos que imprimo el número. Entonces, si tuviéramos que hacer esto, va a imprimir los números ¿verdad? De inmediato. Se puede ver cero hasta diez en cuestión de, quiero decir, literalmente casi todos ellos, incluso en la misma garrapata, como los mismos milisegundos. Así de rápido fue. Pero digamos que no, no, no, no, no. Quiero que esto se imprima cada segundo. Bueno, solo usaremos la función de peso por aquí. Voy a pasar en uno. Entonces, lo que realmente hace es que produce el hilo actual hasta que transcurra la cantidad de tiempo especificada en segundos. Ahora es muy importante es que esto puede tener, digamos como consecuencias negativas si hay muchos guiones pasando. Entonces la función de peso no es un final, todo lo que deberías usarla en todas partes. También hay otras formas de esperar a que las cosas sucedan. Así que este no es el fin de todo. Pero en este caso, si fuéramos a ejecutar este 012 y se puede ver que sigue adelante. Se mantiene puedo correr por ahí, todo está bien. Y sigue yendo exactamente 1 s tras otro y nuestro atendemos y ahora el peso está hecho. Entonces eso es bastante genial. Esto es genial para ciertas cosas como para contar cosas, cosas así. Eso es realmente increíble. Este es un ejemplo de donde la función de peso podría ser realmente útil. A veces también puede ser importante si estás importando ciertas cosas y a veces estás como, solo voy a esperar un poco y luego puedes seguir ejecutando algo. Pero como dije, lo real que hace es que básicamente rinde el hilo actual. Ahora bien, este es un alto nivel de lenguaje informático básicamente por decir que es una especie de detiene todo lo que está haciendo en este tipo particular de carga de trabajo y luego la continúa después de que hayan transcurrido los segundos. Entonces hay cosas que cuando usas esto, posiblemente podría romper ciertas cosas en tu juego. Así que ten cuidado y no uses tus pesas en todas partes. Estamos como, oh, esto no funciona. Vamos a poner una espera por aquí que eso no suele ser lo que quieres hacer. Sólo quiero enfatizar esto una vez más. Lo que voy a comentar la impresión y eso es prácticamente todo lo que hay para la función de peso. Realmente no hay nada que resumir. Simplemente espera un par de segundos y no deberías usarlo en todas partes de tus guiones. Va a haber algunos ejemplos de dónde lo vamos a usar, que van a ser interesantes. Y luego hay algunos ejemplos donde podríamos usarlo, pero tal vez queramos usar otra cosa. Bueno, eso va a ser para esta conferencia de aquí mismo, o nos pareció útil y aprenderán algo nuevo y los veré a todos en la próxima conferencia. 21. (Roblox) Movimiento de parte básica: Bien, bienvenido de nuevo a los conceptos básicos de robótica aquí para el curso de Roblox. Y en esta conferencia vamos a estar viendo mover una parte. Entonces esto va a ser realmente muy interesante. Entonces para esto en el servicio de scripts del servidor, una vez más, haciendo un nuevo script y llamaremos a esto 07, y llamaremos a este movimiento. Entonces esto básicamente va a tomar en algunas de las cosas que hemos aprendido hasta ahora. Por supuesto, para apartarse, hay muchas maneras de hacerlo. Por cierto, este es solo un ejemplo que podemos usar con un entendimiento actual que tenemos. Entonces hay diferentes formas en las que estaríamos mejor incluso para mover partes, pero es posible hacerlo de esta manera. Entonces solo quiero enfatizar que esta no es la única manera y puede que no sea la forma correcta para cada cosa cierta que quieras hacer. Pero sólo vamos a echar un vistazo a esto. Entonces básicamente, vamos a obtener nuestra parte genial aquí. Órgano, digamos local mi parte. Y vamos a decir, este es el espacio de trabajo del juego punto mi parte genial. Ahí vas. Entonces lo que haremos es hacer un for-loop. Una vez más, vamos a empezar esto a la una. Entonces vamos a ir a, digamos 15 y vamos a aumentar en uno. Y lo que vamos a hacer entonces es dentro de ese bucle for va a decir mi parte, esa posición ahora va a ser igual a mi parte esa posición. Entonces la posición real que está en más un nuevo vector. Entonces van a ser vector tres nuevos. Y luego solo diremos, hagamos IO por aquí, 0.0. Entonces estamos fijando la posición actual a sí mismo más I. Así que estamos comenzando con uno. Y entonces si tuviéramos que hacer esto y empezáramos, básicamente conseguimos la posición más 15 porque eso es todo. Pero, ¿y si ahora esperamos un segundo entre esto, qué pasaría entonces? Bueno, vamos a echar un vistazo. Detengamos esto. Y si entonces encontramos nuestra parte y corremos hacia ella, puedes ver, oh, mira esto. Se está moviendo un paso a un segundo porque está esperando 1 s y luego aumentando y luego esperando 1 s en aumentar y esperar 1 s y aumentando todo el camino hasta que haya llegado a su destino final, que sería más 15 en la dirección x. Y podemos ver esto. Entonces ahora su posición es 220, así que debería haber sido 205 antes por los, todos los reclutas, las cosas que hemos estado haciendo antes con los guiones. Entonces esa es la idea general. Entonces puedes usar la función wait en este caso para retrasar la configuración de la posición y esto, y así hace que parezca que en realidad está haciendo algo. Entonces podrías por ejemplo también hacer, también podrías hacer esto, tal vez 50 y luego tal vez lo pones agregarle un poco menos. Entonces tal vez como un cuarto de segundo. Y si tuvieras que mirar esto ahora, se verá mucho más suave. Entonces, si miramos esto, ya puedes ver que no es como suave, pero es un movimiento casi suave, ¿verdad? Y podríamos hacerlo aún más suave. Ahora tengo que aumentar esto porque claro que se va a mover más rápido si aumento esto o si disminuyo el tiempo de espera. Y si tuviera que mirarlo así, ahora, se puede ver que es casi un suave. Entonces, para resumir, si bien esta es una forma posible de hacerlo, veremos también veremos algunas otras formas en futuras conferencias. Esto se debe a que hay algunas cosas que debemos cubrir antes de que realmente hagamos esto. Porque solo hay algunas cosas más interesantes que son, bueno que hay que agregar a tu kit de herramientas, por así decirlo. Pero por el momento, eso fue todo para esta conferencia aquí mismo. Espero que esto te haya resultado útil y hayas aprendido algo nuevo. veré a todos en la próxima conferencia. Entonces, sí. 22. (Roblox) El acontecimiento tocado: Bien, bienvenido de nuevo a los conceptos básicos de Roblox aquí para el curso robusto. Y en esta conferencia vamos a estar hablando del evento Touched. Ahora hemos visto muchas cosas que podemos cambiar en el código y en los guiones. Sin embargo, realmente no hemos llegado a ninguna parte donde podamos realmente tipo de entradas de algo o podemos hacer que algo suceda mientras esto está a punto de cambiar, vamos a crear un nuevo script por aquí en el servicio de script del servidor. Vamos a llamar a este evento 08 tocado. Y esto va a ser realmente muy interesante. Por lo que el evento Touched es un evento, como su nombre indica. Y los eventos son básicamente, bueno cosas que pasan. Estos son, estos son eventos que pueden desencadenar ciertas funciones para luego ser ejecutadas. En el evento Tocado se llama básicamente cada vez que una parte toca otra parte. Así que vamos solo por el bien de la discusión, en realidad deshacernos de todos mis cambios de posicionamiento aquí. Porque en realidad no queremos a esos dos. Bueno, ya no vamos a querer que esto afecte a la parte del núcleo R aquí. Así que vamos a jugar esto y entonces nuestra parte genial debería quedarse donde está. Bueno, va a alejar el zoom, pero eso es realmente un poco gracioso. Entonces eso por el movimiento aquí. Entonces, deshagámonos de nuestro movimiento también. Y ahora deberíamos tener borrón y cuenta nueva. Entonces para el evento Touched, antes que nada, vamos a conseguir nuestra parte de nuevo. Entonces mi parte es una vez más, el espacio de trabajo del juego. Y luego mi parte genial en este caso, ahí tienes. Y entonces vamos a tener un evento tocado. Entonces vamos a decir mi parte punto y luego podemos decir tocado. Y se puede ver que esto es un perno de aligeramiento. Entonces un rayo, eso es un, un evento. Para que veas que esto se dispara cuando una pieza entra en contacto con otra parte. Muy cool. También puedes echar un vistazo a todos los otros pernos de aligeramiento. También hay un cambio, un derecho, disparado inmediatamente después de que una propiedad de un objeto cambió. Podría ser interesante que queramos ver esto destruyendo incendios inmediatamente antes de que se destruya una instancia. Bien, toque terminado es cuando dejas de tocar otra parte, y así sucesivamente y así sucesivamente. Ahora queremos usar el evento Touched por aquí. Y luego lo que queremos hacer es que queremos hacer dos puntos y luego conectarnos. Esto es muy interesante. Entonces también puedes hacer algunas otras cosas. También puedes hacer una vez esto entonces llamaría algo una vez. Esta conecta una función a un evento, básicamente diciendo, Hey, es este evento en particular se llama, entonces queremos llamar realmente a esta función donde también hay un peso que espera algo. Y entonces aquí conectar paralelo es aún más complicado, básicamente una vez y conectar son las cosas interesantes. Entonces digamos que decimos que uno está justo aquí, dentro de esta función en particular, la función unos, podemos poner otra función, ¿verdad? Y luego decimos otra parte, y sólo vamos a hacer esta función en lugar de ésta. Entonces puedes ver que esta es la función aquí mismo, y este es el paréntesis de cierre de la once. Y entonces podemos simplemente decir print, y luego podemos decir por ejemplo otra parte, ¿verdad? Entonces lo que pasa aquí es que esta otra parte es la parte que ha tocado mi parte. Entonces, si solo tuviéramos que tocar esta cosa en particular, ¿qué va a pasar? Placa base, ¿ podrías ser como qué? Bueno, mira esto. La micro parte está tocando la placa base, ¿verdad? Y si tuviera que saltar aquí, no pasaría nada. ¿Por qué es eso? Bueno, porque una vez significa una vez, pasa una vez. Y entonces dije, sin embargo, si tuviéramos que conectar esto, bien, si dijéramos conectar, ¿qué pasaría ahora? Bueno, vamos a jugar esto y ya verás Se va a spam placa base por aquí hasta que ya no abarque placa base. Bien, interesante ¿qué pasa si ahora saltara sobre esto? Bueno, solo hagámoslo. Y se puede ver parte de raíz humanoide, pie izquierdo, pie derecho. Y también las preguntas, ¿por qué se detiene? Bueno, el evento Touched básicamente, hay que empezar a tocar y no como tocar continuamente. Eso es algo un poco diferente. Pero se puede ver que ahora dependiendo de como un movimiento, se pone como diferentes partes de mi cuerpo. Porque si entramos en el área de trabajo contar y Joe, en realidad estoy representado por una gran cantidad de diferentes como partes diminutas. El pie izquierdo, la mano izquierda, y así sucesivamente y así sucesivamente. Y no como todo mi cuerpo por así decirlo. Bien, entonces eso es muy interesante. Pero ahora podemos hacer que las cosas sucedan tocando un objeto específico. Entonces podríamos por ejemplo en la micro parte, vamos a hacer esto anclado para que quede en el aire. Entonces ahora está flotando. Así que nunca va a estar tocando el suelo. Y entonces podemos hacer podemos hacer lo que queramos. Podemos imprimir algo. Podemos dejar que empiece a moverse. Podemos disparar al jugador hacia el cielo. Quiero decir, hay todo tipo de cosas porque esta otra parte, ¿verdad? Siempre tenemos acceso a lo que ha tocado nuestra parte. Por lo tanto, deberíamos tener acceso al jugador en alguna capacidad o al personaje, ¿verdad? Para que podamos hacer algo con él también. En nuestros propósitos, lo único que vamos a hacer es que sólo vamos a hacer que la transparencia del objeto sea menor. Entonces solo vamos a decir, vamos a hacer que la transparencia sea igual a una que así que básicamente va a cambiar 2.5 de todos modos, y luego la cambiaremos a uno una vez que esto realmente toque algo. Así que en cuanto salté sobre este objeto o simplemente lo cepille, básicamente va a desaparecer porque la transparencia va a ser una. Ahí, ahí tienes. Se ha ido. Ahora claro que no se ha ido, ¿verdad? Sigue ahí, pero es invisible. Así que es genial que puedas cambiar ciertas propiedades ahora como, ya sabes, como algo está sucediendo dentro del juego. Así que ahora ya no solo estamos cambiando de propiedades, en realidad estamos respondiendo a cosas que suceden dentro de un juego. Y ahora solo porque es algo muy divertido de hacer, lo que vamos a hacer es que ahora voy a usar realmente lo que tenemos hasta ahora. Voy a hacer que una propiedad booleana se mueva por aquí. Y voy a preguntar, bueno, si mover es igual a falso, entonces en realidad quiero hacer lo siguiente. Entonces quería, en primer lugar poner el movimiento a la verdad. Y luego quiero hacer un for-loop por aquí. Yo es igual a uno y luego haremos diez y haremos uno, y luego haremos. Y lo que vamos a hacer aquí es que vamos a esperar 1 s. Y entonces en realidad quiero decir mi parte esa posición. Y luego quiero cambiar su posición. Entonces simplemente vamos a ir con más iguales. Digamos más es igual y luego simplemente decir vector menú de tres puntos y luego solo uno ceros, ceros. Así que una vez más, sólo vamos a moverlo en la dirección X por una n al final. Después de que este bucle for haya terminado, entonces queremos decir que mover es igual a falso porque de lo contrario nunca podremos restablecerlo básicamente. Y luego va a, no va a funcionar básicamente la idea general, pero esto, bien, si hacemos esto, ahora, cuando, una vez que toquemos la parte, va a empezar a moverse hacia la dirección x, diez cuadras por 10 s, y luego va a parar y entonces en realidad podemos moverla otra vez. Así que vamos a ver por el bien de la discusión aquí, ¿verdad? Entonces nada debería pasar toda esta multa. Toqué esto después de 1 s. Ya puedes ver que empieza a moverse. Ahora no sé qué va a pasar una vez que llegue aquí en esta almohadilla de desove. En realidad estoy bastante, Oh, ¿qué va a pasar? Y va a parar. Ahora está parado. Y puedo tocarlo de nuevo y seguirá moviéndose. Como se puede ver. Esto está claro, ¿no? Porque está hecho de nuevo. Y si lo vuelvo a tocar después de un segundo, puedes verlo continuo. Así que esto es realmente, realmente genial. Eso es algo increíble que básicamente está trabajando aquí en este caso es en realidad un ejemplo de cómo puedes responder a algo que sucede en lugar del mundo. Para resumir, un evento se adjunta a un determinado objeto. Y si ese objeto, si ese evento es disparado, dependiendo de lo que suceda, entonces realmente puedes conectar una función a él, y puedes llamar a esa función cada vez que ese evento en particular sea capturado. En el caso del evento Touched, por ejemplo, esto realmente te permite ahora responder a las cosas que el jugador podría hacer, insertar el mundo y luego hacer ciertas cosas con él. Bueno, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 23. (Roblox) Creación de instancias a partir de scripts: Bien, continuemos con los fundamentos de los bloqueos de carreteras aquí para el curso de Roblox. Y en esta conferencia, vamos a estar echando un vistazo a desovar nuevas partes. Entonces, ¿qué significa desovar nuevas partes? Bueno, vamos a engendrar corazones a través de guiones. Entonces antes que nada, en los servidores de script del servidor, vamos a hacer un nuevo script y lo vamos a llamar 09 dash spawning. ¿Qué tal eso? Y a esto le llamaremos objetos de desove. Ahí vas. Y lo que vamos a hacer es simplemente engendrar un nuevo objeto. Así que sólo vamos a generar nuevas partes. Y antes que nada hagámoslo en el propio guión. Y luego lo vamos a hacer en contacto en un poquito. Entonces, ¿cómo engendraríamos un nuevo puerto? Bueno, vamos a hacer un local y llamarlo nueva parte. Y esto va a ser mientras una nueva parte, ¿cómo la engendramos? Vamos a decir instancia, y se puede ver que ya nos sugiere esto. Podemos autocompletar esto presionando la tecla Tab nuevo. Y luego dentro de aquí, tenemos que obtener el nombre de la clase. Así que tenemos que poner en el nombre de la clase como una cadena tan pronto como empiece a escribir entre comillas, se puede ver que en realidad podemos elegir, bueno, un montón de clases diferentes que existen por aquí. Entonces podemos agregar un nuevo controlador de aire, un nuevo vector de tres valores, nuevo script de módulo si así lo elegimos. Pero en nuestro caso queremos un nuevo corazón. En este caso, sólo vamos a elegir una nueva parte. ¿Y qué pasa si tuviera que hacer esto? Juguemos y veamos qué pasa. Y lo que vas a encontrar es eso, bueno, en realidad no pasa nada. A ver. No hay, no hay partes nuevas. Entonces nada pasó realmente porque esta parte, en este caso, no se ha creado en ninguna parte. Para que podamos cambiar las propiedades de esta parte. Entonces podemos decir, por ejemplo, el nombre es igual a una nueva parte por aquí, ¿verdad? Entonces ahora le hemos dado un nuevo nombre e incluso podemos cambiar la posición, ¿verdad? Podemos decir mientras la posición es ahora vector tres nuevos y digamos 0150 o algo así. Y también queremos que quede anclado, ¿verdad? Así que sólo vamos a hacer este ancla. Y ahora en teoría, si todo esto está bien, entonces deberíamos verlo aproximadamente flotando por encima del engendro. Y no se puede ver nada. Y si miramos en el espacio de trabajo, también se puede ver mi nueva parte no es, no es parte de esto porque en realidad necesitamos establecer también a los padres. Esto es sumamente importante. Entonces, la crianza de los hijos literalmente es solo la idea si miras al explorador de aquí, pero el guión de referencia o a la referencia y todos mis otros guiones. El padre de esto son los servidores de script del servidor. Entonces solo ves que esa es la relación. También puedes ver el padre aquí mismo. Y si vamos al espacio de trabajo, se puede ver la micro parte, ese padre es el espacio de trabajo. Y si vas a la placa base, si vas uno más abajo, la textura aquí, ese padre es placa base. ¿Qué placas base? Padre es el espacio de trabajo. Esa es la idea general. Esto realmente no debería ser nada confuso. Simplemente básicamente te muestra la estructura jerárquica del explorador, y eso es prácticamente todo. Y ahora si decimos nueva parte, parent es igual al espacio de trabajo del punto del juego, de repente lo estamos configurando en el espacio de trabajo. Y ahora veamos si realmente podemos ver nuestra nueva parte. Y lo que va a encontrar esto de repente, ahí está, ahí está nuestra nueva parte. Si entramos en el espacio de trabajo, vemos un nuevo puerto, exactamente el mismo nombre que le hemos dado aquí mismo. Y lo hemos engendrado completamente a través de un guión. Y por lo general este es siempre el pedido que quieres tomar. Entonces básicamente, quieres crear el nuevo objeto, entonces quieres establecer algunas de las variables de aquí, ¿verdad? Entonces vamos a cambiar las propiedades. Y entonces esto siempre es importante. Queremos establecer el padre, ¿verdad? Y esto es como una cosa muy, muy importante que queremos poner aquí al padre de familia. De lo contrario, no se mostrará en absoluto. Ahora bien, ¿y si tuviéramos que hacer algo interesante, verdad? Y si solo tuviéramos que conseguir el evento Touched, ¿verdad? Entonces estamos haciendo lo mismo por aquí, pero en lugar de movernos, en realidad hará algo diferente. Entonces lo que vamos a hacer es simplemente copiar esto nuevo y solo voy a comentar esto porque bueno, en este caso, en realidad no quiero que la cosa esté conectada con otra cosa. Vamos a hacer esto en el desove. Así que sólo vamos a generar un objeto. Y entonces vamos a decir, bueno, ya sabes lo que hagamos, en lugar de movernos realmente va a generar algo. Entonces en el evento Touched, cuando estábamos tocando mi parte genial, ahora quiero que se creen nuevos puertos. Así que estamos haciendo un Newport local y podemos hacer casi lo mismo que este, ¿verdad? Solo podemos decir, Oye, en Newport, y llamemos a esto, llamemos a esto otro Newport. Y pongamos un 015. Vamos al teléfono y en realidad me gustaría algo así como 20 y en este caso no va a hacerlo anclado. Y luego, en realidad, pongamos esto arriba, empujemos esto un poco. 525, ¿bien? Y entonces todavía tenemos que pararlo al espacio de trabajo. Y también vamos a añadir un poco de una función de peso por aquí, digamos medio segundo, porque de lo contrario sólo nos vamos a quedar inundadas con nuevas, nuevas y joditas partes a un poco de retraso por aquí. Pero ahora lo que esto debería hacer es siempre y cuando me quede en el, en mi parte genial, cierto, va a Swan nuevas partes en. Entonces veamos que eso hace cualquier cosa pero estoy bastante seguro de que lo hará. Una vez más, tenemos nuestra parte que teníamos antes. Y si tuviéramos que saltar sobre esto, se puede ver, de repente, ellos pueden ver. Y ahora podrías preguntarte, Espera, ¿por qué engendró tantos? Lo hicimos específicamente para que la función de peso esté ahí dentro. Entonces, si solo tuviera que pararme en esto, pero para que puedan ver que no está estropeando nada. Y si tuviera que moverme y se puede ver que está funcionando. Y la razón, por supuesto, es que el evento Touched, en este caso, en realidad se llama para cada parte, ¿verdad? Entonces básicamente estamos diciendo que ni siquiera importa cuál la parte que está tocando nuestra micro parte aquí. Para cada uno de esos, estamos engendrando una nueva parte. Y ya hemos visto anteriormente que el jugador está conformado por pequeñas, diminutas partes diferentes. Por lo tanto, esto va a ser llamado una cantidad de tiempo insana. Así que para resumir rápidamente, cuando engendramos una nueva parte, en este caso, podemos hacer instancia punto nuevo e importante en este caso. O también podemos engendrar casi cualquier otra cosa. Podemos engendrar toda una serie de diferentes tipos de clases es lo que se llaman. Básicamente solo están diciendo, bien, ¿qué tipo de parte o qué tipo de objeto es este? En nuestro caso, solo queremos portar y hay otros, ¿verdad? El lugar de desove como su propia clase, cosas así. Así que también podríamos engendrar estas cosas también. En nuestro caso, solo nos estamos pegando a las partes en este punto. Entonces podemos cambiar las propiedades. Y entonces muy importante que fijemos el padre de la nueva parte que acabamos de engendrar al espacio de trabajo del punto del juego, lo contrario no se mostrará. Y al final aquí, hemos visto que también podemos conectar esto con el evento Touched, que es realmente increíble. Así que ahora estamos generando cosas cuando en realidad estamos interactuando con el mundo. Bastante genial, pero eso va a ser todo para esta conferencia de aquí mismo. Espero que hayan encontrado este útil y desodorante y el nuevo los veré a todos en la próxima conferencia. Entonces, sí. 24. (Roblox) Click Detector: Bien, continuemos con el Robo space X aquí, sigamos curso de libros de reglas y en esta conferencia, vamos a estar hablando de detección de clics. ¿Qué podría ser esto? Bueno, bueno, bueno vamos a crear un nuevo script en el servicio de script del servidor. Y llamaremos a esto detección de click de diez y dash. Y esto va a ser muy interesante. Entonces, detección de clics, ¿qué significa eso? Bueno, probablemente hayas jugado uno o dos juegos donde pudiste hacer clic en algo. Y esto es exactamente lo que vamos a hacer también. Así que simplemente crearemos una nueva parte en el espacio de trabajo. En primer lugar, vamos a crear una nueva parte por aquí, y tomemos esto y vamos a dimensionarlo un poco, solo para que sepamos que esta es una parte diferente. De hecho hagamos esto 55.5. Ahí vas. Y luego también colorearemos un poco diferente. Hagamos esto. El azul es un poco bonito, pero hagámoslo un poco más azul. Sí, ahí tienes. También se hacen esto anclado así que sigue flotando en el aire así y en realidad estoy bien con eso. Entonces ahora tenemos un puerto flotante y cambiaremos el nombre de este a clicker. Y lo que esta parte necesita es que realmente necesita un subobjeto. Entonces vamos a hacer click en este plus por aquí. E incluso se puede ver si el uso frecuente del detector de clics es exactamente lo que necesitamos agregar a esto. Y haces clic en el detector solo tiene un par de cosas, a saber, la distancia máxima de activación. Hablaremos de eso en un momento. Pero ahora tenemos un detector de clics sobre esto. Lo que queremos hacer es que realmente queremos obtener eso como una variable. Entonces, consigamos el detector de clics, y esta es una variable. Y ahora vamos a ir al punto de juego, punto de espacio de trabajo. Y entonces tenemos que tratar de encontrar el clicker. Entonces vamos a usar la parte clicker. Y luego debido a que el detector de clic aquí es un objeto hijo del clicker, en realidad podemos obtener el detector de clics como puede ver. Impresionante. Entonces ahora tenemos el detector click aquí mismo, y esto se refiere a este detector de clips en particular. Y ahora solo podemos hacer una nueva función. Así que vamos a hacer una nueva función al hacer clic. Y también vamos a poner en el jugador porque esto es en realidad lo que vamos a conseguir para la función, ¿verdad? Cuando haces clic en algo, en realidad vamos a obtener el jugador real que haga clic en esto. Entonces, antes que nada, vamos a imprimir a este jugador. Haga clic en Me, y luego simplemente imprima el reproductor, solo, eso es todo lo que vamos a hacer. ¿Y cómo conectamos esto? Bueno, una vez más, el detector de click en este caso tiene ciertos eventos por aquí, ¿verdad? Así que tenemos, y en realidad tenemos bastantes. Entonces destruyendo, esos son eventos normales, pero luego también está el evento mouse-click y el mouse hover, el mouse sobre leave y el evento de clic derecho. Y los, creo que esos son los principales. Y eso es bastante impresionante. En realidad. Vamos a usar el evento MouseClicked una vez más usando connect aquí. Y luego podemos simplemente poner el método onClick dentro de él sin los paréntesis aunque. Entonces solo queremos pasar esto así. Y luego cuando hacemos clic en esto, realidad vamos a ejecutar esta función. Esta es la misma idea que hemos visto antes en el evento Tocado, donde conectamos una función inline aquí. Acabamos de crear la función aquí mismo. Pero en este caso, hemos hecho la función antes y luego la estamos poniendo ahí. Es la misma idea. Ahora bien, si esto es todo el caso, entonces vamos a jugar y cuando realmente vamos por ahí. Entonces lo primero que podrás ver es que cuando pase el cursor sobre esto con mi mouse, puedes ver que se convierte en una mano porque, bueno, esto ahora es clicable. Si tuviera que hacer clic con el botón izquierdo, se puede ver que este jugador hizo clic en la cámara. Así que ahora, de repente, el servidor es como, sí, el jugador hace clic en este detector de clips en particular. Así que eso es realmente increíble porque ahora, de repente , podemos interactuar con el juego a otro nivel. En este caso, en realidad hay una segunda forma hacerlo factiblemente. Y eso es que se puede agregar un script al clicker mismo. Entonces puedes llamar a esto el guión de los clickers, digamos, correcto. Y entonces solo tomemos lo mismo que tenemos aquí. Y vamos a agregar esto al guión de aquí. Entonces este es ahora el detector de clics, pero en realidad podemos hacer algo diferente. Podemos decir guión. Esto es llevar nuestro guión dentro de nuestra jerarquía. Y voy a decir padre. Y luego vamos a decir detector de clics porque este script, derecho, vamos a ir al padre que es el clicker, y luego vamos a hacer clic en la textura. Esto también funcionará. Entonces, si yo fuera a solo, digamos, vamos a comentar esto porque eso es un poco mejor si hacemos esto. Ahí vamos. Entonces esto se comenta y luego tenemos el guión clicker como hijo del clicker. Y también podemos hacer esto. Y vamos a ver, en teoría esto todavía debería funcionar. Y si vamos por aquí, se puede ver que todavía estamos obteniendo esta salida y eso a veces puede ser mejor. Entonces antes, claro ponemos todo en el servicio de script del servidor. Así que podría tener sentido tener realmente el guión debajo de nuestra parte clicker. Porque tal vez si tuviéramos que duplicar esto, y entonces tenemos una segunda aquí. Ahora bien, este también funciona sin que yo tenga que hacer nada. Ahora hay dos guiones diferentes, y por supuesto, ahora viene el tema de que hay que hacer un seguimiento de qué guión es cuál y todo eso. Pero independientemente de eso, sin embargo, es un poco genial. También puedes tener este guión debajo de la parte real. Eso no es lo principal. Por supuesto lo principal es la detección clicked en sí, que es otra forma de interactuar con el mundo ahora y ahora podemos usar lo que has aprendido hasta ahora, ¿verdad? Mover cosas, enviar la posición y puedes hacer algo clicable y puedes cambiar de posición, por ejemplo, a la derecha. Entonces solo por el bien de la discusión, he creado algo aquí que podría ser algo interesante. Entonces, si solo toco esto y vamos, y te lo mostraré. Entonces si voy por aquí, bien, tenemos este cubo rojo en la parte superior. Y si hago clic en este, el cubo rojo se desplaza por encima de este. Y si hago clic en el izquierdo , entonces se desplaza hacia atrás. Entonces básicamente solo una forma de cambiar esta posición particular de los cubos. Eso es algo bastante genial. Ahora en realidad no voy a mostrar el código. El código estará disponible para que puedas descargarlo y puedes descargar el archivo Excel con esta pantalla de parte móvil en particular en él. Lo que yo diría es que, antes que nada, trata de crear esto tú mismo. Y si puedes hacerlo, eso sería absolutamente increíble. Si estás atascado, siempre puedes echarle un vistazo. Básicamente son dos clickers por aquí en el clicker izquierdo y el clicker derecho. Y son dos guiones. Sin embargo, los guiones son literalmente exactamente los mismos. Entonces, podría haber una manera de condensar esto en un solo guión por el momento, solo tratando de ver si puedes averiguar cómo crear esto. Porque esa ya sería una forma genial de solidificar algunas de las cosas que hemos aprendido hasta ahora. Entonces, en resumen, el detector clics es una herramienta realmente útil que puedes usar para interactuar aún más con el mundo y Roblox. Y se puede utilizar para cualquier cosa realmente. Simplemente puede hacer una nueva función que luego se llama cuando el jugador hace clic en un detector de clics. Y eso puede hacer lo que quieras, ¿verdad? Pero eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 25. (Roblox) para aplicar fuerzas: Bien, continuemos con los conceptos básicos de Roblox aquí para el curso de robótica. Y en esta conferencia, vamos a estar echando un vistazo fuerza y a todo lo que tenga que ver con eso básicamente. Entonces, lo que fuerza forzará es básicamente agregar una fuerza a una parte en particular. Y sólo vamos a echar un vistazo a un ejemplo de esto. Entonces solo estamos agregando una nueva parte por aquí, y llamaremos a esto la parte contundente por el bien de la discusión aquí. Y lo que queremos hacer por esta parte, bueno, queremos mover esto. Sin embargo, antes que nada, queremos dimensionar esto. Vamos a dimensionar esto a 444 de nuevo. Y luego podemos agregar un, bueno, podemos agregar muchas cosas como hemos visto, pero si buscamos fuerza, se puede ver un campo de fuerza. Ahora, en realidad no queremos agregar un campo de fuerza. Queremos o bien añadir una fuerza lineal o una fuerza vectorial. Ahora esos son casi lo mismo. Hay una ligera diferencia, pero antes que nada echaremos un vistazo a la fuerza vectorial y luego veremos la fuerza de línea en un momento. La fuerza vectorial en teoría simplemente apunta a un vector y básicamente luego dispara esta parte a un vector en particular. Sin embargo, necesitamos un apego. Entonces puedes ver que este es un apego que se necesita. Y la fuerza que se está aplicando como aplicada a, en este caso, 1,000 a la dirección x. Entonces, de repente dispararía en esta dirección. Así que vamos a ponerla aquí abajo. Y si solo tuviéramos que tocar esto, podrás ver eso, bueno, no pasa nada. Para que puedas ver la parte de aquí, no pasa nada. Cambiemos el color a amarillo en este caso. Y vamos a poder ver que en teoría, debería disparar en esta dirección. Sin embargo, no lo hace porque no tengamos un apego. Entonces, en realidad, a este informe de fuerza, necesitamos agregar un archivo adjunto. Puedes ver que solo podemos buscar esto y podemos agregar adjunto. Y ahora el apego es parte de esta parte en particular. Ahora bien, si fuéramos a mover el archivo adjunto, ya lo puedes ver. Bien, ahora ese apego está directamente en medio de esto, que suele ser lo que en realidad queremos. Entonces solo podemos decir apego. Podemos dar click sobre esto, dar click en el archivo adjunto y ya puedes ver esto se adjunta. Ahora bien, si queremos asegurarnos de que este es el correcto, también podemos renombrar este contundente accesorio de pieza. Y si tuviéramos que mirar en la fuerza vectorial, se puede ver contundente apego parcial. Bien, juguemos esto y veamos qué pasa ahora. Lo que verán es que esto todavía no se mueve. Entonces podrías estar como, eso es un poco raro, ¿verdad? Porque podemos moverlo, pero no se mueve. Bueno, el tema es que hay fricción entre esta parte y la placa base porque por supuesto que hay toques. Y puedes imaginar esto si tienes un cubo que está tirado igual que sobre una mesa para moverlo. Eso no va a ser tan malo. Pero si es como una superficie gomosa, eso va a ser un poco más difícil porque hay diferente cantidad de fricción. Entonces, si tuviéramos que aumentar esta fuerza a, digamos algo así como 3 mil 500 aquí en este caso. Estoy bastante seguro de que eso debería ser suficiente para que empiece a moverse en la dirección x. Y ya verás, ahí va. Y frecuentemente se aleja a los cielos hasta, bueno, hasta que básicamente se ha ido. Entonces eso ya es bastante genial. Tratemos de hacer 2,500. A lo mejor eso va a hacer que sea un poco más lento. Y tal vez entonces podamos ver a alguien más también. Al parecer, 2,500 no es suficiente por aquí como puedes ver. Entonces tenemos que hacer un poco más, pero eso está bien. Hagamos 3 mil y luego eso ojalá no sea demasiado rápido. Y entonces en realidad podemos ampliar esto. Podemos ver parte contundente. Se puede ver que la velocidad en realidad es algo porque se mueve en esta dirección, ¿verdad? En realidad es tener una velocidad porque se está aplicando una fuerza si tuviera que aumentar esto. Entonces, digamos que fueron 50. Ahora la parte se ha ido porque ha volado del suelo del cielo. Y si solo estamos reiniciando esto e ingresamos al espacio de trabajo rápidamente y cambiamos la fuerza por aquí, digamos 5,000, ¿verdad? De repente, donde ahora conseguimos una increíble cantidad de velocidad y es mucho más rápido. Ahora bien, esta es una forma de mover una parte, ¿verdad? Con una fuerza. Eso ya es realmente interesante. Para tener esto, hay un tipo diferente de fuerza. También podemos tener, Vimos esto. Hay una fuerza de león. Entonces la diferencia aquí es sutil. fuerza vectorial básicamente aplica una fuerza en cierta dirección. En este caso, la dirección x ahora hace esto en relación con el archivo adjunto. También se puede hacer con esto relativo al mundo. La diferencia aquí es que si tuviéramos que rotar esto, bien, entonces ahora mismo estamos usando la dirección x, que es esta estructura aquí mismo. Lo cual está bien. Porque la extracción del mundo es así y la dirección x del apego también es así. Si fuéramos a rotar los archivos adjuntos. Así que ahora he seleccionado el archivo adjunto y lo estoy rotando 90 grados, ¿verdad? Así que vamos a volver a verificar por aquí. Modal gira 90 grados. Acabo de comprobar esto. Y si tuviera que girarlo 90 grados, de repente la x del accesorio está en esta dirección. Ahora nos estamos confundiendo todo tipo de porque, bueno, la fuerza, bien, vamos a deshacernos de la línea primero por un momento. La fuerza vectorial se usa en relación con la unión. Entonces ahora vamos a alejar el zoom en esta dirección. Si eres como, espera ¿qué carajo está pasando? Bueno, vamos a echar un vistazo y verás que ahora no está haciendo zoom en esta dirección, sino en esta dirección. Porque la fuerza se está aplicando localmente, porque tenemos coordenadas mundiales. Entonces el mundo en esta dirección es x, esta dirección es z, y la dirección hacia arriba es la razón por que todo eso debería estar más o menos fino. Pero entonces también tienes indicaciones para tus propias partes, ¿verdad? Porque si rotas aparte, de repente se gira. Verás, esto es ahora x, esto es x, esto es z, esto es y. Todo está bien. Pero si tuviéramos que girarlo alrededor de 90 grados alrededor de la dirección x, ¿verdad? De repente, y ahora es diferente porque hemos cambiado la rotación. Entonces, si cambias la rotación de algo, cambias su sistema de coordenadas locales 3D corrió una cosa bastante loca, pero en general, ojalá algo comprensible que haya una diferencia entre un sistema de coordenadas local y el sistema de coordenadas global. Y esta fue la fuerza vectorial. Hablemos también de la otra fuerza. Esa es la fuerza de línea. Vamos a desactivar aquí la fuerza vectorial. Y la fuerza de línea necesita de accesorios como se puede ver. Entonces lo que podemos hacer es simplemente hacer un nuevo puerto. Este va a ser el, este de aquí mismo, y vamos a hacer este amarillo, pero como naranja, eso va a estar bien. Vamos a escalar esto solo un poquito. Algo así. De hecho estoy bien con. Y si fuéramos a, digamos rotar esto un poco y mover esto alrededor de dos, algo así. Lo que podríamos hacer es que podemos agregar que esta va a ser la parte de la línea de fuerza. Sólo para demostrarlo, queremos agregar un, otro apego a esto. Ahora bien, este apego una vez más, está en medio de esto. Podemos mover el archivo adjunto y deberías poder ver si hacemos esto. Cambiemos el nombre a esto también. Fijación de fuerza de línea. Ahora podemos mover esto también. Y puedes ver que es un puntito por aquí que serás C. También puedes hacer esto visible y luego siempre va a ser visible aunque no lo hayamos seleccionado a veces puede ser útil. Entonces, si tuviéramos que mover esto como en la parte superior de aquí, lo que ahora podemos hacer es tomar el apego de parte contundente y adjuntarlo al otro apego, el apego la fuerza de trabajo hacer una línea y luego este objeto en particular va a moverse a través de esa línea. Entonces básicamente va a tirar del primer archivo adjunto aquí. Entonces, si vamos a la fuerza de línea, a la derecha, va a tirar del apego contundente hacia el accesorio de línea. Si hacemos una fuerza de reacción habilitada, esta es una importante. Y luego magnitud una vez más, es solo la idea de lo rápido que va. Entonces, si solo tuviéramos que ejecutar esto, veamos si esto hace algo alguno verá, no pasa nada pero mil probablemente no fue lo suficientemente alto. Sólo hagamos 4 mil 500, algo así. Quizá sea suficiente en este caso. Y eso sí es suficiente. Y se puede ver que está tratando de llegar a esto. Sin embargo, en realidad no puede levantarse debido a la gravedad en este caso. Entonces lo que podríamos hacer es que también podríamos conseguir esto más alto para que podamos hacer que la fuerza de línea sea aún más fuerte. Entonces podríamos hacer algo así como 7.500, tal vez no 75 K, eso es un poco mucho 7.500, tal vez algo así. Y podemos ver si eso hace algo. Y ahora es como que realmente derribó el pabellón auditivo, lo cual también es un poco divertido. Pero se puede ver básicamente que está dibujando una línea desde la mitad de este cubo hasta éste. Entonces del apego contundente al otro. Entonces estos son los dos tipos de fuerzas, en este caso, la fuerza vectorial y la fuerza de alineación, ambas utilizadas con accesorios, que también son bastante interesantes porque se pueden hacer muchas cosas con el apego es en realidad, y veremos bastantes cosas con esas en futuras conferencias también. Entonces, para resumir, en general, hay dos tipos de fuerzas, la fuerza vectorial y la fuerza lineal. La fuerza vectorial simplemente aplica una fuerza en una cierta dirección vectorial para una unión particular, la dirección del vector puede ser relativa a la unión misma. Por lo que va a cambiar la dirección dependiendo de la rotación del propio accesorio. O puede ser relativo al mundo, lo que significa que los objetos, la orientación o rotación de los objetos no factorizan en qué dirección se está aplicando la fuerza. También hay una fuerza de línea que en realidad utiliza dos accesorios. Por lo que básicamente aplica una fuerza de un apego hacia el otro. Entonces dibuja una línea de un apego a otro y luego aplica una fuerza sobre esa línea. Y eso va a ser para esta conferencia de aquí mismo. Espero que esto les haya resultado útil y aprendan algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 26. (Roblox): Bien, continuemos con la sección para principiantes de Roblox aquí para el curso de Roblox. Y en esta conferencia, vamos a estar echando un vistazo a las limitaciones. Las restricciones son algo muy, muy interesante que puedes volver a agregar en tu espacio de trabajo, que va a limitar el movimiento de tus partes. Ahora bien, esto va a ser un panorama muy superficial como introducción aquí, esto es, puede ser, quiero decir, esto podría tener su propia conferencia teórica como de dos horas. Entonces solo vamos a agregar una nueva parte y solo haremos esto, digamos como un poco de naranja más oscuro, tal vez un poco de naranja más oscuro. Ahí vas. Y solo vamos a escalar esto un poco y agregaremos un apego a esto. Entonces esta va a ser la parte con, drenada y esto va a tener una restricción. En primer lugar, va a tener un apego. En realidad. Esta va a ser la trampa, el apego reproducido solo para que sepamos lo que es esto. Y luego podemos buscar para que podamos, así podemos agregarle algo y solo podemos buscar restricción. Y se puede ver que hay un montón de restricciones. Como puede ver claramente, la balsa puede constreñir. Hay una bisagra de consentimiento cilíndrica, sin juego de colisiones en prismático, rígido, como si hubiera todo tipo de cosas que puedes tener aquí, y esas hacen cosas diferentes. Por ejemplo, la restricción de la cuerda hace una cuerda entre dos accesorios. Entonces en nuestro caso, vamos a tener el primer apego B, nuestro propio apego. Y luego vamos a ver. El segundo apego es el apego por nuestra parte contundente. Y entonces se puede ver de repente que hace una cuerda entre ellos. Entonces, si en realidad habilito la visibilidad, se puede ver que esta es ahora una cuerda que se hace girar entre este accesorio y este accesorio. Y la cuerda es realmente genial. Para que puedas tener diferentes espesores. Entonces esta sería una cuerda muy gruesa, gruesa. Así que volvamos a ponerlo a 0.1. Se puede cambiar el color de la misma por supuesto también, ¿verdad? Entonces, si tienes un color de cuerda diferente al que quieras, eso también funciona. Y luego hay algunas cosas interesantes y esa es la longitud por aquí, la restitución, así como el cabrestante habilitado. Si habilitamos el cabrestante, entonces hay algunos atributos más que podemos usar. Pero vamos a ver, solo vamos a hacer la longitud para que veas si aumento la longitud, diez no es más que si hago dos, Wendy, por ejemplo si hago 50, vamos. Bien, Entonces, entonces 20 no es suficiente, sino 30, no del todo 40. Y entonces empieza a holgazanear por aquí porque es más largo de lo que realmente necesita ser, ¿verdad? Entonces, si tuviera que hacer 32, algo así, todavía se enseña. 35 ya está algo así como bajando. Así se puede ver eso porque la cuerda tiene cierta longitud. Si entonces lo muevo, ya lo puedes ver. En realidad lo es. Se trata de tomar en cuenta la longitud de la cuerda cuando la está exhibiendo. Así que eso es realmente genial, ¿verdad? ¿Y qué va a pasar ahora? Digamos que hago esta parte en particular por aquí ancla. Esto significa que este tipo no se mueve como lo que hagas tú, enloquece. Pero lo que va a pasar es que voy a volver a habilitar mi fuerza vectorial por aquí. Entonces el cubo quiere alejar el zoom en esta dirección. ¿Qué opinas? ¿Qué va a pasar? Solo echemos un vistazo y veamos qué va a pasar. Entonces encontraremos que el cubo, mientras está tratando de moverse en esta dirección. Pero claro que puede, porque está constreñido por la restricción de la cuerda. Esto es realmente increíble. Y puedes hacer algunas cosas interesantes con esto. Entonces ese es un ejemplo de la restricción de la cuerda. Como si hubiera tantas limitaciones como has visto claramente, ¿verdad? Otra restricción interesante es la restricción de resorte. Este es este de aquí, y esto es un poco quisquilloso de usar, pero una vez que entiendes es realmente genial. En primer lugar, para esto, en realidad voy a bajar un poco el archivo adjunto de restricción solo porque es solo para que esté como en el mismo nivel que el otro. Entonces esto sería, ¿dónde está? Esto es menos cuatro. Entonces la palabra posición es en realidad 1.5 en la y y la posición mundial aquí es dos. Entonces, solo agreguemos, haz esto 12. Ahí vas. Y ahora debería estar en el mismo nivel. Y entonces podemos realmente adjuntar este apego cero es una vez más la parte de restricción y el accesorio uno es el puerto contundente. Se puede ver que ahora hay un resorte y podemos cambiar la apariencia por aquí agregando algunas bobinas más. Podemos cambiar el radio de aquí a locura y el grosor a algo realmente grueso. Nuevamente, vamos a hacer esto siempre visible solo para que tengamos esto por el momento. Y esto es sólo apariencias. Entonces esto no cambia nada cuando se trata de la funcionalidad. La funcionalidad se hace entonces por aquí con la primavera. Por lo que la longitud actual es de 16. Entonces digamos que los tres largos, este es básicamente el largo que quieres. Esto, se puede ver en realidad es la longitud a la que el resorte no ejerce fuerza de rigidez. Esto quiere decir que ya no va a empujar este objeto en particular. Y eso está bien. Si dices 16, entonces si solo tuviéramos que ejecutar esto, no va a pasar nada. Y además es cero rigidez, así que nada va a pasar de todos modos. Pero si tuviéramos que establecer la rigidez en 1,000, digamos pongamos amortiguación hasta como cinco, algo así. Y vamos a jugar a esto. Oh, pero antes de empezar, deshabilitemos la fuerza vectorial, solo que tenemos esta desactivada. Y entonces realmente vamos a entrar aquí y podrás verlo cuando yo esté dentro, ¿verdad Entonces ahora mismo no pasa nada si tuviera que tratar de poner esto aquí y mirar esto, bien. De repente vuelve a rebotar, ¿verdad? Para que pueda mover esto. Hacia la primavera. Y siempre se va a tratar de obtener la distancia que se define en la restricción de aquí. Por lo que se puede ver la distancia actual es de 17. Puedo hacer esto más pequeño básicamente empujando esto a la derecha. Y luego se va a extender de nuevo. Ahora la longitud actual aquí no cambia. Probablemente solo cambia en el servidor, lo que en realidad es algo interesante. Entonces, en realidad veamos si este es efectivamente el caso. Y puedes ver que puedes hacer algunas cosas bastante locas por aquí. Pero sí, sí cambia en el servidor. Entonces eso es bueno saberlo. Pero sí, entonces esta es una de esas cosas que puedes hacer, algunas cosas realmente interesantes para que esto funcione. Por supuesto, la restricción de resorte necesita una rigidez lo suficientemente alta y una cierta longitud tres básicamente, ¿verdad? Entonces, si tuviéramos que disminuir esta longitud libre de repente, va a tirar esto hacia atrás porque, bueno ahora la longitud libre es 12 y va a intentar que la longitud actual sea aproximadamente la longitud libre. No exactamente, pero tanto como básicamente puede conseguir. Y porque la primavera en este caso, una vez para realmente mantener un equilibrio, tanto de lo similar, no quiere ser demasiado larga y tampoco quiere ser demasiado corta. También puedes habilitar los límites. Entonces esta sería la longitud máxima, ¿verdad? Así que puedes, la longitud máxima es menor que la longitud libre, realmente no tiene ningún sentido. Entonces puedes decir algo como 20 y minlength, puedes decir algo como cinco y luego ni siquiera puedes acercarlo a eso. Entonces, si ahora tuviéramos que mover esto por aquí solo un poquito más. Veamos algo como esto que va a ser más fácil que si intentaras menos de cinco, en realidad hagamos diez. A lo mejor eso va a ser un poco más fácil y eso ni siquiera va a funcionar. Entonces puedes ver ahí, de hecho veo, ya ni siquiera me gusta empujar esto porque esa es como la longitud mínima real. Si es cero, entonces puede ser tan corto como quieras. Entonces, lo que recomiendo encarecidamente con las restricciones, especialmente la restricción de resorte, porque eso a veces puede ser, hay muchas cosas que puedes cambiar por aquí. Recomiendo encarecidamente jugar un poco con esto, incluyendo algunas de las otras limitaciones. Entonces, la restricción de fila es probablemente una de las más fáciles de trabajar. La restricción de resorte es un poco más complicada, y algunas de las otras son aún más complicadas. Sin embargo, sí permiten casi todo tipo de cosas basadas en la física. Entonces en teoría con la restricción de resorte y algunas de las otras, las bisagras y las cilíndricas se acoplan. En realidad puedes construir como física, autos simulados y cosas así. Eso en realidad como nuestro simulado con la física real. Es una locura que eso sea algo que funcione, pero sí que funcione. Pero eso es algo para gente avanzada, avanzada, ¿verdad? Como que eso no es nada para nosotros en este momento, pero es bastante genial. Así que solo puedo recomendar encarecidamente jugar un poco con algunas de las limitaciones y solo ver lo que se te ocurre, esa es básicamente siempre una de las mejores ideas para aprender cómo funciona todo esto. Para resumir, hay múltiples restricciones que puede agregar a sus piezas y luego agregar dos adjuntos. Y puede limitar las piezas sobre cómo son capaces de moverse. Hay muchos tipos diferentes de restricciones. Hemos visto la cuerda y la restricción de resorte como dos ejemplos aquí. Y una vez más, mencionaremos, sugiero encarecidamente que solo juegues con algunos de ellos y luego ojalá podamos encontrar algunos usos geniales para ellos también. Pero eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 27. Puntos de Spawn (Roblox): Muy bien, continuemos con los fundamentos de los bloqueos de carreteras aquí siga curso de robótica y en esta breve conferencia, hablaremos de agregar nuevas ubicaciones de spawn. Entonces, por supuesto, agregar una nueva ubicación de desove. Eso no es nada como eso es una locura, ¿verdad? Literalmente puedes simplemente hacerlo yendo a modelar spawn y luego hay otro spawn, o podrías duplicar el spawn ya existente. ¿Qué pasa si tienes dos de esos en el mismo lugar? Bueno, sólo vamos a jugar. Y obviamente veremos que engendro aquí mismo. Así que engendro los dos siguientes están haciendo clic Juego por aquí. Sólo paremos y volvamos a jugar. Y vamos a ver dónde nace ahora. Ahora engendro también al lado del juego de clic. Entonces eso es bastante genial. Y volvamos a nacer. Y esperemos que las fuerzas de la aleatoriedad estén de mi lado porque ahora he engendrado no al lado del juego del click, sino en realidad al lado la primavera por aquí, lo cual es bastante genial. Entonces la idea es que si tienes múltiples spawns que son del mismo equipo, lo que va a pasar es que solo te van a asignar uno de ellos al azar. Si seleccionas una de las ubicaciones de desove y vas hasta el final, puedes ver que hay algo llamado cambio permitido al tacto y también el color del equipo. Entonces para esto, en realidad necesitas equipos. Sólo vamos a echarle un vistazo a esto. Entonces en nuestro Explorer, realidad podemos agregar algunos equipos. Para que podamos sumar un equipo. Sólo vamos a llamar rojo a este equipo. Y luego también agregaremos otro equipo y ese va a ser equipo azul. Equipo azul. Sólo vamos a hacer de esto un color azulado. Y el otro, vamos a hacer de esto un color rojizo. Realmente listo, me gusta eso es, eso es bastante genial. Y esto es prácticamente todo lo que tienes que hacer. Podemos hacer que el auto asignable se encienda o apague. Solo mantengámoslos puestos para los dos. Y si ahora vamos a la pequeña ubicación, ¿verdad? Y bajamos, podemos cambiar el color del equipo, realmente rojo y podemos decir, Permitir que el equipo cambie. Y entonces podemos ir aquí y también podemos decir esto, y este va a ser el azul. Creo que fue así, azul eléctrico. Estoy bastante seguro de que tenemos nuestros dos equipos. No obstante, ahora mismo, las cucharas o neutrales, queremos que no sean neutrales. Entonces cuando engenzas, tienes ciertos equipos que están asociados a esto. Así que vamos a entrar aquí. Entonces ahora mismo estoy en rojo del equipo porque engendro aquí mismo. Si voy al otro engendro y toqué el otro lapso, de repente soy Tim azul. Vamos y puedo regresar y volver al equipo rojo otra vez. E incluso puedes ver que cambias de equipo. Ahora bien, esto no es siempre lo que quieres, ¿verdad? Podría ser, tal vez en realidad no quieres que la gente cambie de equipo. Entonces entonces solo dices, Oye, no puedes permitir que el cambio de equipo aparezca sobre nosotros. Entonces eso sí funciona. Así que solo puedes apagar eso. Y también lo importante es que si cambiáramos esto a, digamos, realmente azul ahora en lugar de azul eléctrico, ¿verdad? Pero si tengo esto encendido, el color del equipo va a ser azul eléctrico, pero el azul del equipo en realidad va a tener el color del equipo realmente azul. ¿Qué va a pasar ahora? A ver, voy al equipo pequeño rojo. Y si voy por aquí, esto ahora está cambiando el equipo. Se ve que me cambia a neutral porque no encuentra el color del equipo. Esto es muy importante. Entonces esta es una parte importante de esto. Entonces, básicamente, si entramos aquí, el color del equipo justo en la ubicación de desove, esto en realidad tiene que ser exactamente los mismos colores del equipo. Entonces esto sería azul eléctrico. Y entonces esto también tiene que ser azul eléctrico. Esos colores del equipo básicamente coinciden. Esta es también la razón por la que puedes tener dos equipos con el mismo color. Esa es en realidad una parte muy importante sobre esto, pero esa es la idea general de agregar equipos y nuevas ubicaciones de desove. Ahora bien, lo que te gustaría hacer en lo bueno es crear todos esos equipos y todas esas cuatro ubicaciones a través de un guión. Esa también es una idea inteligente. No vamos a hacer esto por el momento. Solo quería mostrarte básicamente cómo agregar otra ubicación y también cómo echar un vistazo al equipo. Así que eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 28. (Roblox) Jugador vs personaje: Continuemos con los conceptos básicos de Roblox aquí para el curso de barricadas. Y en esta conferencia vamos a estar hablando de personaje contra jugador. Entonces, ¿qué es un jugador y qué es un personaje? Hemos visto a los jugadores por aquí en el Explorador. Y si nos unimos, entonces en realidad podemos ver que hay algo agregado y eso es contable. Entonces ahí estoy yo, me agregan como jugador, pero si entramos en el espacio de trabajo, también me agregan en el espacio de trabajo, lo cual es bastante interesante. Echemos un vistazo a esto desde la perspectiva del servidor. Entonces en el servidor podemos ver que también tenemos al jugador que viene a través y también tenemos el kilómetro modal. Para que puedan ver que esto es un modelo, mientras que este de aquí es un jugador. Entonces, ¿cuál es ahora la diferencia entre el jugador aquí y el modelo o el personaje, como lo que hace cada una de esas cosas Entonces el jugador en realidad contiene qué datos del Jugador, ¿verdad? Entonces esto va a ser algo que me sea único en mi ID de usuario, tengo un equipo, ¿verdad? Entonces esto es específico para mi jugador. Mientras que el personaje o el modelo es solo la representación física aquí mismo, ¿verdad? Entonces esto va a ser, este es el modelo o el personaje, y esto tiene diferentes colores. Tiene, tiene un conjunto de salud, tiene un componente humanoide. Y los componentes humanoides como responsables, como se puede ver para algunos de los escalamientos, para algunos de la anchura, esta descripción par. Para que veas que hay diferentes accesorios. Entonces estas son todas las cosas visuales. Esto también incluye guiones, como puedes ver, guiones locales como animate. Entonces esto es básicamente todas las animaciones que ves cuando me muevo por aquí. Esas animaciones, ¿verdad? La animación de caminar, la animación de salto, todo eso, Todo eso se hace a través de la animación de aquí, este tipo, al que realmente puedo entrar. Así que en realidad se puede ver, este es el guión animado que ya está aquí. Y se puede ver que aquí hay muchas cosas. Entonces, como puedes decir claramente, algunos de esos matorrales pueden volverse bastante locos. Entonces, en general, cuando realmente lo piensas, lo importante es que el jugador, si queremos agregar algún tipo de valores, se agreguen con el jugador mientras que cualquier otra cosa se agrega al personaje. Entonces puedes ver, si, puedes ver si explico el jugador por aquí, hay una mochila por aquí, hay algo de equipo de arranque. Entonces, si tienes equipo, bien, lo guardarías en el jugador y se mostraría en el personaje o en el modelo. Entonces, si por alguna razón quisieras cambiar la forma en que se veía nuestro personaje, tendrías que hacer referencia realmente al personaje y no al jugador. Ahora puedes conseguir el personaje a través del jugador, ¿verdad? Porque si hago clic en controlar aquí, realidad se puede ver que tenemos una referencia de personaje por aquí, y eso es colegial, que es exactamente este tipo de aquí, ¿verdad? Por lo que están vinculados. Puedes obtener el personaje del jugador. Pero esa es la idea general. Entonces, para resumir, el personaje es todo lo que es visual. Básicamente tiene una referencia a todos los modelos y todas las cosas humanoides, y está disponible dentro del espacio de trabajo. En teoría, sin embargo, siempre irías vía el jugador. Siempre esperarías hasta que el jugador haya cargado o algo así, y luego ir a través del jugador al personaje, porque el jugador tiene una referencia al personaje y el jugador en sí es básicamente el cliente real y tiene todo tipo de inflamación, incluyendo alguna tienda de valor en él, que realmente verá en la próxima conferencia. Bueno, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 29. (Roblox) para ahorrar variables en el jugador: Continuemos con los conceptos básicos de robots aquí para el curso de robótica. Y en esta conferencia, vamos a estar echando un vistazo a cómo puedes guardar ciertas variables en tu jugador. Ahora bien, esto al principio puede parecer un poco, y eso no es realmente útil, pero en realidad es muy, muy interesante de hecho. Entonces, ¿dónde podemos sumar esos valores? Queremos agregar esos valores al pack de inicio. Entonces lo que puedes hacer es agregar valores como puedes ver, si busco valores, vas a agregar color en valores números. Entonces hay un montón de cosas que podemos agregar aquí. Digamos que agregamos un valor final y llamemos a esto. Experimenté solo por el bien de la discusión aquí mismo, solo para que tengamos algo con lo que trabajar. Si tuviéramos que empezar ahora a jugar, ¿verdad? Y si tuviéramos que investigar al jugador y calmar a Joel, y luego dentro de la mochila, puedes ver que tengo algo de experiencia en mi mochila. Ahora, claro, en este caso, experimentar la mochila no tiene mucho sentido conceptualmente, sino que solo piensa en ello ya que, bien, ahora tendrás algo de experiencia agregada a tu jugador. Vamos a ver esto en la próxima conferencia de una manera un poco más agradable. Pero solo por el bien de la discusión, vamos a mantenerlo así por el momento. Ahora, ahora mismo, realmente podemos hacer cualquier cosa con la experiencia, como si no te cambiara de opinión. Supongo que aquí podemos cambiarlo, pero eso no hace nada, ¿verdad? Pero lo que queremos hacer es, digamos que queremos cambiar la experiencia cada vez que cambie la posición de aquí. Digamos que cuando salté a la otra cuadra por aquí, ¿verdad? Entonces este sería el bloque táctil, ¿verdad? Si salto sobre esto, lugar de explorar mil millones de cosas, en realidad querría hacer es que solo quiero imprimir la experiencia real de este jugador en particular. Bien, eso suena, eso suena muy interesante. Ahora bien, en teoría, ya deberías poder hacer esto por tu cuenta. Pero vamos a pasar por esto. Ahora primero voy a hacer un nuevo objeto por aquí y vamos a cubrir esto un poco diferente. Así que vamos a colorear esto en un poco de un color diferente, tal vez un poco más rojo oscuro. Sí, eso es bueno. Borgoña. Absolutamente. Esto es burdeos. Mantendremos esto como clicker con otro guión. Este en realidad va a ser el clicker de experiencia. Y esta va a ser la experiencia, experiencia clicker guión porque esto en realidad va a dar salida a lo que la experiencia real de los jugadores. Entonces ahora tenemos al jugador aquí, ¿no? Cuando hace clic en esto, en realidad podemos hacer player dot y luego podemos hacer mochila y luego punto experiencia. ¿Esto va a funcionar? Bueno, va a buscar esto. Y mientras hayamos escrito todo aquí correctamente, entonces esto debería funcionar, ¿verdad? Entonces deberíamos poder decir este jugador, ¿verdad? Y entonces en realidad podemos hacer jugador que va a sacar el nombre del jugador tiene XB, ¿verdad? Entonces esto debería ser salida, tiene este consejo de jugadores, y luego cualquier experiencia que tengamos realmente dentro de la mochila. Vamos a ver si eso realmente hace algo, ¿verdad? Entonces entremos aquí y veamos, dónde está justo aquí. Entonces, si hago clic en esto, deberíamos poder ver este conteo, esta fila de conteo de jugadores ha experimentado XP. Bien, bueno, eso no es del todo entrenamiento como queríamos que hiciera porque nuestra experiencia aquí, bien, este es un valor int. En realidad necesitamos hacer valor de punto y luego obtenemos el valor porque por supuesto, cuando solo tenemos experiencia, solo obtenemos el nombre, correcto. Así que por defecto es el nombre y en realidad queremos obtener el valor. Entonces ahora en teoría, si vuelvo a hacer esto, si entramos aquí y damos click en esto, entonces podemos ver venir a este jugador , tiene cero experiencia. Ese es un primer paso muy, muy bueno. Ahora veamos cómo podemos aumentar la experiencia. Para ello. Queremos cambiar tanto el clicker izquierdo como el clicker derecho. Ahí vas. Y para ello, una vez más, conseguimos al jugador. Así que solo podemos cambiar la experiencia, ¿verdad? Así que básicamente podemos tomar este valor de experiencia de mochila de jugador. Entonces esta es la experiencia. Y cuando esto, cuando el jugador hace clic, solo queríamos aumentar el valor en uno. Eso es literalmente todo lo que queremos hacer. Bien, hagámoslo aquí, y hagamos lo mismo aquí mismo. Y eso debería ser más o menos lo que necesitamos. Por lo que ahora el valor de la experiencia se incrementa cada vez que hacemos clic en la izquierda y la derecha. Así que vamos a ver si esto realmente hace algo. En primer lugar, solo para verificar alguien verifique experiencia HasZero que sea absolutamente correcta. Si vamos al jugador por aquí, mira en la experiencia mochila. Ahora, hago clic en éste. Se puede ver de repente tengo una experiencia. Ahora tengo que 3456 y de hecho puedo hacer clic en el mismo y obtener múltiples experiencias por supuesto, pero esto es solo un ejemplo en este caso. Si ahora hago clic en esto, pueden ver que tengo 16 experiencia. Sí, eso es genial, ¿verdad? Entonces si se guarda valor en el reproductor y ahora se está almacenando. Ahora bien, si tuviera que parar y ordenar de nuevo, vamos a, por supuesto, que va a restablecerse, ¿verdad? Si vuelvo por aquí, bienvenido de nuevo. Esto es cero una vez más porque no lo estamos guardando en ningún lado. Eso es algo que en realidad vamos a echar un vistazo a unos pasos intermedios porque en realidad tenemos que guardar esto en los obstáculos Cloud, que es un poco más complicado en también viene con algunas otras cosas que realmente hay que tener en cuenta. Pero ahora mismo, has guardado un valor particular en el jugador con un valor int aquí. Y una vez más, puedo mostrarte que hay diferentes valores que puedes tener. Valores booleanos, valores de color y números de valores. Incluso puede tener valores de objeto, vector tres valores. Entonces es bastante genial qué tipo de valores puedes almacenar en el reproductor. Y básicamente puedes mejorar tu juego con eso en estadísticas o atributos al jugador. Ahora esto ya es bastante genial, pero en la próxima conferencia veremos realmente cómo se pueden agregar los conjuntos de líderes. Entonces esto sería sumar las estadísticas en la tabla de clasificación en la parte superior derecha, derecha. Si me uno aquí, nosotros, hemos visto la tabla de clasificación porque tenemos diferentes equipos y puedo agregar ciertos valores a esa tabla de clasificación como estadística y luego cambiarlos también. Y entonces podemos verlas como más o menos en juego. Así que no tenemos que ir básicamente a como una piedra aleatoria y hacer clic en esa para ver cuánta experiencia tenemos. De hecho vamos a poder ver esto en el juego. Entonces, una vez más, eso es bastante increíble. Nuestro, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 30. (Roblox) Leaderboard con Leaderstats: Bien, continuemos los fundamentos de Roblox aquí para el curso de obras mundiales. Y en esta conferencia, vamos a estar echando un vistazo a unas tablas de clasificación, o también llamadas estadísticas de líder. Esto es muy interesante. Así que para esto en realidad se eliminará la experiencia que hemos puesto en el paquete de inicio, ya que esta vez realmente va a generar todos nuestros diferentes valores a través de un script. Entonces, en los servidores de script del servidor, vamos a hacer un nuevo script y esto va a ser estadísticas de 16 dash litros. Y solo agreguemos, esto es una tabla de líderes o estadísticas de líder. Esa es la idea general y esto en realidad es muy importante que hagamos todo esto correctamente. Entonces, antes que nada, tendremos jugadores locales y esto es igual a jugadores del juego. Entonces esto va a echar un vistazo a este de aquí mismo. Entonces los jugadores de aquí, y va a conseguir esto. Y lo que podemos hacer es que podemos hacer una función local por aquí. Y esta función va a ser la configuración de la tabla de clasificación. Y esto va a pasar para cada jugador y va a quedar así. Entonces haremos una nueva carpeta. En primer lugar, se le va a llamar estadísticas de líder y luego a la propia carpeta. Entonces esta es una carpeta nueva y esta es una instancia dot nu, y esta es una carpeta nueva. Como se puede ver. Esta es solo una nueva carpeta que se va a crear para cada uno de nuestros jugadores verá cómo se van a agregar para cada jugador en un momento. Pero antes que nada, y esto es sumamente importante. El nombre de aquí tiene que ser exactamente estadísticas de litros. Por favor, preste atención a esto. Tiene que escribirse exactamente así. L minúscula, Estadísticas de litros. No hay espacio en el medio, no hay guión, exactamente así. He visto esto tantas veces que la gente está como, Oh, no sé dónde no funciona. Es porque tiene que escribirse exactamente así. Una vez que ese es el caso, puede establecer las estadísticas de líder punto padre igual al propio jugador. Entonces esto va a establecer las carpetas padre al reproductor, que es exactamente lo que queremos. Y ahora podemos agregar diferentes valores. Entonces, por ejemplo, podemos devolver el valor experimentado. Así que podemos hacer experimentado igual instancia punto nu, y esto ahora va a ser un valor int. Y entonces podemos ver que el nombre del punto experimentado es entonces por supuesto, la experiencia. Ahí vas. Entonces el valor de punto experimentado va a ser ceros. Entonces vamos a empezar con cero, lo cual tiene sentido. Entonces muy importante aquí al final. Experimente que el padre es entonces igual a las estadísticas de litros. Entonces queremos ser padres de cada una de nuestras variables bajo las estadísticas de líder. Y en teoría, podemos simplemente duplicar esto o, o copiar esto y luego cambiarlo a, por ejemplo oro también, ¿verdad? simplemente cambia todo esto a oro. Y digamos que empezamos con algo así como diez de oro. Y ahora tenemos esto. Ahora bien, esto no es frío todavía en ningún lado, porque ¿dónde llamamos a esto? Bueno, vamos a decir jugadores punto jugador añadido. Este es un, un evento por aquí como puedes ver, y esto se llama cada vez se agrega un jugador al juego. Y vamos a conectar esto a la configuración de la tabla de clasificación. Y ahora cada vez que un nuevo jugador se une a nuestro juego, se les va a dar la carpeta de estadísticas líder con la experiencia de valor int y el valor del oro con cero experiencia y diez voltios. Así que eso es genial. Juguemos y veamos si esto funciona. Y les aseguro que va a funcionar. Ya puedes ver contando Joel tiene cero experiencia y diez de oro. Y si abrimos el jugador por aquí, en realidad podemos ver que hay una carpeta de conjuntos de líderes. Y en vez de eso tienes la experiencia y el oro. Y básicamente la tabla de líderes de aquí siempre busca una carpeta de estadísticas de líder y luego muestra esto. Ahora, por supuesto, lo que ya no podemos hacer es que ya podamos hacer clic en esto porque ahora mismo no hay nada en nuestra mochila, así que en realidad podemos mostrar esto. Así que volvamos a aquí y consigamos el clicker de experiencia. Y luego vamos a conseguir también los dos clickers aquí mismo. Entonces el izquierdo y el derecho, y vamos a cambiar esto aquí mismo. Estábamos cambiando el valor de la experiencia en la mochila y ahora realmente la cambiamos en los conjuntos de líderes. Entonces, ¿cómo funciona eso? Bueno, hay un par de formas en las que podemos hacer esto. Si no queremos verificar nada, literalmente podemos decir estadísticas de litros que el valor del punto de oro es igual a más igual a uno, por ejemplo o experimentado, quiero decir, lo que queramos. Vamos a hacer experiencia por aquí, y vamos a hacer experiencia por aquí también. Entonces podemos hacer esto. Ahora solo vamos a hacer esto por el bien de la discusión, ¿verdad? Así que vamos a entrar aquí y deberíamos poder encontrar que si hago esto, se puede ver que nuestra experiencia por aquí aumenta. Eso es bastante genial. Pero ¿y si, digamos que esto es propenso a flechas muy fáciles? Porque en este caso, hago un error tipográfico por aquí. Y de repente estamos como, hago un tipo por aquí y de repente hago clic en esto y me sale un error porque oye, la experiencia no es un miembro válido. Yo soy como, Lo que está pasando el bastón. Echo de menos escribir esto. Entonces hay un poco de validación aquí que puedes hacer. Y eso va a ser algo así. Entonces podemos por ejemplo decir, Oye, dame las estadísticas de líder para el jugador de aquí. Entonces vamos a conseguir que el líder se ponga de pie como una variable. Esto no arrojará errores aunque no haya litros. Eso es porque, bueno, no importa. Y entonces podemos hacer un local y esto es realmente muy interesante. Entonces lo que podemos hacer es decir experiencia stat, y esto es una locura. Podemos decir estadísticas de litros. Y luego poner en litros postura colon, encontrar primer hijo, esta es una función y esto buscará experiencia. Esto podría parecer absolutamente una locura. Lo que haremos entonces es decir, si se experimenta eso Entonces, y entonces en realidad podemos aumentar esto. Y podemos usar esto usando la experiencia. Eso es lo que podemos decir, experimentado eso, ese valor es más igual uno. ¿Por qué es esto mejor que esto? Bueno, antes que nada, esto asegura que ambos conjuntos de líderes existan, así como encontrar la experiencia real por aquí con fine first child, se valida usando la declaración if aquí mismo. Y la idea general de esta tarifa lineal es que esto es cierto y luego devuelve lo que sea que esté aquí, ¿verdad? Entonces básicamente estamos diciendo, Oye, ¿esto no es nulo? Esa es generalmente la idea, ¿verdad? Entonces líder dice que no es nulo. Y luego encontramos esto, este niño, que luego se guarda en la experiencia esa experiencia, ese valor más igual a uno es lo mismo que esto. Entonces, si tuviéramos que, solo por el bien del argumento, copiar esto también al clicker rojo, y cambiamos esto. Usted, ya veremos que todo esto va a funcionar. Entonces entramos aquí y vamos a hacer click aquí y se puede ver que la experiencia sigue aumentando. Esto es mucho mejor scripting en este caso, y solo se asegura de que todo exista. Ahora, ¿qué pasa con la salida? Esto todavía no funciona bien, vamos al clicker de experiencia de aquí. Y entonces aquí, se aplica lo mismo, ¿no? Básicamente podemos conseguir esto. Y luego en lugar de hacer los más iguales, solo podemos decir que vamos a imprimir el experimentado ese valor de datos aquí en este caso. Y entonces en realidad podemos hacerlo también. Podemos hacer una declaración else. Entonces, si la experiencia que no existe por cualquier razón, solo podemos decir que este jugador, jugador no tiene experiencia en aras de la discusión, ¿verdad? Y entonces si jugamos esto y íbamos a entrar aquí, aquí ahora tenemos cero experiencia, ¿verdad? Y entonces podremos subir esta experiencia. Ahora tenemos seis, así que ahora tenemos seis experiencia. Todo eso funciona, bien, así que ya es bastante genial. Ahora, podemos volvernos aún más locos solo por el bien de las discusiones. Entonces por ejemplo lo que podríamos hacer es que podríamos decir, bueno, si haces clic en esto, realmente queremos saber si no tenías o no suficiente oro, ¿verdad? A lo mejor cuesta oro mover la cosa. Entonces, lo que podemos decir es que entonces podemos hacer esto. Y entonces también podemos decir, también encuéntrame el oro, ¿verdad? Y entonces podemos decir lo siguiente. Si no hay experiencia que esta ahora será estrella de oro, ¿verdad? Entonces esta es la estadística del oro Entonces podemos decir si la estadística del oro, entonces vamos a comprobar cuál es el valor. Si la estadística de oro y el valor de datos estándar de oro es más de uno, porque lo vamos a disminuir. Entonces podemos continuar con esto y podemos incrementar el valor experimentado. Y vamos a disminuir el valor estándar oro. Entonces ahora nos vamos absolutamente locos por aquí. Simplemente copiemos esto también al otro, como ya mencioné anteriormente. Ahora, hay una mejor manera de hacerlo. En lugar de tener dos scripts como este, solo puedes tener un script y hacer la misma función OnClick para ambos. Por el momento, sólo vamos a mantenerlo así, Eso va a estar bien. Pero la idea general es que estamos comprobando, bien, ¿también tenemos una estadística de oro? Y si lo hacemos, ¿es el valor mayor que uno o mayor o igual? En realidad, esto es lo que queremos. Sí. Y si este es el caso, entonces estamos comprobando la experiencia de que estamos aumentando la experiencia que al disminuir el oro. Y también podemos rastrear por aquí en lugar de un, si, podemos hacer otra por aquí. Y entonces podemos imprimir algo así como que el jugador no tiene suficiente oro por el bien de la discusión. Entonces, si el jugador tiene cero oro o por debajo de aproximadamente cero sería lo que probablemente tendría. Entonces se va a imprimir jugador no tiene suficiente oro. Entonces echemos un vistazo a esto. Así que vamos a jugar, y vamos a poder ver eso si sigo aquí, bien, no tengo experiencia a las diez de oro. Hago clic en esto. Ahora tengo una experiencia y nueve de oro y puedo, puedo hacer clic en la misma. Estoy en cero Oro, todo sigue funcionando bien. Si hago esto ahora, entonces de repente, la computadora no tiene suficiente oro. Ahora, la cosa todavía está movida. Lo que podemos hacer es que podamos cambiar esto para decir, Bueno, ya sabes qué, sólo se va a mover si en realidad se resta la meta, ¿verdad? Entonces vamos a mover el movimiento de esto solo para aparecer. Y entonces, de repente, sólo podemos mover la parte si en realidad tenemos oro. Bueno, eso es muy interesante, ¿verdad? Para que podamos mover esto. Todo esto está bien, ¿verdad? Ahí vas. Y nos movemos esto una vez más, y ahora hago clic aquí y de repente, no, ¿no funciona bien? Como me hiciste clic, pero no tienes suficiente oro. Eso es muy interesante de hecho, que esta es una funcionalidad bastante genial ya. Para resumir, usamos el evento agregado del jugador para que los jugadores creen una carpeta de clasificación para cada jugador que se une a nuestro juego. Y esta carpeta va a contener cualquier cantidad de variables diferentes que queramos. Y pueden representar cualquier tipo de número o cualquier tipo de valor. Aquí, en nuestro caso, agregamos experiencia y oro, y usamos esto para validar. Lo necesitamos en cierto número de oro por aquí para mover una parte. Y entonces también tendríamos experiencia. Esto es realmente increíble y te permite, te permite hacer tantas cosas. Ahora, las cosas realmente se están abriendo y vamos a ver como muchas más cosas que podemos hacer. Pero eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 31. (Roblox): Bien, continuemos con los conceptos básicos de Roblox aquí, sigamos el curso de barricadas. Y en esta conferencia, vamos a hacer partes que puedas recoger. Entonces, ¿cómo va a quedar esto? Bueno, antes que nada, hagamos una nueva parte por aquí y luego veamos. Entonces, antes que nada, vamos a hacer de este nuestro 333. Es decir, pienso rotonda, el tamaño correcto que quiero. Quiero hacerlos anclados y solo quiero moverlos hacia arriba solo un poquito del suelo. Entonces vamos a tener algo como esto. Ahora en realidad los colorearemos de un amarillo más brillante. Entonces tal vez este amarillo, creo que ese es otro diferente a él, ¿verdad? No, este es amarillo nuevo y este también es amarillo nuevo. Hagamos entonces el naranja profundo también está bien. Entonces ahora tenemos este puerto y vamos a llamar a esto la cola de oro, porque esto va a ser, bueno, un cubo de oro. Esto va a tener un nuevo guión adjunto, y este va a ser el guión de la recolección de oro. Ahora vamos a hacer esto por aquí por el momento. Y luego te voy a mostrar cómo puedes hacer de esta manera, mucho mejor. Un guión de recogida de oro por el momento, sólo para comprobar esto y ¿qué necesitamos? Bueno, necesitamos saber realmente lo que este oro en particular cubistas, así que necesitamos un cubo de oro local y eso es igual al guión punto padre. Y entonces también necesitamos tener unos jugadores locales y eso es igual a los jugadores de punto de juego. Una vez más, esta es la misma idea que estamos consiguiendo a esos jugadores. Y ahora tenemos una función local llamada en parte tocada porque estamos usando el evento Tocado por aquí en tan solo un momento para recoger este artículo de oro en particular o este oro básicamente, hay varios pasos, por supuesto, el primero sería, vamos a conectar este punto en cubos de oro tocado colon conectar. Y luego vamos a poner en la parte tocada por aquí sin paréntesis. Así que así, y ahora esta función o esta función local va a ser llamada cada vez que se desencadene el evento Touched. Pero solo queremos asegurarnos de que esto se despida cuando el jugador toque esto. Entonces para este que vamos a hacer es que vamos a conseguir un, el padre de la otra parte. Entonces esta va a ser la otra parte de ese padre. Y entonces obtendremos el humanoide de este humanoide, ¿verdad? Entonces este va a ser el padre de familia. Entonces el padre de la otra parte, colon, encuentra primero hijo, que es un y luego humanoide. Humanoide. Ahí vas. Hay una llamada de función larga. Asegúrate de escribir esto correctamente. Así que encuentra a primogénito que también está escrito exactamente así en la misma carcasa. Y si esto existe, entonces podemos hacer si humanoide entonces y ahora todo dentro de aquí sólo será ejecutado alguna vez. Si la otra parte que toca este cubo de oro va a ser un jugador que tenga un humanoide unido a él. Entonces lo primero que vamos a hacer es que vamos a hacer cola de oro colon destruir, decir que va a destruir este cubo de oro. En sólo un momento. De hecho veremos que podemos hacer esto de una manera un poco diferente. Pero por el momento, solo haremos esto y luego podremos hacer lo mismo que ya hicimos en el clicker aquí, ¿verdad? Así que básicamente estamos haciendo Leary exactamente todo esto, ¿verdad? Entonces obtendremos las estadísticas de los jugadores, entonces diremos capa local. En primer lugar, en realidad necesitamos conseguir al jugador. Entonces para esto, tenemos que hacer jugadores colon, sacar jugador de personaje porque hemos hablado de esto a partir del personaje. Y nos metemos en el pelo y por aquí, le ponemos al padre por aquí, porque pensemos en esto. Necesitamos el jugador ahora mismo de los jugadores, pero solo tenemos acceso al personaje a través del padre de aquí. Porque el personaje es lo que realmente tocó ¿verdad? Esta es la representación 3D del modelo y en realidad toca la otra parte. Y tenemos que sacar al jugador de esto. Esta es la manera de hacerlo. Entonces obtendremos las estadísticas del líder. Entonces litros que es igual al jugador punto litro establece estadísticas de líder. Ahí vas. Y luego una vez más, obtendremos las estadísticas de oro, en este caso la estrella de oro igual a las estadísticas de litros. Y esto es exactamente lo mismo que hemos visto aquí hasta ahora. Sólo vamos a obtener las estadísticas del líder, colon, encontrar primer hijo. Y el primer juicio que queremos encontrar es el oro en este caso, si las estadísticas de oro son ciertas, estadísticas de oro son ciertas. Éste. Ahí vas. Entonces lo que queremos hacer es entonces querer, bueno, no el nombre, pero luego ahí tienes. Queremos decir que el valor del punto estrella de oro es más igual a uno. Con esto, ahora tenemos un puerto de recogida de oro, así que tenemos uno de esos aquí mismo. Entonces eso es bastante genial. Juguemos esto y veamos si realmente puedo recoger esto. Pero estoy bastante seguro de que debería poder hacer esto. Entonces, si camino hacia él y lo toco, el cubo va a desaparecer y voy a conseguir uno de oro. Y ahí tienes, el cubo ha desaparecido y yo he ganado 1 v. Ahora el cubo se ha ido para siempre. Y en teoría, podríamos simplemente duplicarlo, Control D, y podemos duplicarlo y agregar algunos cubos más. Pero en algún momento sí obtienes un problema, Digamos por ejemplo , ya sabes, en realidad, todos esos cubos realmente te van a llevar al oro. Bien, bueno, vamos a cambiarlo. Bueno, espera un segundo. Esto lo ha cambiado en uno de esos, ¿verdad? Esto ha cambiado este en particular, pero este no se cambia y este guión no se cambia, y los otros tampoco se cambian. Eso es un poco de derecho, eso no es demasiado bueno. Entonces, ¿qué podríamos hacer para mitigar esto? Hay un par de opciones que tenemos a nuestra disposición para mitigar esto. Una de ellas sería usar un script de módulo. Digamos solo por el bien del argumento, cree un script de módulo por aquí, y llamaremos a esto, es decir 17 guiones. Y esta sería la camioneta de oro. Vamos a llamarlo así. Ahí vas. Y entonces lo que podríamos hacer es simplemente decir, bueno, tomemos casi casi la totalidad de esto y veamos qué vamos a conseguir como una función, ¿verdad? Entonces vamos a hacer una función por aquí. Y vamos a llamar a este módulo punto goal pickup. Y ya veremos qué tipo de parámetros vamos a necesitar. Entonces necesitamos la otra parte. Entonces este va a ser el primer parámetro. Y entonces también necesitamos el cubo de oro, ese va a ser el segundo parámetro. Y el último van a ser los jugadores. Ese va a ser el tercer parámetro. Y ahora esto debería funcionar en teoría el signo de interrogación. Bueno, quiero decir, vamos a ver, bien, así que vamos a poder hacer un dos por aquí, y luego solo necesitamos requerir esto para poder decir recogida local, Digamos poder decir recogida local, que los iguales requieren. Y luego queremos decir puntos de juego, una especie de servicio de guion y luego un corchete entre comillas 17 y pickup de oro. Puedes autocompletar con la tecla Tab. Y ahora deberíamos poder llamar a pickup pickup de oro oscuro, pasando a la otra parte como primer parámetro, pasar en el cubo de oro como segundo y luego a los jugadores como el tercero. Y ahora, no sólo esto es un poco más fácil de leer, escribir, y siempre podemos entrar en esto. En realidad puedes, puedes mantener Control y hacer clic en esto y luego vas a ser realmente traído a esta función por aquí. Entonces eso es bastante genial. Y ahora tenemos esto dentro de esta parte en particular. Así que eso es bastante impresionante. Ahora todavía una vez más necesitaríamos cambiarlos a todos. Pero si tuviéramos este fue el que cambiamos. Sí. Así que vamos solo por el bien de la argumentación, borremos el resto y si ahora duplicamos esto, ¿verdad? Entonces ahora tenemos una vez más un par de esos, así que tenemos cuatro de esos, pero ahora todos llaman uno a la camioneta de oro. Bueno, ahora si quiero cambiar el valor, van a cambiar de piso o de noche. Si ahora cambio el valor en este script de módulo, van a cambiar para todos ellos. Entonces, si tuviera que tocar esto bien, y íbamos a entrar aquí, íbamos a recoger esta. De repente, me dan seis de oro y consigo seis de oro por éste y éste y éste también. Entonces ahora lo que pasó es que el oro en realidad, porque todos comparten la misma función aquí mismo, todos pueden usar esta. Eso es genial porque de lo contrario solo estaríamos usando la misma función de todos modos. No hay razón real para no cambiarlo. Ahora bien, esto ya es muy chulo y sencillo. No obstante, digamos solo por el bien de la discusión en la recolección de portería, ahora voy a ser como, ¿sabes qué? En lugar de tener la estadística de oro así, como el aumento, en realidad solo quiero hacer una variable de aumento por aquí. Y voy a poner esto aquí que básicamente pueda cambiar, ¿de acuerdo? Una recolección de goles en realidad puede tener diferentes valores. Ahora vamos a toparnos con el tema de esto ser nulo, ¿verdad? Y entonces si toco esto por el momento, no va a pasar nada. Sin embargo, en cuanto luego recoja uno de esos, va a ser como si fuera a ser nulo porque no está definido. Y ahora ya volvemos al mismo tema. Si lo cambio aquí a un dos, va a estar bien. Pero ahora tengo un montón de otros donde este no es el caso. Entonces, obviamente, lo que quieres tener al final aquí es de alguna manera que todos tus cubos de oro tengan un guión en lugar de que cada uno de ellos tenga su propio guión ¿verdad? Ahora la forma en que podemos lograr esto es simplemente seleccionémoslos todos, haga clic con el botón derecho y vamos a agruparnos como carpeta. Esto va a subir a la cima por aquí. Voy a llamar a esto las pastillas de oro. Ahí vas. Y luego también voy a dejar caer el script dentro de la carpeta aquí también. Esto no es estrictamente necesario, pero es sólo un poco más agradable. Ahora vamos a cambiar un poco estas pastillas de oro. Entonces ahora mismo no tenemos un cubo. Escribe el guión aquí es en realidad ahora el padre. Entonces esta va a ser la carpeta de recogida. Digamos, bien, ahí tienes. Y lo que vamos a hacer ahora es que queremos iterar a través de todos los hijos de esta carpeta en particular. Entonces esto es un for-loop ahora, así que esto va a ser cuatro. Y entonces lo que podemos hacer es que podemos hacer un yo y una camioneta por aquí en, y esto va a ser un i pares. Entonces, lo que hace esto, en realidad se puede ver, en realidad dice devuelve una función iteradora y la tabla para su uso para bucle. Entonces ahora podrías estar como lo que el **** está pasando aquí. No te preocupes, solo dale un momento. Entonces solo vamos a usar esto para lo siguiente, y vamos a usar esto para la carpeta de recolección, dos puntos consiguen niños. Así que esto va a conseguir a todos los niños, ¿verdad? Eso está bien. Y luego vamos a hacer algo. ¿Qué vamos a hacer aquí? En primer lugar, vamos a decir, si soy igual a uno, entonces quiero que continúes porque ese va a ser el guión de la recolección de oro. Bien, eso es justo. Entonces quiero que hagas es recoger ese toque de colon conectar. Y luego quiero usar tocados a bordo. Bien, quiero hacer esto primero y ante todo. Ahora, tiene más sentido, en lugar de hacerlo así , literalmente, simplemente tomar esta función por aquí y ponerla dentro de aquí. Porque ahora el tema se convierte en que vas a, no vamos a nombrar esto ahora. Entonces solo vamos a tener una función por aquí que va a llamar a esto, porque el acceso del cubo de oro y los jugadores es un poco más difícil. Así que vamos a mover a los jugadores aquí arriba, y todavía tendremos que recoger por aquí. Y también necesitamos el cubo de oro. No obstante, tenemos el cubo de oro que acaba de recoger ahora. Entonces esta es una desafortunada duplicación por aquí. Entonces este es el guión de recogida. Vamos a llamarlo así. Ahí vas. Y entonces la camioneta es en realidad el cubo de oro. Y entonces no necesitamos ninguno de estos. Y pasé por esto quizá un poco rápido. Así que vamos a pasar de arriba a abajo otra vez. Entonces tengo una carpeta para recoger, ¿verdad? Esta va a ser esta foto que ahora se pide. Accidentalmente llamo esto adelante. Esto se llama camionetas. Llévanos. Ahí tienes, ¿verdad? Porque vamos a hacer script dot parent, que es el script parent, ¿de acuerdo? Y entonces tenemos a los jugadores, esto aún queda por ser estos jugadores. Y entonces tenemos el guión de recogida por aquí, que es lo requerido para esto. Ahora bien, si miramos esto, en realidad podemos reducir aún más la complejidad de esto simplemente diciendo, simplemente cortando esto. Porque, ¿por qué pasamos los jugadores por aquí? Podríamos simplemente decir, Oye, necesitas conseguir a los jugadores. Y luego ahí vas. Tenemos a los jugadores. Podemos hacer esto y tiene acceso a los jugadores. Entonces puedes ver que así, estamos separando ciertas cosas de ciertos guiones para que el número uno los haga un poco más fáciles de leer. Y número dos, para reducir las cosas que tenemos que hacer para poder seguir trabajando en este juego en particular, ¿verdad? Porque imaginemos que estamos teniendo. Si tenemos como un campo gigante de, no sé por muchos cubos de oro por aquí, ¿verdad? Tener cada uno de ellos tiene su guión separado y necesitamos cambiarlo para todos ellos. Eso es todo ridículo. Eso es una locura. Es por esto que un guión de oro sería increíble si todo esto funciona. Ahora, en este caso, todos ellos van a tener el mismo número por aquí. E incluso eso podríamos cambiar, vamos a mantenerlo a las dos ahora mismo. Y vamos a ver qué pasa si fuéramos a ejecutar esto. Entonces lo primero que va a ver no tenemos que ir a recoger, ir a recoger. Eso es probablemente porque en realidad estamos viendo esto es a las 11 por aquí. Entonces el problema es que en este momento, en realidad sí intenta usarlo para el guión de recolección de oro por aquí, lo cual en realidad es algo interesante. Yo hubiera esperado que el ojo dijera: Oye, esta es la recogida de oro, entonces no lo hagas. Este momento en el que en realidad es un cero. Eso va a ser interesante. Pero no creo que lo sea. No, sigue siendo, todavía va a estar ahí. ¿Bien? Bien, entonces el yo igual a uno no ha funcionado. Entonces, vamos a hacer lo siguiente. Simplemente diga si el nombre del punto de recogida es igual a pick up de oro, entonces queremos continuar. Ahora bien, esto en teoría debería saltar por encima de él, y de hecho lo hace. Así que aquí no hay más errores. Y si tuviéramos que encontrarnos con este 2222, vamos. Entonces ahora se puede ver, a pesar de que las camionetas reales, bien, los propios cubos de oro no tienen sus propios guiones. Están siendo destruidos adecuadamente. Y todo esto se hace a través de un solo guión. Así que esto es absolutamente increíble. Ahora mismo podríamos ir incluso un paso más allá, ¿no? Este es ahora el último paso que vamos a dar. Y es decir, son dos por aquí, sigue siendo un poco raro, ¿verdad? Entonces podrías agregar otro, un valor a este particular cubo de oro. En teoría, podríamos llamar a esto el valor del oro, ¿verdad? Entonces podríamos llamar a esto el valor del oro en aras de la argumentación. Y podríamos llamar a esto, digamos. Y entonces podríamos decir, oye, cuando termine la recolección, en realidad quiero obtener el valor del oro, el valor de punto. Ahora va a buscar este valor por aquí, y va a leer el valor que está escrito dentro del cubo de oro, obtienes casi el mismo problema que obtienes con los otros donde tienes que cambiarlo de nuevo. Así que también podrías hacer algo interesante. Esto es una vez más, esto es sólo un ejemplo. Esto es sólo para que pienses en esto. Esto no es necesariamente como lo harías absolutamente, pero lo que él podría hacer también está en puede decir, ¿sabes qué? Vamos a obtener el tamaño x y luego hacerlo un dependiente, como la cantidad de oro que se obtiene, dependiendo del tamaño del bloque real. Entonces digamos que este bloque es ahora de dos a dos. Y luego podemos simplemente borrar un montón de los cubos. Y digamos que tenemos un montón de cubos pequeños y un montón de cubos grandes, y luego tenemos un montón de cubos aún más pequeños. Así que van a ser cubos que son 111. Entonces el, por el bien de la discusión aquí, ¿no? Así que vamos a tener como un montón de cubos muy, muy pequeños y un manojo de cubos medianos. Y tal vez hay como un cubo gigante como 999, ¿verdad? Sólo por el bien de la discusión. Ahora la pregunta es, ¿funciona esto? Bueno, quiero decir, estamos literalmente tomando como valor el tamaño x del puerto de recogida. ¿Por qué no funcionaría esto? ¿Correcto? Así que entremos aquí y podremos ver si recojo uno de esos pequeños. Obtenemos un uno de oro. Hay dos, hay tres de oro, ¿verdad? 311, esto es dos. Eso es un dos. Y hay tres otra vez, tres otra vez, y esta es una gigante y eso es nueve. Entonces eso es como una vez más, solo para hacerte pensar en cómo puedes apilar todas las cosas de las que hemos estado hablando hasta ahora en una cosa gigante. Ahora voy a admitir que esto fue un montón de cosas aquí dentro. Entonces sí entiendo si todavía hay un poco confuso, lo que te recomiendo que hagas es el número uno, tienes el archivo RB Excel disponible para descargar, para que puedas descargarlo. Echa un vistazo al guión. número uno, el guión de la recolección de oro, y el número dos, el script del módulo. Vea cómo trabajan juntos. Tratando de simplemente cambiar algunas cosas aquí. Y tal vez puedas agregar algunas de tus propias camionetas. Tal vez como un poco de ejemplo que puedes agregar tú mismo es tal vez puedas agregar, tal vez como dañar cosas o curar cosas, ¿verdad? Pastillas curativas y pastillas curativas curativas y pastillas de heridas o algo así, solo para tener una idea de lo que realmente está sucediendo. Pero en general, esto es absolutamente increíble. Entonces, para resumir, tenemos una recolección que hemos hecho con el evento Touched. Empezamos por tener un guión para cada uno de nuestros cubos y luego fuimos tan lejos como para ahora tener un guión por aquí que controla los cubos, que básicamente agrega el evento Tocado a esos cubos. Y luego un script de módulo donde está toda la funcionalidad. Y esta es una de las cosas destacadas donde un script de módulo es absolutamente increíble para esto, ¿verdad? Pero eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 32. (Roblox) agrega rutas al jugador: Bien, continuemos con los conceptos básicos de los robots aquí, siga el curso de rúbricas. Y en esta conferencia vamos a echar un vistazo a cómo puedes agregar un rastro a tu jugador. Antes de agregar el sendero, ¿qué es incluso un sendero? Así que vamos a agregarlo a mi parte genial por aquí. Sólo podemos acertar al plus n. Vamos a buscar rastro y vamos a seleccionar este. Y ahora tiene rastro, ¿no? Entonces ahora hemos agregado el rastro, ahora necesitamos agregar dos adjuntos. Entonces, en teoría, a nuestra parte genial de aquí, solo necesitamos agregar dos archivos adjuntos. Así que vamos a hacer ese apego y luego solo dupliqué esto con Control D. Y solo vamos a mover esto sobre dos, digamos alguien así , eso va a estar bien. Y luego el otro, también vamos a movernos al otro lado. Ahí vas. Y ahora puedo usar el primer accesorio y el segundo accesorio. Y ahora porque está apegado a esto, lo que ahora podemos hacer es cuando movemos esto, deberíamos ver ahí vas, aparece un rastro exactamente de ese particular esos dos apegos. Y puedes cambiar los senderos para hacer todo tipo de cosas, ¿verdad? Se puede ver en el sendero por aquí, tenemos podemos hacerlo siempre de cara a la cámara. Incluso tenemos emisiones de luz. Podemos darle una textura. Hay diferentes modos que puedes hacer. Entonces envoltura estática, puedes agregarle una transparencia y luego también puedes tener algunas emisiones por aquí. Así que por vida maxlength, se puede obtener el ancho. Entonces hay muchas cosas y también podrías hacer realmente genial es que puedes agregar un color en el color aquí. Se puede agregar una secuencia de colores. Entonces, por ejemplo, podrías simplemente cambiar el color rojo al principio para leer. Y luego en el medio aquí es como tal vez azul y luego lo cambias por aquí a un verde diferente y luego por aquí lo cambias a otro color para que puedas obtener como colores arcoíris o todo tipo de locuras. Entonces puedes ver ahora que tiene la forma más o menos así. Y si ahora tuviéramos que hacer que este tipo se mueva, así que si movemos esto ahora, ya pueden ver, ahora está cambiando con el tiempo como bastante genial ya. Se puede ver ahora que está cambiando el rastro, Está cambiando su color quedarse con algunas de las propiedades. Entonces, por ejemplo, o abajo en la emisión, puedes agregar diferentes cosas como tener más vida, así que entonces va a permanecer vivo por más tiempo. Puedes tener una longitud mínima y una longitud máxima e incluso ajustar el ancho. Entonces, si tuviéramos que hacer como, no sé, cinco años de por vida, entonces solo va a quedarse ahí por mucho más tiempo como puedes ver. Como si simplemente se mantenga vivo mucho más tiempo hasta que decae. Entonces eso también es bastante genial. Si bien se ve genial aquí mismo, realmente no hace nada por nosotros. Entonces vamos a agregarlo al jugador. Lo primero que queremos hacer es en realidad en estos servidores de almacenamiento, queremos agregar un rastro y este va a ser el trail del jugador. Entonces este va a ser el rastro que se le suma al jugador. Y por el bien de la discusión aquí, vamos a cambiar esto a un, una vez más, unos colores locos por aquí. ¿Por qué no? Así que vamos a ir por el rojo y luego un poquito después vamos al rosa y luego nos vamos al azul. Y entonces aquí vamos a turquesa, ish, digamos, y luego verde, tal vez un poco más tarde. Y luego vamos a un verde más claro y luego amarillo. Y luego aquí al final vamos a una naranja, y luego al final volvemos al rojo más oscuro. Entonces ahora tenemos un color genial del arcoíris por aquí, lo cual es bastante impresionante. Y vamos a usar esto y dárselo al jugador. Todo esto está bien. Entonces echemos un vistazo a este de aquí, aquí mismo. Entonces vamos a hacer una longitud máxima de esto, porque de lo contrario va a, quiero decir, de lo contrario la longitud es infinita y no necesariamente queremos eso. Y luego vamos a adjuntar esto al jugador. Bueno, en realidad vamos a adjuntarlo al personaje, pero porque el personaje es por supuesto lo que en realidad es visible, ¿verdad? Ese es el, eso es lo visible por lo que hemos pasado por esto antes. Pero vamos a agregar una secuencia de comandos una vez más en el servicio de stub del servidor. Y llamaremos a esto 18 dash y a esto lo llamaremos el rastro del jugador también. Ahí vas. Y vamos a acercarnos aquí mismo. Ese es el rastro del jugador y vamos a hacer jugadores locales. Entonces este va a ser nuestro juego, jugadores de punto de juego otra vez. Y entonces queremos que los jugadores punteen jugador en ello. Entonces queremos comprobar cuándo se ha agregado el jugador y conectar esto a un particular, conectar esto a una función en particular aquí donde obtenemos el jugador y luego dentro de aquí, oh, esto es jugadores. Por supuesto, ahí vas. Jugadores agregaron, ahí tienes. Entonces en vez de aquí, queremos hacer jugador punto, carácter agregado colon conectar, y conectar esto a otra función, Esta vez consiguiendo el personaje. Entonces tenemos dos eventos por aquí, uno dentro del otro. Esto está totalmente bien y ahora queremos continuar. Entonces ahora queremos clonar el rastro. Entonces queremos decir servidores de juegos, almacenamiento, punto, dot player trail, éste, clon de colon. Entonces ahora hemos clonado este rastro. Entonces tenemos un crédito, un segundo objeto de este en particular. Así que literalmente como si fuéramos a hacer control C, control V, y ahora lo hemos duplicado. Entonces esa es la idea general de lo que hace el clon. Básicamente. Entonces queremos decir que el rastro Don padre ahora es igual al personaje. Entonces queremos esperar alrededor de medio segundo porque esto es necesario. Lo que yo por lo que he encontrado de otra manera, los apegos y cosas así no funcionan del todo. Y luego vamos a hacer nuevos archivos adjuntos. Entonces vamos a hacer un nuevo apego. Se va a tocar con cero y esto igual a una instancia punto nuevo, por supuesto, un nuevo apego. Y de inmediato podemos decir que esto va a pasar por debajo de la cabeza de punto de carácter. Entonces esto va a ir a la cabeza del personaje. Y entonces podemos decir archivos adjuntos cero nombre punto va a ser justo para que tengamos este rastro apego cero. No es necesario cambiar el nombre, sino solo mantener todo organizado. Y entonces podemos hacer un segundo apego como apego uno. Y esa es también Instancia esa nueva una vez más y luego un nuevo apego. Y se trata de dos personajes que parte de raíz humanoide. Ahí vas. Y luego cambiaremos el nombre de esto también. Y este nombre va a ser seguido adjunto uno en este caso. Y ahora todavía tenemos que asignar esto. Entonces todavía tenemos que decir Trail dot attachment zero es igual a una tangente cero y trail dot attachment one es igual a attachment one. Juguemos y veamos qué va a llegar a esto. Entonces ahí estamos. Y si empiezo a moverme, se puede ver de repente que obtenemos un sendero realmente, realmente impresionante que nos sigue bien con cierta longitud. Y por supuesto podemos cambiar este derecho? Si vamos a Workspace, cuenta y mandíbula. Y luego aquí abajo, deberíamos poder encontrar el rastro del jugador. Y en teoría, podríamos cambiar este peso así que queremos enfrentarnos a la cámara. Entonces ahora siempre va a enfrentar la cámara como puedes ver, que también se ve bastante genial. Para que puedas activar o desactivar esto. Hay influencias de la luz. Entonces puedes cambiarlo aquí y así como básicamente echar un vistazo a lo que esto, lo que cambia por aquí. Entonces tal vez queremos hacer esto un poco más brillante o tal vez mujer, como ¿sabes qué? No, en realidad va a ser un brillo cero, entonces de repente está completamente oscuro por supuesto. Entonces hay un montón de cosas que puedes hacer aquí y cambiarlo para que se adapte a tus necesidades básicamente. Y esto puede agregar una capa a tu array de caracteres. Esto podría ser algo que quieras agregar para tus personajes. Tal vez quieras agregar esto a tu juego para que la gente pueda comprarlo, por ejemplo, con bloqueos de carreteras como ejemplo aquí. Pero esa es la idea general de un sendero. Entonces solo por el bien de argumento de aditivo al pie izquierdo y al pie derecho del personaje. Y vamos a ver cómo se ve esa. Va a parecer un poco loco, pero ¿por qué no? Se puede ver que sigue funcionando. Entonces obtienes un rastro básicamente donde el personaje pisa. Y eso en realidad también es genial. Puedo, puedo imaginar tal vez esto para una mascota o algo así. Como una mascota muy rara que podría tener uno de esos senderos que se verán realmente, realmente increíbles. Pero sí, esto es un rastro y así es como lo agregas específicamente al personaje. Pero honestamente, puedes agregarlo para que signifique cualquier cosa realmente. Entonces, para resumir, se puede agregar un sendero con dos adjuntos diferentes. Ahora en nuestro caso, en realidad lo estamos clonando desde el almacenamiento del servidor y luego agregándolo al personaje a través de dos archivos adjuntos que también estamos creando dentro de un script en este caso. Y esto no sólo es factible para un personaje, en teoría también podrías agregar esto a Kaslow. Piensa que mueven diferentes modelos. Realmente puedes hacerlo en cualquier lugar donde tengas dos archivos adjuntos. Robot, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 33. (Roblox) Tres tipos de GUIs: Bien, continuemos con los conceptos básicos de Roblox aquí para el curso de robots. Y en esta conferencia vamos a hacer una breve reseña de Grecia. Grecia o GUI son básicamente interfaces gráficas de usuario. Y permiten al usuario interactuar con un pozo una interfaz gráfica de usuario. Y básicamente hay dos tipos diferentes. Podemos crear algo en la GUI estándar aquí mismo, o también podemos crear algo en el mundo. Empecemos en la GUI estándar. Y si pulsamos el botón más por aquí, se puede ver que ya nos sugiere la GUI de pantalla y eso es exactamente lo que queríamos crear. Así que vamos a crear una GUI de pantalla. Y bajo esto podemos hacer otro plus. Y entonces se podía ver que podemos añadir ciertamente objetos de la interfaz de usuario, por ejemplo, a. Frame. Y lo verás en la esquina superior izquierda aquí. Ahora conseguimos un marco blanco e incluso podemos mover esto, así podemos moverlo alrededor. Se puede ver que obtenemos algunas líneas de guía. Este es el medio horizontal, y luego incluso podemos meterlo en el centro exacto de la pantalla. Entonces podemos cambiar el tamaño de esto para poder redimensionarlo así, ¿verdad? Entonces eso es bastante genial. Así que básicamente podemos cambiar el tamaño de esto como un montón de cosas. Incluso obtener algunas líneas de guía donde está, como cuántos píxeles es grande y cuántos píxeles es desde la parte superior, por ejemplo y luego dentro de esto, vamos a aumentar realmente el tamaño aquí un poco más. Y luego lo que podamos hacer, justo cuando lo volvamos a centrar, ahí tienes. De hecho, también podemos agregar cosas a este marco. Así que podemos, por ejemplo, agregar una etiqueta de texto y ahora hemos agregado una etiqueta. Podemos enviarle esto también. Tal vez podamos dimensionarlo un poco y podemos, por ejemplo , decir, bien, queremos cambiar el texto que se muestra en la etiqueta. Podemos dar click en esta etiqueta y luego bajar hasta los textos de aquí, ya ves no solo podemos cambiar el estilo del texto, haciéndolo audaz y tal vez incluso cursivo, ¿ verdad? Podemos hacer muchas cosas. Podemos hacer una etiqueta de texto enriquecido y podemos cambiar el texto. Entonces, por ejemplo, podemos decir que este es un ejemplo de un texto, ¿verdad? Y si envío esto, ahí tienes, bam, listo. Podemos cambiar el tamaño del texto. Quiero esos más grandes. Hagamos esto un poco más grande. 32, absolutamente increíble. Incluso podemos hacer la báscula, por lo que luego se escala automáticamente como puedes ver. Entonces si escalo este elemento en particular que sus escalas automáticamente, lo cual es bastante genial. Pero saquemos esto de aquí. Y también puedes cambiar los textos. El color de los textos también. Entonces puedes ver bajo este texto, hay muy, hay muchas propiedades que básicamente puedes cambiar para cambiar esto, en realidad hagamos también esta audaz y-nada. Y entonces tenemos un, bueno un elemento de texto aquí mismo. Bastante genial. Y se puede ver que hay algunos otros. Entonces botón de texto, por ejemplo Eso es solo un botón con un texto en él. También puedes tener un botón de imagen en realidad. Entonces esto también funcionará en el botón Imagen que luego tendrá una imagen en él para que puedas hacer clic en este botón y suceden ciertas cosas. En realidad sólo vamos a ver aquí un ejemplo muy minúsculo para los botones de texto. Entonces este solo va a ser el botón de cerrar. Así que sólo vamos a cambiar esto de botón a cerrar. Y vamos a dimensionar esto también. Algo como tal vez, tal vez 50 va a estar bien. Y entonces también vamos a hacer esta pelota. Ahí vas. Y si hago clic en este botón ahora mismo, no pasaría nada porque solo podemos jugar esto bien? Si tuviera que jugar, lo que va a pasar es que la GUI va a aparecer porque siempre aparece el GYE. Y mientras pueda hacer clic en este botón, como si no pasara nada y el GY persistiera. Pero claro, cierto, esto es algo molesto. Entonces lo que podrías hacer es dejar de esto. Y si realmente quisiéramos desactivar esto, lo que podemos hacer es simplemente agregar un script local a nuestro botón de texto de aquí, y luego podemos agregar algo. Entonces, por ejemplo, este es el script de botones de ejemplo, ¿verdad? Esto es solo un script de botón. Ahora bien, este es un script local porque la GUI solo es relevante para nuestro cliente, ¿verdad? Sólo para nuestro jugador particular. Solo tenemos que hacer esto en el cliente local. Entonces vamos a por el botón. El botón en sí es para script dot parent porque por supuesto, estamos haciendo referencia a este script y está haciendo referencia ahora a este botón como padre. Y entonces también podemos obtener el panel real. Entonces va a haber el panel y eso es igual al botón, ese padre, ¿verdad? Entonces este sería el frame en sí como lo sería el frameless llamarlo frame. Y si quisiéramos ir un paso más allá y de hecho ir a la GUI de la pantalla, entonces podemos decir frame dot parent. Entonces esos son los tres que tenemos. Y cuando en realidad queríamos hacer algo, bueno, el botón nos ofrece un evento. Por supuesto, este sería el botón punto activar, activado. En realidad, ahí tienes. Entonces este es un evento por aquí, deja que el evento activado aquí mismo. Y podemos hacer dos puntos conectar y luego simplemente hacer una nueva función por aquí. Y en realidad no estamos consiguiendo nada dentro de él o no necesitamos conseguir nada. Y entonces solo podemos decir por ejemplo botón de impresión hecho clic aquí solo para tener esto. Y entonces solo podemos decir también pantalla. Así que va a haber nuestro punto de pantalla habilitado es igual a falso y esto básicamente desactivará la pantalla. Eso es bastante genial. Vamos a ver si esto ya funciona, pero ya debería funcionar. Así que vamos a entrar y ya puedes ver, si ahora hago clic en este cierre, puedes ver ButtonClicked y también la GUI ahora se ha deshabilitado porque empezaron, estamos aquí mismo en este básicamente se ha deshabilitado ahora no se ha deshabilitado aquí mismo en la historia, porque la GUI por supuesto también se guarda algún lugar por aquí en el espacio de trabajo o en otro lugar, probablemente en otro lugar, pero está replicado. Y esa es la idea general. Es por ello que luego se desactiva para nuestro jugador. Bastante genial. Entonces ese será un ejemplo de una GUI. Ahora bien, una cosa importante a tener en cuenta, si quieres, por ejemplo, tener una imagen, ¿verdad? Entonces, si queremos agregar una etiqueta de imagen aquí y solo centrarla, quieres cambiar esta imagen a otra cosa. El tema va a ser que realmente no puedes cambiarlo a nada. Entonces ahora mismo, nuestro juego no está publicado en Roblox. Esto es deliberado, y es por eso que en realidad podemos agregar una imagen personalizada aquí en este momento. A partir de este momento, en cuanto publiquemos nuestro juego. Entonces realmente podemos acceder a la capacidad de agregar también imágenes, y luego en realidad también podemos agregar una imagen aquí. Así que ten esto en mente. Lo vamos a mantener así por el momento. Y en realidad vamos a ir a la pantalla GUI y habilitarlo, deshabilitarlo. Y luego vamos a ver a las otras dos GUI. Entonces hay otro tipo de GUI. Digamos que queremos agregar esto a, digamos este bloque en particular de aquí, el clicker. Y lo que podemos hacer es que podríamos simplemente hacer un plus por aquí y podemos escribir en GUI, y se puede ver que podemos agregar una GUI de cartelera así como una GUI de superficie. Primero que nada agreguemos una interfaz gráfica de usuario de superficie y echemos un vistazo a lo que es esto. Entonces creo que solo hay clicker. Ahora podemos agregarle ciertas cosas también. Para que veas que está de este lado. Ahora, cambiemos la cara. Esto va a ser un frente. Probablemente queremos la derecha o la izquierda. En efecto, ahí vas. Y ahora tenemos esto en este sitio en particular. Para que veas que ahí hay una etiqueta. Si me alejo, entonces apenas es legible. Si me acerco un poco y es mucho más legible, y podemos cambiar esto. Entonces en la etiqueta de textos de aquí, podemos entrar aquí y cambiar algunas cosas como antes que nada, cambiar los textos por aquí. Entonces esto es solo, solo texto de ejemplo. Ahí vas. Si quisiéramos mover esto, podemos hacerlo. Entonces por la posición de aquí a la X e Y, ahora tenga en cuenta que el escalado y el desplazamiento aquí es bastante grande. Entonces, por ejemplo, si hacemos un desplazamiento de 50, en realidad nos movemos a través. Si haces una báscula, entonces deberías hacer como 0.1 y cosas así. Porque de lo contrario va a ser como sacarlo de la salida del servicio. Entonces digamos por ejemplo 25, de repente tenemos esto centrado en la pantalla de aquí. También hagamos esto un poco más grande, así que es un poco más fácil de leer. 32, tal vez un poco demasiado grande, tal vez un 26. Sí, ahí tienes. Y ahora tenemos esto aquí. Entonces, si tuviéramos que jugar ahora y de hecho ir hacia él, y ya ves ¿dónde está? Ahí está. Entonces es difícil de leer y luego en algún momento se vuelve un poco más agradable de leer. Entonces esto podría no ser siempre lo correcto que quieres hacer. No obstante, es una GUI de superficie, por lo que es una GUI que puedes poner en una superficie. Pero por último, tenemos el tercero. Y si añadimos esto, esta es la GUI de cartelera. Ahora la GUI de la cartelera es algo interesante ya que a veces es un poco extraña, pero vamos a agregarle un marco. Y se puede ver ahora mismo que está en medio de este objeto. Podemos cambiar la posición usando estas estadísticas compensadas por aquí. Entonces digamos que quiero hacer que este diez arranques sea más alto, y ahora está por ahí. Ahora, cuando acerco y alejo, se puede ver que cambia su tamaño porque básicamente siempre quiere conservar bien su tamaño en esta pantalla. Entonces, si solo nos aseguramos de que todo esto esté configurado, entonces en el frame, queremos usar como el tamaño uno, coma cero, y luego 10 aquí también. Porque siempre nos preguntamos el, ahí tienes. Siempre queremos que el marco llene perfectamente la GUI. La idea general es que si usas la escala de tamaño de aquí, y va a hacer el 100% de ella. Si quiero la mitad, podría hacer 0.10, 0.05 sería 5%, 0.5 sería la mitad. Entonces ahora está ocupando la mitad de la GUI de cartelera como puedes ver, ¿verdad? Y entonces uno por supuesto significaría que estoy ocupando el 100 por ciento de ella. Si entonces agrego una etiqueta de texto por aquí, ¿verdad? Entonces ahora que tenemos la etiqueta de textos, cambiemos la etiqueta de texto en sí. Entonces digamos que va a ser un poco más grande. Nosotros 32, um, tal vez, tal vez vamos a hacer 28 y eso va a estar bien. Y entonces en realidad me van a hacer clic en el texto. Ahí tienes, ¿verdad? Y si solo tuviera que unirme , ahora, vamos a echar un vistazo a cómo va a quedar esto. Entonces si cambio mi cámara aquí, así que esto va a estar totalmente bien. Esta es en realidad una GUI de cartelera bastante agradable. Ahora se ve afectada por la luz de aquí. Podemos cambiar esto también, pero en general eso es bastante genial. Pero ahora veamos qué pasa si sigo alejándome y sigo alejándome y sigo alejándome. Y se puede ver que esto es algo raro que pasa, ¿no? Entonces en este punto, se pone enorme, idiotas, bastante grande. Ahora, todavía podemos leerlo, lo cual en realidad es bastante impresionante, pero se vuelve bastante grande. Y tal vez para ser honestos, como si realmente necesitamos saber qué está pasando la rana por aquí para como 100 estudios de distancia. En realidad no. A lo mejor debería suceder como aparecer en cualquier parte por aquí, eso probablemente sería suficiente. Y podemos cambiar esto yendo nuevamente a la GUI de cartelera y bajando a la distancia máxima. este momento es infinito, así que básicamente simplemente muestra en cualquier lugar donde te encuentres en el mundo. Y tal vez solo digamos 50 aquí y veamos si esto hace algo y definitivamente va a hacer algo, pero iba a, bueno, ahí tienes. En realidad hace exactamente lo que queríamos. Entonces, si estamos lejos de él, entonces no se nota. Y luego también no tenemos este extraño tema de dimensionamiento. Y si entramos a cierto radio, siendo esto 50 estados del mismo. Así que la cámara tiene que ser, así que en realidad puedo conseguir que esto se muestre a veces y a veces no, pero eso no debería estar del todo bien. Y entonces si estamos aquí, se puede ver con claridad y eso es bastante genial. Pero el dimensionamiento aquí es en realidad lo importante. Entonces teniendo la escala y para que la coordenada x e y sea una. Entonces básicamente para llenar la GUI de cartelera, y luego normalmente el escalado va a hacer exactamente lo que básicamente quieres que haga. Y esas son las tres GUI, la GUI de pantalla, la interfaz de usuario de superficie terminan la GUI de cartelera. Muy interesante en efecto, que en realidad concluye esta conferencia aquí mismo. Espero que esto les haya resultado útil y aprendió algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 34. Referencias de API: Bien, continuemos con los conceptos básicos de los robots aquí para el curso. Y en esta conferencia estamos en realidad en las referencias de la API de Roblox Engine lugar de en Roblox Studio. Porque aquí es básicamente donde te muestro una visión general de cómo puedes usar create robots.com. Vincularé esto también en los recursos. Y este es un muy buen recurso para que, bueno, como veas, la lógica en tus experiencias, los bloqueos de carreteras. Entonces, básicamente, tienes acceso a todas las diferentes clases y tipos de datos y todo lo que pueda haber ahí dentro que alguna vez quieras echar un vistazo. Entonces, por ejemplo, lo que hemos visto antes, hemos visto antes del detector de peste, por ejemplo, así que hagamos clic en esto y podrás verlo. Un detector de clics permite que un script y un script local reciban una entrada de puntero desde un objeto 3D a través de su evento de clic del mouse. Absolutamente loco. Básicamente te muestra muchas cosas. Te muestra un ejemplo por aquí y explica mucho de cómo funciona esta cosa, ¿verdad? Hay ciertas muestras de código por aquí que luego puedes entender. E incluso hay un resumen donde te da las propiedades de esta clase en particular. Te da los métodos y los eventos que puedes usar. Y esto es absolutamente asombroso. Entonces no quiero entrar en detalles locos, pero también están hipervinculados. Entonces por ejemplo, si estoy como, oh, ¿cuál es el guión? Haga clic en esto. Bam, esto es un guión. Esto es absolutamente increíble y no puedo recomendar esto lo suficiente. Si alguna vez no estás seguro de qué hace algo o cómo funciona esto? ¿Qué es este dual? Acabamos de hablar de las GUI, por ejemplo, a la derecha. Así que subamos aquí a la GUI de la cartelera, por ejemplo BAM. Pero son contenedores para objetos GUI. Se puede ver que su posición es relativa a un adorno. Si no hay rodilla de adoración, entonces el padre se establece como el de abajo, cosas así. Hay tantas cosas interesantes que puedes echar un vistazo aquí. En realidad es una locura. Básicamente quiero hacer esto breve y dulce si hay algo que quieras aprender con algunos de los fundamentos de los que hemos estado hablando hasta ahora, ¿verdad? Si has pasado por la introducción al baño, entiendes un poco a Lewis. Si has pasado por los básicos de los bloqueos de carreteras ahora y estás en el estándar. La mayoría de los conceptos básicos por los que hemos pasado. Casi puedes pasar por cualquier clase por aquí y entender aproximadamente lo que está pasando. Ahora, por supuesto, puede haber algunos de ellos que están un poco arriba, tal vez algunas de las cosas de animación y algunas otras cosas podrían estar un poco demasiado lejos en este momento, ¿verdad? Con una nube además almacenar ciertos servicios, cosas aún pueden estar más allá de ti, pero sigue siendo realmente, realmente increíble que tengas esto disponible para ti. Y es, es tan genial que solo puedes leer esto y obtener más y más información. Lo que también encontrarás en algunos de ellos es que lo son, podrían quedar en desuso. Entonces creo que bien, la velocidad angular en realidad no está en desuso. Bueno, hay ciertas cosas que están en desuso, ¿verdad? Así que en realidad podemos ver las cosas aquí, por ejemplo, la posición del cuerpo por aquí está obsoleta y no se debe usar, pero siempre te dice lo que debes usar en su lugar, ¿verdad? Entonces esta es una vieja y eso es realmente, muy genial. Entonces no puedo expresar lo suficiente lo genial que es la API del motor de aquí. Como dije, voy a vincular esto. Tiene un gran recurso. Por favor, échale un vistazo, ¿verdad? Pero con eso concluye esta conferencia y también los fundamentos de los bloqueos de carreteras. En el siguiente paso, en realidad haremos nuestro primer juego propio y eso va a ser un ABI. Entonces esperaré verte ahí. Sí. 35. (Roblox) Introducción y cómo se construye esta sección: Bien, Bienvenidos aquí a la primera conferencia en la sección del ejército. Y solo quiero mencionar rápidamente qué tipo de OB vamos a construir. Entonces este es el RB terminado que básicamente se va a hacer. Y si engendro, en realidad voy a engendrar al final aquí, pero eso va a estar totalmente bien. Entonces básicamente podemos ver el Avi hacia el final del mismo. Para que veas que tenemos algunas formas diferentes por aquí. Tenemos cosas en movimiento, así que tenemos ladrillos de matar en movimiento que no puedes tocar. Se mueven todos en cosas diferentes. Esto se hace con el servicio de preadolescente aquí mismo. Tenemos escaleras que van a desaparecer al tocarlas. Y entonces aquí solo tenemos algunos ladrillos de matanza y algunas otras cosas también. Así que esto es realmente increíble y este va a ser un RB realmente genial. Ahora, por supuesto lo estoy haciendo la manera equivocada, pero eso está totalmente bien. Y ahí tienes. Entonces esta es la idea general del RV que vamos a crear. Cosas realmente geniales aquí, muy recomendable para ver. Y cada conferencia, por supuesto, va a tener un archivo RB Excel para que lo descargues. Así que básicamente puedes descargar el RB en cualquier estado en el que quieras seguir usándolo. Realmente espero que disfrutes haciendo el RV y nos veamos en la próxima conferencia. Entonces, sí. 36. (Roblox) Modelado de Obby: Bien, bienvenido de nuevo al curso de Roblox. Y en esta conferencia, en realidad vamos a estar creando un ABI para esto. Como puedes ver, en realidad estamos en Roblox Studio donde podemos crear un nuevo lugar. En este caso, en realidad quiero que elijas RB para esto, porque esto realmente nos permite copiar básicamente al menos como tres o cuatro cosas diferentes que ya están creadas para nosotros. Y solo va a hacer la vida mucho más fácil para nuestro OB. Entonces escojamos RB y luego verás que comienza la jugada y puedes ver que este es nuestro ejemplo. Yo estaré por aquí. Entonces la idea general es esta, que esta es la plantilla del propio Roblox. Y se puede ver que tiene una estrella por aquí. Tenemos algunos puntos de control ya aquí así como estos morados y luego los rojos brillantes que son ladrillos muertos. Y si, eso es más o menos lo que tenemos. Y lo primero que vamos a hacer es que sólo vamos a guardar esto como un archivo. Sólo voy a llamar a esto RB1. Y ese va a ser el archivo que se pueda descargar para ti después de esta conferencia. Bueno de todos modos, cuales son las partes que queremos salvar. Bueno, vamos por el bien de la discusión, solo juegue y vea qué puede hacer este RB. Obviamente vamos a engendrar aquí al inicio y luego podemos movernos por aquí para la primera parte. Y la única cosa es que si no tocamos la parte media por aquí, en realidad no conseguimos este punto de control es algo que vamos a arreglarlo de inmediato. Y entonces si solo seguimos por aquí, ahí tienes. Se pueden ver estos. Ellos establecen la velocidad por aquí así que hay que tener cuidado cuando te mueves sobre ellos y saltas de ellos. Ahí vas. Y luego los ladrillos de matar, claro, van a matar si los golpeas. Así que hay que tener cuidado con eso. Y ahí tienes. Eso es en realidad lo que hice por aquí, pero no te preocupes en absoluto. Bueno, no te preocupes en absoluto. Vamos a intentarlo de nuevo. Entonces algo como esto. Ahí vas. Ahora lo tenemos. Vamos. Y entonces el último es sólo una plataforma de salto por aquí. Para que veas si saltas sobre esto, entonces ahí vas. Y ahora básicamente hemos terminado el RB. Ahora no pasa nada, ¿verdad? No hay gran fanfarria ni nada por el estilo. Pero es una cosa básica muy buena sobre la que empezar a construir. Y por eso quería esto. Básicamente, cuando estés de vuelta aquí, debes ir a la selección y lo que puedes hacer es pujar, prácticamente simplemente eliminar estas partes por aquí y luego podemos dimensionarlo. Entonces ahora básicamente vamos a diseñar el OB. Y vamos a tener ciertas características aún no implementadas porque este momento solo quería diseñar una forma rugosa para la ABI, ¿verdad? Yo sólo quiero colocar algunos puntos de control. Quiero colocar algunos ladrillos de matanza, quiero colocar algunos obstáculos interesantes, y luego básicamente seguiremos a partir de ahí. Entonces, lo primero que recomiendo aquí para los puntos de control es en realidad solo dimensionarlos. Entonces lo que puedes hacer es seleccionarlos, ir a la herramienta de escala y luego pulsar Mayús. Y luego los va a escalar básicamente en todas las direcciones simultáneamente. Y queremos escalarlos hasta, en realidad echemos un vistazo a dónde estamos. A este 0.92, 0.5, y qué tal 99 coma tres, coma nueve. Creo que debería estar bien. Y luego tenemos uno grande. Ahora también se puede decir, bueno, tal vez esto es realmente demasiado grande para nosotros de lo que también podemos cambiar esto también. A lo mejor queremos que esto sea más plano, entonces es uno. Y ahí tienes. Creo que un nueve por nueve en realidad es bastante bueno. Ahora bien, si el jugador golpea todo el asunto, entonces en realidad conseguirán este punto de control registrado, que es este. Es un poco raro que lo hicieran , pero está bien. Entonces también, por qué no conseguir dos de esos transportadores para que queramos que uno pueda variar. Vamos a la izquierda y una cinta transportadora que va a la derecha. Así que sólo podemos seleccionar uno de ellos, mantener presionado Mayús y seleccionar el otro. Y luego solo podemos cortarlos con presionando Control X y Control V para volver a pegarlos. Ahora bien, tenga en cuenta que estarán en la parte inferior aquí del espacio de trabajo, pero podemos arreglarlo en un momento. Por el momento. Yo sólo quiero guardarlos por aquí cerca del inicio. Lo mismo que voy a hacer con un ladrillo matador. Sólo voy a copiar este Control C y luego Control V para volver a pegarlo. Y luego tengo el ladrillo matador por aquí también. Y entonces podremos usar esto más tarde para todo tipo de cosas diferentes. Y luego lo mismo que voy a hacer por el trampolín. En realidad se puede ver que hay una superficie G. Y esa superficie Judio, de hecho voy a deshabilitarse dentro del juego. Creo que eso es lo que es el guión. Cuatro, como puede ver, la interfaz gráfica de usuario de superficie habilitada es igual a false. Por eso tiene guión y eso eso en realidad no se nota. Entonces esto es solo para lo que tú, mientras estás creando el juego real, que en realidad es bastante impresionante. Así que vamos a copiar esto también. Ahí vas. Y vamos a conseguir esto por aquí. Y entonces casi podemos simplemente borrar todo el resto porque todo el resto no es realmente necesario para nosotros en este momento, ¿verdad? Entonces, simplemente eliminemos todo excepto esto. Ahí vas. Entonces ahora tenemos una tienda de un ejército y hemos eliminado casi cualquier cosa. Eso está bien. Y se puede ver en el espacio de trabajo, ahora todo es igual que configurado al azar. Entonces los puntos de control, este es el punto de control uno. Eso es bueno. De hecho, cambiemos esto también. Hagamos esto un poco más interesante. Entonces vamos a empezar, así que tal vez algo como esto. A lo mejor queremos escalar un poco esto. Y vamos a mover esto. Y lo que quiero hacer es hacer una rampa por aquí. Así que sólo vamos a duplicar este Control D para duplicar. Y entonces podemos rotar esto alrededor. Y asegurémonos de que ahí vas. Sí, eso es algo uno de esos pensando en alguien así que puedes hacer es que quizás puedas hacer algo como esto. Entonces eso es un poco más complicado, ¿verdad? Tienes que saltar de un lado por aquí, bajar esto un poco más, que es casi el mismo. Ahí vas. Y luego lo conseguimos. Así que ahora tienes que subir aquí y luego en realidad. Uno más. Sí, ahí tienes. Entonces ve aquí, salta hasta aquí. Y lo que es muy importante con el RV de aquí también son las pruebas frecuentes porque a veces estás como, oh, esto debería ser muy fácil de hacer. Y luego te das cuenta, espera un segundo, en realidad esta es una etapa muy dura y eso no es exactamente lo que quieres hacer. Y luego solo hagamos una rampa que baje por aquí. Así que vamos a hacer esto y esto y algo así. Y luego ahí vas. ¿Bien? Entonces esta es una de esas cosas en las que solo tienes que probar un montón de cosas diferentes. Y aquí es donde el, esto es lo que el modelaje es muy subjetivo. Puedes seguir todo exactamente como me va. O simplemente puedes ver esta conferencia y luego copiar el archivo de la terminada o simplemente echar un vistazo a la terminada. Y la idea es entonces también una gran cosa. Quieres que esto sea más colorido. Si te quedas con estos ladrillos con una piedra gris por aquí, Eso es realmente, realmente jodidamente aburrido, ¿verdad? Entonces solo puedes seleccionarlos y puedes decir, Oye, se supone que esto es tal vez como un azul por aquí, azul eléctrico. Sí. Y entonces éste puede ser debería ser como un cian, ¿verdad? Y entonces este tal vez debería ser un azul pastel. Y entonces de repente tienes un estado azul. Y luego ahí vas. Podemos tocar esto. Y verás que de inmediato vas a poder tocar esto. Ahí vamos. Así que podemos simplemente caminar por aquí y podemos saltar por aquí, ir por aquí, y luego van a la primera etapa hecha. Ahora claro, depende de qué tipo de RB quieras hacer, ¿verdad? Si quieres hacer un ejército hardcore, eso es muy duro y por supuesto que puedes hacerlo. Por lo general, la gente prefiere un poco de RB más fácil y un tiempo más fácil con él, pero eso está totalmente bien que depende de ti. Puedes diseñarlo como quieras. Entonces, continuemos y vamos a crear algo por aquí. Así que vamos a crear una especie de pasarela. Así que solo vamos a escalar esto nuevo y solo un poco más y tal vez solo un poco más ancho también. Entonces uno en cada dirección. Creo que eso es bastante bueno. Y ahora aquí quiero usar el ladrillo matador. Entonces, ¿cómo los usaría mientras los voy a duplicar, Control D, me voy a asegurar de que estoy eligiendo el que acabo de crear Lo estoy poniendo debajo de los ladrillos muertos por aquí. La forma en que se organiza el espacio aquí es básicamente a través de la función, ¿verdad? Así que tenemos todos los ladrillos de matar juntos. Tenemos toda la estructura OB junta, aunque los trampolines, aunque los transportadores, todos los puntos de control, también se puede hacerlo por etapa. No obstante, por lo general creo que esta es una mejor configuración porque algunas aficiones, tienen como 500 páginas de largo. Y por lo general es mejor así porque dentro del juego, bien, en lugar de la vista del juego aquí, siempre puedes hacer clic en algo y va a resaltar esto en el Explorer de todos modos. Por lo que realmente no es necesario configurarlo una manera que muestre cada estado individualmente. Entonces lo que vamos a hacer es que vamos a hacer esto para que tengas que saltar por encima de los ladrillos de matar por aquí. Duplicemos esto otra vez y luego solo vayamos aquí. No, ahí abajo no, eso, eso sería un poco raro. Y luego otro, duplicarlo. Y entonces tal vez algo como esto. Ahí vas. Y luego uno al final por aquí también. Vamos a hacer esto un poco más grande para que podamos escalar esto aún más. Y entonces podemos simplemente mover a este tipo a dar la vuelta por aquí. Creo que eso debería ser bonito, sí, eso debería estar bastante bien. Y aquí por supuesto, también cambiando nuevo el color porque eso solo te va a dar un bonito contraste. A lo mejor mover un poco a este tipo. Ahí vas. Así que eso es en realidad, me gusta un poco esto ahora mismo. Por supuesto, cuando hayas hecho esta etapa, quieres un, otro punto de control para que puedas duplicar el punto de control, hacer clic en el control de punto de control D, y luego solo vamos a mover esto por aquí, asegura de que cuando, que no esté demasiado alto, ¿verdad? Porque si duplicas algo que siempre va a ser como poner más arriba, lo cual es un poco raro a veces, pero ahí tienes. Y eso es más o menos eso. Ahora lo siguiente que se suele ver y que me gustó mucho, así que voy a copiar la parte de aquí, eso son las escaleras. Entonces vamos a tratar de hacer escaleras. Ahora. En realidad, puede ser bastante complicado conseguir el 100% correcto. Pero son bastante impresionantes independientemente. Así que sólo vamos a hacer escaleras. Y luego luego podríamos por ejemplo si quisiéramos hacerlos desaparecer, ¿verdad? puedas hacerlo para que cuando tú, cuando subas las escaleras donde desaparecen detrás de ti, eso, eso siempre sea un efecto genial y a la gente parece gustarle eso. Entonces, ¿cómo haríamos realmente esto? Hay un par de maneras en las que puedes hacer con esto. Lo que básicamente quiero hacer es antes que nada, voy a hacer una nueva, en realidad voy a hacer clic derecho en la parte y voy a hacer una nueva carpeta. Y voy a llamar a esto las escaleras. Voy a llamar a las escaleras 90 porque vamos a hacer una escalera de 90 grados. Básicamente, vamos a hacer escaleras que van de esta orientación a ir perfectamente a esta orientación, ¿verdad? Entonces esto básicamente significa que vamos hacia arriba y luego vamos a terminar en esta dirección. Y quiero tener esto porque entonces puedes combinar esas escaleras con otro juego de escaleras y luego puedes tener 180 escaleras y luego hasta unas 270 escaleras. E incluso si 360 escaleras y simplemente seguir subiendo en teoría si quisieras. Así que vamos a duplicar éste. Y lo que quieres hacer es que quieres rotar esto. No obstante, ahora mismo, per, por defecto, si tuviéramos que rotar esto, lo rotaremos 48, 25 grados. Sí, 25.5 grados, que es un poquito demasiado, cierto. Así que puedes ver si tuviéramos que mover esto ya que es un hueco demasiado grande para las escaleras, ¿verdad? Entonces quieres apagar la rotación por aquí y quieres hacer rotación libre. Entonces ahora puedes rotarlo tan poco o tantos grados como quieras básicamente. Y aquí es donde todo se reduce a tu preferencia personal, a donde quieres ir. Entonces lo mismo va para la mudanza ahora mismo vamos a apagar la mudanza aquí para que podamos moverlas en Lake. Cantidades minúsculas de estudios. Y siempre se puede comprobar esto, ¿verdad? Siempre puedes mirar esto desde el frente y ser como, Bien, esto se ve como escaleras, ¿verdad? De verdad me gusta algo, bien, aquí, esta cumbre parece acertada. ¿Bien? A lo mejor queremos expandir esto solo un poco más y luego podemos duplicar éste. Y porque siempre son lugares en la parte superior , en realidad, esto es realmente genial. Así podemos rotar esto un poco más y mover esto nuevo y hacer esto de nuevo y girarlo un poco más. Y puedes hacer el puedes hacer las escaleras tan grandes o tan pequeñas como quieras. Ahora en nuestro caso, vamos a echar otro vistazo. Solo echemos un vistazo. Para fines de depuración. Lo que recomiendo encarecidamente es que dupliques el inicio. Esto es un poco raro, pero solo tengan un momento conmigo. Tomas el Stuart original y solo lo deshabilitas para que hagas habilitado false, y luego vuelves al otro y solo lo mueves a cualquier etapa que quieras probar por aquí. Porque de lo contrario siempre hay que jugar todo el RB. Y eso suele ser simplemente muy raro, muy extraño. Entonces podemos ver que esto funcionaría. Entonces las escaleras, su trabajo, está bien. No necesitamos no necesitamos bajar ahí y luego ellos van para bajar ahí y luego ellos van podamos simplemente continuar con esto y seguir rotando esto. Como dije, puedes hacerlos tan grandes o tan pequeños como quieras. Se pueden agregar tantas escaleras, ¿verdad? Se puede decir, Oh, ¿sabes qué? Solo quiero un poco de rotación cada vez o tal vez un poco menos, poquito más, algo así. Además solo muévalos para que no siempre se vean iguales o se puedan hacer muy precisos. Entonces eso también es algo a veces quieres muy preciso. Si quieres una muy precisa, siempre puedes bajar a la transformación aquí y cambiar la orientación manualmente por números en lugar de solo una especie de ojo, ¿verdad? Porque en este momento solo lo estoy haciendo una especie de globo ocular siendo como Sí, eso suena bien. Eso se ve bien. Entonces esa es una cosa que también siempre puedes tener en cuenta. Y nos estamos acercando a la rotación que queremos muy, muy rápido por aquí. Para que veas que vamos a seguir con esto más o menos como ya he dicho. Y luego otra. Y luego al final aquí, definitivamente necesitamos usar los números ahí, pero eso va a estar totalmente bien. Porque al final podemos hacer esto. Así que vamos a hacer otra y otra por aquí. A veces la vista es un poco loca. Sólo nos gustaría volver un poco atrás. Ahí tienes, escala esto y luego vuelve a girarlo. De hecho, puede que esto retroceda un poco. Así que podemos simplemente rotar esto un poco más para que no tenga un hueco porque básicamente no quiero ningún hueco por aquí. A lo mejor un poco más de una rotación donde sumamos en este punto -98, Eso en realidad es bastante bueno. Entonces estamos casi en nuestros -90 grados, porque en cuanto estamos a 90 grados, entonces sabemos que hemos logrado donde queremos ir, pero aún no estamos del todo ahí. Entonces probablemente un par más. ¿Dónde estamos ahora? -92. Bien. Creo que ahora éste va a ser el -90. Entonces ahora queremos entrar en la transformación a la orientación y solo queremos hacer cero menos 90. Y se puede ver ahora esto en realidad está perfectamente en esta dirección. Entonces, si tuviéramos que escalar esto, puedes ver que ahora es un ángulo exacto de 90 grados, lo cual es bastante impresionante. Así que solo podemos tomar esto el, el puesto de control otra vez, mover esto hacia arriba, ir por aquí, y ahora tenemos un puesto de control después de las escaleras. Ahora tal vez quieras agregar otro salto por aquí antes de entrar ahí. Ese también podría ser el caso, ¿verdad? Entonces solo, solo configura esto. Ahí vas. Escalemos esto un poco. Algo así podría ser bastante bueno, y entonces deberías estar bien. Esas son escaleras. Asegurémonos de sacar esta de ella porque eso no es parte de las escaleras y ahora tenemos una escalera de 90 grados. Lo que recomiendo aquí también es duplicar esto, ¿verdad? Entonces solo Control D y luego solo puedes moverlo. Y lo que puedes hacer es realmente increíble. Porque ahora podrías en teoría, simplemente duplicar esto otra vez. Yo tomo todas esas escaleras, solo las muevo hacia arriba y las subo. Ahí vas. Y puedes rotar toda la escalera por aquí. Pero es importante que en realidad rotemos esto 90 grados. Ahora, vamos a rotar esto 90 grados. Y de repente mira esto, ¿verdad? Yo sólo puedo ponerlos al año y ponerlos aquí. Y casi caben. Es solo que tenemos que hacer esto un poquito. Ahí vas. Sólo un poco más alto, un poco alto o no. Asegúrate de que no se movió individualmente. Quieres moverlos juntos y luego se van. Y ahora tenemos una escalera. Ahora se ven un poco raros, pero vamos a ver yo, ahí tienes. Eso en realidad es casi perfecto. Ni siquiera lo notarás. Y ahora tenemos en realidad 180 buines, así que 180 grados escaleras, así podemos tomar todas esas partes, ponerlas en la otra sí deja la carpeta vacía y luego podemos llamar a esto, solo renombramos esta dos escaleras 180. Porque ahora tenemos que querer AT stairs y vamos a volver a guardar esto por aquí en nuestros inicios, donde básicamente tenemos todo guardado. Eso va a estar bien. Ahí vas. Entonces eso es, esa es una participación realmente increíble. Podemos, en teoría también tener 180 escaleras. Ahora puede ser un poco raro levantarse, pero una vez más, las escaleras o simplemente una cosa en las escaleras o simplemente una cosa que simplemente no vas a probar un montón de cosas, ¿verdad? Entonces esas escaleras pueden ser un poco empinadas y un poco raras, pero al final, deberían funcionar. Entonces si entro aquí, bien, y los cruzo, ahí tienes. Pude subir caminando. Entonces eso es bastante impresionante. De hecho vamos a aumentar el, aumentar la brecha aquí sólo un poco. Y de hecho volvamos a poner en movimiento un estudio de nuevo. Ahí tienes, tal vez algo como esto y luego algo así. Entonces tienes que saltar por aquí. Entonces eso va a ser bastante interesante de hecho. Y luego desapareciendo. De hecho vamos a ver eso en una conferencia posterior. Porque por el momento, en realidad solo queríamos crear algunas otras cosas interesantes. Lo siguiente, ¿verdad? Así que esto es bastante impresionante, ¿verdad? Tenemos algunos, tenemos algo de esto, tenemos algunos ladrillos para matar por aquí. Tenemos unas escaleras que van a desaparecer en la próxima conferencia. Y ahora quiero seguir por aquí, ¿no? Entonces ahora quiero continuar y solo quiero hacer algunas formas básicas. Así que vamos a echar un vistazo al tamaño de esto. El tamaño de esto es 616 es lo que quiero. Y creo que eso en realidad está bien. De hecho, estoy haciendo esto un poco más grande. Haz esto 818. Sí, eso es perfecto. Eso es genial. Esto es exactamente lo que tenía en mente. E incluso se puede cambiar la posición. Así que personalmente siempre me gusta tener las posiciones ahora con todos esos valores de coma. Entonces voy a cambiar la posición a 20. Voy a cambiar esto a 14, y vamos a cambiar esto a 105. Creo que eso va a estar bien. Y entonces sólo vamos a cambiar esta posición, 2105 también. Y eso va a hacer esto un poco torcido, pero está bien. Porque entonces lo que puedes hacer es simplemente tomarte especie de asegurarte de que esto sea, solo puedes ocultarlo simplemente haciendo esto un poco torcido también y luego simplemente escalándolo y siendo como, Sí, esto es en realidad una pasarela torcida y entonces a nadie debería importarle eso. Si a la gente le importa, por lo general no es un gran problema. Y siempre puedes cambiarlo después también. Porque el modelaje de esto, como puedes ver, ¿verdad? Entonces, hasta ahora, acabo de modelar por unos buenos 20 min más o menos y ya tenemos algunas etapas ahí dentro. Y lo mejor de ello es que si tienes algunos cedros hechos, ¿verdad? Entonces este estado aquí mismo, puedes copiar esta etapa exacta y reutilizarla más tarde en el futuro también de una manera un poco diferente. Entonces eso siempre es algo que también hay que tener en cuenta que siempre se pueden reutilizar etapas. Ahora bien, en realidad no quiero que esto se rote. De hecho pienso que el cero menos cero está realmente bien. Sólo vamos a hacerlo así. Sólo vamos a hacer esto más grande. Sí. Algo así. A lo mejor tal vez solo una plataforma grande y grande. Ahí vas. Bien, eso es bueno. Y ahora podemos proceder a éste. Entonces, ¿qué va a hacer este ? Bueno, este va a hacerlo, este va a haber matado ladrillos en el medio. Seleccione un ladrillo matador. Bien, no sé qué pasó, pero por razón que sea esos puertos están bajo el ladrillo de la matanza. No sé cómo pasó eso, pero bien. Queremos por supuesto, hacerlos bajo la estructura OB. Ahí vas. Y ahora podemos duplicar este Kubrick. No sé cómo pasó esa. Si eso hubiera pasado, no lo sé, pero si pasa algo así, deberías averiguarlo bastante rápido. Y entonces siempre se puede corregir que nuestras plataformas individuales y entre esas plataformas, quiero tener el ladrillo de matar por aquí. Y quiero que sean así o no quiero que se extiendan de esta manera. Quiero que en un poco se muevan así. Ahora no vamos a volver a implementar el movimiento en esta conferencia, ahora mismo solo estamos modelando todo. Porque lo más importante esto y esto es también, quiero decir, ya he hablado de esto antes, es que solo quieres asegurarte de que cuando estés creando algo como esto, especialmente solo lo estás dando un paso a la vez. No necesariamente necesitas hacer todo de una vez. Simplemente modele primero el RB y luego toda la funcionalidad, el movimiento para ciertas partes, la desaparición de otra parte, cómo se muestra algo, bien y en la tabla de clasificación y todo eso, siempre se puede hacer eso más adelante en la línea. Entonces, ¿qué tal esto? Creo que eso es bastante bueno. Y creo que entonces podemos simplemente copiar la cosa de aquí y sólo vamos a sustituir básicamente a ésta. Así que sólo vamos a sustituir este por nuestro viejo y fiel puesto de control, donde de hecho también en el futuro tenemos que cambiar las cosas en el puesto de control. Pero una vez más, nada de eso importa ahora mismo, por el momento, solo queremos modelar algo y eso ya es bastante bueno. Entonces estoy bastante contento con esto. Tenemos algún movimiento por aquí, tenemos algún otro movimiento por aquí. Y luego lo último que vamos a hacer, antes que nada, vamos a volver a colorear esto porque a las etapas verdes en realidad tres etapas verdes en este punto. Bueno, aunque eso no puede soportar, en realidad volvamos a colorear todo esto también. Vamos a entrar aquí y hacer esto, ¿qué tal si hacemos de esto un no un rojo, tal vez una especie de caquín rosa claro Bien. Bien, ese es el color caquiste orilla. Y luego sólo vamos a asegurarnos de tomar todas estas y vamos a saber, no quiero moverlas. ¿Estás loco? Yo solo quería seleccionarlos y luego queremos volver a colorear esos, tal vez un amarillo, eso va a estar bien. El amarillo y el rojo en realidad funcionan muy bien juntos. Y luego tenemos que revisar punto por aquí y luego qué podría venir después. Entonces, ¿qué tal si solo vamos a copiar uno de estos? Y lo que quiero hacer es que realmente quería tener una forma un poco aún más interesante por aquí. Entonces lo que vamos a hacer es que vamos a tomar esta parte y voy a bajar y vamos a hacer que esto no sea de colección. Ahora la razón de esto es porque entonces si lo duplico, en realidad puedo mover la misma parte dentro de sí misma. Y entonces puedo rotar esto alrededor. Y se puede ver si realmente hago esto 45 grados en la rotación, ahora puedo hacer un poquito de estrella. Entonces eso se ve mucho más interesante que solo tener una plataforma normal por aquí. Pero espera un segundo. Ahora, esos en realidad, ellos, realmente no funcionan porque ahora pueden chocar. Entonces el jugador sólo va a caer a través de ellos. Esto es cierto. No obstante, si ahora tomo ambas partes, si solo selecciono ambas partes y voy a modelar así, puedo hacer union. Y si hago unión, esto ha creado un nuevo tipo de parte que es una unión y ahora están juntas. Entonces básicamente todas las Así que ambas partes están fusionadas entre sí. No están soldados, en realidad son una parte ahora. Y si ahora solo puedo activar la luz de las velas otra vez. Y ahora el jugador puede chocar con esta nueva parte. Entonces esto es algo realmente genial que puedes hacer. De hecho, puedes ir más allá con esto, lo cual es bastante interesante. Entonces puedes ir a hacer esto por ejemplo vamos a hacer esto con otra parte. Podemos hacer una falsa luz de velas. Vamos a hacer un nuevo puerto. Y entonces digamos por ejemplo yo. Toma esto y voy a hacer esto un poco más pequeño, ¿verdad? Como algo así y este hijo tienen una parte más pequeña encima de la parte más grande. Y lo que suelo hacer es que normalmente sugiero hacer esto un poco más grande para que sea como, en realidad como se puede ver que pasa por toda la matriz. Y si hacemos de esto una parte negativa, ¿verdad? Y luego seleccionamos ambos y unimos esta capa, esto, de repente, tenemos un gran agujero en esta parte y esto está totalmente bien, ¿verdad? Así que puedes entrar aquí y nosotros podemos hacer una lata chocar y el conjunto el que va a caer el jugador. Entonces esto es en realidad, esto hace que esto sea mucho más interesante de ver, ¿verdad? Así que vamos a almacenarnos por aquí y en realidad movamos esto arriba, arriba arriba. Porque en realidad quiero, no quiero jugar todo el resto del nivel ahora mismo. Sólo quiero que te enseñes la, la unión y las partes. Ahí vamos. Así que vamos a entrar aquí y veamos. Entonces ahí estamos. Y si sigo aquí, ya ves que estamos haciendo esto y aquí puedo caer por esto, no te preocupes en absoluto, lo cual es realmente genial, ¿verdad? Entonces con la unión y luego negar, puedes crear partes tan frías que son completamente diferentes de solo los rectángulos normales del lago básicamente. Y por supuesto, también puedes agregar cilindros, cuñas de esquina, cuñas y esfera y esferas aquí. También puedes agregarlos y solo con ellos y un poco de unión y negación, en realidad puedes crear algunas cosas bastante interesantes. Entonces llamemos a éste solo para que ahora podamos hacer un seguimiento de esto. Esta es solo la plaza con agujero, ¿verdad? Y esta es la estrella. ¿Qué tal eso? ¿Verdad? Así que ahora tenemos una tienda y una plaza por aquí. Entonces eso es bastante genial. Vamos a otro tipo aquí. Entonces, vamos a conseguir un cilindro. Y sólo vamos a tomar el cilindro y sólo vamos a asegurarnos de que esté dentro de la estructura del ego. Ahora en realidad queríamos rotar esto 90 grados en esta dirección. Y podemos escalar esto un poco. Así se puede ver ahora llegamos a un círculo o a un cilindro por aquí. Y ahora también podemos obtener un tamaño de forma de círculo. Entonces veamos, ¿ este es del mismo tamaño? Lo es. Ahora también tenemos un círculo. Eso es genial. Ahí vamos. Ahora podemos hacer de esto el amarillo también. ¿Esto era este amarillo, rojo, amarillo brillante? Sí, lo es. Ese es el objetivo. Tienes que almacenar. un cuadrado con caída y tenemos un, llamémoslo círculo, aunque sea un cilindro, pero entonces todos saben lo que es, ¿verdad? Así que esto es en realidad como esto es realmente increíble. Puedes ver con esto puedes construir algunas formas más interesantes a las que apenas están llegando, que solo hacen que el juego se vea mucho más interesante. Ahora, por ejemplo, justo en nuestras formas por aquí, lo que podemos hacer es simplemente moverlas. A lo mejor tomar el, tomar la tienda aquí, tal vez rotarlo un poco. Entonces claro, si giramos 45 grados, no va a funcionar del todo, pero vamos a rotarlo 22.5 grados y luego en realidad va a verse un poco diferente. Ahí vas. Entonces ahora eso va a verse un poco diferente. También podemos tomar esta. También podemos rotar el cuadrado alrededor porque ¿por qué no escribir? Así que también vamos a parecer interesantes. Ahí vas. Y por cierto, también puedes escalar esto y va a hacer algunas cosas raras, pero puedes escalarlo. Entonces eso también es bastante genial acerca de que el escalado generalmente solo funciona en todas las direcciones a la vez en lugar de solo una. Entonces ahí tienes. Ahora tenemos esa. Y entonces podemos conseguir otro círculo. Enrutar el círculo alrededor del eje y no va a hacer nada por nosotros, pero eso va a estar bien. Y luego ahí vas. Entonces ahora tenemos algunas formas locas por aquí y podemos agregar un nuevo punto de control al final, solo asegurándonos de que tengamos suficiente espacio. Ahí vas. Y entonces eso es todo. Entonces ahora tenemos el puesto de control aquí, y ahora tenemos nuestras formas locas. Justo así. Creo que esto es suficiente demostración para mostrarle. ¿Bien? Básicamente se pueden agregar partes individuales, ¿verdad? Y tal vez quieras usar estas formas en un nivel posterior también, que puedes, por supuesto, en ese momento puedes usarlas y tal vez realmente quieras girarlas así que tienes que caminar sobre ellas. Y todo eso. Se pueden hacer muchas, muchas cosas con un objeto personalizado en este caso. Ahora, modelando aquí, de hecho pienso que estamos bastante bien con esto. Así que vamos a eliminar el inicio y la otra estrella se asegura de volver a habilitar esto. De lo contrario podríamos tener algunos problemas. Guardemos esto y entremos en el juego. Y vamos a ver si realmente podemos ejecutar esto. Esto está absolutamente bien. Tenemos esto encerrado, eso es genial. Y ahora veamos si puedo saltar por encima estos y puedo, Eso es increíble. Vamos a subir las escaleras. Oh, tenemos un poco de hipo por aquí. Entonces esa es una interesante. Entonces sí, ese es el método que realmente funciona. Pero esta etapa justo, ahora mismo no se mueven, así que solo tienes que saltar por aquí. Sin embargo, en realidad es más difícil de lo que cabría esperar obtener el momento exacto. Y entonces ahora aquí tenemos esos. Ahora se puede ver que los cilindros en realidad se han ido. Esto es un poco de un problema, pero, y en realidad podemos dar ese salto. Pero la razón por la que los cilindros se han ido, claro, es si realmente entramos aquí porque no están anclados. Entonces podemos ver ahora mismo que no están anclados. Así que asegúrate de que estén anclados. Cada vez que agregas una nueva parte aquí, quieres asegurarte de que estén ancladas y luego ahí vas. Y esto es más o menos en el RB base que vamos a mantener por el momento. Lo que vamos a hacer. No trabajamos con los transportadores porque usa la velocidad de aquí, pero usa la propiedad de velocidad. Y en realidad eso ya no existe del todo. Sigue funcionando. Pero yo personalmente diría que probablemente sea mejor no usar eso innecesariamente, pero eso está bien. Se puede utilizar. Pero solo ten en cuenta que eso podría no funcionar del todo de la manera que esperarías que funcionara. Sin embargo, independientemente de eso realidad estoy bastante contento con esto en las próximas conferencias, específico que vamos a hacer es que vamos a hacer que estas cosas roten. Como ya he comentado. Vamos a hacer que roten alrededor. Y tal vez vamos a rotar algunas de estas formas por aquí también. Todavía no estoy seguro de eso , pero algo así. También vamos a asegurarnos de que los puntos de control realmente se muestren en qué etapa se encuentra. Y también vamos a hacerlo para que tengas una tabla de líderes con las diferentes etapas dentro de ella. Y eso es más o menos lo que vamos a hacer por todo el audio en este caso, hecho va a ser bastante interesante. Entonces el archivo terminado de la creación aquí está, por supuesto, disponible para usted para su descarga. De lo contrario, espero que esto les haya resultado útil y aprendan algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 37. (Roblox) agrega puntos de control al Obby: Bien, sigamos aquí con el RB para el curso Roblox. Y en esta conferencia, básicamente vamos a cambiar la forma en que funcionan los puntos de control. Y para ello, lo que realmente necesitamos hacer es echar un vistazo al script de checkpoint actual. Entonces tenemos un guión aquí, y vas a ver esto y vas a decir, Oh mi Señor, ¿qué es esta locura? No te preocupes en absoluto. Para la primera parte de esto, solo disminuye un poco la velocidad. Esto es mucho a la vez. Hay que tomarlo línea por línea. Solo te estoy diciendo acercar y lo que puedes hacer es que incluso puedas hacerlo para que literalmente puedas ver línea por línea solo para que lo entiendas. Porque en general, esto en realidad no es tan loco como piensas. Vas a estar abrumado por el primer momento que veas esto, pero luego vas a estar como, Bien, espera un segundo. Ya sabes, todo esto, ya sabes, cuando si declaración, ya sabes, y sabes lo que eso significa. ¿Bien? Si es golpeado, este es un evento tocado, ¿de acuerdo? Entonces conectas esta función a ella, ¿de acuerdo? Esto ya lo hemos visto. Entonces estamos diciendo si algo le ha dado esto y hay un padre de ello, y el padre tiene un humanoide básicamente diciendo, si el jugador ha golpeado a este engendro en particular, ¿verdad? Si el, si el jugador ha golpeado la parte del punto de control, entonces estamos dentro de esto, bien, entonces estamos haciendo todo esto. Bien, eso es bueno. La siguiente parte, también estamos consiguiendo al jugador que hemos visto esto antes, luego estamos obteniendo datos de puntos de control. Ahora bien, si estos datos de punto de control no existen, entonces en realidad estamos creando un nuevo dato de punto de control como puede ver. Entonces, si los datos de punto de control, si no los datos de punto de control, significan si no existen, entonces solo estamos creando una nueva instancia de la misma y la estamos configurando en estos servidores de almacenamiento. Bueno entonces también nombrándolo datos de puntos de control y eso es todo en el punto de control local, entonces va a ser, básicamente estamos comprobando si los datos de checkpoint ya tienen guardado un checkpoint. Y si ese no es el caso, una vez más estamos creando un nuevo valor de objeto con este jugador. Y luego estamos conectando una nueva función por aquí que básicamente espera hasta que respondamos y luego responderemos en la ubicación del nuevo punto de control. Y eso es prácticamente todo lo que estamos haciendo. Ahora. Una vez más, algunas partes pueden ser confusas, especialmente el marco C de aquí. Básicamente, el marco C es solo la forma en que puedes establecer la posición de una pieza. Eso es prácticamente todo lo que necesitas saber por el momento. Y lo primero que quiero hacer aquí es que quiero hacer de este un script modelo porque este es el mismo guión en cada punto de control, solo necesitamos cambiar un poco como una cosa básicamente, y luego eso es todo. Entonces, ¿por qué entonces en realidad no tendríamos esto? Entonces, lo que queremos hacer es ir a nuestro confiable servicio de script de servidor antiguo y vamos a hacer un nuevo modelo de script. Voy a llamar a esto el guión de checkpoint. Eso me gusta, eso es bueno. Y lo que haremos es llevarnos todo aquí mismo, todo esto. Y sólo vamos a poner esto aquí mismo. Entonces vamos a decir que este es el módulo punto add player, Check Point, seguro, igual a la función. Y necesitamos el golpe y en realidad también necesitamos generar ubicación. Voy a mostrar esto en un momento, y luego ahí vas. Ahora esta es la función. Y en realidad también solo para asegurarnos de que todo esté bien, en realidad queremos copiar aquí también la declaración if, porque encontré que esto funciona un poco mejor. Si lo hacemos así, entonces podemos simplemente llamarlo a esto. Podemos simplemente tomar este módulo y podemos requerirlo en el script de aquí, y luego eso es todo. Eso es todo lo que tenemos que hacer. Entonces punto de control local, módulo de punto de control es igual a requerir y luego solo requeriremos game dot server script service dot checkpoint script. Ahí vas. Y entonces podemos llamar a una función justo aquí, derecha, capa de app protect point hit y la ubicación es solo spawn. Y entonces eso es todo. Eso es todo lo que tenemos que hacer en este caso para que esto funcione. Y podemos ver que sigue funcionando si solo entro aquí y acabo de cambiarlos a todos. Derecha. Entonces solo estamos así que el primero es el que cambia y todos los demás los que solo vamos a eliminar. Sólo vamos a seleccionarlos a todos. Si selecciona algo control de retención, entonces solo puede seleccionar varios. Y luego solo vamos a duplicar esto un par de veces y mover todos los nuevos scripts a los otros puntos de control. Y lo que encontraremos es una vez que iniciemos el juego y de hecho vayamos al siguiente punto de control, ¿verdad? El, la cosa realmente debería suceder solo cuando cortamos tocarla, pero se puede ver que en realidad obtenemos una propiedad no asignada. Entonces esto en realidad es algo muy interesante. Ahora la razón por la que obtenemos esto, como pueden ver, que estamos obteniendo esto en el valor de aquí en este momento. La razón de esto, este es el engendro aquí mismo. Porque por supuesto necesitamos usar la ubicación de la cuchara. Así que vamos a parar esto y otras cosas increíbles esto antes, si tuviéramos una mesa así, tendremos que cambiarla en cada uno de nuestros guiones. Pero ahora sólo puedo entrar en nuestro módulo script puedo decir, bueno en vez de cuchara, en realidad queremos la pequeña ubicación por aquí. Guárdalo, juega. Y ahora va a funcionar para todos nuestros diferentes puntos de control. Eso es lo que son los scripts del módulo, tan increíblemente poderosos. Así que vamos a echar un vistazo y ahí vamos, no más temas. Y si tuviera que saltar por aquí, voy a responder en ese lugar en particular. Y ya puedes ver, ahí tienes. Respondo aquí. Y lo mismo va a pasar si sigo aquí, y voy justo aquí y una vez más simplemente salto. Entonces podrás ver que luego se engendran ahí mismo. Entonces todos los puntos de control ahora están funcionando totalmente bien, como pueden ver, lo cual es realmente, realmente impresionante. Y bueno, eso es prácticamente todo lo que tenemos que hacer para hacerlos más robustos. Y ahora lo genial es también si tuviéramos que agregar un nuevo punto de control, porque ahora tiene el mismo script de checkpoint, simplemente simplemente continuaría fácilmente. Así que una vez que hayamos configurado esto, ahora, cada nuevo punto de control que agreguemos utilizará el script del módulo. Y si queremos cambiar algo aquí, por ejemplo en la próxima conferencia, entonces lo que va a pasar es que esto simplemente va a funcionar. Y eso es en realidad con todo lo que hemos aprendido hasta ahora. El evento Touched, ya hemos visto esto antes, requiriendo un script de módulo con visto esto antes en otros módulos script en sí, la función aquí, es un poco más complicada, te voy a dar eso. Pero en general, cuando realmente lo tomas línea por línea, debería ser comprensible. Y con eso, eso es en realidad todo para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y hayas aprendido algo nuevo. Te veré en la próxima conferencia. Entonces, sí. 38. (Roblox) agrega una tabla de clasificación con Leaderstats: Bien, sigamos con la ABA aquí para el curso de Roblox. Y en esta conferencia, vamos a crear no sólo una tabla de clasificación, sino también el sistema de numeración para nuestros puntos de control. Entonces esto va a ser muy interesante en escritura. Entonces la primera parte de esto va a ser, bueno, básicamente sumando números a nuestros puntos de control. Ahora voy a hacer esto de una manera un poco descarada. De hecho voy a hacer un nuevo guión en lugar de nuestros puntos de control aquí mismo. Y sólo vamos a llamar a esto. En primer lugar, va a haber un guión correcto. Ahí vas. Y en realidad vamos a renombrar esto a la numeración de puntos de control. Porque curiosamente, si entramos aquí, si nos aseguramos de que nuestros puntos de control estén establecidos en el orden correcto, ¿verdad? Entonces se puede ver este punto de control 123, esto es cuatro y este es cinco. Si aquí están establecidos en el orden correcto, entonces solo podemos numerarlos de arriba a abajo y deberíamos estar totalmente bien. Entonces esto es en realidad lo que voy a hacer con este guión. Entonces eso es lo que básicamente requiere este script. Si están en orden aleatorio, entonces eso no va a funcionar. Pero por lo general si los duplicas entonces deberían estar en un orden establecido y eso está bien. Entonces para esto, lo que queremos hacer es querer antes que nada encontrar la carpeta. Entonces este es, por supuesto, un guión que padre debe ser bastante autoexplicativo. Entonces tenemos un conteo, ¿verdad? Esta va a ser una. Vamos a empezar con uno, y luego usamos un bucle for. Y el bucle for que vamos a usar es que vamos a conseguir que los niños de esta carpeta en particular destete, vamos a conseguir todos esos. Entonces lo que vamos a hacer es que vamos a decir punto de control. Entonces i y Check Point. Y la razón por la que tengo dos cosas es porque si hago carpeta dos puntos, obtengo hijos, vamos a conseguir todas las instancias, que es este punto de control. Pero lo primero en realidad va a ser un valor int, o en este caso solo el índice. Así que consigue niños. Y entonces lo que queremos hacer es que queremos hacer esto. Queremos antes que nada, llamar a este número y esto es igual a una nueva instancia punto nuevo. Y vamos a llamar a este valor int. Voy a decir número punto nombre es igual a punto de control, número de punto de control, voy a decir número punto valor es igual a contar porque queremos establecer esto en uno al principio, quieren decir número punto padre es igual al punto de control. Y luego el final aquí, queremos decir contar más es igual a uno. Porque claro, con cada nuevo punto de control, queremos aumentar el conteo y eso es prácticamente todo lo que tenemos que hacer, ¿verdad? Así que vamos a jugar a esto y echar un vistazo a los puntos de control aquí. Ahora bien, ¿qué es importante tener en cuenta si realmente abrimos los puntos de control, verdad? Se puede ver que antes que nada, tenemos todos los puntos de control. De hecho, vamos a cambiar al servidor para que podamos movernos. Este puesto de control de aquí mismo. Se puede ver ahora es el valor uno, este punto de control como el en realidad se cambia la posición aquí, pero eso no es un problema porque todavía tiene valor también. A veces las posiciones cambias, pero no deberían cambiar. Solo deberían cambiar después de que se haya cargado el juego. Entonces esto es lo único que este guión puede fastidiar. Si cambian por alguna razón antes de todos estos gruñidos, entonces sí, entonces es posible que tengas problemas y luego solo puedes agregar esto manualmente también. Pero sí me gusta agregar esto con un guión personalmente, este modo, es una preferencia personal mía. No voy a mentir. Ahora tienen esto. Y lo que podríamos hacer, por ejemplo, solo por el bien de la discusión es que solo podemos decir, Oye, solo imprime mi, mi cosa. Así que en el script del módulo que hemos creado la última vez, solo vamos a hacer es que vamos a imprimir punto de ubicación de desove. Y esto debería tener una cosa que se llame número de punto de control. Por lo que nace ubicación punto punto punto número de punto, ese valor. Entonces, cada vez que el jugador toque ahora la ubicación de generación, deberíamos sacar el valor impreso. Así que vamos a ver, bien, así que deberíamos poder movernos por aquí, y entonces tal vez deberíamos movernos por aquí. Y si tocamos esto, puedes ver uno. Entonces va a imprimir uno. Bien, Interesante. Sigamos y veamos si llegamos al siguiente. Ahora tenemos dos. Y si seguimos por aquí, ahora tenemos tres. Y esto va a continuar hasta que básicamente, bueno, me he quedado sin puestos de control. Entonces si le pegamos a éste, tenemos cuatro, y si seguimos por aquí, entonces aquí tenemos cinco. Así que eso es realmente increíble. Así que ahora podemos obtener el valor o en cualquier etapa en la que nos encontremos. De hecho, podemos obtener eso a través del valor de aquí. Y vamos a hacer dos cosas. Lo primero que vamos a hacer es que vamos a hacer un poco de GUI. Entonces esta va a ser una GUI de inicio, y solo vamos a llamar a esto la GUI de pantalla. Vamos a agregar en una etiqueta de texto. Y sólo vamos a hacer esto un poco más grande, algo así. Entonces esto es solo por supuesto con fines de demostración, ¿verdad? Quiero decir, en realidad, probablemente quieras hacer esto un poco más bonito, pero más bonito. Siempre se puede cambiar eso. Esa es la gran cosa. La parte interesante de esto es la funcionalidad para mí en este momento. Entonces entonces sólo vamos a llamar a esto, quiero decir, tal vez algo así como cero, eso va a estar bien. Vamos a hacerlo así más grande. Entonces esto debería ser como tal vez algo así. A lo mejor llamarlo 69. Bonito. Sí, eso es bueno. Y entonces eso es prácticamente todo, ¿verdad? Y podemos cambiar esto en un momento. Entonces lo que vamos a hacer es volver a nuestro script de módulo y vamos a agregar algo nuevo. Y esa va a ser una función local que ni siquiera se llama desde fuera de ella. En realidad va a ser llamado por esta función aquí mismo. Esta va a ser la GUI add player. Y esa sólo va a ser la función. Vamos a necesitar un hit y un número, ¿de acuerdo? Entonces vamos a traer al jugador por aquí. Podemos levantar al jugador haciendo lo mismo que nosotros aquí. Entonces ahora tenemos al jugador en esta función. Entonces podemos decir jugador, jugador gy, Gy. Esta es nuestra GUI de pantalla en realidad. Así que queremos renombrar esto a GUI. Sí, bien, Así que este nombre tiene que cumplir con el mismo que este nombre punto número de punto de control. También vamos a renombrar eso. Entonces este es el número de punto de control. Entonces la etiqueta de texto, vamos a renombrar esto a punto de control número punto txt es igual a, y luego vamos a hacer esto igual a stage y luego más cualquiera que sean los números y que va a ser, y ese va a ser nuestro texto. Siempre hemos escrito su escenario y luego lo que sea que tengamos. Entonces, en realidad, cambiemos esto también. Entonces digamos que esto ahora está escenificado cero. Creo que eso tiene sentido, ¿verdad? Etapa cero. Ahí vas. Y cada vez, cada vez que queremos acertar a esto, queremos cambiar esto. Entonces, en lugar de imprimir esto, podemos literalmente simplemente decir agregar jugador en la GUI posterior pasando en el hit. Y luego el número, que es exactamente el valor del número Check Point de ubicación de generación . Y eso es todo lo que tenemos que hacer para agregar eso ya. Y eso es realmente increíble. Porque ahora si entramos aquí, se puede ver que estamos en la etapa cero. Ahora una vez más, como dije, esto no se ve muy bien. Por supuesto, puedes cambiar cómo se ve esto, ¿verdad? Nosotros, ya hemos hablado de GUI antes si seguimos y voy aquí, claro, espera un segundo. Yo hice un OOP, mira por aquí hice un plus por aquí. Esto, esto debería ser punto, punto. Ahí vas. Eso es en realidad lo que hay que hacer. A veces más bajo hace las cosas un poco diferente a otros lenguajes de programación, pero eso está totalmente bien. Y luego ahí vas. Y ahora llegamos a la etapa uno y podemos continuar por aquí. Y encontrarás la etapa dos y la tercera y así sucesivamente y así sucesivamente. Absolutamente impresionante. Entonces ahora tienes una exhibición en el gy, pero eso no es todo lo que queremos. Por supuesto, también queremos una tabla de clasificación para comparar nuestras propias estadísticas con estadísticas de otros jugadores. Ahora para las estadísticas del líder, bien, casi podemos copiar el mismo guión que hemos hecho anteriormente. Entonces en los servidores de script del servidor, solo queríamos crear un nuevo script y vamos a llamar a esto las estadísticas líderes, estadísticas de litros. Ahí vas. Y en realidad voy a copiar sobre los guiones anteriores. Entonces este es el guión de la Parte 16 de los fundamentos básicos de Roblox base donde agregamos la postura de líder. Ahora bien, no queremos un valor experimentado y desde luego no queremos un valor de oro. Pero lo que sí queremos es que sí queremos un valor int aquí. Entonces vamos a renombrar esto a, llamemos a esta etapa, y ese es el valor cero, Eso está bien. Y entonces eso es literalmente, el derecho, eso es todo lo que tenemos que hacer aquí. Ahora claro que todavía tenemos que cambiar esto, pero está bien, podemos hacerlo. Entonces en el script de checkpoint aquí mismo, cuando agregamos la interfaz de usuario de los jugadores, lo que podemos hacer es que podamos hacer un nuevo método y podemos simplemente llamar a este cambio estadísticas posteriores, ¿verdad? Haciéndolo como una nueva función una vez más con el calor y el número. Y luego ahí vas. Y lo que entonces podemos hacer es que luego podamos volver a conseguir al jugador, porque siempre vamos a necesitar al jugador. ¿Y qué podemos hacer ahora? Bueno ahora podemos en teoría, solo entrar dentro de nuestra recolección de goles que hemos hecho una vez más en las cosas anteriores. Y podemos tomar partes de eso. Para que podamos, antes que nada, obtener las estadísticas del líder ¿verdad? Entonces litros es igual a los conjuntos de líder de puntos del jugador porque ese siempre va a ser el mismo nombre. Entonces podemos decir escenario local. Etapa es igual a litros y litros estadísticas colon, encontrar primer hijo. Voy a llamar a esto el escenario porque así es como lo llamamos aquí, ¿verdad? Este es el mismo nombre que éste, etapa. Y entonces si el escenario está realmente presente, oh, no, son etapas presentes. Entonces lo que vamos a hacer es que el valor de punto de etapa es entonces igual al número que estamos obteniendo de la llamada a la función de estadísticas del líder de cambio. Y podemos simplemente llamarlo con purpurina aquí mismo. Y podemos llamar cambiar las estadísticas del líder pasando en el hit. Y luego lo mismo aquí, ubicación de generación, ese número de punto de control, ese valor, y eso es todo. Eso es literalmente todo lo que necesitamos hacer. Y ahora también tenemos una tabla de clasificación personalizada. Entonces, si volviéramos a ejecutar esto, lo que van a encontrar es eso así que ahora tenemos los conjuntos de líderes por aquí. Así que no sólo puedo ver mi etapa actual, sino que todos en la instancia también pudieron ver mi etapa. Y se puede ver que ambos se actualizaron prácticamente al mismo tiempo. Y podemos continuar con este número dos, y así sucesivamente y así sucesivamente. Absolutamente impresionante. Entonces este es más o menos un Abi casi funcional en este punto. Ahora solo se trata de agregar más y más etapas y más y más cosas. Y se puede ver como cada parte individual parece muy pequeña y algo así como una cosa de contener. Pero ahora puedes ver ojalá que si combinas ciertas cosas, puedas crear realmente, realmente genial. Bueno, básicamente los efectos del juego son sobre eso. ¿Es para esta conferencia aquí mismo? Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 39. (Roblox) agrega escaleras de desaparición al Obby: O continuemos con el RB aquí, sigamos curso de robótica y en esta conferencia vamos a estar haciendo desaparecer nuestras escaleras. Sí. Por lo que antes mencioné que cuando subes por las escaleras, tal vez lo que debería pasar es que cada escalera individual en realidad desaparece cuando el jugador la toca. Ahora hay un par de formas en las que podemos hacer esto. Sólo vamos a agregar un guión a nuestra parte. Y luego vamos a agregar esos guiones en particular a todas nuestras diferentes partes de la mirada. Básicamente, para esto, sólo vamos a más por aquí en un guión y vamos a nombrar a este guión las escaleras que desaparecen. Ahora ese guión, antes que nada, por supuesto tendrá la parte en sí y eso es solo script dot parent debería ser bastante autoexplicativo, ¿verdad? Vamos a llevar al padre del guión. Y entonces también queríamos hacer una desaparición local igual a falso. Esto es un booleano. Esto solo va a asegurar que nuestro evento Tocado que vamos a implementar en solo un momento no va a ser llamado varias veces por segundo básicamente. Ahora queremos usar algo que no hemos usado antes, y ese es el servicio de tween. Entonces este es en realidad un muy buen momento en el que básicamente podemos probar esto. Y la idea del servicio Tween es simplemente pasar sin problemas de un valor de una determinada cosa a otra. Entonces básicamente estamos cambiando una propiedad en particular. En nuestro caso, vamos a cambiar la transparencia de cero todo el camino a uno. Y luego una vez hecho eso, vamos a cambiarlo de nuevo a uno, 1-0. Entonces, ¿cómo va a quedar esto si solo juego el juego por un momento y vamos a cambiar al servidor de aquí Seleccionaremos esta parte. Y entonces la idea sería que la transparencia, derecha se mueva de cero todo el camino a uno de una manera suave. Y luego una vez que sea uno, vamos a esperar 6 s y luego va a volver a cero. Ahora bien, esto se puede hacer como hemos visto anteriormente con un for-loop y un poco de una llamada de función de peso pequeño, y luego solo lo cambias por, no sé, 0.1 o 0.01 o mucho que quieras cambiarlo, eso sí funciona. Sin embargo, no es la forma óptima. La forma óptima sería usar el servicio de interpolación de aquí. Y la forma en que esto funciona es que tienes una variable de servicio gemelo. Esto es igual a juego colon obtener servicio. Y dentro de aquí, necesitamos especificar los servidores. Ahora puedes ver que hay muchos servicios. Realmente no hemos hablado en detalle sobre esto, y sólo vamos a echar un vistazo a algunos servicios. Pero ahora quiero usar entre superficie por aquí. Esto es entre servicio y luego también queremos una inflamación. Entonces esta es información de pretexto. Esto es en realidad bastante sencillo. Yo también voy a explicar esto. Entonces esto va a estar entre info. Sólo hagámoslo. Llámalo así. Voy a llamarlo con una t pequeña, no una grande porque de lo contrario vamos a usar la clase de aquí. Queremos hacer de esto una t minúscula y esta vez va a haber información de interdependencia entre info con un punto T en mayúscula nu. Y entonces aquí podemos especificar la hora. Entonces el tiempo es justo cuánto tiempo va a tomar obtener del valor que actualmente estás agregando que las propiedades Kronecker al valor que quieres alcanzar. Solo vamos a decir 1 s. y luego el estilo de flexibilización, podemos decir que este va a ser el estilo enum dot easing como puedes ver, y luego punto y luego puedes ver que hay un montón de diferentes. Así que lineal es lo más fácil de entender. Es solo una gráfica dibujada linealmente, ¿verdad? Entonces de un punto a otro, entonces también hay un equilibrado, básicamente rebota un poco atrás. Esto realmente no aplica en nuestro caso porque si bien no se puede ir por encima de uno o cero en transparencia. Y luego hay otras cosas, ¿verdad? Así se puede ver que hay cúbico. Entonces básicamente comienza a una menor velocidad y calidad. Se puede ver que esto está determinado por una interpolación cuadrática. Entonces, hay un montón de formas en las que básicamente puedes facilitar esto dentro y fuera. Lo que te recomiendo aquí es que solo puedas probar un montón de estos y ver qué hacen. Una vez más, en este ejemplo específico, realidad no es la mejor manera de echarle un vistazo. Tweening la transparencia aquí en realidad no va a hacer esa locura, pero cualquier otra cosa podría ser interesante de hecho. Entonces solo vamos a elegir lineal por el momento. No hace falta que esto sea demasiado complicado. Como dije, solo puedes probar un montón de ellos y ver qué hacen. Y ahora en realidad queremos hacer una nueva interpolación, ¿verdad? Entonces sólo vamos a llamar a esta parte. Esto va a encender la parte y hacer que la transparencia pase de cualquiera que sean los valores reales a cero. El significado de transparencia cero solo significa que es completamente sólido. Y podemos ver que esto se va a hacer haciendo servicio de interpolación. Entonces nuestra variable de aquí, dos puntos crear, entonces queremos decir qué instancia. Entonces, ¿qué parte real se va a capacitar y la parte va a ser parte debería tener sentido, verdad? Entonces queremos cambiar la parte. Ahora. Queremos proporcionarlo entre info. Ahora ya hicimos esto, eso es perfecto. Y entonces queremos hacer una mesa por aquí. Entonces la mesa, por supuesto, sólo va a estar entre corchetes. Y dentro de aquí, queremos decir entre qué vamos a cambiar. Queremos cambiar la transparencia, asegurándonos de que escribimos esto correctamente, ¿verdad? Entonces transparencia y dos, ¿ qué queremos cambiar esto? Queremos cambiar esto a cero en este caso. Así que asegurándose de que el, esta palabra aquí mismo es exactamente el mismo que el nombre dentro de las propiedades, ¿verdad? Entonces éste tiene que coincidir exactamente con éste. Entonces, por favor, preste atención a eso. Si hay hasta el pequeño cibernético así, no funcionará. Si te aseguras de que eso esté bien, entonces solo podemos copiar esta línea. Así que solo selecciona esta prensa Control C y Control V para volver a pegarlo. Y vamos a llamar a la otra parte por aquí. Y en este caso queremos que la transparencia sea una. Entonces, si jugamos parte en lo que va a suceder es que va a dentro de 1 s, cambiar la transparencia. Aparte de cualquiera que sea el valor real, cero. Y si jugamos parte del valor de la transparencia se va a cambiar a uno de cualquier valor de transparencia que tenga en este momento. Entonces vamos a decir parte punto tocado. Entonces usaremos el evento Tocado. Vamos a conectar esto con una función. Por supuesto, queremos saber a qué dirigió y lo que solo vamos a hacer es que solo vamos a entrar en nuestro confiable servicio de script de servidor antiguo y en realidad solo vamos a tomar la, esta de aquí, la declaración if porque eso básicamente verifica si un jugador ha golpeado o un personaje ha golpeado en esta parte en particular. Y también agregaremos otra cosa y eso está desapareciendo. Pero queremos decir que no desaparece, ¿verdad? Entonces la idea es que esto se va a poner en realidad de inmediato, ¿verdad? Entonces vamos a establecer esto en verdad de inmediato porque básicamente no queremos llamar a esto si ya estamos teniendo el servicio Twin en marcha. Ahora puedes hacer esto de muchas maneras diferentes. También puede verificar si una preadolescencia está funcionando. Creo que el booleano aquí está totalmente bien. La idea entonces es que vamos a esperar, digamos un cuarto de segundo. Y luego vamos a decir parte del juego de colon. Y esto ahora jugará el entre servicio haciendo la transparencia de lo que sea de la parte a uno. Y eso realmente funcionará de inmediato. Entonces, si entramos aquí y vamos a las partes, así que vamos a echar un vistazo a qué socios es esta, esta parte. Bien, tomemos nuestro almacenado otra vez. Simplemente dupliquemos esto y lo pongamos por aquí solo para que tengamos un poco más fácil el tiempo para llegar allí, deshabilitamos la parte inicial, y luego deberíamos poder desovar inmediatamente al lado de las escaleras. Entonces pequeños al lado de las escaleras. Y si toqué las escaleras, lo que encontrarás es que ahí se va. Ahora eso es realmente genial. Ahora el ahí vas. Por lo que todavía tiene colisión. Entonces como pueden ver, estoy prácticamente de pie o nada porque, bueno, solo cambiamos la transparencia. Pero sí cambiamos la transparencia, que ya es realmente impresionante. Entonces viste que en cuanto tocamos las escaleras, a la derecha, arrancó la tripa de servicio de The Twin. Entonces esta de aquí, esa parte y cambió la transparencia 0-1 de manera lineal dentro de 1 s. Ahora, ¿qué vamos a hacer para, cómo vamos a hacer que esto desaparezca? Quizás podamos decir aquí dentro, bueno parte eso puede chocar y luego podríamos simplemente decir falso. Eso no es del todo correcto. Porque si hacemos esto, entonces en cuanto empecemos a jugar, la cosa en realidad va a, Bueno, vamos a caer a través cuando dentro de un cuarto de segundo, lo que podría ser un poco demasiado rápido. Así que podemos simplemente, echemos un vistazo a esto y veamos qué hace esto en realidad. Entonces, si entramos aquí y tratamos de ir con cuidado a esta parte, se puede ver que ahora ya es como si no tuviera más colisión. Entonces esa ha sido una muy, muy rápida. Entonces yo diría que probablemente esta no sea la forma óptima de hacerlo. Lo que quieres hacer es decir, oye, si el prejoven de aquí está hecho, ¿verdad? Entonces una vez hecho esto, entonces queremos apagar la parte. Así que básicamente cuando la parte se ha ido por completo y lo que podríamos hacer es simplemente decir parte fuera. Entonces esta es la interpolación que hemos creado, punto completarla. Básicamente se puede ver el evento completado incendios de una prejoven cuando el gemelo termina de tocar. Entonces esto es exactamente lo que queremos, ¿verdad? Y queremos conectar esto a una nueva función aquí. Ahora podemos conseguir el estado también. Realmente no necesitamos al Estado en este caso porque vamos a estar bien. Y entonces solo podemos decir, en este caso, parte puede colisionar igual a falso. Entonces eso va a estar bien. Entonces vamos a esperar otro, digamos 0.25 s. Entonces vamos a decir parte en el juego de colon cuando dicen que desaparecer es igual a falso. Y entonces podemos decir que parte puede chocar verdad aquí mismo. Ahora en realidad no pondría el verdadero cálculo dentro de aquí porque entonces ocurre el mismo problema que teníamos antes. Donde en cuanto esto se haga visible, puede chocar con él de nuevo. Ahora eso podría ser algo que quieras. Podría haber el caso, ¿verdad? Entonces, si quieres que choque de inmediato al Hubble, después de que apenas puedas ver la parte, entonces puedes hacer esto. O si querías solo coleccionable una vez que la parte está completamente ahí, entonces puedes decir puerto en colon completado función de conexión de colon una vez más con un estado por aquí. Y entonces una vez hecho eso, se puede decir que el acaparamiento puede chocar. La lógica aquí debería ser bastante sólida, ¿verdad? Solo tenemos un servicio o una preadolescencia, ¿verdad? En este caso, que cambiará un valor de uno a otro, ha alcanzado su valor objetivo. Se llama al evento completado, y solo estamos conectando otra función a él. Eso es literalmente todo lo que estamos haciendo aquí. Así que en realidad es una cosa realmente, realmente genial e increíble que podemos hacer. Y si tenemos esto ahora, lo que podemos hacer es entrar aquí y podemos ver si toqué la primera escalera de aquí. Puedes verlo ahora me caí y volvamos a entrar ahí. Toquemos la primera serie y después continuamos subiendo. Así que vamos a ir. Ahí vas. Y ahora puedes ver que rebota hacia atrás y ahí está otra vez y puedo pararme sobre él otra vez y luego puedo seguir de nuevo. Entonces eso es realmente genial. Ahora tenemos este guión de escaleras que desaparecen en una sobre escaleras. ¿Cómo podemos agregarlo a todas nuestras escaleras? No sé si hay una manera fácil de hacerlo. Yo sólo he estado básicamente duplicando todos ellos. Entonces básicamente solo seleccionando uno de ellos, comparación Control D, y luego simplemente, bueno básicamente moviéndolos a las otras partes. Ahora bien, si hay una manera más fácil de hacer esto, entonces me complace iluminarme. Todavía no he encontrado de una manera más fácil duplicar piezas y configurarlas a diferentes padres fácilmente. Pero míranos, ya terminamos básicamente. Entonces no tardó tanto. Entonces eso debería estar bastante bien. Y luego vamos a cerrar los puertos si quieres probar esto en el futuro, también puedes hacer un script de módulo con este cambio en aproximadamente y usarlo en su lugar y luego hacer que los puertos solo se conecten al script del módulo que por supuesto es factible. Pero en nuestro caso, creo que esto va a estar bien. Y vamos a ver cómo va a quedar esto, porque esto en realidad va a quedar realmente, realmente jodidamente increíble. Entonces si ahora subimos las escaleras y se puede ver ahí ahora todo desapareciendo y apareciendo de nuevo. Eso es absolutamente increíble. Y la otra manera también funciona. Eso es genial. Ahora, una vez más, una vez más, las escaleras podrían no ser la mejor manera en cuanto a modelar, ¿verdad? A lo mejor las escaleras podrían ser un poco más grandes, un poco más anchas, cosas así. Siempre puedes cambiarlo porque ahora la funcionalidad está ahí dentro. ¿Verdad? Ahora tienes una de las partes con el guión. Y si quieres rehacer las escaleras, absolutamente nada de palabras. Puedes eliminar todas las demás escaleras. Se puede cambiar el modelado, cómo funciona. Y ahí tienes. Una última cosa, ya lo he mostrado antes, pero el servicio de tween por aquí, definitivamente te recomiendo que eches un vistazo a esto porque es una parte muy importante de hacer muchas cosas en los controles de carretera que simplemente se ven geniales básicamente. Y también lo usaremos en la próxima conferencia también. Por lo que recomiendo encarecidamente echar un vistazo a la documentación de aquí. También puedes hacer esto simplemente yendo a la superficie entre aquí, creo, y luego exhibirlo. Simplemente podría ser algo muy interesante echar un vistazo independientemente. Entonces eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 40. (Roblox) agrega piezas móviles al Obby: Vamos a continuar con el RB aquí, seguir curso de robótica y en esta conferencia, vamos a empezar a mover nuestros ladrillos muertos, ¿verdad? Así que me he burlado y hablado del movimiento de los ladrillos matadores desde hace un tiempo. Y la idea es que lo que queremos hacer es que queramos hacer un guión que cambie la rotación de los ladrillos de matar, algo así, ¿verdad? Y ya hemos visto previamente en la conferencia anterior, hemos visto el servicio de tweening para las escaleras, ¿verdad? Así que eso hizo que la transparencia de las escaleras saliera 0-1 o 1-0. Y ahora queremos hacer lo mismo por nuestros ladrillos muertos de aquí, solo con la rotación. Entonces para esto en los ladrillos de matar, bien, solo podemos dejar el guión de matar. Básicamente podemos mantener eso ahí. Y lo que queremos hacer es que solo queríamos agregar otro guión y ese va a ser nuestro guión rotativo por aquí. Eso es perfecto. Y ahora esto va a conseguir el número uno, una parte, ¿verdad? Esta va a ser nuestra parte, script dot parent. Y luego nos vamos a meter entre servicio otra vez. Así que esto es entre servicio igual a, hemos visto este juego anteriormente dos puntos obtener servicio y luego poner en la cadena de servicio de Tween por aquí. Ahora también queremos información. Entonces esto podría ser algo así como la información giratoria, la información giratoria. Ahí vas. Y eso va a ser igual a tween y pie son nuevos. Y entonces aquí queremos el tiempo otra vez. Entonces, digamos uno por el momento. Enum, ese estilo de flexibilización, ese lineal por el momento también. Te recomiendo encarecidamente aquí, definitivamente puedes echar un vistazo a diferentes estilos de flexibilización y lo haremos en un momento. Una vez que todo está funcionando, entonces la pregunta es, bien, ¿cómo podemos girar esto? Ahora esto es un poco más complicado que lo que has visto anteriormente, porque hay un poco más de matemáticas involucradas. Pero digamos que vamos a girar esto, ¿verdad? Así que esta no va a ser nuestra preadolescencia. Entonces va a haber tween service colon create. Y esto, por supuesto, el trabajo de la parte debería ser, lo cual debería tener sentido. Vamos a agregar la información giratoria. Y luego aquí queremos agregar lo que está cambiando en como una tabla. Ahora lo que va a cambiar para el ladrillo de matar va a ser el marco C, ¿verdad? Y lo que va a estar cambiando para el cuadro C es específicamente la orientación. Ahora, ¿cómo puedo cambiar la orientación del marco C con esto? Bueno, antes que nada, sólo vamos a decir C frame. Y entonces va a ser igual a los fotogramas C reales. Ese va a ser el marco de la Parte C. Así que lo estamos configurando en el mismo puerto y luego lo estamos multiplicando por ángulos de punto de marco C. Y la idea aquí es que esto sea igual a desde ángulos de Euler XYZ. Entonces Angles básicamente te devuelve un nuevo cuadro C a partir de números radiantes. Entonces esto podría ser un poco, oh, esto es una locura. En general. Las rotaciones en el espacio 3D son en realidad bastante complicadas. Se podría decir, bueno, quiero decir, es como tres números por aquí. Bueno, no es tan fácil. Tres números en realidad no pueden ser suficientes para hacer orientación y rotación. Por eso a veces cuando cambias esos números, hacen cosas raras, ¿verdad? Entonces tal vez has cambiado este select -90 y de repente, este cambio a -90, como el valor y, en realidad cambia esto a 70 y estás como, bueno, ¿cómo sucedió esto? Bueno, en general, lo que queremos hacer aquí en los ángulos es que queremos decir radianes de punto matemáticos. Entonces queremos poner el radiante aquí, 45. Y entonces queremos decir cerrando paréntesis cero coma cero. Yo sólo voy a alejar el zoom por aquí y se puede ver el fotograma C. El valor real debe ser el valor actual multiplicado por cualquiera que sea el ángulo del radián matemático 45s. ¿Qué significa eso? Bueno, vamos a ver esto en un momento. Lo que solo vamos a hacer es que vamos a decir “spin colon play”. Y eso es todo lo que vamos a hacer ahora mismo. Así que vamos a mantenerlo así, ¿verdad? Así que solo vamos a decir, oye, solo da vueltas y luego ya veremos, tomaremos nuestro inicio por aquí y solo vamos a moverlo por aquí. Deberíamos poder ver a nuestro primer muro de ladrillos matar hacer algo. Y vas a ver lo que hace, ¿verdad? Así que vamos a hacer aquí y se puede ver que en realidad gira, pero gira alrededor del eje equivocado o ha girado alrededor de su propio eje. Entonces, para girarlo realmente alrededor de este eje, que en este caso en realidad no es correcto. Entonces queremos cambiar las matemáticas por ahí. Así que en realidad queríamos rotar alrededor del eje azul, que en realidad es z. Así que queremos cambiar estos dos aquí mismo, eso no tiene ninguna preocupación en absoluto. Entonces básicamente puedes echarle un vistazo, justo si estás como, espera, ¿cómo sabes que queremos rotar alrededor de este eje? De repente, se puede ver que si cambio el azul por aquí, bien, eso nos va a llevar al resultado deseado. Y el azul por aquí en la parte superior derecha es z. Eso significa que tenemos que cambiar el último porque esto va x, y, z. Ojalá eso sea algo comprensible. Entonces ahora que cambiamos esto, bien y entramos aquí, ahora deberíamos poder ver esto girar lentamente alrededor y ahí vas. Así que en realidad ni siquiera nos dimos cuenta de eso, pero lo escribió alrededor en esta dirección. Y si vamos al servidor y seleccionamos esto, realmente podemos ver en la orientación que esto cambia el valor aquí, 245. Así que eso es, literalmente, casi todo esto hace, ¿verdad? Entonces básicamente solo dice, Oye, queremos cambiar esta cosa en particular a 45. Y si tuviéramos que ir a cinco por ejemplo 5 s, entonces va a tomar un poco más de tiempo y entonces en realidad podremos verlo moverse también. Para que lo veas ahora se mueve. Y ahora hemos alcanzado el ángulo de 45 grados, y eso es todo lo que hace. Entonces la idea aquí es que literalmente solo cambia el ángulo a lo que sea que pongas aquí. La mayoría de estas cosas son una especie de cálculo. Ahora, es interesante echarle un vistazo. Y si estás realmente interesado en eso, recomiendo encarecidamente que consultes las referencias de la API del marco C. Lo hacen, son bastante importantes, son bastante interesantes. Sin embargo, es mucha matemática involucrada. Eso es lo que puedes tener en mente. Entonces ahora va a rotar 0-45. Y ¿y si ahora queremos que vuelva a girar de nuevo? Bueno, no te preocupes en absoluto. Sólo vamos a hacer una segunda vuelta. Así que sólo vamos a decir que esto es girar una vuelta a ella, eso va a estar bien. Y éste va a -45. Entonces primero vamos a 45 y luego vamos a volver a -45. Entonces ahora spin uno debería jugar, y ahora esto es lo del genio absoluto. Ahora lo que queremos hacer es una vez que esté hecho, queremos decir terminado. Por lo que una vez más utilizamos el evento terminado. Queremos conectar una nueva función y sólo vamos a decir función. Y en la misma línea sólo vamos a decir giro a juego de colon, y luego sólo vamos a terminarlo en la misma línea. Espaciar a eso no es del todo el giro correcto también. Ahí tienes, Correcto. Ahora, aún más locos, sólo vamos a copiar esto también. Voy a decir uno, la vuelta dos está terminada, ya sólo vamos a colocar la vuelta una. Esto ahora hará que pase de cuatro, 0-45 a -45 y de ida y vuelta para siempre. Si solo jugamos esto, lo podrás ver. En primer lugar, va a 45 y una vez que llegó a ese bam, vuelve atrás y ahora va a -45, negativo 45. Y una vez que llega a eso, vuelve de nuevo a 45. Absolutamente espectacular. Y me encanta esto y están aquí, o entra, es el estilo de flexibilización diferente. Entonces, quizá cambiemos el tiempo de aquí a tres. Y ahora aquí, si conseguimos algo así como uno exponencial, ¿verdad? Por lo que esto reduce la resistencia muy rápidamente ya que entre se acerca a un objetivo. Eso podría ser interesante. Entonces echemos un vistazo a éste. Esto va a parecer una locura, ¿verdad? Entonces, si echamos un vistazo a esto, de repente, se ve completamente diferente. Sin embargo, este también es un efecto realmente genial como puedes ver. Y a eso me refiero. Estar abierto a la experimentación en cosas como el estilo de flexibilización, porque eso realmente se ve genial y puede agregar algo de imprevisibilidad a tus elementos de dos años básicamente, ¿verdad? Entonces podemos hacer esto. También podemos decir tal vez queremos decir ver una onda sinusoidal. Seguro, ¿por qué no? Echemos un vistazo al letrero. ¿Cómo va a quedar eso? Bueno, vamos a ver, bien. Entonces esto se va a quedar bastante así. Entonces es diferente. Una vez más, no es lineal. Es una onda sinusoidal, ¿verdad? Entonces se ralentiza, se acelera un poco. También podemos echarle un vistazo a otro que sea un poco interesante. Es el, ¿es la parte de atrás? Sí, este que en realidad también es bastante genial porque en realidad se sobrepasa un poco. Entonces vamos a ver que va un poco más allá de 45 grados en realidad. Y luego como que rebotó como se puede ver. Así que se rebasa un poco y luego vuelve y luego sigue regresando. Es realmente increíble. No puedo enfatizar esto lo suficiente. Solo juega un poco con el estilo de flexibilización por aquí y te sorprenderá lo que puedes hacer. Ahora que ya tenemos hecho el guión rotativo. Bueno, básicamente podemos echar un vistazo a todos nuestros ladrillos muertos por aquí. Solo asegurémonos de que tenemos todos los correctos. Entonces son todos los que están por encima de él. Bien, y luego solo vamos a tomar el guión rotativo y solo vamos a agregarlo a todos ellos. Ahí vas. Notación de guión, escritura giratoria, escritura giratoria N. El uno más en realidad, y necesitamos uno más. Ahí vas. Ahí vas. Otra oportunidad. Todos van a rotar. Ahora. Ahora para ser justos, todos van a rotar a la misma velocidad y bueno, básicamente al unísono. Ahora lo que puedes hacer es cambiar la rotación original de algunas de ellas, ¿verdad? Para que la rotación vaya a estar desincronizada o eso sí funcione. Entonces podemos hacer con alguien así. Y entonces tal vez vamos a cambiar a este tipo por algo así. Y voy a continuar por aquí. A lo mejor este tipo tiene una cosa absolutamente demente. A lo mejor este tipo en realidad está parado encima y entonces este tipo está como ya a los 45. Entonces veamos qué hace todo esto cuando todos ellos se mueven ambos simultáneamente, ¿verdad? Entonces echemos un vistazo a esto. Y se puede ver ahora todos moviéndose, sin embargo todos se están moviendo al mismo tiempo. Se ve muy genial, ¿verdad? Te voy a dar que ellos, ellos, se ven bastante cool y ya ves es que lo que son 45 grados realmente cambia para cada uno de ellos, ¿verdad? Porque el marco C es, en este caso, una especie de derechos locales. Así que básicamente lo estamos cambiando a 45 grados. Pero lo que 45 grados son los cambios, lo que en realidad sí tiene un efecto muy, muy genial. Ahora hay una cosa diminuta que sí quiero agregar y que va a ser la siguiente. Así que vamos a abrir la Escritura giratoria superior para que tengamos la correcta. Y sólo vamos a hacer esto un tiempo local de premamá por aquí. Esto va a ser, digamos, igual a uno y solo vamos a cambiarlo aquí mismo para que podamos cambiar el tiempo de pretensión para que cada uno de nuestros ladrillos muertos estén rotando ladrillos de matanza por aquí. Y la idea aquí es que en realidad vamos a hacer esto a través de unos nuevos valores int. Así que sólo vamos a agregar un valor int aquí mismo al ladrillo de matar. Y este va a ser el tiempo de las gemelas, ¿verdad? Entonces vamos a decir punto de puerto, tiempo gemelo, valor de punto. Ahí vas. Y ahora tenemos el tiempo de aquí. Entonces llamemos a esto dos. Y entonces podemos hacer es que simplemente podemos eliminar los viejos scripts rotativos. Entonces esta es una vez más, una de esas cosas donde tal vez un script de módulo sería un poco bueno, pero no es absolutamente necesario. Y voy a duplicar esto y agregarlo a todos nuestros ladrillos rotativos muertos. Y luego también hay un punto en posiblemente cambiarles el nombre a los ladrillos de matanza giratorios solo para que sepamos cuáles son esos, ¿verdad? Entonces esos van a ser los rotativos o digamos que los ladrillos muertos antidisturbios, eso va a estar bien. Eso ojalá sea suficiente para que seamos como, bien, esos van a ser los rotativos. Ahí vas. Ese también es uno. Y luego éste también. Y ahí vamos. Y ahora en realidad podemos cambiar esto. Entonces digamos que queremos cambiar esto a seis y queremos cambiar esto a uno, y queremos cambiar esto a tres. Y esto también debería ser tres, digamos. Ahora todos van a estar completamente desincronizados porque algunos de ellos van a ser más rápidos, algunos de ellos van a ser más lentos. Y aquí, también puedes por supuesto cambiar los estilos de flexibilización y ver ahora hay todo tipo de simplemente haciendo lo suyo. Básicamente. Ni siquiera les importa. Y va a ser mucho más interesante saltar alrededor de esto, quiero decir, este va a ser interesante. Ahí tienes, pero yo lo hice. Es simplemente increíble, ¿verdad? Entonces puedes hacer tantas cosas ahora mismo, cambiando la celda de flexibilización de algunas de ellas, puedes en teoría, también cambiarías la celda de flexibilización en algún momento durante el mientras esto sucede, cambias entre el tiempo. Hay un montón de cosas que podrías hacer. Esas ideas. Espero que básicamente te haya inspirado a jugar con esto porque eso es lo más importante. Porque el mayor aprendizaje que vas a hacer si estás como, espera, ¿cómo puedo hacer esto o esto o esto o esto? Y si, Normalmente puedes hacerlo. Solo equivale a probarlo y ver lo que puedes hacer. Pero ese es básicamente el movimiento para nuestros ladrillos muertos por aquí. Y eso resume bastante lo general que quería hacer con el RB. Vamos a tener una conferencia más donde hablé de algunas cosas que tal vez puedas agregar. Pero independientemente de eso, por el momento, esto va a ser para esta conferencia aquí mismo. Seré honesto, útil y aprenderás algo nuevo. Y los veo a todos en la próxima conferencia. Entonces, sí. 41. (Roblox) Ideas adicionales para el Obby: Bien, bienvenidos de nuevo al RB aquí para el curso de caja de fila. Y en esta conferencia, solo quiero hablar en breve sobre algunas cosas que tal vez puedas agregar en tu OB cuando continúes desarrollándolo. Entonces claro, en nuestro ejemplo de aquí, sólo tenemos cinco etapas y se está jugando mientras se puede jugar muy, muy rápido, ¿verdad? Pero la idea del ejército era ser una ilustración de lo que eres capaz de hacer. Ciertas cosas sobre las que podrías expandir serían algo así como tal vez tomar la raíz cuadrada del agujero en el medio, ¿verdad? Tal vez haciéndolos un poco más grandes. Y entonces puedes ponerlos así, bien. los puedas poner para que te den un cigarrillo, un pasillo. El corredor se mueve con un servicio de Tween. Así que eso podría verse muy, muy genial, ¿verdad? Y tal vez incluso podría ser una cosa arcoíris. A lo mejor no sería una etapa difícil, pero no siempre se trata de tener dificultades en el estatus. También se trata de simplemente tener etapas divertidas y que se vean geniales, ¿verdad? Porque honestamente, ya sabes, la búsqueda de un RB es como, yo diría, en algún lugar entre como un 30 a 60% de lo que Lo genial de esto es, ¿verdad? Y si tiene muchas etapas, solo sigues yendo y sumando diferentes etapas que siguen siendo similares. Entonces puedes agregar más formas en teoría, podrías agregar las formas y hacer que se inclinen de una manera diferente. Lo escribí de una manera diferente. Se pueden agregar más escaleras, ¿verdad? Se pueden agregar escaleras que tal vez se separen de derecha a izquierda o algo así. Se pueden añadir ciertas partes donde hay que elegir derecha o izquierda, derecha, tan similar a ésta, pero en realidad una de ellas es en realidad calcular sus faltas. Entonces vas a caer por ésta, cosas así. Hay muchas maneras en las que puedes hacer esto y hacer esto realmente increíble. Y solo quiero que experimentes si realmente estás interesado en continuar con esto, realidad creo que si solo experimentas con alguna idea que puedas tener, también puedes por supuesto, mirar otras Abby, ver lo que tienen y luego tal vez como, Bien, ¿cómo puedo implementar esto? Esa es una excelente manera de seguir aprendiendo más y más roadblocks scripting. Aparte de eso, hemos terminado con esto. Ahora en realidad volveremos con este RB en particular porque en el resto del curso, realidad vamos a entrar en algunos temas más intermedios. Y la mayoría de ellos, básicamente quiero mostrarte dentro de este RB en este caso. Y con suerte eso te va a ayudar a hacer tu propio juego personalizado de Roblox también. También hay algunas ideas de futuras adiciones, cómo podemos mejorar esto, cómo puedes seguir mejorando tu afición en este caso. Y a lo que me refiero, eso sería para esta conferencia en esta sección del curso. Espero que esto te haya resultado útil. Y si lo hicieras hasta ahora, realmente agradecería una reseña tuya. De lo contrario, los veo en la próxima conferencia. Entonces, sí. 42. (Roblox) Publicación de tu juego: Bien, bienvenido de nuevo para los temas intermedios aquí sigue el curso de Roblox y en esta breve conferencia, te mostraré cómo puedes publicar tu RB o cualquier juego realmente al propio Roblox. Entonces para hacer esto, solo queremos ir a Archivo y luego verás que tienes un publicado para Roblox por aquí. Ahora vamos a elegir el publicado a Roblox ya que esto básicamente abrirá una nueva ventana por aquí. Ahora estas son algunas de las cosas que ya han publicado. No todos son privados en este caso, pero puedo ir a crear un juego nuevo, y esto básicamente creará un juego completamente nuevo. Ahora sólo vamos a llamar a esto nuestro ejemplo, OBE por ejemplo alguien así, nada demasiado loco. Yo soy el autor aquí. Incluso se puede cambiar el género en este caso. Ahora, puedes quedártelo en absoluto. O se puede decir, esto es un, una especie de temática medieval o B, algo así. Está bien. Sólo vamos a guardarlo en absoluto. Ahora, generalmente los dispositivos, solo hemos probado realmente esto para la computadora. Entonces, si quieres estar absolutamente guardado, puedes apagar el teléfono y la tableta porque, bueno, definitivamente sabemos que va a funcionar en la computadora. Sin embargo, también puedes mantenerlos puestos, pero asegúrate de probar tu juego también si funcionan correctamente en el teléfono y en la parte superior, si así lo eliges, puedes agregar una descripción por aquí. De lo contrario, solo puedes presionar Crear y esto ahora cargará el RBA en barricada. Así se puede ver que en realidad ya estamos cargando nuestro lugar. Solo ten paciencia para esto. Y luego ahí vas. Ahora tenemos el archivo por aquí con un poco de nube, y eso significa que ahora estamos en el servidor. Así que ahora solo navega para crear que los bloqueos de carreteras son creaciones com slash. Y solo voy a recargar esto y encontrarás nuestro ejemplo, aunque justo justo aquí abajo, como una nueva experiencia que se creó. Eso es genial. Y se puede ver que esto no es lo que pasa. Si voy a editar en Studio, realidad va a abrir Roblox Studio para nosotros. Entonces esto en realidad abriría una nueva ventana. Entonces ahora mismo puedes ver que Roblox Studio vuelve a abrir. Ahora en nuestro caso, en realidad tenemos esto ya abierto. Entonces va a ser como, oh Dios mío, ya hemos abierto. Entonces ahí tienes. Vamos a cerrar esto. Y ahora lo tenemos abierto aquí también. Entonces esto es realmente, realmente impresionante, pero esto no lo es todo. Así que, por supuesto, puedes entrar aquí. Sólo entremos. También podemos cambiar si estas cosas para que veas podemos hacerlo público, podemos cerrarlo todo. Podemos crear insignias. Hay diferentes estadísticas que puedes echarle un vistazo. Incluso se puede configurar el final de las localizaciones. Entonces, antes que nada, podemos abrir esto en una nueva pestaña. Entonces esta va a ser nuestra creación por aquí. Como puedes ver, esto es solo la visión general. Hay otros ajustes básicos para que puedas cambiar el nombre si así lo eliges , puedes hacerlo privado. Esto también es algo muy importante. Por lo tanto, permite hacer acceso a los servicios API. Esto es a lo que volveremos en un rato. Te recomiendo encarecidamente que enciendas esto ya y solo guardes los cambios. No obstante, pasaremos por esto una vez más. Esto es necesario para ciertas API, como la API de almacenamiento de datos que veremos muy pronto. Hay lugares. Así que ahora solo hay un lugar, ¿verdad? Entonces es solo este RB en este caso. Y generalmente para una abadía, solo tienes un lugar, pero tendrías múltiples lugares que están conectados a través ciertas plataformas de teletransportación o ciertas puertas de enlace o lo que básicamente quieras. Y también vamos a ver esto en los pasos intermedios aquí también. Hay otros elementos para que puedas crear insignias, que puedas crear pases, e incluso puedes crear un desarrollador productos no entrarán en los de este curso. Pero todavía hay algo interesante. Hay diferentes tipos de acceso. Entonces los tipos de acceso aquí serían si requiere o no un pago para hacer un servidor privado. Entonces se puede decir requiere x robótica, cosas así. Entonces hay una muy cool que puedes hacer. Hay un cuestionario que no era elegible en este momento. Hay localización, así que esto traduciría ciertas cosas. Esto es absolutamente una locura. No hemos mirado la localización del servicio, pero es genial que esto exista. También podemos agregar algunos enlaces sociales. Entonces esto sería solo ser plataformas sociales por aquí. Podemos obtener algunas actualizaciones. Por lo que esta es una excelente manera de notificar al usuario. Básicamente, ya sabes, algo pasó. Hay notificaciones. Así que podemos crear cadenas de notificación y luego publicidad y el patrocinio realmente va a una ventana diferente. Y luego al final aquí hay estadísticas de desarrolladores básicamente diciendo ¿cuántas personas en qué plataforma están jugando? ¿Cuáles son los datos históricos? Aquí hay muchas cosas, lo cual es realmente, realmente increíble. Pero si volvemos a la experiencia aquí mismo, lo que puedes hacer es ir a ver en Roblox. Y lo que va a pasar es que verás la probablemente, como has visto varias veces, esta ventana en particular. Y lo que es realmente genial es que puedes volver a ir aquí a Editar y luego lo va a abrir una vez más en Roblox Studio. Ahora en realidad no vamos a querer eso, ¿verdad? Entonces hay un montón de cosas, correcto, configuraron este lugar para que podamos configurar realmente esta es la versión antigua. Si volvemos a la nueva versión, puedes ver aquí ahora también podemos cambiar el ícono y esas cosas. Entonces, en realidad había una gran cosa que quería echar un vistazo y la forma en que obtienes esto a través de las creaciones, ¿verdad? Entonces si estamos en esta pantalla de creación, vas a tu Abby, luego vas a lugares, y luego haces clic en el lugar y luego puedes cambiar los detalles, ¿verdad? Para que puedas cambiar el icono aquí mismo. Puedes hacer la imagen automatizada o incluso puedes cambiar esto. Puedes cambiar la miniatura. Entonces, la miniatura, por supuesto, sería esta cosa de aquí, ¿verdad? En realidad se puede ver en los bloqueos de carreteras. Entonces, si estás en robots, esta gran cosa de aquí mismo, y luego hay acceso a esto. ¿Cuántos visitantes hay disponibles? Por lo general, quieres que todos sean como la configuración del servicio. Todos quieren el historial de versiones optimizado de Roblox. Entonces, ¿cuáles son las versiones que se implementaron? Y luego, por último, algunos permisos. Ahora mismo, la mayoría de esos no son importantes. Te sugiero que mantengas la mayor parte de esta tasa de impago. Entonces, si ahora hacemos clic en Reproducir, a la derecha, en realidad no se va a abrir. Roblox Studio en realidad va a abrir Roblox en sí. Entonces ahí vamos, nuestro ejemplo OB contando a Joel y ahora nos estamos uniendo, y ahí estamos. Ahora estamos dentro del juego y esto en realidad son barricadas. Esto no es Roblox Studio. Y si seguimos aquí y vamos por aquí, bam, etapa uno, esto funciona. Todavía podemos morir por aquí. Y eso es prácticamente todo lo que hay para ello. Quiero decir, eso es muy bueno. Entonces definitivamente funciona. Recomiendo encarecidamente realizar pruebas frecuentes. Veamos las escaleras. También desaparecerían y también se caían. Eso no es exactamente lo que tenía en mente. Por favor, disculpe el hecho de que no hubo volumen. Yo lo apagué, pero ahí tienes. Entonces ahora tienes las sierras de aquí que están girando alrededor, ¿ verdad? Ahí vas. Oh, esta es una locura. Este es un este es un loco . Ese es realmente bueno. Eso me gusta. Y luego conseguimos nuestras formas, y ahí vamos. Así que ahora en realidad tenemos el juego por aquí. Ahora claro, sigue siendo un poco descalzo, pero este es el inicio de crear juego y ahora está publicado, aún no es público, pero que por supuesto se puede optar por hacer público o no. Una vez que hayamos terminado con esto, podremos volver atrás. Una vez más. El grande son las creaciones. Y ahí básicamente puedes acceder a todas tus creaciones. Entonces puedes ir a tu ejemplo o B, y puedes cambiar todo lo que quieras. Ahora bien, la razón por la que es tan importante que publiquemos esto es porque en realidad requerimos que nuestro lugar sea publicado antes de que podamos usarlo. Bueno, todas las cosas de las que vamos a hablar en las próximas conferencias. Pero eso básicamente va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y hayas aprendido que el Nuevo, y los veré a todos en la próxima conferencia. Entonces, sí. 43. (Roblox) Añade fotos a tu GUI: Bien, bienvenidos de nuevo a los temas intermedios aquí, curso de más barricadas. Y en esta breve conferencia, echaremos un vistazo a cómo puedes agregar una imagen a tu GUI. Entonces, la razón por la que no hemos podido hacer esto cuando realmente miramos por primera vez a las GUI, es porque las imágenes en realidad tienen ser lo que requieren que se publique tu lugar, ¿verdad? Entonces si agrego una imagen por aquí, derecha, entonces agregamos una etiqueta de imagen, como pueden ver ahora tenemos una imagen por aquí. Vamos a agregar esto dentro del tamaño aquí. Eso va a estar totalmente bien. Esto va a cambiar. Ahora. Para cambiar este derecho, das clic en la imagen y luego simplemente bajes a la imagen aquí mismo. Y ya puedes ver, ya podemos agregar una imagen. Ahora para agregar una imagen, sólo vamos a elegir un archivo. He preparado un botón de pulgar hacia arriba por aquí. Creo que eso va a estar totalmente bien. Vamos a llamarlo pulgares arriba y vamos a crear, esto en realidad subirá el botón pulgares arriba al propio Roblox. Para que puedas ver net ahora tiene un ID de barricadas, y ese ID es realmente importante y ahora estará disponible. Hagamos esto un poco más agradable. Tal vez hagamos esto un poco más pequeño, incluso un número así. Y entonces vamos a hacer esto. Ahí vas. Entonces ahora tenemos esto. También quitemos el borde porque en realidad no quiero ningún borde. No, no me gustaría que haya frontera cero aquí mismo. Ahí vas. Entonces ahora tenemos un pulgar hacia arriba por aquí al lado de tu escenario. Ahora mismo no estamos haciendo nada con esto, pero es bastante genial, ¿verdad? Entonces así es más o menos como puedes agregar la imagen. Si ahoramos, puedes ver que ahora cambiamos, ahora guardamos esos cambios en Roblox, ¿verdad? Entonces, si tuviéramos que navegar de nuevo a nuestras creaciones y vamos a nuestro ejemplo, voy a terminar en los lugares en lugar de un lugar en el historial de versiones, se puede ver que acabamos empujar la versión más nueva porque es una caja fuerte. Y si tuviéramos que publicar esto ahora, volveremos a ir a publicar Roblox y luego en realidad también publicará esto. Entonces ahora estamos publicando los cambios. Hay dos operaciones diferentes, ¿verdad? Pero si vuelves al historial de versiones, ya puedes ver, ahora esta es una versión publicada. Entonces hay una diferencia entre guardar tus cambios en la publicación de los cambios. Esto es algo muy importante a tener en cuenta. ¿Bien? Entonces cuando agrego esto y lo guardé, ¿verdad? Entonces yo, presioné Control S o vas a Archivo y Guardar. Esto significa que se guarda en la nube de Roblox. Puede restaurar versiones anteriores y como una versión guardada como una versión temprana. Esta es una instantánea de todos los cambios que has realizado. No obstante, solo porque salvaste, no significa que la gente que juega tu juego vaya a tener esos cambios. Para obtener los cambios a las personas que están jugando a tu juego, en realidad tienes que publicar la versión que es muy, muy importante y es una diferencia muy importante para que sepas cuándo en realidad estás tratando de hacer esto básicamente. Una cosa más diminuta es que probablemente te vas a preguntar, bueno, ¿cómo puedo cambiar esta imagen si algo sucediera? Bueno, vamos solo por el bien de la discusión, subiendo otra imagen, ¿no? Y esos van a ser los pulgares para abajo. Ahí vas. También va a ser un pulgar hacia abajo. Vamos a crear esto también. Esto va a ser subido y va a conseguir una nueva identificación por aquí. Entonces ahora tenemos un pulgar hacia abajo y digamos solo por el bien de la discusión, solo vamos a agregar un guión local por aquí. Los servicios locales va a ser el cambiador de imagen, acercar un poco y solo queríamos obtener la imagen. Entonces la imagen es, por supuesto, script dot parent debería ser bastante autoexplicativa. Y luego vamos a decir ImageView.image. Por favor, tenga en cuenta que la variable se llama imagen con una I. minúscula Y la imagen I en mayúscula es en realidad la propiedad aquí que apunta a cualquier imagen que tengamos es igual a. Y esto es muy importante. Básicamente queremos obtener la URL ribulosa para que la imagen sea igual a HTTP colon slash slash www dot. Los bloqueos son activos com slash, tal signo de interrogación id es igual y luego puedes hacer un punto punto y luego solo vas a obtener el ID de la imagen para obtener el ID de la imagen. Pero solo selecciono la etiqueta de la imagen y después selecciono la imagen que quieras, ¿verdad? Puedes, solo puedes seleccionarlo y luego puedes copiar el DNI desde aquí mismo. Y luego solo vamos a asegurarnos de que la imagen por defecto es en realidad los pulgares hacia abajo. Y entonces básicamente queremos cambiarlo. Así que vamos a volver aquí. Sólo vamos a agregar esto aquí mismo. Y eso debería estar bien. Entonces podemos salvar esto. Y se puede ver que en realidad estoy aplicando las ediciones aquí mismo. Y esto es una vez más salva dos barricadas a la Nube y deberíamos comenzar con un pulgar hacia abajo. Sin embargo, en realidad va a cambiar esto a un pulgar hacia arriba una vez que iniciemos el juego, porque la imagen cambia, tu guión va a funcionar. Y ahí vamos. Ahora en realidad tenemos un pulgar hacia arriba porque, bueno, claro que cambió las imágenes aquí mismo. Puedes cambiar la imagen aquí, ¿verdad? Cuando, cuando realmente pasa algo, si eres un jugador muere, quien tal vez lo cambie a un pulgar hacia abajo, ¿verdad? Y cuando lleguen al siguiente puesto de control, puedes cambiarlo a un pulgar hacia arriba. Ahora bien, tenga en cuenta que se trata un script local y que la GUI estándar es local. Entonces, si estás tratando de hacer esto a través de un guión normal por aquí, podría ser un poco más difícil conseguir esto funcione correctamente por el momento, esta es la forma en que cambias una imagen, ¿verdad? Y eso en realidad va a ser todo para esta conferencia de aquí mismo. Espero que esto les haya resultado útil y aprendan algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 44. (Roblox) Almacenamiento de datos de jugadores con DataStoreService: Bien, continuemos con los temas intermedios aquí para las puntuaciones de los robots. Y en esta conferencia, vamos a echar un vistazo al servicio de almacenamiento de datos. Por lo que el servicio de almacenamiento de datos es un servicio increíblemente poderoso que le permite almacenar datos de jugadores en Roblox Cloud. Ahora esto no solo es realmente genial, también te permite hacer cosas como, bueno, digamos que tu jugador ha jugado tu ABI antes de llegar a la etapa dos. Ahora lo que va a pasar es que si salieran del juego y se unieran de nuevo, bueno, van a ser engendrados al inicio otra vez, ¿no? Por lo que perdieron todo su progreso porque su progreso no se salvó. Pero con el servicio de almacenamiento de datos, mientras que en realidad podemos guardar el progreso en y en un archivo en línea, en una mesa en alguna parte, y luego recuperarlo cuando el jugador se una y otra vez, y eso es exactamente lo que vamos a hacer. Entonces, vamos a echar un vistazo a cómo podemos hacer esto. Entonces la superficie en sí en realidad no es tan complicada en estos servidores, servidores web solo vamos a crear un nuevo script y vamos a llamar a esto el script load checkpoint. Y la forma en que esto funciona está bien, primero que nada, por supuesto necesitamos un servicio de almacenamiento de datos de tiempo. Entonces va a haber un servicio local de almacenamiento de datos. Esto es igual a juego colon obtener servicio. Y queremos el servicio de almacenamiento de datos aquí mismo. Eso es increíble. Eso es lo primero. Lo segundo es que queremos una tienda específica. Entonces la idea es que en el servicio de data store, tengas un montón de diferentes, digamos bins. Y en esas papeleras, guardas todos los datos. Entonces lo que esto va a hacer es que necesitamos un local y solo vamos a llamar a esto el checkpoint, checkpoint store. Y esto es igual al servicio de almacenamiento de datos dos puntos obtener Datastore. Y luego quisimos ponerle nombre a esto. Ahora bien, esto es increíblemente importante. Vamos a llamar a esto la tienda checkpoint. Cada vez que queremos acceder a la tienda, necesitamos esta cadena específica. Esta es nuestra clave única para identificar a qué data store queremos acceder. Y es increíblemente importante que hayamos acertado esto, pero tenemos servicio de almacenamiento de datos y tenemos la tienda de punto de control por aquí que almacena toda la información. Entonces lo siguiente que queremos hacer es que quiero hacer lo mismo que se hace en la tabla de clasificación. Y esa es la idea del jugador agregado por aquí. Así que sólo vamos a conseguir a los jugadores también. Esto suele ser una cosa que quieres. Y entonces lo que queremos hacer es que queremos copiar el evento del jugador agregado por aquí. Quiero decir, también podemos simplemente escribirlo, pero a veces puedes simplemente, puedes simplemente copiar esto como bien. Y esto va a ser una función. Y la función aquí es obtener datos de punto de control, ¿verdad? Vamos a hacer esto y pondremos esto en la conexión de aquí. Así que vamos a conseguir el punto de control de los datos y también podemos conseguir el jugador para esto. Por supuesto, ahí vas. Entonces ahora tenemos al jugador aquí también. Y eso es realmente muy importante porque necesitamos el ID del jugador, ¿verdad? Entonces necesitamos una clave bajo la cual guardemos todo esto. Entonces la idea es que vamos a hacer una llave. Entonces esta va a ser la clave del punto de control. Y esto es igual a, normalmente lo que quieres hacer es decir player dot, player ID, y va a hacer punto, punto, y luego haremos dash. Y entonces puedes por ejemplo decir punto punto otra vez. Y entonces puedes decir checkpoint e.g y esto lo va a hacer para que la clave específica para cada jugador porque el ID del jugador es único para cada jugador, por lo tanto, esto no debería ser ningún problema en absoluto. Una vez más, sin embargo, esta clave siempre tiene que ser la misma. De lo contrario no vas a poder recuperar los datos ni obtener los datos. Va a ser muy interesante. Entonces vamos a hacer que un dato local igual a cero en este momento, y luego lo haremos la siguiente leche, un mensaje local de éxito o error que es igual a la llamada P. Voy a explicar esto en un momento. En lugar de la llamada P hará una nueva función. Y esto va a ser datos iguales a almacén de punto de control. Entonces ahora vamos a entrar, entrar en la tienda, dos puntos, obtener asincrónico. Así que vamos a obtener cualquier dato que haya ahí de forma asíncrona. Entonces no vamos a esperar hasta que esto cargue. Sólo vamos a decir que solo consíguelo siempre que puedas. Y vamos a obtener los datos para la clave de punto de control para el jugador que acaba de unirse a nosotros. Esa es la idea general. Ahora, después de que se haga esto, bien, esto es muy importante. Queremos comprobar si todo ha funcionado o no. Entonces vamos a decir si el éxito, entonces podemos devolver algo o podemos, podemos hacer es algo que queremos decir más, ¿verdad? Pero esto significaría que no tiene éxito, entonces en realidad queríamos hacer error. Y queremos decir un error de almacén de datos. No hace falta que se le llame exactamente así, sino por si acaso. Y entonces queremos poner el mensaje de error aquí mismo, ¿no? Y si tiene éxito, básicamente podemos proceder. Sólo vamos a llamar a esto ahora mismo. Proceder a cambiar, cambiar la tienda, cambiar, cambiar el punto de control, lo hará en un momento. Pero la idea aquí es que vamos a leer esta clave por aquí y va a decir, Oye, solo tira de la función get asincrónica por aquí con esta clave en particular, que básicamente nos consigue lo que esté almacenado bajo esta clave dentro de nuestro almacén de datos. La razón por la que estamos usando peek hole que realmente puedes ver ejecuta la función del proveedor y capta cualquier error. Entonces la idea general es que por eso tenemos ese éxito y este error aquí mismo, el código P básicamente solo se asegura de que si hay algún error que ocurre en el get acing, no estás conectado correctamente a Internet o hay una interrupción o los servidores se bloquean o lo que sea, va a bloquear esto bajo el mensaje de error. Y si todo fue exitoso y sólo vamos a conseguir un verdadero bajo el éxito. Ese es Leary, todo lo que hacemos. Entonces ahora mismo por el momento. Yo solo quería imprimir un éxito por aquí. Si esto tiene éxito y una flecha blanca justo aquí, si no lo es. Entonces, solo guardemos esto por el bien de la discusión. Vamos a ejecutar esto dentro del juego y verás lo interesante que va a pasar si jugamos esto ahora, así como esto, puedes ver antes que nada, el ID del jugador ni siquiera es miembro de la cuenta de un jugador y eso está bien porque en realidad llamó User ID. Yo hice un bucle, veo a su líder que debería ser ID de usuario. Eso es lo que queríamos usar. Y entonces es la misma idea que el ID del jugador. ¿Y si hacemos esto ahora? Ahora ya obtenemos este error y en realidad obtenemos un éxito. Ahora eso es genial, ¿verdad? Entonces hemos cargado algunos datos en eso Eso es interesante. Ahora la verdadera pregunta es como, ¿ en qué cargamos, verdad? Entonces, si aquí solo decimos datos de éxito, vamos a conseguir algo interesante, ¿verdad? Entonces, ¿qué datos cargó realmente desde el get asincrónico? Bueno, vamos a echar un vistazo. Y se puso, porque puedes ver que tiene un nulo, ¿verdad? Entonces porque a la vista de los datos de aquí, hemos escrito molino, eso no es del todo correcto. Eso no es exactamente lo que queremos. No queremos que esto sea nulo. Entonces lo que podemos hacer es que podemos decir n datos básicamente diciendo, bueno, debería haber algo escrito en lugar de los datos. De lo contrario no estamos realmente exitosos. Como si no fuera un éxito. Si los datos son nulos, eso no está bien, queremos, así que hagamos esto, ¿verdad? Entonces solo si el éxito y los datos están presentes, entonces queremos imprimir con éxito. De lo contrario queremos imprimir el mensaje de error. Y si tuviéramos que cargar esto ahora mismo, puede ver que todavía estamos recibiendo un nulo, pero ahora en realidad estamos obteniendo el nodo para pero ahora en realidad estamos obteniendo el nodo para el mensaje de error porque curiosamente, no hay mensaje de error, ¿verdad? Bien, entonces eso es interesante. Queremos parar y queremos cambiar esto a otra, si no éxito, entonces haz esto y luego vamos ahora lo hemos hecho. Lo he hecho específicamente así para que puedas pasar por la lógica por qué necesitas cada paso individual, ¿verdad? No quieres realmente tener éxito si los datos son nulos, ¿verdad? Eso no está bien, eso no es correcto. Solo quieres dar salida al mensaje de error si no tiene éxito porque entonces sabemos, bien, todo está bien. Entonces, si se vuelve un poco más complicado, esa es solo la naturaleza de los pasos intermedios ahora, porque estamos usando muchas más cosas y estamos conectando muchas más cosas. Pero por el momento, lo mantendremos así. Ahora se procedió a cambiar el puesto de control. Ahora, ¿cómo haríamos esto, verdad? Entonces el checkpoint se hace en el script checkpoint aquí mismo. Y esto es realmente genial porque el script de punto de control realmente crea un, como puedes ver, un punto de control de datos aquí mismo. Ahora podemos literalmente simplemente tomar esto y realmente cambiar esto. Así que podemos simplemente hacer esto, podemos tomar esto, y vamos a hacer lo mismo, ¿verdad? Entonces, si leemos algo con éxito en, vamos a hacer una nueva instancia. Ahora en este caso, el, esto es un, este es el dato del punto de control aquí mismo. Entonces, lo que vamos a hacer es que realmente queremos hacer exactamente lo mismo aquí mismo. Así que voy a llegar hasta esto, ¿ verdad? Entonces esta de aquí. Ahora lo que vamos a hacer es simplemente vamos a echar esto a otra función porque creo que mantener la pantalla es un poco mejor. Este va a ser el sistema de creación de puntos de control. A lo mejor sistema no es la palabra correcta aquí, pero eso va a estar bien. Podemos cambiar el nombre de esto en un momento. Datos de puntos de control. Claro, eso está bien. Datos de puntos de control de tarifas. Entonces vamos a llamar a esto aquí mismo. Y la idea es que esto sólo se llame una vez, ¿verdad? Porque si los datos del punto de control ya son creados por la primera persona que se agrega al servidor. No queremos volver a crearlo, pero si no lo es, entonces sólo vamos a crearlo. Y si eso es lo correcto, después de que hayamos creado esto, ahora queremos hacer mientras exactamente la primavera, ¿verdad? Entonces queremos cambiar eso. Queremos obtener el hijo del ID de usuario aquí mismo. Y una vez más, lo que realmente podemos hacer es que básicamente podemos obtener todo esto excepto el jugador agregado aquí mismo. No queremos eso, sólo queremos esto. Y entonces esta va a ser otra función. Y esa función va a ser un get o create checkpoint o player. Y esto va a quedar así y luego solo agrega un final por aquí. Y eso es muy importante. Ahí vas. Ahora no tenemos los datos de los puntos de control. Eso está bien. Podemos pasar esto. No tenemos al jugador. Podemos, definitivamente podemos pasar al jugador. Eso va a ser absolutamente sin preocupaciones. Entonces, si tuviéramos que llamar a esto get o crear el nombre largo, pero eso está bien. Para que podamos pasar el jugador por aquí. Ahí vas. Eso está bien. Y luego los datos de punto de control no hemos pasado. Entonces pensemos en cómo básicamente podemos conseguir esto. Entonces podríamos hacer algo muy interesante y ese podría ser el regreso de esto, ¿verdad? Para que podamos devolver los datos del punto de control aquí mismo. Y podemos regresar a los datos del punto de control aquí mismo. Y podemos hacer un punto local de datos, ¿verdad? Y entonces solo podemos pasar esto. Ahí vas. Y entonces sólo vamos a decir datos puntuales aquí mismo. Entonces, por ejemplo, esa puede ser una manera muy fácil de hacer esto. no lo has pensado así, pero podrían, por supuesto , eso estaría totalmente bien, ¿verdad? O hemos creado los datos del punto de control aquí mismo, o nosotros o los leemos desde los datos del almacenamiento del servidor. Y si ese es el caso, entonces simplemente lo devolvemos. Y porque es necesario en esta función, podemos simplemente pasar esto aquí mismo. Eso es todo lo que hay para ello. Sin embargo, lo único que por supuesto, también tenemos que hacer es asegurarnos de que el valor del punto de control sea igual a cualquier dato que acabemos de leerlo. Este va a ser el puesto de control almacenado. Creo que ese nombre es bueno. Eso va a ser bueno. Y sólo vamos a establecer que iguale el valor de la misma al punto de control de la tienda. Y sólo vamos a pasar esto aquí también. Eso va a ser datos. Ahora bien, en este caso, en realidad no necesitamos verificar si un dato es nulo o no. Porque hemos dicho si el éxito y los datos, ya estamos comprobando si los datos son nulos o no, ¿verdad? Porque si N datos básicamente significa que no es nulo, esa es la idea general. Entonces para eso, básicamente obtenemos todo lo que necesitamos. En este caso. Entonces, si estamos leyendo algo en, en realidad estamos obteniendo los datos correctos a través de los servidores de puntos de control. Si tuvimos éxito y probablemente se leyeron los datos, estamos imprimiendo un éxito. Pues bien creando los nuevos datos de punto de control en el almacenamiento del servidor. Se trata de las tiendas de servidores locales. Entonces este es el servidor en sí en el que estamos jugando en este momento, no el mismo data store. Esas son dos cosas completamente distintas. Ahora tienen un nombre muy parecido, ¿no? En este caso, en realidad tienen el mismo nombre, ¿verdad? Tenemos los datos, los datos del punto de control aquí mismo, almacén Check Point aquí mismo. Y tenemos el punto de control con los datos aquí de la tienda. Entiendo que hay algunos niveles de abstracción que hay que tener en cuenta. Al mismo tiempo, el almacenamiento de datos es básicamente como un, un gran viejo, Ese es el archivo que en algún lugar del servidor muy, muy lejos que ni siquiera sabes dónde está esto, ¿verdad? Ese es el archivo. Puedes acceder al archivo obteniendo el servicio y luego obteniendo una tienda específica. Esto es como conseguir un archivador específico. Digamos que sacas un archivo específico de ese archivador verificando el id de usuario con el punto de control de aquí, esa es la clave. Y luego obtienes esos datos de ahí justo en esos datos, por ejemplo, si son tres por el bien del argumento, si esto es tres, entonces estás creando en el servidor que estás jugando en este momento, toda esta locura aquí mismo, y luego diciendo, bien, nuestro valor de y luego diciendo, bien, punto de control que el jugador debería ser pequeño, eso es tres, y eso es más o menos lo que somos haciendo aquí. No obstante, una gran cosa, y esto es lo que no se hace. No estamos ahorrando nada. Estamos ahora mismo, solo lo estamos leyendo en, bien, Así que también podemos leer algo. Así que hagamos otra función por aquí, y vamos a llamar a esto los datos del punto de control establecido. Hagamos esto en realidad. Ahí vas con el jugador específico del bosque una vez más, y eso va a ser jugadores eliminación de capa oscura. Esto se dispara cuando un jugador está a punto de abandonar el juego. Muy importante, la eliminación de colon conectar. Y este va a ser el conjunto de datos de puntos de control aquí mismo. Y sin los paréntesis, claro, ahí tienes. Entonces, ¿cómo configuramos los datos del punto de control? Bueno, antes que nada, necesitamos el mismo punto por aquí. Entonces eso es lo que necesitamos. Ahora en realidad ya necesitamos el nombre del puesto de control. Entonces digamos que este es el get o create, el checkpoint para el jugador. Ahora bien, esto realmente establece el valor para nosotros, que no es exactamente lo que queremos. Entonces lo que podemos hacer es conseguir esta parte en particular por aquí. Entonces deberíamos conseguir que este sea el punto de control real. Ahora no tenemos los datos en estos momentos. Eso está bien. Podemos crear los datos de punto de control ahora en realidad quiero renombrar esto para también hacer obtener o crear datos de punto de control porque esa es una forma más precisa. Y vamos a cambiar esto justo aquí mismo. Y una vez más, solo podemos obtener los datos del punto de control. Al hacer esto, podemos simplemente decir obtener o crear datos de punto de control, encontrar el primer hijo del ID de usuario aquí mismo. Y ahora tenemos el punto de control y el valor va a ser, estos van a ser los datos que se supone que se van a guardar. Valor de punto de control y el ego. Ahora, ¿cómo guardamos esto? Si bien hacemos lo mismo, hacemos un mensaje de error de éxito local igual a llamada P, haciendo una nueva función aquí. Y entonces vamos a decir tienda Check Point. Este es nuestro conjunto de dos puntos de Datastore asincrónico. Vamos a pasar la clave de punto de control, y luego pasaremos los datos. Y ahí tienes. Y eso debería ser todo lo que necesitamos. Ahora claro, también deberías hacer un éxito si no. Entonces queremos dar salida a un error y vamos a decir, no se pueden guardar correctamente los datos y luego sacar el mensaje de error aquí, solo para que tengamos esto, siempre es muy importante bloquear tus errores. Y ahora cuando un jugador es removido, correcto, cuando abandona el juego, en teoría, debería guardar el punto de control y cuando el reincorporarse al juego, Debería conseguir ese punto de control que se guardó, correcto, los datos que se guardaron, y eso debería ser prácticamente todo lo que necesitamos aquí. Ahora bien, esto podría parecer bastante complicado por el momento. Ahora lo es, ¿verdad? Tenemos como múltiples funciones. Estamos haciendo muchas cosas diferentes. Aquí tenemos alguna lógica de ramificación. Entiendo que esto es bastante en básicamente asimilar al mismo tiempo. Es por ello que se trata de los temas intermedios. Se vuelve cada vez más complicado a medida que avanzamos. Pero ojalá la lógica general sea sólida. Así que solo guardemos esto y veamos realmente si todo funciona. Podría haber una flecha aquí o allá, pero creo que en general esto debería estar bien. Y entonces voy a explicar otra cosa que aquí es bastante importante. Así que vamos a unirnos. En teoría, deberíamos unirnos en la etapa cero, todo debería estar bien y no hay errores presentes, y eso es absolutamente asombroso. Entonces, si ahora fuéramos a seguir aquí mismo e ir aquí, ahora estamos en la etapa uno. Si ahora paramos esto por ahora, guarda los datos. Ahora en realidad obtenemos esto y eso es una especie de guardar los datos, no se puede almacenar instancia en el almacenamiento de datos. Recurren a aceptar únicamente caracteres UTF-8 válidos. Bien, eso está bien. Entonces la pregunta aquí es ¿cuál es el valor real que está tratando de salvar? Entonces eso es lo siguiente. Oh, sí, esto es en realidad, ya sé cuál es el problema. Por supuesto, si realmente volvemos a la lógica aquí del script de checkpoint, el valor en check point aquí son solo las ubicaciones de spawn. En realidad queremos el valor del número de punto de control aquí mismo, porque eso no es una cosa que realmente se guarde. Entonces si hacemos lo siguiente, si entramos aquí y guardamos punto de control punto valor punto, ahora en realidad estamos haciendo esto correctamente. Y lo mismo va en el otro sentido. Ahora, sólo nos estamos topando con un problema. Ahorrar es absolutamente ninguna preocupación. Entonces ahorrando podemos hacer esto, no hay problema alguno, pero cargar ahora es un poco más difícil. Simplemente por el hecho de que bueno, ahora mismo conseguimos el número para el puesto de control. Bien. Eso está bien. Pero, ¿cómo consigues ese puesto de control? ¿Cómo se obtiene el punto de control correcto para el número? Ahora lo que puedes hacer es que tenemos este script de numeración de puntos de control muy práctico aquí mismo, ¿verdad? Y eso en realidad podría resultar mucho más útil de lo que piensas, porque aquí mismo metemos a los hijos de todos los puntos de control con esto. Entonces esto debería ser en realidad todo lo que realmente necesitamos. Estoy pensando en la idea de hacer una mesa por aquí, ¿verdad? Entonces estos serían nuestros puntos de control, que es igual a una mesa que está vacía en este momento. Y luego puedes hacer puntos de control de inserción de puntos de tabla. Y entonces el valor va a ser, va a haber conteo y el valor va a ser el propio punto de control. Así que eso va a ser el premio mayor. Creo que esta forma más inteligente hacer esto probablemente es entrar en el servicio de script del servidor aquí mismo y hacer un script de módulo, ¿verdad? Vamos a hacer una nueva, esta va a ser nuestra mesa de puntos de control. Digamos que en realidad vamos a cambiar el nombre de esto a los puntos de control también, ¿verdad? No girar los puntos de control aquí mismo. Y ahora lo que deberíamos poder hacer es en lugar del derecho de numeración de los puntos de control, cuando podamos requerir esto. Entonces esa va a ser nuestra mesa. Llamemos a este puesto de control mesa orilla. Esto es requerir. Esta va a ser la tabla de puntos de control de puntos de servicio de script de servidor de juegos . Y la tabla de puntos de control, deberíamos poder hacer lo siguiente. Ahora, inserte el punto de control del contador de la tabla del punto de control. Entonces ahora estamos insertando cosas en la tabla, ese es el script del módulo, ¿verdad? Y lo que podamos hacer, solo guardemos esto por un momento. Y dentro del punto de control de carga aquí, podemos conseguir esto también. Hay los puntos de picoteo locales iguales a requiere tabla de puntos de control de puntos de servicio de script de servidor de juegos. Y esto sería entonces puntos de control, corchetes, punto de control de tienda. Ahí vas. Y creo que esa es probablemente la forma más limpia de hacerlo realmente. Entonces el éxito uno está cargado, está bien. Vamos solo por el bien de la discusión, estamos por aquí, y hagamos esto. Entonces ahora tenemos uno cargado, vamos a parar. Esta es una caja fuerte, Eso está bien. Volvamos a jugar y seguimos desove al inicio, lo cual es muy interesante. Sin embargo, no estamos recibiendo ningún error, lo cual en realidad es bastante bueno. Sucede inesperado. De hecho, podríamos tener que tomar el carácter agregado blanco aquí mismo en nuestro script de carga. Y pondría eso justo después de que estemos estableciendo el valor aquí mismo. Creo que esa sería la idea de esto y eso debería hacerlo porque el personaje agregado aquí debería llamarse después de agregar al jugador. Así que intentemos agregar esto bajo el valor de que ya has cambiado la ubicación de desove porque eso es lo único que realmente necesitamos hacer, ¿verdad? Solo necesitamos gastar para cambiar la ubicación de desove. Ahí vamos. Inmediatamente funciona. Eso es absolutamente asombroso. Así que puedes ver a veces hay un poco del ***** aquí mismo. Entonces si vas a dos, puedo saltar de él y voy a responder a dos mientras estoy en el juego, ¿verdad? Entonces vamos a responder en la etapa dos. Ahí vas. Y si dejo esto bien, ahora estamos salvando a los dos otra vez. Una vez más, no hay errores. Absolutamente increíble. Y si volviera a jugar, no sólo vamos a ver el éxito para aparecer, también inmediatamente van a comenzar en la etapa dos. Absolutamente increíble. Entonces lo que es muy importante aquí es que se puede ver a veces hay las conexiones. Hay muchas conexiones que a veces son difíciles de desenredar. Se puede ver como la forma en que hicimos esto, ¿verdad? Teníamos una, ahora tenemos una mesa de punto de control por aquí como script de módulo. Y estamos guardando los puntos de control a través del script de numeración de puntos de control aquí mismo. Y luego también está el script load checkpoint que hace un montón de cosas, ¿verdad? Entonces voy a tratar de resumir esto en como 2 min para que sea comprensible. Entonces tenemos un servicio de almacenamiento de datos. Este es un archivo, y el archivo almacena muchos, muchos archivadores diferentes. Ahora el acomodo final, se puede pensar en esto como un data store. El data store es un archivador. Esto puede contener muchos archivos diferentes. Ahora una vez que tengamos nuestro almacén de datos, entonces podremos acceder a ciertos archivos a través de una clave, ¿verdad? Para que podamos obtener esta llave. En nuestro caso, estamos haciendo una clave usando el ID de usuario y luego simplemente echamos el punto de control por aquí, solo para que tengas esto. Entonces estamos obteniendo los datos de este archivador en particular diciendo puntos de control almacena, este es el data store, dos puntos se vuelven asincrónicos, y luego pasando la clave cuando eso devuelve los datos específicos almacenados en con esa clave. Ahora bien, en nuestro caso, este va a ser el número asociado a nuestro puesto de control, ¿verdad? Entonces, o va a ser el primer punto de control, segundo punto de control, así sucesivamente y así sucesivamente. Es verdad, ¿verdad? Y si hemos recuperado con éxito esos datos, entonces estamos creando los datos del punto de control, y luego estamos creando el punto de control para el jugador real. Ahora bien, estas dos funciones de aquí son muy similares a las funciones dentro del punto de control real. Si miramos el script checkpoint y luego llegamos al módulo checkpoint por aquí. Va a ser este de aquí, justo donde básicamente solo se crea el mismo modelo, ¿verdad? Y luego llamar a un dato de punto de control y reclutar el mismo valor de objeto en esto también. Y la idea del valor del objeto es que guarda el puerto real, lee la parte del punto de control real, el puerto físico dentro del juego. Entonces, si entramos aquí, guarda esta parte en particular como el punto de control donde el jugador debe responder. Y ahora queremos conseguir esto con el número. Ahora el tema es el número y el puerto de chequera real o un puerto completamente separados entre sí. Realmente no tienen nada que ver el uno con el otro, lo cual es una especie de problema. La forma en que resolvemos esto es que mientras estamos numerando los puntos de control, ¿verdad? Mientras estamos numerando los puntos de control, agregando el valor int a ellos, también los estamos agregando a una tabla que tiene el conteo. Y si tenemos el conteo, entonces podemos obtener la parte del checkpoint. Y al hacer eso, entonces podemos requerir los puntos de control aquí mismo, el script del módulo checkpoint table. Podemos usar puntos de control, almacenar punto de control para obtener la parte real de él por aquí, derecho, el objeto del juego, el objeto real. Y luego solo estamos diciendo, oye, una vez se agrega el personaje, entonces simplemente cambia el marco del personaje, que es básicamente la posición del personaje al propio punto de control más para arriba arriba. Así que básicamente vamos a generar un poco más alto que el punto de control, caer sobre él. Ahí estamos. Cuando ahora estamos saliendo del juego, cuando se está retirando al jugador, entonces estamos tomando la misma llave, básicamente estamos desbloqueando el archivador. Otra vez siendo como desbloquear el archivador, obtener el inicio del archivo y decir, oye, ahora pon este archivo a los datos que especificé por aquí. Y la idea es que vamos a conseguir el nuevo objeto, el objeto que actualmente es nuestro punto de control. Vamos a sacar el valor del número ahí y bam, ahí vamos. Vamos a obtener el número de eso y luego guardarlo bajo nuestra llave una vez más, una nota más importante aquí. Ahora estamos hablando de guardar datos. Y es increíblemente importante que seas muy cuidadoso con la forma en que guardas los datos y que probablemente agregues las cajas fuertes y puntos de control y errores y todo esto. Porque cuando los datos se van por tu negligencia, entonces la gente podría no estar contenta, especialmente si hay certeza si hay robots involucrados. En este momento no tenemos ningún robot involucrado, así que no debería ser tan malo. Pero solo digo que sean cautelosos y tengan mucho cuidado con esto. También recomiendo encarecidamente leer sobre el servicio de almacenamiento de datos, en las referencias de API en el propio Roblox. Esa es una lectura muy, muy recomendable para esto. Pero aparte de eso, eso va a ser todo para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 45. (Roblox) múltiples lugares en un solo juego: Bien, bienvenidos de nuevo a la sección intermedia aquí para el curso de robótica. Y en esta conferencia, vamos a estar echando un vistazo a cómo puedes agregar múltiples lugares a una experiencia. Entonces para esto, la idea general es que cuando volvamos a nuestro panel de control del Creador por aquí, bien, nuestras creaciones, tenemos nuestro ejemplo por aquí. Sólo como ejemplo, sólo vamos a usar esto. Podemos adentrarnos en esta experiencia particular que esta creación, y podemos agregar diferentes lugares. Ahora bien, si vamos a lugares, literalmente podemos agregar un nuevo lugar por aquí. Me va a dar algunos lugares que ya he publicado previamente. Puedes ver algunos de ellos puedes agregar porque son lugares almacenados y algunos de ellos puedes agregar. Entonces, ¿cómo básicamente hacemos esto? Bueno, lo que puedes hacer es dentro de Roblox Studio. Entonces, si volvemos por aquí, lo que podemos hacer, por ejemplo, es que solo vamos a conseguir tal vez un terreno plano, así que va a verse un poco diferente, así que no tienen algo un poco diferente para jugar con esto como el césped de aquí en este caso, vas a decir, bueno, bien, ¿qué vamos a hacer con esto? Así que sólo vamos a salvar esto. Y lo que puedes hacer es que o bien podemos hacer un nuevo juego, podemos guardar esto como un juego nuevo si presiono Control S, o puedo decir actualizar un juego existente y puedo entrar aquí y puedo decir agregar como un nuevo lugar ellos. Entonces voy a decir esto, voy a crear. Ahora el nombre va a ser literalmente juego sin título, pero eso está bien porque todos podemos cambiar eso en un poquito. Eso no es nada de qué preocuparse. Así que ahora podemos volver a nuestro tablero si realmente recargo esto. Ver carpinteros, por favor, número diez. Ahora claro que ese no es un buen nombre. Lo que vamos a hacer es que solo vamos a hacer clic en el botón Editar en estudio y luego debería abrir Roblox Studio nuevamente. Ahora una teoría, esta debería ser una instancia diferente a esta. En realidad no deberían chocar. Ya ves que estamos cargando el lugar y este es el lugar real, la experiencia RB o la creación de RB, ¿verdad? Entonces ahora se puede ver que se llama contar minerales juega número diez. Ahora ese no es exactamente el nombre que tenía en mente. Así que podemos ir a la configuración del juego y puedes ver que ahora podemos debajo los lugares realmente cambiar esto también. Así se puede ver que hay diferentes jugadores, jugadores también. Y aquí podemos configurar la obra. Entonces digamos que también solo 16, y esto va a ser el pasto es más verde. Ahí vas. Y puedes ver que hay un montón de cosas diferentes que también puedes hacer. Sólo vamos a salvar esto. Y si entonces guardamos esto, nada cambió, bien, está bien. Pero entonces podemos publicar esto y en realidad va a publicar, ¿verdad? Entonces se puede ver publicamos los cambios, sin embargo, ahora, si volvemos a las correlaciones por aquí a nuestro ejemplo será, si recargamos esto, se puede ver ahora el nombre real es una hierba es más verde y también cambiamos algunas de estas cosas aquí mismo, ahora mismo. Aquí no pasa nada ahora mismo, claro, porque aquí no se agrega nada, pero es un lugar diferente dentro del mismo juego. Entonces, como siempre, una cosa a tener en cuenta leer puedes tener múltiples lugares dentro de una puerta. Siguiente conferencia, veremos cómo se puede distinguir entre los dos lugares diferentes. De lo contrario, espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 46. (Roblox) Teleport entre diferentes lugares: Bien, bienvenidos de nuevo a la sección intermedia aquí para el curso robusto. Y en esta conferencia vamos a estar viendo cómo podemos teletransportarnos de un lugar a otro extremo en realidad es bastante directo mediante el uso del servicio de teletransporte. Entonces para esto, lo que voy a hacer es que voy a copiar mi círculo por aquí solo para que tengamos algo a lo que básicamente ir. Y cuando llegues a este círculo, vamos a teletransportarnos al lugar que básicamente hemos agregado a nuestra experiencia, a nuestro RB aquí la última vez, esto sucedió en la última conferencia, este va a ser el círculo de teletransportación y vamos a hacer clic en el pequeño plus de aquí agregando un guión. Y el guión va a ser el guión de teletransporte. Y esto nos va a teletransportar. Para la teletransportación, necesitamos el servicio de teletransporte. Esto va a ser igual a juego colon obtener servicio. Entonces esta es por supuesto la forma en que conseguir un servicio, y este es el servicio de teletransporte. También queremos conseguir a los jugadores, esto solo van a ser jugadores de juego. Y entonces queremos unos teletransportadores. Entonces los teletransportadores son el verdadero objeto de juego, ¿verdad? Circulan en este caso. Entonces esta va a ser la orden del cajero y esto va a ser igual al script dot parent. Y luego queremos el ID del lugar. Entonces esto es lo importante, ¿verdad? La identificación del lugar es una identificación única para tu lugar. Y deberías ser capaz de conseguir esto yendo justo aquí, ¿verdad? Entonces este es nuestro lugar al que queremos ir. Y ya ves, bueno, ¿cómo conseguimos esto? Bueno, sólo entra aquí. También puedes cambiar el nombre aquí, la descripción aquí son géneros, todo eso, y eso está bien. Sin embargo, necesitábamos la identificación del lugar. ¿Cómo conseguimos esto? Bueno, puedes mirar la URL por aquí y puedes ver que esta es la experiencia y este es el lugar. Entonces esta sería nuestra identificación de lugar. Sólo vamos a copiar esto y luego vamos a volver a los bloqueos de carretera por aquí. Y verás que solo podemos hacer de esto un, en realidad no queremos hacer de esto una cuerda. Queremos hacer de este un número que en realidad es bastante importante. Y entonces aquí sólo vamos a hacer una función local tanto en parte toque. Entonces vamos a hacer un evento touch por aquí en este caso, otra parte y esto va a hacer, esto va a llevarnos antes que nada al personaje. Esto es solo otra parte punto padre, ese es nuestro personaje. Y entonces sólo vamos a decir jugador es igual a los jugadores colon, obtener jugador de carácter, pasando en el personaje aquí mismo. Y entonces si hay un jugador, lo que vamos a hacer es que vamos a decir teletransporte servicio colon teletransporte. Cuando un teletransporte al lugar ID aquí mismo, puede ver que este es el ID de lugar y vamos a teletransportarnos, por supuesto, el jugador ahora jugadores, pero el jugador singular que acaba de tocar esta parte en particular. Y vamos a decir teletransportarse o punto tocó Polonia y conectar. Y luego sólo vamos a agregar la parte tocada sin los paréntesis. Y ese va a ser el guión del teletransporte. Así que vamos a guardar eso. Y eso es prácticamente todo lo que tenemos que hacer en este caso. Pero si ahora jugamos, en realidad debería estar desove en etapa dos porque esa fue la última vez, bueno, lo último que se salvó, y pueden ver que estoy en la etapa dos, así que esto es lo genial de la tasa de ahorro. Esto realmente guarda mientras que todos los datos diferentes incluso después de varios días. Entonces eso es lo increíble ahora, claro que sí tengo que vencer el nivel de aquí, pero creo que voy a estar bien por aquí. Ahí vas. Y una hora en la etapa cinco. Y ahora cuando toque esto, debería ser teletransportada. Entonces vamos a ver. Así que estamos recibiendo un error aquí mismo. Eso está totalmente bien porque, y puedes ver fallar el teletransporte porque no puedes teletransportarte en Roblox Studio. Esa es la primera cosa muy interesante en la que pensar, pero no hay ningún problema al respecto porque lo que podemos hacer es que simplemente podemos detener esto y luego solo podemos publicar esto a Roblox tarifas vamos a publicar esto por ahora. Todos nuestros cambios son publicados en Roblox. Y si ahora vuelves a nuestras creaciones por aquí, podemos volver a la experiencia, al RB aquí mismo. Y sólo vamos a decir vista sobre los bloqueos viales. Y el modo va a jugar esto ahora mismo, Roblox lo abrirá. Esto ya no es Roblox Studio, sino bloqueos de carreteras. También tendrás que probarlo en Roblox. Entonces esto es algo muy importante a tener en cuenta, ¿verdad? Si tienes, cuanto más complejo sea tu juego, básicamente, más tendrás que hacer también en lugar de barricadas. Y fuera de Roblox Studio, quiero decir, claro que tiene sentido, ¿verdad? Quieres, quieres probar continuamente tu juego también para detectar cualquier bicho y cosas así. Entonces lo que puedes ver, sigo en la etapa cinco porque, bueno, sigo en la etapa cinco, eso es genial de verdad. Y ahora si entro aquí, boop, bien, va a tomar un momento. Y se puede ver que el pasto es más verde. Bam. Tardó un tiempo. A veces lleva un poco de tiempo cargar. Pero ahí vamos. Ahora estamos en un lugar diferente. Ahora, por supuesto, no hay nada aquí, pero esto es realmente increíble porque esta es la forma en que básicamente puedes conectar múltiples lugares diferentes. Puedes hacer varios niveles diferentes o puedes hacer múltiples instancias diferentes. Hay tantas maneras en las que básicamente puedes usar esto, pero puedes hacer múltiples Abby que se interconecten entre sí. Puedes hacer quiero decir, hay toneladas de cosas que básicamente puedes hacer con esto agregando múltiples lugares diferentes. Es realmente genial. Y esa es básicamente la idea de un teletransporte a diferentes lugares dentro de tu experiencia. Muy chulo. En efecto, eso va a ser para esta conferencia de aquí mismo. Espero que esto te haya resultado útil y aprendas algo nuevo y los veré a todos en la próxima conferencia. Entonces, sí. 47. (Roblox) a dónde ir desde aquí: Bien, bienvenido de nuevo a la sección intermedia aquí, más curso de Roblox. Y en esta conferencia, sólo vamos a hablar de dónde ir a continuación, ya que ésta es básicamente la última conferencia aquí en este curso. Y la idea es que qué, ¿a dónde quieres ir después? Entonces una cosa en particular que simplemente no puedo recomendar lo suficiente, y ya he hablado de las referencias de la API de Roblox Engine aquí mismo, que tiene todas las clases, correcto , como referencia, tienes todos los tipos de datos. Básicamente todo lo que quizás quieras tener está aquí. También hay algunas guías que pueden ser realmente útiles. Esto básicamente te ayudará a construir una base aún mejor de la que ya tienes después de haber pasado por todas las conferencias anteriores. Además, por supuesto, una gran cosa es que más aprenderás haciendo. Entonces. Esto básicamente significa que solo sigas probando cosas diferentes. O quiero agregar esto, quiero hacerlo para que el jugador sea disparado al cielo. Y entonces XYZ sucede dando pasos continuos hacia adelante, podrás aprender aún más en el futuro. También quiero hacer un curso intermedio a avanzado. Sin embargo, esto aún no está disponible tan pronto como lo está. Serás notificado, por supuesto, y los apoyos a ti por apegarte a través de esta perseverancia es lo mejor que puedes tener a la hora de aprender algo como esto. Porque al final, Roblox scripting y programando en sí mismo, puede ser bastante desafiante y bastante puede ser bastante desafiante y bastante complicado, pero lo apestas. Así que estoy muy orgulloso de ti y me emociona ver qué juego de barricadas te va a ocurrir Aparte de eso, muchas gracias por ver. Una vez más, si esto te fuera útil, agradecería mucho una reseña de tu parte. De lo contrario, ojalá te vea en el próximo curso. Así que sí.