Metaskrip

Artikel ini memperkenalkan cara mengedit metaskrip.

Deskripsi Antarmuka

gambar-20240719154714450

  1. Kanvas, area pengeditan utama
  2. File yang sedang diedit
  3. Klasifikasi elemen, klik elemen mana saja untuk memperluas antarmuka pemilihan elemen
  4. Panel properti

Deskripsi klasifikasi elemen

  1. Kategori elemen grafis yang sesuai dengan wilayahnya adalah:

  2. Pencarian: Masukkan kata kunci untuk mencari grafik.

  3. Umumnya digunakan: Kumpulan grafik sebagai grafik yang umum digunakan akan ada di sini.

  4. Event: Akan dipicu ketika kondisi terpenuhi, yang merupakan awal dari logika.

  5. Kondisi: digunakan untuk kontrol aliran skrip.

  6. Perilaku: operasi aktual pada entitas\data.

  7. Modul: Beberapa perilaku khusus modul.

  8. Data: Pengolahan data.

  9. Variabel: Gunakan variabel yang ada atau tambahkan variabel.

  10. Fungsi: Gunakan atau buat fungsi khusus.

  11. Panggilan eksternal: memanggil fungsi kustom skrip lain.

Penggunaan grafis

Deskripsi Meta

Tonjolan di bawah primitif menunjukkan bahwa primitif lain dapat dihubungkan dengannya.

gambar-20240719162414368

Depresi di atas primitif berarti bahwa primitif lainnya dapat ditautkan sebelum primitif ini, dan hanya akan berjalan setelah primitif sebelumnya berjalan.

gambar-20240719162458868

Jika tidak ada depresi pada bagian atas tetapi tonjolan pada bagian bawah, berarti primitif tersebut merupakan titik awal segmen logika, biasanya primitif kejadian.

gambar-20240719162532230

Jika tidak ada kecembungan atau kecekungan di atas atau di bawah, berarti primitif tersebut merupakan bagian data dan dapat diterapkan ke primitif lainnya.

gambar-20240719162637872

Primitif akan memiliki parameter input dan output:

Parameter masukan:

Parameter input kosong secara default, dan jenis yang ditandai di dalamnya adalah jenis parameter yang diperlukan.

gambar-20240719163219101

Nama skrip dalam elemen ini juga merupakan parameter yang diperlukan, tetapi dengan menggunakan pemilih sumber daya, Anda dapat langsung memilih sumber daya yang sesuai dalam proyek tanpa mempertimbangkan pencocokan jenis.

Parameter keluaran:

Parameter keluaran adalah kotak berwarna secara default, yang dapat diseret untuk mengisi kotak parameter input yang diperlukan:

gambar-20240719163455421

Penggunaan primitif

Setelah memilih elemen yang ingin Anda gunakan dalam kategori, klik atau seret ke kanvas untuk menggunakan elemen yang sesuai.

gambar-20240719161426471

gambar-20240719161444643

Dengan menggunakan primitif dengan alur di atas, Anda dapat menggabungkan dua primitif tersebut:

gambar-20240719161910607

gambar-20240719161930593

Logika sekelompok primitif selalu dari atas ke bawah:

gambar-20241105153444063

gambar-20241105153522814

Untuk sekelompok elemen grafis yang terhubung secara seri, parameter input yang diperlukan perlu diisi dengan data yang sesuai untuk memastikan operasi skrip yang normal. Variabel yang tidak sesuai akan mengakibatkan kesalahan. Klik kesalahan untuk melihat pesan kesalahan:

gambar-20240719163823327

gambar-20240719163854644

Saat Anda menyeret suatu elemen, elemen-elemen di bawahnya juga akan ikut terseret:

gambar-20240906110832061

gambar-20240906110844840

Tekan terus tombol Ctrl dan seret untuk hanya menyeret elemen saat ini, dan elemen di bawahnya akan secara otomatis terhubung ke elemen di atasnya:

gambar-20240906110855565

Panel Properti Elemen

Klik elemen tersebut dan elemen tersebut akan dipilih.

gambar-20241122190755370

Di panel Inspektur di sebelah kanan, Anda dapat melihat informasi terperinci tentang elemen yang dipilih, termasuk namanya, deskripsi, nama parameter, jenis parameter, jenis nilai pengembalian, deskripsi nilai pengembalian, dll.

gambar-20241122190944942

Kontrol Aliran

Urutan eksekusi metaskrip default adalah dari atas ke bawah. Anda mungkin sering memerlukan kontrol aliran kode untuk menerapkan logika yang kompleks.

Silakan lihat tautan berikut untuk petunjuk terperinci:

Catatan Tambahan Skrip

Variabel

Tiga jenis variabel dapat didefinisikan atau dimodifikasi di lokasi variabel:

  1. Atribut entitas global: atribut komponen global, mendukung kustomisasi. Anda dapat memperoleh atau mengubah atribut entitas global yang dikustomisasi dalam skrip apa pun.
  2. Variabel skrip: variabel yang hanya digunakan dalam skrip saat ini, skrip lain dapat memperoleh dan memodifikasinya secara eksternal.
  3. Variabel lokal: variabel yang hanya digunakan dalam blok kode saat ini dan tidak berlaku di luar blok kode.

Properti entitas global

Properti entitas global dapat ditambahkan melalui properti komponen entitas dalam pengaturan komponen.

gambar-20240719170731723

gambar-20240719170751222

gambar-20240719170812335

Setelah membuat atribut entitas global, Anda dapat menggunakan Dapatkan Entitas Global untuk mendapatkan atribut:

gambar-20240719170915428

Gunakan Set Global Entity untuk mengatur properti ini:

gambar-20240719170953632

Variabel skrip

Dalam kategori Variabel, ada tombol Buat Variabel:

gambar-20240719171622005

gambar-20240719171647910

Variabel yang dibuat dengan cara ini adalah variabel skrip dan digunakan untuk pemrosesan data dalam skrip saat ini.

Dalam skrip lain, Anda bisa mendapatkan dan mengatur variabel ini melalui referensi eksternal:

gambar-20240719171819031

Harap perhatikan saat mereferensikan skrip lain secara eksternal: saat mendapatkan dan mengatur, Anda perlu menentukan entitas terkait yang dipasang oleh skrip yang direferensikan.

Variabel lokal

Primitif variabel lokal memungkinkan Anda membuat variabel yang hanya tersedia di blok kode saat ini:

gambar-20240719171508081

Anda dapat mengganti nama variabel dengan mengklik dua kali nama variabel tersebut:

gambar-20240719171540482

Blok kode adalah rangkaian primitif yang berkesinambungan. Perlu dicatat bahwa primitif “if-else” dalam klasifikasi bersyarat adalah dua blok kode secara default. Setiap “if”, “else”, dan “else-if” adalah blok kode yang independen.

gambar-20240722192115698

gambar-20240722192055277

Fungsi kustom

Kedua fungsi dengan dan tanpa nilai balik didukung dalam metaskrip.

Fungsi dengan nilai balik tidak dapat dihubungkan ke entitas lain saat dipanggil. Entitas pemanggil adalah nilai balik.

gambar-20240719180031043

gambar-20240719180117743

Fungsi tanpa nilai balik dapat dihubungkan ke primitif lain saat dipanggil.

gambar-20240719180039563

gambar-20240719180134147

Tunggu: Ketika primitif merupakan fungsi asinkron, fungsi tersebut akan diblokir dan primitif berikutnya akan dieksekusi setelah fungsi asinkron dieksekusi.

Eksekusi: Jika primitif merupakan fungsi asinkron, ia tidak akan diblokir dan primitif berikutnya akan tetap dieksekusi.

Fungsi asinkron adalah fungsi yang menggunakan primitif yang melakukan pemrosesan asinkron, seperti “tunggu”.

gambar-20240722105341566

Catatan: Penggunaan primitif asinkron dalam fungsi dengan nilai balik tidak didukung.

gambar-20240806115625031

Jika Anda memerlukan fungsi asinkron untuk mengembalikan suatu nilai, gunakan fungsi void dan gunakan variabel keluaran.

gambar-20240806115658582

Terlepas dari apakah suatu fungsi kustom memiliki nilai balik atau tidak, Anda dapat menggunakan variabel keluaran fungsi di bawah primitif pemanggil untuk memperoleh keluaran.

gambar-20240806113746376

gambar-20240806121329099

Acara Kustom

Selain berbagai peristiwa yang disediakan secara resmi, Anda juga dapat memicu logika melalui peristiwa khusus.

gambar-20250630114130051

Klik tombol untuk melakukan manajemen acara khusus:

gambar-20250630114142109

Klik kanan pada daftar acara kustom untuk mengelola acara kustom:

gambar-20250630114340277

Klik tombol + untuk membuat acara khusus baru:

gambar-20250630114208389

Di sini Anda perlu mengatur nama peristiwa kustom, jenis objek yang menjadi tujuan pengiriman sinyal peristiwa kustom, dan parameternya. Hanya jenis objek yang ditentukan yang dapat menerima sinyal yang memicu peristiwa tersebut.

gambar-20250121181204861

Kirim acara khusus ke semua pemain di awal giliran mereka

gambar-20250121181429023

Pemain memicu logika setelah menerima sinyal acara khusus

Pencarian dan penggunaan umum elemen grafis

Masukkan kata kunci untuk mencari elemen yang sesuai

gambar-20240719181845696

Di antarmuka pemilihan elemen, klik kanan elemen untuk menetapkannya sebagai elemen yang sering digunakan, lalu Anda dapat dengan cepat menggunakan elemen tersebut dalam kategori elemen yang sering digunakan.

gambar-20240719182033312

gambar-20240719182130450

Contoh

Mari kita gunakan contoh sederhana untuk menunjukkan penggunaan skrip:

Desainnya adalah sebagai berikut:

  1. Setiap pemain akan diberikan M4A1 saat bergabung dalam permainan.
  2. Saat pemain menembak, 1 poin kesehatan akan dikurangi dari kesehatannya setiap kali dia menembak.

Buat Skrip:

  1. Persyaratannya bersifat global, 2. untuk setiap pemain. Jadi Anda perlu memasang skrip secara global dan untuk setiap pemain. Server perlu mengetahui tentang distribusi alat peraga dan pengurangan nyawa, jadi keduanya dibuat sebagai skrip server.

gambar-20240719183317332

gambar-20240719183333435

Edit Skrip:

Untuk 1, setiap pemain yang bergabung dalam permainan perlu mengeluarkan alat peraga satu kali:

gambar-20240719183627320

Untuk menambahkan primitif properti, tiga parameter diperlukan: target untuk menambahkan properti, properti yang akan ditambahkan, dan jumlah properti yang akan ditambahkan.

Target penambahan properti adalah pemain yang memicu peristiwa saat pemain tersebut bergabung dalam permainan. Properti dipilih sebagai M4A1 melalui pengelola sumber daya, dan jumlahnya adalah 1.

gambar-20240719183756275

Untuk 2, pengurangan kesehatan perlu dilakukan setiap kali tembakan dilepaskan:

Kami menemukan bahwa orang primitif sebenarnya tidak mengalami pengurangan kesehatan:

gambar-20240719183925677

Mengisi angka negatif pada parameter primitif pemulihan kesehatan tidak akan mengurangi kesehatan

Namun, sebagai atribut pemain, kesehatan dapat disesuaikan dengan mengatur properti:

gambar-20240719184034769

Untuk menetapkan atribut primitif, Anda memerlukan entitas yang akan ditetapkan, atribut dan nilai yang akan ditetapkan, dan beberapa parameter yang akan dihitung.

Entitas yang atributnya ditetapkan adalah pemain saat ini, jadi Anda dapat menggunakan entitas ini dan mengklik dua kali posisi parameter untuk mengisi entitas ini dengan cepat.

gambar-20240719184236329

Nilai atribut yang perlu diubah adalah nilai kesehatan saat ini, pilih nilai kesehatan saat ini.

Nilai yang ditetapkan adalah nilai kesehatan saat ini dikurangi 1, jadi kesehatan saat ini perlu diperoleh.

gambar-20240719184443713

Gunakan metode pengurangan dalam klasifikasi data untuk menguranginya dengan satu dan menambahkan parameter:

gambar-20240719184604249

gambar-20240719184622223

Anda juga dapat menggunakan operasi pengaturan atribut primitif secara langsung untuk menerapkan logika ini:

gambar-20240719184700828

Jalankan debugger untuk melihat hasilnya:

gambar-20240719184826220

Setiap orang diberi M4A1.

gambar-20240719184935284

Ditembakkan 8 kali dan kehilangan 8 poin kesehatan.

Saat menembak, hal itu dipicu setiap kali perintah menembak dijalankan. Penembakan senjata secara beruntun sebelum senjata diturunkan dianggap sebagai satu penembakan, dan peristiwa ini hanya dapat dipicu satu kali.