RyanG Posted February 16, 2020 Share 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. Link to comment
DNL291 Posted February 17, 2020 Share 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 Link to comment
Jonas^ Posted February 17, 2020 Share 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) Link to comment
Other Languages Moderators androksi Posted February 19, 2020 Other Languages Moderators Share Posted February 19, 2020 Qual é o bug de animação? Link to comment
#RooTs Posted February 20, 2020 Share 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.. Link to comment
Tommy. Posted February 20, 2020 Share 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 Link to comment
Angelo Pereira Posted February 20, 2020 Share 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 Link to comment
RyanG Posted February 22, 2020 Author Share 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. Link to comment
Angelo Pereira Posted February 22, 2020 Share 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 Link to comment
RyanG Posted February 22, 2020 Author Share 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: Link to comment
Other Languages Moderators androksi Posted February 22, 2020 Other Languages Moderators Share 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 ) Link to comment
RyanG Posted February 23, 2020 Author Share 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 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