๐ฉ Script Event Hook
event hook ada untuk menjalankan script kamu, dengan event hook yang beragam kamu bisa gunakan untuk logic saat menjalankan script
Agar lebih mengerti, disarankan untuk coba - coba sendiri ya!
# noneโ
tidak ada event hook, alahasil script tidak akan dijalankan secara otomatis. Kecuali di panggil nama kodenya dengan command function penjelasan ada di bagian command
# OnLoadโ
dipanggil saat script berhasil di load (alias setiap tekan tombol reload atau server selesai restart)
setiap command di dalam OnLoad ini pasti akan di execute lebih dulu daripada hook yang lain, kecuali kalau ada OnTick karena itu berdasarkan waktu maka OnTick tidak peduli kalau sedang menjalankan OnLoad
# variable khususโ
isInit: Boolean -> akan true kalau OnLoad nya ini di panggil setelah server hydra restart
# contoh kodeโ
di log kamu akan muncul pesan kalau script di load
print "{script.name} loaded"
on load juga cocok untuk reset variable di script, command dibawah akan reset variable di bot
var clear true
akan menjalankan print kalau OnLoad dipanggil saat setelah server hydra restart
execute if-true [{event.isInit}="true"] print "server restart"
# previewโ
tidak perlu preview
# OnChatโ
dipanggil saat ada player yang chat di dalam world dan chat tersebut diawali dengan !h
# variable khususโ
sender: Object of player -> player yang mengirim chatmessage: String -> pesan chatargs: Array of String -> pesan chat yang dipisah dengan spasi
# contoh kodeโ
akan sapa user
chat "Halo {sender.name}"
# argumentโ
chat message memiliki sistem argument juga, argument ini parse dengan cara yang lumayan unik (bukan spasi saja). Contohnya:
RudeusKami1: !h arg0 arg1 "arg number 2" arg3
akan kena parse menjadi
arg0-> {sender.args.0}arg1-> {sender.args.1}arg number 2-> {sender.args.2}arg3-> {sender.args.3}
nah jadi setiap arg itu ditentukan dengan spasinya, kecuali kalau di kurung dengan "" dan juga ingat ya, karena array maka dimulai dari 0
# previewโ
![]() |
|---|
| bot menjalankan chat |
# OnTickโ
dipanggil setiap detik. Kamu dapat setel detiknya dengan merubah nama kode saat membuat menjadi x_seconds, contoh 5_seconds kode akan di eksekusi setiap 5 detik
# variableโ
- tidak ada
# contoh kodeโ
chat "5 detik berlalu"
# previewโ
![]() |
|---|
| bot menjalankan chat |
# OnPlayerJoinWorldโ
dipanggil kalau ada player yang join world
# variable khususโ
player: Object of player -> player yang join world
# contoh kodeโ
chat "Halo {event.player.name}"
# previewโ
![]() |
|---|
| bot chat saat player join world |
# OnPlayerExitWorldโ
dipanggil kalau ada player yang keluar dari world
# variable khususโ
player: Object of player -> player yang keluar dari world
# contoh kodeโ
chat "/msg {event.player.name} good bye"
# previewโ
![]() |
|---|
| bot mengirim message ke player yang keluar world |
# OnDisconnectโ
dipanggil saat bot ter disconnect oleh user atau server Growtopia
# variable khususโ
errorConnecting: Boolean -> untuk cek apakah kena disconnect karena errconbyGrowtopia: Boolean -> untuk cek apakah bot kena disconnect oleh server Growtopia
# contoh kodeโ
notifikasi bot disconnect
execute if-true [{event.byGrowtopia}="true"] notification raw "bot {bot.name} disconnected!"
# previewโ
event hook biasa, tidak perlu preview
# OnInventoryUpdateโ
dipanggil saat ada item yang ditambahkan ke inventory bot atau dikeluarkan
# variable khususโ
adding: Boolean -> apakah item nya di tambahkan atau di keluarkanitem: Object of item -> item yang ditambahkan ke inventory
# contoh kodeโ
bot akan chat item yang di tambahkan
chat "added {event.adding} {event.item.name} x{event.item.amount}"
# previewโ
![]() |
|---|
| bot chat saat inventory ter update (ada item masuk) |
# OnJobUpdateโ
dipanggil saat ada job yang ditambahkan atau selesai untuk
# variable khususโ
job: Object of job -> job yang ter update, antara di schedule atau di cancel
# contoh kodeโ
bot akan chat kalau job ter update
chat "job update {event.job.name} cancelled {event.job.cancelled} reason: {event.job.cancelReason}"
# previewโ
![]() |
|---|
| bot chat saat job di update, untuk preview ini job collect yang di cancel |
# OnConsoleMessageโ
dipanggil kalau ada pesan dari Growtopia, misalnya broadcast atau hal lain. Semua pesan akan masuk kecuali world chat karena ngespam
# variable khususโ
message: String -> pesan consolemessageType: String -> tipe pesan console nya
# tipe pesan consoleโ
- tipe
SYSTEMtidak ada variable khusus, ini kalau dapat pesan dari sistem Growtopia - tipe
SYSTEM_LOGtidak ada variable khusus, ini kalu dapat pesan dari sistem Growtopia juga tapi seringan saat login - tipe
SERVER_NOTIFICATIONtidak ada variable khusus, ini kalau dapat pesan event dari Growtopia - tipe
TALK_BUBBLEtidak ada variable khusus, ini kalau dapat pesan chat dari Growtopia misalnya kalau kena Ghost Shark
# filtered messageโ
untuk mencegah lag, pesan console saat collect item (ex: Collected 1 Dirt Seed) tidak akan di anggap sebagai OnConsoleMessage
# contoh kodeโ
print ke console kalau kena sub server (bisa 2 tipe karena dari Growtopia nya)
execute if-true [{event.messageType}="SYSTEM_LOG",{event.message}~"sub server"] print "[LOG] {event.message}"
execute if-true [{event.messageType}="SYSTEM",{event.message}~"sub server"] print "[SYSTEM] {event.message}"
print ke console kalau kena ghost shark
execute if-true [{event.messageType}="TALK_BUBBLE",{event.message}~"CHOMP"] print "[Ghost Shark] {event.message}"
execute if-true [{event.messageType}="TALK_BUBBLE",{event.message}~"GHOST"] print "[Ghost Shark] {event.message}"
execute if-true [{event.messageType}="TALK_BUBBLE",{event.message}~"GHOOOOST"] print "[Ghost Shark] {event.message}"
# previewโ
![]() |
|---|
| pesan broadcast dikirim ke log bot kamu |
# OnCallโ
script yang ini lumayan kompleks dan kalau bukan advanced user, aku engga yakin kamu bakalan butuh event ini. Jadi kalau bukan advanced user bisa di skip.
dipanggil jika ada script yang pakai command call, berbeda dengan command function menggunakan call bisa memanggil fungsi dari script lain yang bisa beda bot juga. Dengan ini, kamu bisa
menjalankan kode dari script lain dengan mudah. Contoh penggunaan: mau panggil kode tertentu yang kalau di copas ke setiap script tidak efisien.
# variable khususโ
data: Object -> variable yang bisa kamu berikan saat menjalankanOnCall
# contoh kodeโ
anggap kedua kode ini beda script
# script 1โ
di hook OnChat
call [custom="data aku"]
# script 2โ
di hook OnCall
print "Script called with data {event.data.custom}"
# OnBotBannedโ
dipanggil saat ada bot yang kena ban sistem / auto ban
# variable khususโ
duration: Integer -> waktu ban dalam hari
# contoh kodeโ
di log kamu akan muncul pesan "{nama bot} banned selama {jumlah hari} hari"
print "{bot.name} banned selama {event.duration} hari"
# OnServerNotificationโ
dipanggil saat ada notifikasi masuk dari server Growtopia, alias notifikasi popup kalau ada event, dll
# variable khususโ
message: String -> pesan notifikasi
# contoh kodeโ
di log akan muncul pesan notifikasinya
print "{event.message}"
jika ingin notifikasi khusus, bisa pake operator ~ di logic untuk cek apakah message berisi text tertentu
condition [{event.message}~"toxic"] continue[] terminate[]
print "ada toxic waste!"
# OnWorldJoinโ
dipanggil saat bot join world
# variable khususโ
tidak ada
# contoh kodeโ
bot akan chat Halo setelah join world
chat "Halo"
bot akan chat Hai setelah join ke world ANAKFFMAJU
execute if-true [{bot.world.name}="ANAKFFMAJU"] chat "Hai"
# OnPlayerLeveledUpโ
dipanggil saat bot level up
# variable khususโ
lastLevel-> level sebelumnyanewLevel-> level sekarang
# contoh kodeโ
notifikasi akan dikirim lewat url webhook nya setiap bot level up
notification raw "{bot.name} level up! {event.lastLevel} -> {event.newLevel}"






