Hỏi đáp và xử lý lỗi
Script
Script của tôi không chạy
- Nó nằm ở đâu? Script không chạy trong StorageService hay UI; ClientScript không chạy trong ServerService hay StorageService. KHIM Engine làm mờ script không chạy được ở chỗ nó nằm - rê chuột lên để biết vì sao.
- Có lỗi không? Mở Console (Ctrl J) khi chạy thử; lỗi màu đỏ, bấm vào để mở đúng dòng. Tab Problems liệt kê lỗi của mọi script cùng lúc.
- Nó có đang chờ thứ không bao giờ tới?
waitFor("Name")cảnh báo sau 5 giây khi không có gì mang tên đó - kiểm tra chính tả, cả chữ hoa.
"attempt to index nil with ..."
Thứ đứng trước dấu chấm là nil: đối tượng chưa có (hoặc chưa tới), hoặc tên viết khác. Trong ClientScript, world tới từng phần một - hãy dùng waitFor:
local door = world:waitFor("Door")"... is not a valid member of Part; did you mean ...?"
Gõ sai tên thành viên. Thành viên của KHIM viết camelCase: position, không phải Position... dù Position kiểu Roblox vẫn chạy. Làm theo gợi ý "did you mean".
ClientScript đổi gì đó mà chỉ mình tôi thấy
Đúng là vậy: ClientScript đổi một part thì chỉ màn hình người chơi đó thấy. Thay đổi quan trọng phải làm trong Script trên server, còn ClientScript thì xin bằng net.send. Xem Server và client.
Script trên server đổi Light / Decal / Billboard mà người chơi không thấy
Vẻ ngoài trên part là bản riêng của mỗi người chơi sau khi họ vào: đổi chúng từ ClientScript (server có thể bảo client làm bằng net.sendAll). Xem Âm thanh, ánh sáng và hiệu ứng.
ClientScript chạy được khi thử nhưng người chơi thì không
ClientScript hay Module quá 64 KB văn bản không bao giờ tới người chơi. Tách thành nhiều Module, mỗi cái dưới 64 KB.
Script dừng với lỗi chạy quá lâu
Một vòng lặp không có chờ. Thêm task.wait() vào mọi vòng while true do.
Dữ liệu không được lưu
- Khách (
userId-1) không bao giờ được lưu - hãy thử khi đã đăng nhập. - Bọc
getvàsettrongpcallvà in lỗi ra. - Lưu trong
players.left, và đọc những gì cần trước mọitask.waitở đó. - Xem Lưu dữ liệu.
Dựng world
Part rơi khi tôi bấm Play
Nó không được Anchored (neo). Tick Anchored trong mục Behavior của Inspector.
Người chơi đi xuyên qua part
CanCollide đang tắt, hoặc nhóm va chạm của nó không va chạm với Players. View > Collisions viền mọi thứ người chơi đi xuyên được.
Model nhập vào sai kích thước, hoặc nằm ngửa
Trong cửa sổ nhập: Studs a unit (1 cho Blender), Up is (Z cho model xuất với trục Z hướng lên), Turned. Nếu bị lộn trong ra ngoài, tick Turn faces over.
Người chơi rơi xuyên toà nhà MeshPart
MeshPart va chạm theo hộp bao. Đặt part vô hình có neo ở chỗ sàn và tường.
Hình hay âm thanh tôi tải lên không hiện với người chơi
Nó đang chờ kiểm duyệt (vòng vàng trên thẻ trong bảng Assets). Trong lúc chờ bạn vẫn thấy nó trong KHIM Engine; người chơi nhận được khi nó được duyệt. Cái bị từ chối ghi lý do trong tooltip.
Go live
Go live bị mờ hoặc thất bại
- Đăng nhập (Home > Sign in with browser).
- Tên game 3 tới 60 ký tự.
- World tối đa 16 MB và 10.000 part.
- World nhập từ
.rbxlcần tick ô "I made this place".
Người chơi vẫn vào bản cũ
Server đang chạy giữ phiên bản của nó cho tới khi hết người. Tắt chúng ở trang Live của Workshop để chuyển mọi người sang bản mới.
Game của tôi không có trong danh sách
Game mới bắt đầu ở chế độ riêng tư. Đặt Visibility thành công khai trong Workshop > world > Settings.
Hiệu năng
Game bị lag
- Settings > Graphics quality: để Automatic, hoặc hạ thấp. Mức 1-2 hợp với điện thoại yếu.
- F3 cho số khung hình mỗi giây và số lệnh vẽ; Shift+F5 cho thời gian vật lý, vẽ và mạng.
- Trong KHIM Engine, F3 khi chạy thử nêu tên các script bận nhất.
- Ít part lớn vẽ nhanh hơn nhiều part nhỏ; Smooth hợp với mặt phẳng lớn.
- World rất lớn: đặt
world.streamingRadiusđể người chơi chỉ nhận phần ở gần họ.
World trống trơn, chỉ thấy HUD
Thường do driver đồ hoạ cũ: cập nhật nó từ trang web của hãng card đồ hoạ. KHIM cần OpenGL 3.3 (Intel HD 4000, AMD Radeon HD 5000, NVIDIA GeForce 400 trở lên).
Log
Khi có sự cố, các file này cho biết lý do:
| Windows | |
|---|---|
| App KHIM | %LOCALAPPDATA%\KHIM\runtime\client\client_log.txt và client_error_log.txt |
| KHIM Engine | %LOCALAPPDATA%\KHIM Studio\runtime\studio\studio_log.txt (và studio_log.old.txt cho lần chạy trước, nơi có báo cáo crash) |
Gửi kèm chúng khi báo lỗi.
Vẫn chưa được?
Dùng ô tìm kiếm (Ctrl K) - gõ không dấu cũng tìm được tiếng Việt. Hoặc hỏi trên khim.net.