---
title: Halo ZEPETOScript
slug: world-sdk-guide-id/halo-zepetoscript
docTags: 
createdAt: 2024-09-02T08:34:13.135Z
---

## Apa itu ZEPETOScript?

- ZEPETOScript adalah bahasa skrip yang digunakan untuk membuat ZEPETO World.
- Ini mendukung bahasa pemrograman TypeScript.
- ZEPETOScript dirancang untuk mendefinisikan perilaku dan fungsionalitas dalam ZEPETO World, termasuk:
  - Gerakan, fisika, dan interaksi objek.
  - Menangani peristiwa, termasuk input pengguna.
- Mewarisi dari kelas ZepetoScriptBehaviour, dirancang untuk kompatibel dengan antarmuka MonoBehaviour Unity.
- Ini dapat dilampirkan pada GameObjects aktif di scene untuk eksekusi.

:::hint{type="danger"}
**❗️ Peringatan**

- Saat mengembangkan untuk ZEPETO World, skrip C# tidak termasuk dalam paket build.
- Pastikan hanya menggunakan ZEPETOScript.
:::



## Tutorial Hello World

### LANGKAH 1 : Membuat ZEPETOScript

Untuk membuat file ZEPETOScript baru,

klik \[Proyek] dan pilih ikon \[+] di sudut kiri atas panel, atau klik Aset → Buat → ZEPETO → TypeScript.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-W7_oSAQJMVKn1HXIKkcZn-20240904-102418.png)



Anda dapat melihat bahwa ZEPETOScript baru telah dibuat, seperti yang ditunjukkan di bawah ini.

::Image[]{src="https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-jWaWZgzsGBAfZGeKXQIMv-20240904-102418.png" size="70" width="592" height="432" position="center" showCaption="false"}



### LANGKAH 2 : Menambahkan ZEPETOScript ke GameObject

Untuk menambahkan ZEPETOScript yang dibuat sebelumnya sebagai Component ke GameObject, klik tombol Add Component di jendela Inspector GameObject.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/kt-hSmMqXIK8wXfK09n6P_image.png)



Di jendela Add Component, pilih Zepeto Script Component.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/2x7IOeRiQzr6Vkxe74kwt_image.png)



Klik tombol Attach Zepeto Script di Zepeto Script Component.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/7fV1BDKL4rDv-gbq0dJLX_image.png)



Di jendela Attach Zepeto Script, pilih file HelloWorld ZEPETOScript yang Anda buat sebelumnya.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/QZ8N-e1qp5BHUJyhZGJ9Z_image.png)



Anda dapat menambahkan file HelloWorld ZEPETOScript sebagai Component ke GameObject seperti yang ditunjukkan pada layar di bawah ini.

![](https://api.archbee.com/api/optimize/xv-TGeWVTX2GDZMFGOf1Y/-xe1rspwelXIyUeM3abbD_image.png)



### LANGKAH 3 : Menambahkan kode uji atau mengeluarkan log

ZEPETOScript yang baru dihasilkan ditunjukkan di bawah. Anda dapat mengedit skrip menggunakan alat pengembangan Unity.

:::CodeblockTabs
NewTypescript

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';

export default class NewTypescript extends ZepetoScriptBehaviour {

    Start() {    

    }

}
```
:::



Cobalah menambahkan kode log di dalam fungsi Start untuk menguji apakah ZEPETOScript bergerak.

:::CodeblockTabs
HelloWorld

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';

export default class HelloWorld extends ZepetoScriptBehaviour {

    Start() {
        console.log(`log : Hello World`);
        console.warn(`warn : Hello World`);
        console.error(`error : Hello World`);
    }

}
```
:::



Periksa layar output kode uji di bawah ini.

![](https://api.archbee.com/api/optimize/fCt3n1oCa8rgNJ8fw9I2N-5To_fp4pJMCsmAIhSpK-5-20240904-102418.png)



Selamat telah menyelesaikan tutorial ZEPETOScript!

Bagi mereka yang sebelumnya telah mengembangkan dengan C# di Unity atau yang baru mengenal pengembangan ZEPETO World, mari kita selami dasar-dasar ZEPETOScript.



## Mendeklarasikan Variabel di ZEPETOScript

- ZEPETOScript mengikuti sintaks TypeScript.
- Oleh karena itu, sangat penting untuk mendeklarasikan tipe saat mendeklarasikan variabel.
- Contoh deklarasi variabel:

:::CodeblockTabs
TypeScript

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
 
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
 
    // Variabel Global
    private number: number = 10;
    private floatNumber: number = 10.5;
    private word: string = "ZEPETO!";
    private isTrue: boolean = true;
    private list : number[] = [1,2,3];
    private listGeneric : Array<number> = [4,5,6];
 
    Start() {
        console.log(this.number);
        console.log(this.floatNumber);
        console.log(`Halo, ${this.word}`);
        console.log(this.isTrue);
        console.log(this.list);
        console.log(this.listGeneric);
         
        // Variabel Lokal
        let a = 30;
        const b = 40;
        console.log(a);
        console.log(b);
    }
}
```
:::



## Menggunakan Tipe Data Peta

- Alih-alih menggunakan tipe data Dictionary C#, gunakan tipe data Map TypeScript untuk menyimpan dan mengelola pasangan kunci-nilai.
- Tipe data ini sangat nyaman untuk mengelola data pemain saat menerapkan dunia multiplayer.
- Contoh penggunaan sederhana dari Map:

:::CodeblockTabs
TypeScript

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
 
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
 
    private myMap = new Map<string, string>();
     
    Start() {
        this.myMap.set("Player1", "Ze");
        this.myMap.set("Player2", "pe");
        this.myMap.set("Player3", "to");
         
        this.myMap.forEach((value, key) => {
            console.log(key, value);
        });
 
        if(this.myMap.has("Player2")) {
            let value: string | undefined = this.myMap.get("Player2");
            console.log(value);
        }
 
        this.myMap.delete("Player2");
 
        console.log(this.myMap.has("Player2"));
    }
}
```
:::



## Memanfaatkan JSON

Saat bekerja dengan data yang diformat JSON, Anda dapat menggunakan fungsi bawaan TypeScript.

- Mengonversi string JSON menjadi objek
  - Gunakan `JSON.parse()` metode.
- Mengonversi objek menjadi string JSON
  - Gunakan `JSON.stringify()` metode.
- Contoh pemanfaatan JSON:

:::CodeblockTabs
TypeScript

```typescript
import { ZepetoScriptBehaviour } from 'ZEPETO.Script';
 
export default class HelloZepetoScript extends ZepetoScriptBehaviour {
     
    Start() {
        let jsonData = '{"id":"USER1234", "name":"zepeto", "age":15}';
 
        // Mengonversi string JSON menjadi objek
        let userObject : User = JSON.parse(jsonData);
        console.log(userObject.id);
        console.log(userObject.name);
        console.log(userObject.age);
         
        userObject.age = 16;
 
        // Mengonversi objek menjadi string JSON
        let newJsonData = JSON.stringify(userObject);
        console.log(newJsonData);
    }
}
 
class User {
    constructor(public id: string, public name: string, public age: number) {}
}
```
:::



:::hint{type="info"}
- Untuk sintaks yang lebih rinci, silakan merujuk ke Dokumen TypeScript
  - [https://www.typescriptlang.org/docs/](https://www.typescriptlang.org/docs/)
:::

