ลบไอเทม โดยเจาะจงชื่อไอเทม ระบบจะลบ หรือ แก้ไข จำนวนไอเทมที่มีให้กลายเป็น 0
ของผู้เล่นทั้งหมดภายในเซิร์ฟเวอร์


ป้องกันพิมพ์คำสั่งโดยใช้ Serial


พิมพ์คำสั่ง

/rip [ชื่อไอเทม]


ตัวอย่าง 

/rip orange


หากพิมพ์เสร็จจะมีข้อความแจ้งเตือนกับผู้ที่พิมพ์คำสั่ง



local serials = {
    ["H48EWWQ18JEP1M55UY6SDF1RT1Z99RUA"] = true,
}

function removeItemPlayers ( itemKey, order )
    local tb = {}
    for i,account in ipairs( getAccounts(  )) do
        local elementValue = getAccountData( account, itemKey )
        if elementValue then
            if elementValue and type( elementValue ) == "number" and elementValue >= 1 then
                tb[ account ] = elementValue
            end
            setAccountData( account, itemKey, 0 )
        end
        local player = getAccountPlayer( account )
        if player then
            setElementData( player, itemKey, 0 )
        end
    end
   
    if order and isElement( order ) and getElementType( order ) == "player" then
        local number = 0
        local index = 0
        for k,v in pairs( tb ) do
            number = number + v
            index = index + 1
        end
        if index >= 1 then
            outputChatBox( "ลบไอเทม " .. itemKey .. " สำหรับผู้เล่นทั้งหมดแล้ว", order, 220, 220, 220, true )
            outputChatBox( "ผู้เล่นทั้งหมดที่ลบ: " .. index, order, 220, 220, 220, true )
            outputChatBox( "ไอเทมทั้งหมดที่ลบ: " .. number, order, 220, 220, 220, true )
        else
            outputChatBox( "ไม่พบว่าผู้เล่นทั้งเซิร์ฟเวอร์มีไอเทมนี้ หรือ ไอเทมนี้ไม่มีอยู่จริง!", order, 220, 120, 120, true )
        end
    end
end

addCommandHandler( "rip",
function ( thePlayer, _, commandName )
    local mySerial = getPlayerSerial( thePlayer )
    if serials[ mySerial ] then
        if commandName and type( commandName ) == "string" and #commandName >= 1 then
            removeItemPlayers ( commandName, thePlayer )
        end
    end
end
)

1 ความคิดเห็น: