Untitled

 avatar
unknown
plain_text
3 months ago
2.2 kB
6
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