RyanG Posted February 16, 2020 Posted February 16, 2020 Então, eu estou usando o getBoundControls para kickar jogador que estão usando binds para bugar animação em meu servidor. mas essa função só funciona se o jogador já estiver entrando no meu servidor com as configurações de teclas alteradas.. queria saber se existe algum evento para acionar a função assim que o jogador mudar as configurações de teclas já dentro do servidor, quando ele trocar toma kick. Obrigado.
DNL291 Posted February 17, 2020 Posted February 17, 2020 Evento para binds não existe, mas você pode usar alguns métodos para isso, que eu não sei qual é o melhor porque nunca fiz, mas tente usar addCommandHandler/onPlayerCommand. Ou fazer uma whitelist de certos comandos permitidos a uma tecla
Jonas^ Posted February 17, 2020 Posted February 17, 2020 Ou, se você sabe a combinação exata de teclas que os cara aperta, você pode fazer uma verificação, desta forma: client addEventHandler ("onClientKey", getRootElement(), function (button, state) if button == "a" then if state then -- Se o jogador tiver com a tecla A pressionada, então: setElementData (localPlayer, "button.a", true) -- Seta a data informando que ele esta com a tecla A pressionada. else -- Se o jogador soltar a tecla A, então: setElementData (localPlayer, "button.a", false) -- Remove a data informando que ele não esta com a tecla A pressionada. end elseif button == "b" then if state then -- Se o jogador tiver com a tecla B pressionada, então: setElementData (localPlayer, "button.b", true) -- Seta a data informando que ele esta com a tecla B pressionada. else -- Se o jogador soltar a tecla B, então: setElementData (localPlayer, "button.b", false) -- Remove a data informando que ele não esta com a tecla B pressionada. end end if getElementData (localPlayer, "button.a") and getElementData (localPlayer, "button.b") then -- Se o jogador tiver com as 2 pressionadas, então: triggerServerEvent ("kickPlayer", localPlayer) -- Trigger no server pra kicker o cara. end end) server addEvent ("kickPlayer", true) addEventHandler ("kickPlayer", getRootElement(), function () kickPlayer (client, "Combinação proibida detectada!") end)
Other Languages Moderators androksi Posted February 19, 2020 Other Languages Moderators Posted February 19, 2020 Qual é o bug de animação?
#RooTs Posted February 20, 2020 Posted February 20, 2020 13 hours ago, andreisrww said: Qual é o bug de animação? eu também queria saber... rsss nunca ouvi falar em bug de animação.. pior que estou no mta há muito tempo e nunca vi isso.. mais sempre tem uma primeira vez..
Tommy. Posted February 20, 2020 Posted February 20, 2020 On 19/02/2020 at 08:24, andreisrww said: Qual é o bug de animação? Quem é vivo sempre aparece hein.. 1
Angelo Pereira Posted February 20, 2020 Posted February 20, 2020 (edited) O único bug de animação que eu me recordo, é.. Por exemplo, abrir um painel de animação, e fazer uma animação (envia para o lado server-side a animação), e então, quando clicar em stop animação (não envia para o server-side), fica no client-side, ou seja, para o player ele está normal, porem para o outros players, aparece que ele esta com animação. Edited February 20, 2020 by Angelo Pereira
RyanG Posted February 22, 2020 Author Posted February 22, 2020 On 19/02/2020 at 08:24, andreisrww said: Qual é o bug de animação? assista a esse video que você vai entender.
Angelo Pereira Posted February 22, 2020 Posted February 22, 2020 (edited) Para resolver isso, faça : server-side addEventHandler("onResourceStart", resourceRoot, function () setGlitchEnabled("fastmove", false) setGlitchEnabled("fastsprint", false) setGlitchEnabled("quickstand", false) setGlitchEnabled("fastfire", false) setGlitchEnabled("crouchbug", false) end) --/> Também pode utilizar o recurso NoCrouchSlide (nocrouchslide) : --Link: https://community.multitheftauto.com/index.php?p=resources&s=details&id=13368 --/> Veja também se você não tem nenhum recurso de c-bug no servidor, caso tenha, pode interferir com o script acima. Edited February 22, 2020 by Angelo Pereira
RyanG Posted February 22, 2020 Author Posted February 22, 2020 1 hour ago, Angelo Pereira said: Para resolver isso, faça : server-side addEventHandler("onResourceStart", resourceRoot, function () setGlitchEnabled("fastmove", false) setGlitchEnabled("fastsprint", false) setGlitchEnabled("quickstand", false) setGlitchEnabled("fastfire", false) setGlitchEnabled("crouchbug", false) end) --/> Também pode utilizar o recurso NoCrouchSlide (nocrouchslide) : --Link: https://community.multitheftauto.com/index.php?p=resources&s=details&id=13368 --/> Veja também se você não tem nenhum recurso de c-bug no servidor, caso tenha, pode interferir com o script acima. na wiki diz que todos esses glitchs já são desabilitados por padrão, mas mesmo assim testei e não adiantou nada:
Other Languages Moderators androksi Posted February 22, 2020 Other Languages Moderators Posted February 22, 2020 Tente isso: -- client-side local controlTable = {"fire", "next_weapon", "previous_weapon", "forwards", "backwards", "left", "right", "zoom_in", "zoom_out", "change_camera", "jump", "sprint", "look_behind", "crouch", "action", "walk", "aim_weapon", "conversation_yes", "conversation_no", "group_control_forwards", "group_control_back", "enter_exit", "vehicle_fire", "vehicle_secondary_fire", "vehicle_left", "vehicle_right", "steer_forward", "steer_back", "accelerate", "brake_reverse", "radio_next", "radio_previous", "radio_user_track_skip", "horn", "sub_mission", "handbrake", "vehicle_look_left", "vehicle_look_right", "vehicle_look_behind", "vehicle_mouse_look", "special_control_left", "special_control_right", "special_control_down", "special_control_up"} function getBoundControls(key) -- Função útil da Wiki (https://wiki.multitheftauto.com/wiki/GetBoundControls) local controls = {} for _, control in ipairs(controlTable) do for k in pairs(getBoundKeys(control)) do if (k == key) then controls[control] = true end end end return controls end function kick() triggerServerEvent("anticheat->kick", resourceRoot) end addEventHandler("onClientResourceStart", resourceRoot, function() if getBoundControls("space")["crouch"] and getBoundControls("space")["fire"] then kick() end end ) addEventHandler("onClientPlayerWeaponFire", root, function() if source == localPlayer then if getBoundControls("space")["crouch"] and getBoundControls("space")["fire"] then kick() end end end ) -- server-side addEvent("anticheat->kick", true) addEventHandler("anticheat->kick", resourceRoot, function() kickPlayer(client, "Console", "Retire suas binds.") end )
RyanG Posted February 23, 2020 Author Posted February 23, 2020 15 hours ago, andreisrww said: Tente isso: -- client-side local controlTable = {"fire", "next_weapon", "previous_weapon", "forwards", "backwards", "left", "right", "zoom_in", "zoom_out", "change_camera", "jump", "sprint", "look_behind", "crouch", "action", "walk", "aim_weapon", "conversation_yes", "conversation_no", "group_control_forwards", "group_control_back", "enter_exit", "vehicle_fire", "vehicle_secondary_fire", "vehicle_left", "vehicle_right", "steer_forward", "steer_back", "accelerate", "brake_reverse", "radio_next", "radio_previous", "radio_user_track_skip", "horn", "sub_mission", "handbrake", "vehicle_look_left", "vehicle_look_right", "vehicle_look_behind", "vehicle_mouse_look", "special_control_left", "special_control_right", "special_control_down", "special_control_up"} function getBoundControls(key) -- Função útil da Wiki (https://wiki.multitheftauto.com/wiki/GetBoundControls) local controls = {} for _, control in ipairs(controlTable) do for k in pairs(getBoundKeys(control)) do if (k == key) then controls[control] = true end end end return controls end function kick() triggerServerEvent("anticheat->kick", resourceRoot) end addEventHandler("onClientResourceStart", resourceRoot, function() if getBoundControls("space")["crouch"] and getBoundControls("space")["fire"] then kick() end end ) addEventHandler("onClientPlayerWeaponFire", root, function() if source == localPlayer then if getBoundControls("space")["crouch"] and getBoundControls("space")["fire"] then kick() end end end ) -- server-side addEvent("anticheat->kick", true) addEventHandler("anticheat->kick", resourceRoot, function() kickPlayer(client, "Console", "Retire suas binds.") end ) Funcionou bem, obrigado pela a ajuda de todos
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