#RooTs Posted September 13, 2018 Share Posted September 13, 2018 Olá.. me lembro de ter visto uma maneira de bloquear as binds padrões do mta na hora de digitar alguma coisa no painel login binds de paineis, por exemplo painel F1 freeroam, ou os demais paineis que vem junto com a GameMode ou de criação minha. sei bloquear com elementData mais binds de chat ( T ) console ( F8 ) e mapa ( F11 ).. não me lembro como bloquear elas, pois está atrapalhando a digitação do usuario e senha do meu painel login em DX o que devo fazer... alguma ideia ? desde já agradeço... Link to comment
Other Languages Moderators androksi Posted September 13, 2018 Other Languages Moderators Share Posted September 13, 2018 (edited) guiSetInputMode("no_binds_when_editing") guiSetInputEnabled(false) Os dois funcionam. Edited September 13, 2018 by asrzk Link to comment
Jonas^ Posted September 13, 2018 Share Posted September 13, 2018 (edited) Tente isto: SERVER-SIDE addEventHandler ("onResourceStart", getResourceRootElement(getThisResource()), function () local everybody = getElementsByType ("player") for i, thePlayer in ipairs (everybody) do if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Console")) then -- SOMENTE O CONSOLE PODE USAR AS BINDS. setElementData (thePlayer, "bindPermission", true) else setElementData (thePlayer, "bindPermission", false) end end end) addEventHandler ("onPlayerLogin", getRootElement(), function (prev, curr) if isObjectInACLGroup ("user."..getAccountName(curr), aclGetGroup("Console")) then setElementData (source, "bindPermission", true) end end) addEventHandler ("onPlayerLogout", getRootElement(), function (prev, curr) setElementData (source, "bindPermission", false) end) CLIENT-SIDE disallowedCmds = { "say", -- 2 EXEMPLOS DE BLOQUEIO, SE OS JOGADORES TENTAREM BINDAR COM ESSES 2 COMANDOS, IRA VERIFICAR E ENVIAR UMA MENSAGEM AVISANDO QUAL TECLA ESTA COM BIND PARA O JOGADOR DESATIVAR.. "teamsay" } addEventHandler ("onClientKey", getRootElement(), function (button, state) if not state then return end if not getElementData (localPlayer, "bindPermission") then local keys = {} for i, cmd in ipairs (disallowedCmds) do if getBoundKeys (cmd) then for ii, key in pairs (getBoundKeys (cmd)) do table.insert (keys, ii) end end end if keys then for _, keyName in pairs (keys) do if button == tostring (keyName) then outputChatBox ("Sua tecla: '"..keyName.."' contém bind proibida e não pode ser usada, por favor use: /unbind "..keyName, 255, 0, 0 ) cancelEvent () break end end end end end) 1 hour ago, asrzk said: guiSetInputMode("no_binds_when_editing") guiSetInputEnabled(false) Os dois funcionam. Lembrando que ele citou '' DX '' não gui creio que isso não ira funcionar no caso dele. Edited September 13, 2018 by OverKILL Link to comment
#RooTs Posted September 13, 2018 Author Share Posted September 13, 2018 OverKILL Eu acho que você não leu corretamente ou eu posso ter me interpretado mau. Eu coloquei painel login.. o que tem haver verificação do jogador na acl com o meu assunto? Andrei O que GUI tem haver com meu painel login dx ? O que GUI poderia bloquear as binds padrões do mta ? Eu acho que não entendi.. poderia ser mais claro? Link to comment
Jonas^ Posted September 13, 2018 Share Posted September 13, 2018 1 minute ago, #RooTs said: OverKILL Eu acho que você não leu corretamente ou eu posso ter me interpretado mau. Eu coloquei painel login.. o que tem haver verificação do jogador na acl com o meu assunto? Andrei O que GUI tem haver com meu painel login dx ? O que GUI poderia bloquear as binds padrões do mta ? Eu acho que não entendi.. poderia ser mais claro? Isso é uma verificação na ACL caso o usuário que esteja tentando usar bind esteja na acl CONSOLE, ele ira conseguir escrever com bind, você quer bloquear qual comando para não ser bindado o /login? Link to comment
#RooTs Posted September 13, 2018 Author Share Posted September 13, 2018 (edited) 7 minutes ago, OverKILL said: Isso é uma verificação na ACL caso o usuário que esteja tentando usar bind esteja na acl CONSOLE, ele ira conseguir escrever com bind, você quer bloquear qual comando para não ser bindado o /login? Cara pelo amor de Deus.. eu tenho certeza que eu não escrevi errado... leia de novo.. deixei bem claro falando sobre a digitação de usuário e senha no painel login... sendo assim usuário ou senha contendo a letra "T" ATIRAVÁ o chat e não conseguirá mais dar termino no login dele. O mesmo com a criação da conta dele Se não for ajudar não atrapalha Edited September 13, 2018 by #RooTs Link to comment
Jonas^ Posted September 13, 2018 Share Posted September 13, 2018 (edited) 7 minutes ago, #RooTs said: Cara pelo amor de Deus.. eu tenho certeza que eu não escrevi errado... leia de novo.. deixei bem claro falando sobre a digitação de usuário e senha no painel login... sendo assim usuário ou senha contendo a letra "T" ATIRAVÁ o chat e não conseguirá mais dar termino no login dele. O mesmo com a criação da conta dele Se não for ajudar não atrapalha Que ignorância meu jovem.. esta com problemas pessoais? mas enfim, não quero saber. se você quiser bloquear o comando /login e o /register e o chat de ser bindado use: bindCheck = { "login", "register", "say" } addEventHandler ("onClientKey", getRootElement(), function (button, state) if not state then return end if not getElementData (localPlayer, "bindPermission") then local keys = {} for i, cmd in ipairs (bindCheck) do if getBoundKeys (cmd) then for ii, key in pairs (getBoundKeys (cmd)) do table.insert (keys, ii) end end end if keys then for _, keyName in pairs (keys) do if button == tostring (keyName) then outputChatBox ("[INFO] - Sua tecla: "..keyName.." contém bind proibida e não pode ser usada, por favor use: /unbind "..keyName, 255, 0, 0 ) cancelEvent () break end end end end end) Assim se o jogador tiver por exemplo: /bind 1 login 123 ou /bind 2 register 123 e tentar usar essas bind's e apertar a tecla correspondente não ira funcionar. Ou qualquer bind de chat por exemplo: /bind 4 say 123. o jogador não ira conseguir, a não ser que esteja na ACL console. Tente melhorar sua ignorância, só estamos tentando te ajudar maninho. boa sorte aí No caso se for pra bloquear uma tecla de ser usada, acho que não tem como fazer isso. tente dar uma procurada na wiki a respeito..... Edited September 13, 2018 by OverKILL Link to comment
#RooTs Posted September 13, 2018 Author Share Posted September 13, 2018 5 minutes ago, OverKILL said: Que ignorância meu jovem.. esta com problemas pessoais? mas enfim, não quero saber. se você quiser bloquear o comando /login e o /register e o chat de ser bindado use: bindCheck = { "login", "register", "say" } addEventHandler ("onClientKey", getRootElement(), function (button, state) if not state then return end if not getElementData (localPlayer, "bindPermission") then local keys = {} for i, cmd in ipairs (bindCheck) do if getBoundKeys (cmd) then for ii, key in pairs (getBoundKeys (cmd)) do table.insert (keys, ii) end end end if keys then for _, keyName in pairs (keys) do if button == tostring (keyName) then outputChatBox ("[INFO] - Sua tecla: "..keyName.." contém bind proibida e não pode ser usada, por favor use: /unbind "..keyName, 255, 0, 0 ) cancelEvent () break end end end end end) Assim se o jogador tiver por exemplo: /bind 1 login 123 ou /bind 2 register 123 e tentar usar essas bind's e apertar a tecla correspondente não ira funcionar. Ou qualquer bind de chat por exemplo: /bind 4 say 123. o jogador não ira conseguir, a não ser que esteja na ACL console. Tente melhorar sua ignorância, só estamos tentando te ajudar maninho. boa sorte aí No caso se for pra bloquear uma tecla de ser usada, acho que não tem como fazer isso. tente dar uma procurada na wiki a respeito..... Não jovem... não complica meu pedido de ajuda com uma coisa nada haver.. ohhh senhoorr... Alguém ai entendeu ? Link to comment
Other Languages Moderators Lord Henry Posted September 13, 2018 Other Languages Moderators Share Posted September 13, 2018 Acho que vc quer apenas bloquear as binds (nativas ou não) enquanto o painel DX do login estiver visível, é isso? Link to comment
#RooTs Posted September 13, 2018 Author Share Posted September 13, 2018 (edited) .. Edited September 13, 2018 by #RooTs Link to comment
Jonas^ Posted September 13, 2018 Share Posted September 13, 2018 5 minutes ago, Lord Henry said: Acho que vc quer apenas bloquear as binds (nativas ou não) enquanto o painel DX do login estiver visível, é isso? Não adianta tentar ajudar Lord, ele esta na ignorância, não esta nem aí pra quem esta se esforçando pra tentar ajudar ele.. Atitude de um verdadeiro '' Moleque '' . Link to comment
#RooTs Posted September 13, 2018 Author Share Posted September 13, 2018 6 minutes ago, Lord Henry said: Acho que vc quer apenas bloquear as binds (nativas ou não) enquanto o painel DX do login estiver visível, é isso? Isso... porque quando o player vai digita o usuario no painel ex. Roots a letra T vai ativa o chat Link to comment
Other Languages Moderators Lord Henry Posted September 14, 2018 Other Languages Moderators Share Posted September 14, 2018 Já tentou cancelar o evento onClientKey? Cancelar esse evento impede que as funções das teclas funcionem. Link to comment
#RooTs Posted September 14, 2018 Author Share Posted September 14, 2018 11 minutes ago, Lord Henry said: Já tentou cancelar o evento onClientKey? Cancelar esse evento impede que as funções das teclas funcionem. Dessa maneira iria bloquear ? addEventHandler( "onClientKey", root, function() if button == "t" then cancelEvent() return true end return false end ) Link to comment
Other Languages Moderators Lord Henry Posted September 14, 2018 Other Languages Moderators Share Posted September 14, 2018 13 minutes ago, #RooTs said: Dessa maneira iria bloquear ? addEventHandler( "onClientKey", root, function() if button == "t" then cancelEvent() return true end return false end ) Não. Pois button não foi declarado em lugar nenhum. Link to comment
#RooTs Posted September 14, 2018 Author Share Posted September 14, 2018 addEventHandler( "onClientKey", root, function(button) if button == "t" then cancelEvent() return true end return false end ) Assim ? Link to comment
Other Languages Moderators Lord Henry Posted September 14, 2018 Other Languages Moderators Share Posted September 14, 2018 Bom, nesse exemplo não precisa dos return. Mas sim, isso bloqueia o binds da tecla T. Link to comment
DNL291 Posted September 14, 2018 Share Posted September 14, 2018 Acho que já foi respondido no post do @asrzk Link to comment
Jonas^ Posted September 14, 2018 Share Posted September 14, 2018 13 hours ago, Lord Henry said: Bom, nesse exemplo não precisa dos return. Mas sim, isso bloqueia o binds da tecla T. Creio que ele queira bloquear a tecla ' t ' de ser usada, pois quando um jogador aperta ela no painel DX dele buga o painel e o jogador não consegue prosseguir com o registro, creio que seja isso. 13 hours ago, DNL291 said: Acho que já foi respondido no post do @asrzk Ele quer para o painel DX, acho que o que o @asrzk disse não serve para DX Link to comment
Other Languages Moderators Lord Henry Posted September 14, 2018 Other Languages Moderators Share Posted September 14, 2018 4 minutes ago, OverKILL said: Creio que ele queira bloquear a tecla ' t ' de ser usada, pois quando um jogador aperta ela no painel DX dele buga o painel e o jogador não consegue prosseguir com o registro, creio que seja isso. Mas é pra isso mesmo. Ao apertar a tecla e cancelar esse evento, não será ativado no chat. 1 Link to comment
Jonas^ Posted September 14, 2018 Share Posted September 14, 2018 (edited) 21 minutes ago, Lord Henry said: Mas é pra isso mesmo. Ao apertar a tecla e cancelar esse evento, não será ativado no chat. Mas aí os jogadores vão ter que usar o console para digitar comandos e etc? Ou da pra fazer uma verificação na função: exemplo, Jogador1 esta no painel login então, envia o cancelEvent caso ele aperte a tecla ' T ' Edited September 14, 2018 by OverKILL Link to comment
Other Languages Moderators Lord Henry Posted September 14, 2018 Other Languages Moderators Share Posted September 14, 2018 Ah ta. Só setar uma data true no player quando inicia o render do painel e depois setar essa data false quando a renderização do painel é cancelada. Enquanto o jogador estiver com essa data, as binds da tecla T não funcionarão. addEventHandler ("onClientKey", root, function (button) if button == "t" then if getElementData (localPlayer, "loginPanel") then cancelEvent() end end end) 1 Link to comment
Jonas^ Posted September 14, 2018 Share Posted September 14, 2018 4 hours ago, Lord Henry said: Ah ta. Só setar uma data true no player quando inicia o render do painel e depois setar essa data false quando a renderização do painel é cancelada. Enquanto o jogador estiver com essa data, as binds da tecla T não funcionarão. addEventHandler ("onClientKey", root, function (button) if button == "t" then if getElementData (localPlayer, "loginPanel") then cancelEvent() end end end) Ah sim, entendi vlw Lord . 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