Mekanika Permainan

1

Ringkasan Peta

Mekanika Permainan (Dapat Diedit Ulang) adalah salah satu templat gameplay resmi yang sudah terpasang di editor Free Fire CraftLand. Templat ini menyediakan blueprint yang dapat digunakan ulang untuk fitur gameplay dasar, yang terdiri dari tiga komponen utama: adegan peta, pengaturan aturan, dan skrip sprite.

Dalam templat ini, Anda dapat mengalami dan mempelajari metodologi pengeditan gameplay inti—berinteraksi dengan mekanisme yang sudah dirancang sebelumnya dan mengalami umpan baliknya.

Secara bersamaan, Anda dapat dengan cepat memahami dan menyelami mekanisme interaktif lain dalam game. Ini termasuk mengaktifkan pemicu kustom, meningkatkan/menurunkan kesehatan pemain, memunculkan monster (zombie), memindahkan objek, menteleportasi pemain ke lokasi tertentu, menampilkan teks kustom, mengubah penampilan karakter, dan berinteraksi dengan antarmuka HUD kustom. Dengan membangun atas logika skrip dasar ini, Anda dapat memperluas dan mengedit ulang untuk menciptakan karya unik Anda sendiri.

Skenario Peta

Pertama, pengenalan desain scene: area keseluruhan didasarkan pada scene kosong default, dengan ruang persegi sederhana yang dibangun dan mekanisme interaktif tersebar di seluruh area (dalam kotak merah di bagian atas gambar di bawah). Pemain dapat dibagi menjadi tiga tim dan akan muncul di satu sisi peta saat masuk ke permainan (kotak merah di bagian bawah gambar di bawah), dan bebas berpartisipasi dalam pengalaman gameplay inti.

2

Selain melakukan penyesuaian cepat pada objek langsung di dalam scene, Anda juga dapat mengelola semua objek scene secara komprehensif dengan mengklik More - Object Manager

3

Fungsi Terkait

Aturan

Untuk mengonfigurasi aturan permainan, navigasikan ke Pengaturan > Pengaturan Permainan > Editor Aturan Permainan

4

Di sini Anda dapat mengedit aturan detail yang spesifik untuk templat ini, termasuk: Mode, Pengaturan Atribut, Ekonomi, dan Kamera.

Pengaturan aturan templat saat ini terutama berbeda dari pengaturan default di area berikut: Mode dan Ekonomi. Entri aturan spesifik yang berbeda dari default tercantum di bawah ini.

Mode

Pengaturan Putaran: Konfigurasikan parameter terkait putaran.

Konfigurasi Tim: Menentukan jumlah pemain per sesi, slot tim yang tersedia, dan jumlah pemain minimum yang diperlukan untuk memulai permainan

5

Ekonomi

Pengeditan Toko: Menentukan barang yang dapat dibeli pemain dengan token di lokasi tertentu dan harganya

Catatan: Karena gameplay inti template ini berfokus pada pengalaman mekanisme, mesin penjual otomatis tidak dikonfigurasi secara default. Jika diperlukan, mereka dapat ditarik dari perpustakaan objek ke dalam adegan dan dibuat

6 7

Antarmuka Pengguna

Untuk membuat antarmuka pengguna kustom, klik More - Custom HUD

8

Di sini Anda dapat mengedit antarmuka HUD kustom yang dapat diinteraksi oleh pemain selama pertandingan, dan navigasi ke desain skrip yang sesuai

Antarmuka HUD kustom pada templat saat ini hanya berfungsi untuk mekanisme pintu yang diaktifkan tombol

Untuk mengedit kontrol spesifik, pilih Edit Layout - lalu pilih kontrol yang diinginkan dari daftar di sebelah kiri

9 10

Di sini Anda dapat menyesuaikan berbagai properti kontrol tertentu, seperti: ukuran, posisi, sudut rotasi, visibilitas, transparansi, warna, konten yang ditampilkan, dll.

Lompat ke desain skrip elemen grafis yang sesuai:

Klik Edit Script - Lompat ke antarmuka pengeditan skrip HUD. Metode pembuatan skrip spesifik akan dijelaskan di bawah ini.

11

Ringkasan antarmuka HUD dalam permainan: (Ditampilkan secara otomatis saat karakter pemain memasuki jangkauan pemicu kustom pintu tombol)

12

Tombol ini mengontrol pembukaan/penutupan pintu dalam mekanisme pintu tombol

Metaprogramming

Mekanisme permainan tambahan memerlukan Editor Metaprogramming, yang dapat diakses dengan:

Klik More - Element Scripts, lalu pilih skrip spesifik yang ingin diedit dari sudut kanan atas antarmuka

13 14

Bagian ini terutama memperkenalkan mekanika permainan inti di bawah “Game Mechanics” dan bagaimana aturan spesifik lainnya diimplementasikan melalui skrip.

Anda dapat mengedit skrip tertentu dan menyesuaikan parameter yang relevan di sini

Untuk fungsi skrip yang memerlukan pemahaman lebih lanjut, klik skrip tertentu untuk melihat detail

Skrip Pemicu Kustom

Bagian ini menjelaskan efek dan konten skrip untuk setiap mekanisme

No. Nama Mekanisme
Zona Penyembuhan
Zona Kerusakan
Zona Spawn Monster
Zona Perangkap
Zona Teleportasi
Zona Tampilan Teks
Zona Perubahan Kostum
Lift
Pintu Otomatis
Pintu Tombol

Zona Penyembuhan

15
  1. Saat masuk, karakter pemain secara terus-menerus memulihkan kesehatan dengan laju 15 HP per detik, disertai efek visual penyembuhan

Ringkasan:

16
  • Fungsi inti dari mekanisme ini—menyembuhkan pemain (meningkatkan poin kesehatan mereka)—terkandung dalam fungsi berikut, yang dieksekusi untuk setiap pemain yang memenuhi syarat yang masuk ke dalam mekanisme. Berikut adalah implementasi skrip spesifiknya:

Area 2-3

Fungsi “Updatetreat”

  1. Jika “ListOfTreat” > 0 dan hasil dari waktu permainan dikurangi variabel kustom “LastUpDateTime” lebih besar dari 1000, atur variabel kustom “LastUpDateTime” sama dengan waktu permainan
  2. Indeks elemen ‘Player’ dalam kontainer data “ListOfTreat”. Jika kesehatan saat ini pemain < kesehatan maksimum mereka, tambahkan kesehatan pemain tersebut sebesar 15
17
  • Saat pemain menerima penyembuhan, kami juga ingin memberikan umpan balik visual melalui efek khusus untuk menunjukkan bahwa fungsi tersebut aktif. Fungsi ini dikapsulkan dalam fungsi berikut; di bawah ini adalah implementasi skrip spesifik:

Area 2-2

Fungsi “CreateEffects”

  1. Tambahkan pemain ke daftar “ListOfTreat”
  2. Buat efek arus udara naik pada pemain, dengan jenis loop diatur ke ‘Loop’, ‘Play Immediately’ diatur ke ‘True’, dan kembalikan ‘SpecialEffect’
  3. Masukkan ‘SpecialEffect’ ke dalam daftar ‘SpecialEffect’ pada indeks yang sesuai dengan penampilan pertamanya pada pemain
  4. Buat ‘Tween’ untuk ‘SpecialEffect’ agar mengikuti target pemain, tanpa offset pada sumbu XYZ, tanpa sistem koordinat referensi, dan diatur ke ‘Play Immediately’, mengembalikan ‘Tween’
  5. Atur warna efek “SpecialEffect” menjadi hijau
  6. Atur skala efek “SpecialEffect” menjadi 0,5x di semua sumbu XYZ
  7. Masukkan ‘Tween’ ke dalam daftar “Tween” pada indeks yang sesuai dengan kemunculan pertamanya di pemain
18
  • Bagian ini terutama mendefinisikan variabel untuk menentukan waktu eksekusi acara, menangani pemain yang masuk/keluar mekanisme, dan memanggil fungsi pada saat yang tepat. Berikut adalah implementasi skrip spesifik:

Area 2-1

  1. Pada awal fase, atur variabel kustom “LastUpdateTime” ke waktu permainan
  2. Saat karakter pemain masuk ke pemicu kustom ini, panggil fungsi ‘CreateEffects’
  3. Saat karakter pemain keluar dari pemicu kustom ini, hancurkan dan hapus nilai target secara batch (beberapa target memerlukan pengindeksan melalui daftar)
  4. Saat pembaruan, panggil fungsi “UpdateTreat”
19

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables dan Functions.

20 21

Zona Kerusakan

“22”
  1. Saat masuk, karakter pemain mengalami kerugian kesehatan terus-menerus sebesar 15 HP per detik

Ringkasan:

23
  • Fungsi inti dari mekanisme ini—menyebabkan kerusakan pada pemain (mengurangi kesehatan mereka)—dibungkus dalam fungsi berikut, yang dijalankan untuk setiap pemain yang memenuhi syarat yang masuk ke area tersebut. Implementasi skrip spesifiknya sebagai berikut:

Area 3-2

Fungsi “UpdateInjure”

  1. Jika panjang “ListOfInjure” > 0
  2. Jika hasil dari waktu permainan dikurangi variabel kustom “LastUpdateTime” melebihi 1000, atur variabel kustom “LastUpdateTime” sama dengan waktu permainan, lalu indeks elemen ‘Player’ dalam kontainer data “ListOfInjure”
  3. Jika kesehatan pemain saat ini ≠ 0, berikan 15 kerusakan pada pemain tersebut
24
  • Bagian ini terutama mendefinisikan variabel untuk menentukan waktu eksekusi acara, menangani pemain yang masuk/keluar mekanisme, dan memanggil fungsi sesuai kebutuhan. Implementasi skrip spesifiknya sebagai berikut:

Area 3-1

  1. Saat tahap dimulai, atur variabel kustom “LastUpdateTime” ke waktu permainan saat ini
  2. Saat karakter pemain masuk/keluar dari pemicu kustom ini, tambahkan/hapus pemain dari ‘ListOfInjure’
  3. Saat pembaruan, panggil fungsi “UpdateInjure”
26

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables dan Functions

27 28

Zona Spawn Monster

29
  1. Menghasilkan satu zombie di dekat zona ini saat karakter pemain masuk
  • Fungsi utama mekanisme ini—munculnya zombie—dapat dipicu oleh setiap pemain yang masuk ke dalamnya, disertai dengan efek suara yang sesuai. Berikut adalah implementasi skrip spesifiknya:
  1. Saat karakter pemain memasuki pemicu kustom ini, buat zombie di koordinat: XYZ = (Koordinat X pemain - 2, Koordinat Y pemain, Koordinat Z pemain - 2). Zombie tersebut harus bertipe normal, dengan auto-target disetel ke true, tipe perilaku pasif, dan tidak ada jalur yang ditetapkan.
  2. Buat efek suara peringatan non-target dengan jenis loop ‘sekali’ dan ‘putar segera’ disetel ke true.
“30”

Area Perangkap

31 32
  1. Saat karakter pemain masuk, kandang jebakan di atas kepalanya akan turun, mengurung pemain di area tersebut
  2. Setelah kandang jebakan turun, akan ditampilkan hitung mundur 10 detik, dan jebakan akan pulih setelah hitung mundur selesai

Ringkasan:

33
  • Fungsi inti mekanisme ini—penurunan kandang jebakan dan penjeratan pemain—dibungkus dalam fungsi berikut, yang dijalankan untuk setiap pemain yang memenuhi syarat yang masuk ke mekanisme
  • Secara bersamaan, inisialisasi mekanisme dikemas sebagai fungsi, mencakup pengelompokan terpadu objek perangkap adegan dan penyembunyian teks hitung mundur sebelumnya. Implementasi skrip spesifiknya sebagai berikut:

Area 4-2

Fungsi “TrapFalls”

  1. Jika “TrapState” benar, pindahkan objek level “Trap” dengan kontainer data indeks “Trap” ke koordinat XYZ = (“Trap” koordinat X, ‘Trap’ koordinat Y - 2, “Trap” koordinat Z)
  2. Atur “TrapState” menjadi false

Fungsi “Initialisation”

  1. Tambahkan “Iron Fence1-4” ke ‘Trap’
  2. Atur variabel kustom “TrapTime” menjadi true
  3. Buat objek teks di koordinat XYZ = (Koordinat X entitas adegan “Block”, Koordinat Y entitas adegan “Block” + 3, Koordinat Z entitas adegan ‘Block’), kembalikan “Text”
  4. Atur variabel kustom “Time” menjadi “Text”
  5. Atur posisi “Text” ke koordinat: XYZ = (Koordinat X entitas scene “Block”, Koordinat Y entitas scene “Block” + 3, Koordinat Z entitas scene “Block”)
  6. Atur isi “Text” menjadi string ‘10’
  7. Atur faktor skala “Text” menjadi 0 di semua arah XYZ
34
  • Saat jebakan dipasang, tampilkan hitung mundur 10 detik kepada pemain. Setelah hitung mundur selesai, tarik kembali jebakan dan sembunyikan teks hitung mundur. Fungsi ini sebagian dikapsulkan dalam fungsi berikut; implementasi skrip spesifiknya sebagai berikut:

Area 4-3

Fungsi “UpdateInjure”

  1. Jika “TrapState” bernilai false, dan hasil dari waktu permainan dikurangi variabel kustom “LastUpDateTime” melebihi 1000, atur variabel kustom “LastUpDateTime” sama dengan waktu permainan. Konversi string ‘Time’ menjadi bilangan bulat dan kembalikan " Result“, atur isi ”Time“ menjadi ”Result“-1
  2. Jika isi ”Time“ adalah 0, atur faktor skala ”Text“ menjadi 0 di semua arah XYZ, atur isi ”Text“ menjadi string ”10“, panggil fungsi ‘TrapRecovery’, dan atur ”TrapState" menjadi true
35

Area 4-4

  1. Jika “TrapState” bernilai false, indeks elemen “Each” dalam kontainer data “Trap”, pindahkan objek level “Each” ke koordinat XYZ = (koordinat X “Each”, koordinat Y “Each” + 2, koordinat Z ‘Each’)
  2. Atur faktor skala “Time” menjadi 2 di semua arah XYZ
36
  • Bagian ini terutama menentukan waktu untuk memanggil setiap fungsi; di bawah ini adalah implementasi skrip spesifik:

Area 4-1

  1. Saat permainan dimulai, panggil fungsi “Initialisation”
  2. Ketika karakter pemain memasuki pemicu kustom ini, tunggu 0,3 detik sebelum memanggil fungsi “TrapFalls” dan “CountDown”
  3. Selama pembaruan, panggil fungsi ‘UpdateInjure’
37

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables dan Functions masing-masing.

38 39

### Zona Transmisi

40 41
  1. Tampilkan hitung mundur 3 detik saat karakter pemain masuk, sambil memutar efek teleportasi pada karakter
  2. Setelah hitungan mundur selesai, karakter akan diteleportasi ke lokasi yang ditentukan.

Ringkasan:

42
  • Fungsi inti mekanisme ini—meneleportasi pemain yang masuk ke lokasi yang ditentukan setelah 3 detik—dibungkus dalam fungsi berikut, yang dapat dieksekusi untuk setiap pemain yang memenuhi syarat yang masuk ke mekanisme. Berikut adalah implementasi skrip spesifik:

Area 5-2

Fungsi “MyUpdate”

  1. Ambil elemen “Player” dari kontainer data indeks “PlayerList”
  2. Atur variabel sementara “State” ke nilai ‘index’ dari “PlayerStateList”
  3. Jika “state” = 1, atur variabel sementara “enter_tick” ke “index” dari “EnterTickList”, atur variabel sementara “stay_tick” ke waktu permainan dikurangi “enter_tick”, atur variabel sementara ‘countdown’ ke (3000 - “stay_tick”) * 0.001 dibulatkan ke atas
  4. Jika “countdown” > 0, atur isi “index” dalam “TextEntityList” menjadi string “countdown”. Jika tidak, atur variabel sementara “target_pos” menjadi posisi objek scene “TeleportTar”, lalu teleport pemain ke koordinat XYZ = (“target_pos” koordinat X, ‘target_pos’ koordinat Y + 2, “target_pos” koordinat Z) , putar dengan sudut Euler XYZ = (0, 0, 0)
43
  • Saat pemain akan diteleportasi, kami juga ingin memberi peringatan visual melalui efek khusus bahwa fungsi tersebut aktif, sambil menampilkan hitung mundur teleportasi selama 3 detik. Fungsi ini dikapsulkan dalam fungsi berikut; di bawah ini adalah implementasi skrip spesifik:

Area 5-3

Fungsi “InitPlayerData”

  1. Tambahkan pemain ke “PlayerList”, tambahkan 0 ke “PlayerStateList”, tambahkan 0 ke “EnterTickList”
  2. Buat objek teks di koordinat XYZ = (0, 0, 0), kembalikan ‘TextEntity’
  3. Buat “TextEntity” untuk mengikuti pemain, dengan offset dari sistem koordinatnya sebesar XYZ = (0, 1.5, 0) dan putar segera
  4. Tambahkan “TextEntity” ke “TextEntityList”
  5. Buat efek visual percikan pada pemain, atur jenis loop ke looping, atur putar segera ke true, kembalikan “VisualEffectEnti”
  6. Atur warna efek visual ‘VisualEffectEnti’ ke biru
  7. Buat " VisualEffectEnti“ untuk mengikuti target pemain, tanpa offset sepanjang sumbu XYZ relatif terhadap sistem koordinat mereka, dan putar segera.
  8. Tambahkan ‘VisualEffectEnti’ ke ”VisualEffectList"
44

Area 5-4

Fungsi “ReadyToTeleport”

  1. Atur “index” dari “PlayerStateList” menjadi 1
  2. Atur “index” dari “EnterTickList” menjadi waktu permainan
  3. Atur isi “index” dalam “TextEntityList” menjadi kosong
  4. Atur faktor skala ‘index’ dalam “TextEntityList” menjadi 1 pada semua arah sumbu XYZ
  5. Atur faktor skala untuk “indeks” dalam “VisualEffectList” menjadi 1 di semua arah XYZ
45
  • Saat membatalkan teleportasi pemain, tindakan berikut dieksekusi: Sembunyikan teks hitung mundur dan efek teleportasi. Fungsi ini dikapsulkan dalam fungsi berikut; implementasi skrip spesifiknya sebagai berikut:

Area 5-5

Fungsi “AbortTeleport”

  1. Atur “index” dari “PlayerStateList” menjadi 0
  2. Atur faktor skala “index” dalam “TextEntityList” menjadi 0 pada semua arah XYZ
  3. Atur faktor skala ‘index’ dalam “VisualEffectList” menjadi 0 pada semua arah XYZ
46
  • Bagian ini terutama menentukan waktu panggilan fungsi; implementasi skrip spesifiknya sebagai berikut:

Area 5-1

  1. Mulai eksekusi loop: tunggu 0,2 detik, lalu panggil fungsi “MyUpdate”
  2. Saat karakter pemain memasuki pemicu kustom ini, atur variabel sementara “index” ke posisi di mana “Player” pertama kali muncul dalam “PlayerList”. Jika index=-1, panggil fungsi “InitPlayerData”; panggil fungsi ‘ReadyToTeleport’
  3. Saat karakter pemain meninggalkan pemicu kustom ini, panggil fungsi “AbortTeleport”
47

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables dan Functions

48 49

Area Tampilan Teks

50
  1. Tampilkan teks “HelloWorld” saat karakter pemain masuk
  2. Sembunyikan teks ‘HelloWorld’ saat karakter pemain keluar
  • Fungsi inti dari mekanisme ini—menampilkan dan menyembunyikan teks “HelloWorld” pada waktu yang tepat—dibungkus dalam fungsi berikut
  • Konten ini juga menentukan waktu pemanggilan fungsi yang disebutkan di atas; implementasi skrip spesifiknya sebagai berikut:
  1. Saat karakter pemain masuk/keluar dari pemicu kustom ini, tambahkan/hapus “Player” dari daftar “ListOfPlayer”
  2. Di posisi entitas scene “CueArea” (dicatat sebagai Lokasi), panggil fungsi “CreateTips”/panggil fungsi ‘DeleteTips’

Fungsi “CreateTips”

  1. Buat objek teks di koordinat posisi XYZ = (koordinat X “Location”, koordinat Y “Location” + 2, koordinat Z “Location”), mengembalikan “Tips”
  2. Atur variabel kustom ‘Tips’ = “Tips”
  3. Atur isi “Tips” menjadi “Hello World”

Fungsi “DeleteTips”

Jika panjang ‘PlayerList’ ≤ 0, maka hancurkan “Tips”

51

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variabel dan Fungsi
52 53

Area Perubahan Kostum

54
  1. Saat masuk, penampilan karakter pemain akan berubah sesuai dengan jenis kelaminnya
  • Fungsi utama mekanisme ini—mengubah pemain menjadi pakaian yang sesuai dengan jenis kelamin—dapat dipicu oleh setiap pemain yang masuk ke dalamnya; implementasi skrip spesifiknya sebagai berikut:

Skrip area ini menunjukkan cara mengubah karakter pemain yang masuk secara acak menjadi pakaian yang sesuai dengan jenis kelaminnya saat memicu pemicu kustom ini

  1. Pada awal permainan, tambahkan pakaian berikut ke “Lemari Pakaian Wanita” dan " Men’sWardrobe“
  2. Saat karakter memasuki pemicu kustom ini, jika jenis kelamin mereka adalah 2, acak ”Men’sWardrobe“ dan atur pakaian mereka ke set pada indeks 0 dari ”Men’sWardrobe“
  3. Jika tidak, acak ”Women’sWardrobe“ dan atur pakaian mereka ke set pada indeks 0 dari ”Women’sWardrobe"
55

Lampiran: Variabel kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables

56

Lift

57
  1. Ketika karakter pemain masuk ke lift, lift akan naik secara bertahap hingga mencapai ketinggian maksimum yang ditetapkan
  2. Ketika karakter pemain keluar dari lift, lift akan turun secara bertahap hingga kembali ke posisi awalnya

Ringkasan:

58
  • Fungsi inti mekanisme ini—menyebabkan objek lift naik saat pemain masuk dan turun saat mereka keluar—dibungkus dalam fungsi berikut. Fungsi ini dijalankan untuk setiap pemain yang memenuhi syarat yang masuk ke mekanisme. Berikut adalah implementasi skrip spesifik:

Area 6-2, 6-3

Fungsi “CreateAnElevator”

  1. Atur variabel kustom ‘ElevatorsLocation’ ke posisi “Elevator”
  2. Jalankan loop saat kondisi terpenuhi: panjang PlayerList > 0. Tunggu 0,5 detik, atur koordinat Y ElevatorsLocation ke nilai saat ini + 0,2, perbarui variabel kustom ElevatorsLocation, atur posisi Elevator ke ElevatorsLocation, atur posisi pemicu kustom ini ke ElevatorsLocation
  3. Lanjutkan looping hingga panjang “PlayerList” ≤ 0 atau variabel kustom “Mark” ≥ 20, jika tidak, tambahkan ‘Mark’ sebesar 1

Fungsi “DescendElevator”

  1. Kondisi terpenuhi: Jalankan loop saat panjang “PlayerList” = 0: Tunggu 0,5 detik, atur variabel sementara “Time” ke posisi “Elevator”, atur koordinat Y “Time” ke nilai saat ini - 0,2, perbarui variabel kustom “Time”, atur posisi “Elevator” ke “Time”, atur posisi pemicu kustom ini ke ‘Time’
  2. Hingga “PlayerList” panjang > 0 atau koordinat Y “Time” ≤ 2.8, jika tidak, lanjutkan looping dan atur nilai “Mark” menjadi nilai saat ini dikurangi 1
“59” 60
  • Bagian ini terutama menentukan waktu panggilan fungsi dan mendefinisikan variabel untuk menetapkan nilai ke objek adegan. Berikut adalah implementasi skrip spesifik:

Area 6-1

  1. Saat karakter pemain memasuki pemicu kustom ini, tambahkan pemain ke “ListOfInjure” dan panggil fungsi “CreateAnElevator”
  2. Saat karakter pemain meninggalkan pemicu kustom ini, hapus pemain dari ‘ListOfInjure’. Jika panjang " PlayerList“ ≤ 0, panggil fungsi ”DescendElevator“
  3. Pada awal permainan, atur variabel kustom ‘Elevator’ ke objek scene ”High-Tech Platform A1"
61

Lampiran: Variabel dan fungsi kustom yang diperlukan oleh skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variabel dan Fungsi.

62 63

Pintu Otomatis

64
  1. Ketika karakter pemain mendekati pintu (masuk ke dalam jangkauan pemicu kustom), pintu akan terbuka secara otomatis
  2. Ketika karakter menjauh dari pintu lagi (keluar dari jangkauan pemicu kustom), pintu akan menutup secara otomatis.

Ringkasan:

65
  • Fungsi inti mekanisme ini—membuka pintu saat pemain mendekati dan menutupnya saat mereka pergi—dibungkus dalam fungsi berikut, yang dieksekusi untuk setiap pemain yang memenuhi syarat yang masuk ke mekanisme. Berikut adalah implementasi skrip spesifik:

Area 7-3 dan 7-4

Fungsi “OpenTheDoor”

Jika panjang “PlayerList” ≥ 0, kondisi terpenuhi: mulai menjalankan loop saat “Mark” ≤ 5 hingga panjang ‘PlayerList’ = 0 atau “Mark” > 5; jika tidak, lanjutkan loop:

  1. Tunggu 0,5 detik
  2. Atur koordinat posisi XYZ “Platform Gaya Jepang A1” menjadi (“Koordinat X Platform Gaya Jepang A1 + 0,2, Koordinat Y Platform Gaya Jepang A1, Koordinat Z Platform Gaya Jepang A1”)
  3. Atur koordinat posisi XYZ “Platform Gaya Jepang A1(1)” menjadi: (Koordinat X “Platform Gaya Jepang A1(1)” - 0,2, Koordinat Y “Platform Gaya Jepang A1(1)”, Koordinat Z “Platform Gaya Jepang A1(1)”)
  4. Tambahkan nilai “Mark” sebesar 1

Fungsi “CloseTheDoor”

Jika panjang “PlayerList” sama dengan 0, jalankan loop saat “Mark” ≥ 0 hingga panjang “PlayerList” > 0 atau ‘Mark’ = 0; jika tidak, lanjutkan loop:

  1. Tunggu 0,5 detik
  2. Atur nilai “Mark” menjadi 1 kurang dari nilai saat ini
  3. Atur koordinat posisi XYZ “Platform Gaya Jepang A1” menjadi: (Koordinat X Platform Gaya Jepang A1 - 0.2, Koordinat Y Platform Gaya Jepang A1, Koordinat Z Platform Gaya Jepang A1)
  4. Atur koordinat posisi XYZ “Platform Gaya Jepang A1(1)” menjadi: XY = (koordinat X “Platform Gaya Jepang A1(1)” + 0,2), Y = (koordinat Y “Platform Gaya Jepang A1(1)”), Z = (koordinat Z “Platform Gaya Jepang A1(1)”) Koordinat Z “Platform Gaya Jepang A1(1)”
66 67
  • Bagian ini terutama melibatkan definisi variabel untuk menentukan waktu eksekusi peristiwa, memproses pemain yang masuk/keluar mekanisme, dan memanggil fungsi pada waktu yang tepat. Berikut adalah implementasi skrip spesifik:

Zona 7-1, 7-2

  1. Saat permainan dimulai, atur variabel kustom “Mark” menjadi 0
  2. Saat karakter pemain masuk/keluar pemicu kustom ini, tunggu hingga frame berikutnya, tambahkan/hapus pemain dari “PlayerList”, tunggu hingga frame berikutnya, lalu panggil fungsi ‘OpenTheDoor’/“CloseTheDoor”
68 69

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variabel dan Fungsi

70 71

Pintu Tombol

72 73
  1. Ketika karakter pemain mendekati pintu (masuk ke jangkauan pemicu), antarmuka UI akan menampilkan tombol XX. Mengklik tombol ini akan membuka pintu; mengkliknya lagi akan menutup pintu
    . Ketika karakter menjauh dari pintu (keluar dari jangkauan pemicu), tombol UI XX akan menghilang, sementara pintu tetap dalam keadaan terbuka/tertutup saat ini.
  • Fungsi inti mekanisme ini—membuka pintu saat tombol pemain ditekan dan menutupnya saat ditekan kembali—dibungkus dalam fungsi berikut, yang dapat dieksekusi untuk setiap pemain yang memenuhi syarat yang masuk ke mekanisme:
  • Ini juga mencakup pemrosesan untuk pemain yang masuk/keluar dari mekanisme dan pemanggilan fungsi yang tepat waktu. Implementasi skrip spesifiknya sebagai berikut:
  1. Saat pemain memasuki pemicu kustom ini, atur properti visibilitas UI kustom “HudList” menjadi true

  2. Saat pemain bergabung dengan permainan, panggil fungsi ‘CreateHUD’

  3. Fungsi “CreateHUD”

Menambahkan pemain ke “PlayerList”

Membuat tombol HUD kustom ‘Button’ untuk pemain XX dan mengembalikan “Ui”

Masukkan “Ui” ke dalam “HudList” pada posisi yang sesuai dengan kemunculan pertama “Player” dalam ‘PlayerList’

Atur properti visibilitas “HudList” (sebagai UI kustom) menjadi false

  1. Saat pemain meninggalkan pemicu kustom ini, atur properti visibilitas “HudList” UI kustom menjadi false
74

Lampiran: Variabel dan fungsi kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables dan Functions

75 ! 76

Skrip Global

  • Untuk menyederhanakan konten skrip dan memudahkan pemantauan status mekanisme multiple melalui satu variabel (misalnya, durasi operasi lift mekanisme ⑧ atau status pintu tombol mekanisme ⑩), kami memerlukan variabel global (ditandai sebagai Mark)

Pada awal permainan, atur variabel kustom “Mark” menjadi 0

77

Catatan: Variabel kustom yang diperlukan untuk skrip ini dapat dilihat dan dikelola dengan mengklik Variables

78

Skrip Pemain

  • Untuk memastikan pemain dapat menikmati gameplay inti dengan lancar, mereka harus diizinkan untuk respawn setelah mati. Berikut adalah implementasi skrip spesifik:
  1. Saat pemain bergabung dengan permainan, atur variabel kustom “DamageDetermina” menjadi false
  2. Saat pemain terbunuh, tunggu 3 detik dan respawn mereka pada frame berikutnya
79

Lampiran: Variabel kustom yang diperlukan untuk skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Variables

80

Skrip HUD

Ringkasan:

81
  • Saat pemain mengklik tombol, hal ini akan memicu perilaku yang berbeda tergantung pada status pintu saat ini. Oleh karena itu, perlu mengevaluasi properti entitas dan nilai variabel kustom Mark, kemudian memanggil fungsi yang sesuai. Berikut adalah implementasi skrip spesifik:

Area 1-1

  1. Saat tombol!XX diklik, jika posisi sumbu X entitas “Frozen Steel Panel A1” ≥2 dan variabel kustom “Mark” ≠ 1, maka panggil fungsi ‘CloseTheDoor’
  2. Jika tidak, panggil fungsi “OpenTheDoor”
82
  • Fungsi inti dari Mekanisme ⑩Button Door—membuka/menutup dan menahan pintu—dibungkus dalam fungsi berikut, yang dapat dieksekusi oleh setiap pemain yang memenuhi syarat yang masuk ke mekanisme ini. Berikut adalah implementasi skrip spesifiknya:

Zona 1-2, 1-3

Fungsi “OpenTheDoor”

  1. Jika variabel kustom “Mark” = 0, atur “Mark” = 1
  2. Mulai loop: Tunggu 0,5 detik, pindahkan objek 0,2 unit sepanjang sumbu X. Lanjutkan hingga koordinat X objek ≥ 2, lalu atur ‘Mark’ = 2 dan hentikan loop

Fungsi “CloseTheDoor”

  1. Jika variabel kustom “Mark” = 2, atur ‘Mark’ = 1
  2. Mulai loop: Tunggu 0,5 detik, pindahkan objek sepanjang sumbu X sebesar -0,2 hingga posisi X-nya ≤ 1, atur “Mark” = 0 dan hentikan loop
83 84

Lampiran: Fungsi kustom yang diperlukan oleh skrip ini. Anda dapat melihat dan mengelolanya dengan mengklik Fungsi

85

Skrip Titik Respawn

  • Setelah pemain masuk ke dalam permainan dan mulai mengalami gameplay inti, titik respawn menjadi komponen yang tidak berfungsi dan dapat mengganggu aktivitas pemain. Oleh karena itu, statusnya harus diatur menjadi tidak aktif.
  1. Saat putaran dimulai, atur status aktif entitas ini menjadi true
  2. Tunggu 2 detik
  3. Atur status aktif entitas ini menjadi false
86

Rekomendasi Pengeditan Tambahan

  • Sesuaikan nilai dalam skrip tertentu untuk mengonfigurasi perilaku jebakan yang lebih berlebihan dan acak, meningkatkan dampak dramatis permainan
  • Integrasikan dengan mekanisme toko dan perkenalkan gameplay pertempuran PVP, menggunakan jebakan sebagai bagian dari sistem rintangan
  • Perluas atau dalamkan fungsionalitas jebakan, menjelajahi dan mengimplementasikan aplikasi lebih lanjut dari mekanisme skrip yang beragam