Bloquear script

¿Qué es un script de bloque?

img-20250402145046440

¿Alguna vez has notado que las cabezas de los personajes de Free Fire se vuelven muy grandes?

Este efecto se consigue utilizando un potente script de bloque.

img-20250402192617114

El script de bloque es un método de programación visual que le permite escribir una lógica de juego altamente personalizada.

Punto de entrada

Puede encontrar el punto de entrada para bloquear el script en el menú Más.

img-20250402145458469

image-20250402145643612

También hay otras ubicaciones donde puedes acceder a la interfaz de edición de scripts de bloque. Puedes encontrar la entrada para scripts de bloque en Ajustes básicos y Ajustes de propiedades, en Editar reglas de juego. La interfaz de edición es la misma.

Introducción básica a los bloques

Editor

Primero, podemos ver las áreas importantes en el editor de bloques.

image-20250402181900017

A la izquierda se encuentran todos los bloques disponibles en diferentes categorías. En el centro se encuentra la escena de edición que llamamos “lienzo”. Es necesario arrastrar y soltar los bloques en el lienzo para que surtan efecto.

Categorías de bloques

Hay dos categorías principales de bloques:

  1. Eventos, que determinan cuándo se activa la lógica, por ejemplo, cuando un jugador se une a la partida o al inicio de una ronda. Los eventos disponibles actualmente para el script se encuentran en la categoría de bloque rojo.

  2. Acciones, que son instrucciones del juego. En nuestro caso, necesitamos una acción para agrandar la cabeza del personaje. Puedes encontrar la gran mayoría de las acciones en las categorías de bloques verde y azul.

Uso de bloques

Desde la izquierda, mantenga presionado el bloque y arrástrelo hacia el lienzo para usarlo en el script actual.

image-20250402182437921 image-20250402182455584

Los bloques se pueden conectar entre sí.

image-20250402182616637 image-20250402182630147

Manipulando bloques

Seleccionando

Al hacer clic en un bloque, lo seleccionará y aparecerá un panel de operación de bloque directamente debajo del lienzo, con el bloque seleccionado resaltado.

image-20250402184106420

Borrar

Haga clic para eliminar. Esto eliminará el bloque seleccionado del grupo de bloques y los bloques inferiores se rellenarán automáticamente hacia arriba.

image-20250402184414500

También puedes arrastrar bloques conectados hacia el lado derecho para eliminarlos.

image-20250402184634175 image-20250402184645257

Deshacer y rehacer

¿Te preocupa cometer un error? El menú contextual de la derecha te permite deshacer o rehacer todos los cambios en el script del bloque:

image-20250402184455422

Bloquear datos

Como habrás notado, hay varios bloques de colores y signos más en los bloques. Esto indica los datos que el bloque puede proporcionar al bloque inferior y los datos que necesita.

img-20250402160101108

Algunos de los datos requeridos ya se han completado con un valor predeterminado para usted, como “Reproducción automática” en la img de arriba.

Cada bloque tiene su propia lógica, y los datos proporcionados y requeridos son de diferentes tipos. A veces, necesitamos usar bloques de datos, variables e incluso funciones para proporcionar y recibir datos. Al fin y al cabo, un juego es simplemente un conjunto de cálculos de datos.

Hacer la cabeza del jugador más grande

¡Ahora que sabes cómo manipular bloques, sigamos y hagamos que la cabeza del personaje sea más grande en tu mapa!

Todo lo que necesitamos hacer es completar el script de bloque de esta manera:

img-20250402192617114

No dejes que la longitud te asuste, el núcleo es simplemente establecer el zoom del encabezado a tres veces el tamaño predeterminado.

img-20250402192733907

Primero, preparemos los bloques que necesitamos:

image-20250402151812785

Ajustar el zoom de la cabeza es un poco más complicado, ya que no se puede obtener el zoom de la cabeza del jugador directamente desde las propiedades del jugador. Por lo tanto, necesitamos el bloque Obtener propiedad para obtener propiedades que no se pueden leer directamente desde el bloque Establecer propiedad.

Usamos la propiedad Get para obtener el equipo del jugador:

img-20250402153444311

La entidad de destino de Obtener propiedad se arrastra hacia abajo desde Al unirse un jugador, lo que significa: siempre que un jugador se una al juego, se obtienen las propiedades del jugador que se ha unido al juego.

Utilice el equipo obtenido como entidad objetivo y continúe para obtener la “cabeza”.

img-20250402153810754

Arrastre la “cabeza” que obtuvo anteriormente a Establecer propiedad y seleccione la propiedad “Escala de esqueleto”:

img-20250402154010766

Haga clic en el signo más junto a Valor y seleccione el bloque de asignación Vector3 de la izquierda.

image-20250402154128112

Complete X, Y y Z con 3.

img-20250402154314494

Vector3 es un tipo de dato compuesto por tres números. Aquí, la escala predeterminada del equipo es (1,1,1). Al completar (3,3,3), la cabeza se triplica en las tres dimensiones del espacio 3D. También puede probar con diferentes combinaciones de números para comprobar el rendimiento real.

Finalmente, conectemos el bloque Establecer propiedad al bloque Al unirse el jugador. Solo los bloques conectados hacen que la lógica funcione.

image-20250402154557829

Haz clic en el botón de depuración para ingresar al juego y ver cómo funciona:

img-20250402154750511

image-20250402154804522 image-20250402154814476

Hay funciones aún más potentes en el script de bloque esperando a que las descubras.

Diferentes scripts

¡El mismo bloque puede comportarse de manera diferente en diferentes scripts!

Esto se debe a que, además del “guión global” que acabamos de usar, cada jugador tendrá un “guión de jugador” y cada equipo tendrá un “guión de equipo”. Si lo deseas, incluso puedes agregar guiones a objetos y consumibles en la escena.

Los scripts surten efecto en la entidad en la que se encuentran. Si se asigna un evento como “Al unirse un jugador” al script del jugador, todos los jugadores en el campo (incluido el nuevo) responderán a este evento cada vez que un jugador se una. Si nuestro bloque asigna un M4A1 al jugador al unirse, si se asigna en el script global, cada jugador tendrá un M4A1; si se asigna en el script del jugador, cada jugador asignará un M4A1 al nuevo jugador, ¡y este tendrá demasiadas armas para controlar!