Blok skrip

Apa itu skrip blok?

gambar-20250402145046440

Pernahkah Anda memperhatikan bahwa kepala karakter di Free Fire menjadi sangat besar?

Efek ini dicapai dengan menggunakan skrip blok yang kuat.

gambar-20250402192617114

Skrip blok adalah metode pemrograman visual yang memungkinkan Anda menulis logika permainan yang sangat disesuaikan.

Titik masuk

Anda dapat menemukan titik masuk untuk memblokir skrip di bawah menu Lainnya.

gambar-20250402145458469

gambar-20250402145643612

Ada juga beberapa lokasi lain tempat Anda dapat memasuki antarmuka penyuntingan skrip blok. Anda dapat menemukan entri untuk skrip blok di bawah Pengaturan Dasar dan Pengaturan Properti di Edit Aturan Gameplay. Antarmuka penyuntingan yang mereka masuki sama.

Pengenalan dasar tentang blok

Redaktur

Pertama, kita dapat melihat area penting di editor blok.

gambar-20250402181900017

Di sebelah kiri terdapat semua blok yang tersedia dalam berbagai kategori. Di bagian tengah terdapat adegan penyuntingan yang kami sebut “kanvas”. Blok perlu diseret dan dijatuhkan ke dalam kanvas agar dapat diterapkan.

Kategori blok

Ada dua kategori inti blok:

  1. Peristiwa, yang menentukan kapan logika dipicu, misalnya kapan pun pemain bergabung dalam permainan, atau kapan dimulainya babak. Peristiwa yang tersedia saat ini untuk skrip berada dalam kategori blok merah

  2. Tindakan, yang merupakan instruksi untuk permainan. Dalam kasus kami, kami memerlukan tindakan untuk memperbesar kepala karakter! Anda dapat menemukan sebagian besar tindakan dalam kategori blok hijau dan biru.

Menggunakan blok

Dari kiri, tahan blok dan seret ke kanvas untuk menggunakannya dalam skrip saat ini.

gambar-20250402182437921 gambar-20250402182455584

Blok dapat dihubungkan satu sama lain.

gambar-20250402182616637 gambar-20250402182630147

Memanipulasi blok

Memilih

Mengklik suatu blok akan memilihnya, dan panel operasi blok akan muncul tepat di bawah kanvas, dengan blok yang dipilih disorot.

gambar-20250402184106420

Menghapus

Klik untuk menghapus. Ini akan menghapus blok yang dipilih dari grup blok, dan blok di bawahnya akan otomatis terisi ke atas.

gambar-20250402184414500

Anda juga dapat menyeret blok yang terhubung ke sisi kanan untuk menghapusnya.

gambar-20250402184634175 gambar-20250402184645257

Batalkan dan ulangi

Khawatir akan membuat kesalahan? Menu pintasan di sebelah kanan memungkinkan Anda untuk membatalkan atau mengulang semua perubahan pada skrip blok:

gambar-20250402184455422

Blokir data

Seperti yang mungkin Anda perhatikan, ada berbagai blok berwarna dan tanda tambah pada blok tersebut. Ini menunjukkan data yang dapat diberikan blok tersebut untuk blok di bawahnya dan data yang dibutuhkannya.

gambar-20250402160101108

Beberapa data yang diperlukan sudah diisi dengan nilai default untuk Anda, seperti “Putar Otomatis” pada gambar di atas

Setiap blok memiliki logika uniknya sendiri, dan data yang disediakan dan data yang dibutuhkan memiliki tipe data yang berbeda. Terkadang, kita harus menggunakan blok data, variabel, dan bahkan fungsi untuk menyediakan dan menerima data. Pada akhirnya, permainan hanyalah sekumpulan kalkulasi data.

Membuat kepala pemain lebih besar

Sekarang setelah Anda tahu cara memanipulasi balok, mari ikuti dan buat kepala karakter lebih besar di peta Anda!

Yang perlu kita lakukan adalah melengkapi skrip blok seperti ini:

gambar-20250402192617114

Jangan biarkan panjangnya membuat Anda takut, intinya adalah mengatur zoom header menjadi tiga kali ukuran default.

gambar-20250402192733907

Pertama, mari kita siapkan blok yang kita butuhkan:

gambar-20250402151812785

Menyesuaikan pembesaran kepala sedikit lebih rumit, karena Anda tidak bisa mendapatkan pembesaran kepala pemain secara langsung dari properti pemain. Jadi kita memerlukan blok Get property untuk membantu kita mendapatkan properti yang tidak bisa dibaca secara langsung dari blok Set property.

Kami menggunakan properti Get untuk mendapatkan rig pemain:

gambar-20250402153444311

Entitas target dari properti Dapatkan ditarik ke bawah dari Saat Pemain Bergabung, artinya: Setiap kali pemain bergabung dalam permainan, dapatkan properti pemain yang telah bergabung dalam permainan.

Gunakan rig yang diperoleh sebagai entitas target dan terus dapatkan “kepala”

gambar-20250402153810754

Seret “kepala” yang Anda peroleh di atas ke Set property, dan pilih properti “Skeleton Scale”:

gambar-20250402154010766

Klik tanda plus di samping Nilai dan pilih blok penugasan Vector3 dari sebelah kiri.

gambar-20250402154128112

Isilah X, Y, dan Z dengan 3.

gambar-20250402154314494

Vector3 adalah tipe data yang terdiri dari tiga angka. Di sini, skala rig default adalah (1,1,1). Mengisi (3,3,3) berarti kepala diperbesar tiga kali dalam ketiga dimensi ruang 3D. Anda juga dapat mencoba mengisi berbagai kombinasi angka untuk melihat kinerja sebenarnya.

Terakhir, mari hubungkan blok Set Property ke blok On Player Join. Hanya blok yang terhubung yang membuat logika bekerja.

gambar-20250402154557829

Klik tombol debug untuk memasuki permainan dan melihat cara kerjanya:

gambar-20250402154750511

gambar-20250402154804522 gambar-20250402154814476

Bahkan ada fungsi yang lebih hebat dalam skrip blok yang menunggu untuk Anda temukan.

Skrip yang berbeda

Blok yang sama mungkin berperilaku berbeda dalam skrip yang berbeda!

Hal ini karena, selain “skrip global” yang baru saja kita gunakan, setiap pemain akan memiliki “skrip pemain” dan setiap tim akan memiliki “skrip tim”. Jika Anda mau, Anda bahkan dapat menambahkan skrip ke objek dan barang habis pakai di Scene.

Skrip berlaku pada entitas tempat mereka berada. Jika suatu peristiwa seperti “Saat Pemain Bergabung” ditempatkan pada “skrip pemain”, maka setiap pemain di lapangan (termasuk pemain baru) akan menanggapi peristiwa ini setiap kali pemain bergabung. Jika blok kita adalah memberi pemain sebuah M4A1 saat ia bergabung, jika ditempatkan dalam skrip global, maka setiap pemain akan memiliki satu M4A1; jika ditempatkan dalam skrip pemain, setiap pemain akan memberi pemain baru sebuah M4A1, dan pemain baru akan memiliki terlalu banyak senjata untuk ditangani!