Dialog & TextDraw
Dialog interaktif dan teks di layar.
Dialog
Gaya dialog: 0 message box, 1 input, 2 list, 3 password, 4 tab list, 5 tab list headers.
knight
let MENU = 200;
player::command("/menu") {
ShowPlayerDialog(playerid, MENU, 2, "Menu utama",
"Teleport\nHeal\nBeri uang", "Pilih", "Tutup");
};
dialog::response(int playerid, int id, bool accepted, string input, int listitem) {
if (id != MENU) { return; }
if (!accepted) {
SendClientMessage(playerid, "Menu ditutup.");
return;
}
if (listitem == 0) { SetPlayerPos(playerid, 1958.4, 1343.2, 15.4); }
if (listitem == 1) { SetPlayerHealth(playerid, 100.0); }
if (listitem == 2) { GivePlayerMoney(playerid, 500); }
};
Note
HidePlayerDialog(playerid) menutup dialog aktif dari server.TextDraw
knight
let TD = 0;
system::start() {
// TextDrawCreate(id, x, y, text)
TextDrawCreate(TD, 320.0, 20.0, "Selamat datang di Knight");
TextDrawLetterSize(TD, 0.4, 1.6);
TextDrawColor(TD, 0xFFFFFFFF);
TextDrawSetOutline(TD, 1);
TextDrawSetProportional(TD, true);
};
player::spawn(int playerid) {
TextDrawShowForPlayer(playerid, TD);
};
player::command("/hidetd") {
TextDrawHideForPlayer(playerid, TD);
};
TextDraw yang bisa diklik
knight
TextDrawSetSelectable(TD, true);
SelectTextDraw(playerid, 0xFF0000FF);
textdraw::click(int playerid, int textdrawid) {
if (textdrawid == TD) {
SendClientMessage(playerid, "Kamu mengkliknya!");
SelectTextDraw(playerid, 0); // 0 menonaktifkan seleksi
}
};
Tip
Seleksi memakai
SelectTextDraw(playerid, colour) untuk mengaktifkan dan SelectTextDraw(playerid, 0) untuk mematikan. Id klik 65535 berarti pemain membatalkan.