Untitled
unknown
plain_text
4 months ago
2.2 kB
7
Indexable
// Define ID (Thêm vào đầu file gamemode nếu chưa có)
#define MOBILE_RPC_SHOW_PROGRESSBAR 0x4D
#define MOBILE_RPC_STOP_PROGRESSBAR 0x4E
// Lệnh test hiển thị Progress Bar
CMD:testprog(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 9999) return 1;
// Các thông số test
new label[] = "DANG SUA XE..."; // Nội dung hiển thị (tự đổi màu/icon theo JS)
new targetPercent = 80; // Vùng mục tiêu Y nằm ở mốc 80%
new durationMs = 5000; // Thanh chạy trong 5 giây (5000ms)
new BitStream:bs = BS_New();
// 1. Header (Giống hệt cách bạn gửi Case Box)
BS_WriteValue(bs, PR_UINT8, PACKET_CUSTOMRPC);
BS_WriteValue(bs, PR_UINT32, MOBILE_RPC_SHOW_PROGRESSBAR);
// 2. Payload (Độ dài chuỗi -> Chuỗi -> Target -> Duration)
BS_WriteValue(bs, PR_UINT32, strlen(label));
BS_WriteValue(bs, PR_STRING, label);
BS_WriteValue(bs, PR_INT32, targetPercent);
BS_WriteValue(bs, PR_INT32, durationMs);
PR_SendPacket(bs, playerid);
BS_Delete(bs);
SendClientMessage(playerid, -1, "{00FF87}[TEST] Da gui lenh Hien thi Progress Bar!");
return 1;
}
// Lệnh test dừng Progress Bar (Test thành công / thất bại)
// Cách dùng: /testprogstop 1 (Thành công) | /testprogstop 2 (Thất bại, rung màn hình) | /testprogstop 0 (Ẩn ngay lập tức)
CMD:testprogstop(playerid, params[])
{
if(PlayerInfo[playerid][pAdmin] < 9999) return 1;
new status = 1; // Mặc định test trạng thái Thành công (Xanh)
if(!isnull(params)) status = strval(params);
new BitStream:bs = BS_New();
// 1. Header
BS_WriteValue(bs, PR_UINT8, PACKET_CUSTOMRPC);
BS_WriteValue(bs, PR_UINT32, MOBILE_RPC_STOP_PROGRESSBAR);
// 2. Payload (Chỉ gửi 1 số int trạng thái)
BS_WriteValue(bs, PR_INT32, status);
PR_SendPacket(bs, playerid);
BS_Delete(bs);
new str[128];
format(str, sizeof(str), "{00FF87}[TEST] Da gui lenh Dung Progress Bar (Status: %d)", status);
SendClientMessage(playerid, -1, str);
return 1;
}Editor is loading...
Leave a Comment