iSamukaOP Posted July 8, 2023 Share Posted July 8, 2023 Sou muito leigo para isso, queria que só quem estivesse na ACL "Staff" usasse isso function glue() local player = getLocalPlayer() if not getPlayerOccupiedVehicle(player) then local vehicle = getPlayerContactElement(player) if getElementType(vehicle) == "vehicle" then local px, py, pz = getElementPosition(player) local vx, vy, vz = getElementPosition(vehicle) local sx = px - vx local sy = py - vy local sz = pz - vz local rotpX = 0 local rotpY = 0 local rotpZ = getPlayerRotation(player) local rotvX,rotvY,rotvZ = getVehicleRotation(vehicle) local t = math.rad(rotvX) local p = math.rad(rotvY) local f = math.rad(rotvZ) local ct = math.cos(t) local st = math.sin(t) local cp = math.cos(p) local sp = math.sin(p) local cf = math.cos(f) local sf = math.sin(f) local z = ct*cp*sz + (sf*st*cp + cf*sp)*sx + (-cf*st*cp + sf*sp)*sy local x = -ct*sp*sz + (-sf*st*sp + cf*cp)*sx + (cf*st*sp + sf*cp)*sy local y = st*sz - sf*ct*sx + cf*ct*sy local rotX = rotpX - rotvX local rotY = rotpY - rotvY local rotZ = rotpZ - rotvZ local slot = getPlayerWeaponSlot(player) --outputDebugString("gluing ".. getPlayerName(player) .." to " .. getVehicleName(vehicle) .. "(offset: "..tostring(x)..","..tostring(y)..","..tostring(z).."; rotation:"..tostring(rotX)..","..tostring(rotY)..","..tostring(rotZ)..")") triggerServerEvent("gluePlayer", player, slot, vehicle, x, y, z, rotX, rotY, rotZ) unbindKey("x","down",glue) bindKey("x","down",unglue) bindKey("jump","down",unglue) end end end addCommandHandler("glue",glue) function unglue () local player = getLocalPlayer() triggerServerEvent("ungluePlayer", player) unbindKey("jump","down",unglue) unbindKey("x","down",unglue) bindKey("x","down",glue) end addCommandHandler("unglue",unglue) bindKey("x","down",glue) function gluePlayer(slot, vehicle, x, y, z, rotX, rotY, rotZ) attachElementToElement(source, vehicle, x, y, z, rotX, rotY, rotZ) setPlayerWeaponSlot(source, slot) end addEvent("gluePlayer",true) addEventHandler("gluePlayer",getRootElement(),gluePlayer) function ungluePlayer() detachElementFromElement(source) end addEvent("ungluePlayer",true) addEventHandler("ungluePlayer",getRootElement(),ungluePlayer) não sei em qual destes é mas acredito que seja no primeiro Link to comment
Other Languages Moderators Lord Henry Posted July 8, 2023 Other Languages Moderators Share Posted July 8, 2023 Troque todos os getLocalPlayer() pela variável predefinida localPlayer. Troque todos os getRootElement() pela variável predefinida root. Imagino que seu primeiro script seja client-side e o segundo script seja server-side. Verificar ACL só funciona em scripts server-side, ou seja, tem que ser no seu segundo script. Adicione uma nova linha antes do attachElementToElement e nela coloque isso: if not isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(source)), aclGetGroup ("Staff")) then return end -- Se o jogador não estiver na ACL Group "Staff", cancela essa função e nada acontece. Obs: Limitar permissões de acesso para staffs e não staffs é mais inteligente fazer via permissão em vez de ACL Group. Dessa forma você não precisa ficar criando uma ACL Group genérica de Staff para colocar todos os seus staffs dentro. Você pode simplesmente verificar se o jogador tem permissão de mutar jogadores, se ele tiver essa permissão então ele é staff (moderador ou superior). Para verificar essa permissão, você pode fazer assim: if not hasObjectPermissionTo (source, "command.mute", false) then return end -- Se o jogador não tem permissão para mutar jogadores (não é staff), então cancela essa função e nada acontece. Link to comment
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now