Jump to content

Leaderboard

Popular Content

Showing content with the highest reputation on 25/04/23 in all areas

  1. Faça essas alterações: server-side function Start_Id() for _, player in pairs(getElementsByType("player")) do local acc = getPlayerAccount(player) if not isGuestAccount(acc) then setElementData(player, "ID", getAccountID(acc) or "N/A") if hasObjectPermissionTo(player, "command.mute", false) then -- Se o jogador é Staff, então: setElementData(player, "isStaff", true) else -- Caso o jogador tinha essa data antes, mas trocou de conta enquanto este resource estava desligado e agora não está como Staff: removeElementData(player, "isStaff") end end end end addEventHandler("onResourceStart", resourceRoot, Start_Id) function Login_Id(_, acc) setElementData(source, "ID", getAccountID(acc) or "N/A") if hasObjectPermissionTo(source, "command.mute", false) then -- Se o jogador é Staff, então: setElementData(source, "isStaff", true) end end addEventHandler("onPlayerLogin", root, Login_Id) addEventHandler("onPlayerLogout", root, function(acc) removeElementData(source, "isStaff") -- Deslogou, não está mais logado na conta de Staff. end) client-side function fRenderNameTag() local target = getPedTarget(localPlayer) for _, player in pairs(getElementsByType("player", root, true)) do if player ~= localPlayer then local cx, cy, cz = getCameraMatrix() local vx, vy, vz = getPedBonePosition(player, 8) local dist = getDistanceBetweenPoints3D(cx, cy, cz, vx, vy, vz) if dist < normalDrawDistance or player == target then if isLineOfSightClear(cx, cy, cz, vx, vy, vz, true, false, false, true, false, false, false, localPlayer) then local x, y = getScreenFromWorldPosition(vx, vy, vz + 0.3) if x and y then local text = getElementData(player, "ID") or "N/A" local w = dxGetTextWidth(text, 1, "default-bold", true) local alpha = 255 if dist >= 10 then local leftover = dist - 10 alpha = math.max(0, alpha - dist * (leftover/5)) end if not getElementData(player, "isStaff") then -- Se o alvo NÃO É staff, então: dxDrawBorderedText(text, x - w, y - 10, x + w, y, tocolor(255, 255, 255, alpha), alpha, 1, "default-bold", "center", "top", false, false, false, true) end end end end end end end addEventHandler("onClientRender", root, fRenderNameTag)
    1 point
  2. function rotatePos(x, y, w, h, rot) local cx = x + w / 2 local cy = y + h / 2 local ox = x - cx local oy = y - cy local rad = math.rad(rot) local cos = math.cos(rad) local sin = math.sin(rad) local nx = cx + ox * cos - oy * sin local ny = cy + ox * sin + oy * cos return nx, ny end --use local iW = -- item width local iH = -- item height local iX = -- item x position local iY = -- item y position local rot = 90 -- rotation local rX, rY = rotatePos(iX, iY, iW, iH, rot) dxDrawImage(rX, rY, iW, iH, "item.png", rot)
    1 point
  3. Segue no exemplo abaixo, quando um player executar o comando /fly ele envia uma mensagem no chat para todos os players online que estão na acl 'Staff'. addCommandHandler("fly", function(playerSource, Command) for i, admins in ipairs(getElementsByType("player")) do -- Retorna todos os players do servidor. if aclGetGroup("Staff") and isObjectInACLGroup ( "user." ..getAccountName(getPlayerAccount(admins)), aclGetGroup("Staff")) then -- Verifica e retorna os player que estão na acl 'Staff'. outputChatBox("#FF0000Infomation: #FFFFFFO Staff "..getPlayerName(playerSource).." ativou o '/"..Command.."'.", admins, 255, 255, 255, true) -- Envia as mensagens aos players após a verificação. end end end)
    1 point
×
×
  • Create New...