trong game maker có sẵn show_mesage nhưng nó không đẹp và khi thay hình nền thì hình bị giãn, nút nhấn cũng không tùy biến vì không dùng font tiếng việt (nó dùng font của Windows thay vì dùng font trong resource. Mình có sưu tầm 1 bài nói về cách tạo dialog đơn giản để thông báo, số nút tùy ý các bạn tạo 1 object tên objDialog trong event Draw chèn đoạn mã sau : Mã: { // vẽ nền cho dialog, có thể làm nửa trong suốt thì thay bằng hàm draw_sprite_ext draw_set_font(fonDialog); //có thể dùng font tiếng việt (dùng GM6) draw_set_halign(fa_center); draw_set_valign(fa_middle); draw_sprite(sprDialog, -1, x, y); if(self.active == 1) draw_sprite(sprHiliteButton, -1, X1, Y1); else draw_sprite(sprNormalButton, -1, X1, Y1); draw_text("Chào bạn", X1, Y1); if(self.active == 2) draw_sprite(sprHiliteButton, -1, X2, Y2); else draw_sprite(sprNormalButton, -1, X2, Y2); draw_text("Tạm biệt", X1, Y1); } // trong event create self.close = false; // trong event step if(self.close) instance_destroy(); // hủy dialog nếu dialog đã được chọn button Sau đó ta tạo 1 script tên là ShowDialog(XDialog, YDialog) { var dialog = instance_create(XDialog, YDialog, objDialog); // gán cho button được active dialog.active = 1; // cập nhật lại màn hình, dialog sẽ được vẽ ra screen_redraw(); do { keyboard_wait(); // đợi phím switch(keyboard_key) { case vk_enter: // nếu chọn enter thì trả về phím đang chọn dialog.close = true; return dialog.active; // tăng giảm nút hiện tại khi nhấn phím trái phải case vk_left: dialog.acitve -= 1; break; case vk_right: dialog.acitve += 1; break; } // nếu đã là nút thứ nhất mà còn nhấn left thì cho nhây qua 2 if(dialog.active < 1) dialog.active = 2; // nếu đã là nút thứ hai mà còn nhấn right thì cho nhây qua 1 if(dialog.active > 2) dialog.active = 1; // cập nhật lại dialog }until(keyboard_key == vk_escape); // nếu người dùng nhấn escape thì đóng dialog dialog.close = true; return -1; // trả về -1 cho biết user không chọn nút nào } // Sau đó muốn gọi thì ta chèn selectButton = ShowDialog(100, 100); if(selectButton == 1) ..... Khi sử dụng tạo dialog như thế thì các object trong game như timer hay các bộ đếm khác, hay các object đang di chuyển sẽ dừng lại, đỡ mất công gọi íntance_deactivate_object ..... Dialog này hoạt động nhờ keyboard thôi, các bạn có thể tùy biến thêm nhiều button hơn, và thêm text, hoặc tạo mỗi loại dialog là 1 object.....
{@: GM mà chỉ đưa script thì đố mà chạy được , dùng nhìu resources thế kia mà, làm 1 cái example đi bạn :@}