Jump to content

Anti-Bind


Recommended Posts

Posted (edited)

Olá precisava de uma função que tira a execução de bind no server,quando o player criar uma bind e for soltar,aparecer que ele não pode soltar essa mensagem no chat.

 

Edited by FeniXMTA
Posted (edited)
5 minutos atrás, #RooTs disse:

Explica mais o que está acontecendo?

Tipo assim,bloquear bind no server,só pode soltar a bind quem estiver em uma determinada ACL.

Edited by FeniXMTA
Posted
54 minutes ago, #RooTs said:

Amigo explica melhor qual bind você quer.. é bind de texto ? Ainda continuo não intendendo... ajuda ai

Sim,bind de texto.

  • Other Languages Moderators
Posted

Bom, nunca fiz bloqueio de teclas então passei metade do dia aprendendo a fazer isso.

Consegui fazer ele detectar as teclas que possuem bind de texto e bloquear seu uso caso o jogador não tenha permissão. Você me pediu por privado para fazer via ACL Group, então fiz o bloqueio usando a ACL Group Console como exemplo. Se o jogador não estiver na ACL Group Console, o script bloqueará qualquer bind de texto dele. A parte do bloqueio de binds é feita client-side e a parte de verificar ACL Group é server-side.

Server:

addEventHandler ("onResourceStart", getResourceRootElement(getThisResource()), function () -- Executa essa função ao iniciar este resource.
	local everybody = getElementsByType ("player") -- everybody é uma lista com todos os players conectados no servidor, incluindo os deslogados.
	for i, thePlayer in ipairs (everybody) do -- Para cada jogador que já está no servidor, faça:
		if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Console")) then -- Se este jogador está na ACL Group Console, então:
			setElementData (thePlayer, "bindPermission", true) -- Permite que este player use teclas com binds de texto.
		else -- Se ele não está na ACL Group Console, então:
			setElementData (thePlayer, "bindPermission", false) -- Proíbe que este player use teclas com binds de texto.
		end
	end
end)

addEventHandler ("onPlayerLogin", getRootElement(), function (prev, curr) -- Quando alguém fizer login, executa essa função.
	if isObjectInACLGroup ("user."..getAccountName(curr), aclGetGroup("Console")) then -- Se o jogador que fez login está na ACL Group Console, então:
		setElementData (source, "bindPermission", true) -- Permite que este player use teclas com binds de texto.
	end
end)

addEventHandler ("onPlayerLogout", getRootElement(), function (prev, curr) -- Quando alguém deslogar, executa essa função.
	setElementData (source, "bindPermission", false) -- Proíbe que o player deslogado use teclas com binds de texto.
end)

Client:

addEventHandler ("onClientKey", getRootElement(), function (button, state) -- Executa essa função quando o jogador pressionar ou soltar qualquer tecla.
	if not state then return end -- Não verifica ao soltar a tecla, somente ao pressionar.
	if not getElementData (localPlayer, "bindPermission") then -- Se o jogador não tem permissão para usar binds de texto, então:
		local keys = getBoundKeys ("say") -- Obtém uma lista com todas as teclas com binds de texto.
		if keys then -- Se existe alguma tecla com bind de texto, então:
			for keyName, keyState in pairs (keys) do -- Para cada tecla com bind de texto, faça:
				if button == keyName then -- Se a tecla pressionada está com bind de texto, então:
					outputChatBox ("Tecla bloqueada: "..keyName, 255, 0, 0) -- Avisa o jogador que essa tecla foi bloqueada.
					cancelEvent () -- Cancela o efeito dessa tecla como se ela nem tivesse sido usada.
					break -- Sai do loop do FOR para não precisar verificar as demais teclas com bind de texto.
				end
			end
		end
	end
end)

Espero ter ajudado.

  • Thanks 1
Posted
6 hours ago, Lord Henry said:

Bom, nunca fiz bloqueio de teclas então passei metade do dia aprendendo a fazer isso.

Consegui fazer ele detectar as teclas que possuem bind de texto e bloquear seu uso caso o jogador não tenha permissão. Você me pediu por privado para fazer via ACL Group, então fiz o bloqueio usando a ACL Group Console como exemplo. Se o jogador não estiver na ACL Group Console, o script bloqueará qualquer bind de texto dele. A parte do bloqueio de binds é feita client-side e a parte de verificar ACL Group é server-side.

Server:


addEventHandler ("onResourceStart", getResourceRootElement(getThisResource()), function () -- Executa essa função ao iniciar este resource.
	local everybody = getElementsByType ("player") -- everybody é uma lista com todos os players conectados no servidor, incluindo os deslogados.
	for i, thePlayer in ipairs (everybody) do -- Para cada jogador que já está no servidor, faça:
		if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount(thePlayer)), aclGetGroup("Console")) then -- Se este jogador está na ACL Group Console, então:
			setElementData (thePlayer, "bindPermission", true) -- Permite que este player use teclas com binds de texto.
		else -- Se ele não está na ACL Group Console, então:
			setElementData (thePlayer, "bindPermission", false) -- Proíbe que este player use teclas com binds de texto.
		end
	end
end)

addEventHandler ("onPlayerLogin", getRootElement(), function (prev, curr) -- Quando alguém fizer login, executa essa função.
	if isObjectInACLGroup ("user."..getAccountName(curr), aclGetGroup("Console")) then -- Se o jogador que fez login está na ACL Group Console, então:
		setElementData (source, "bindPermission", true) -- Permite que este player use teclas com binds de texto.
	end
end)

addEventHandler ("onPlayerLogout", getRootElement(), function (prev, curr) -- Quando alguém deslogar, executa essa função.
	setElementData (source, "bindPermission", false) -- Proíbe que o player deslogado use teclas com binds de texto.
end)

Client:


addEventHandler ("onClientKey", getRootElement(), function (button, state) -- Executa essa função quando o jogador pressionar ou soltar qualquer tecla.
	if not state then return end -- Não verifica ao soltar a tecla, somente ao pressionar.
	if not getElementData (localPlayer, "bindPermission") then -- Se o jogador não tem permissão para usar binds de texto, então:
		local keys = getBoundKeys ("say") -- Obtém uma lista com todas as teclas com binds de texto.
		if keys then -- Se existe alguma tecla com bind de texto, então:
			for keyName, keyState in pairs (keys) do -- Para cada tecla com bind de texto, faça:
				if button == keyName then -- Se a tecla pressionada está com bind de texto, então:
					outputChatBox ("Tecla bloqueada: "..keyName, 255, 0, 0) -- Avisa o jogador que essa tecla foi bloqueada.
					cancelEvent () -- Cancela o efeito dessa tecla como se ela nem tivesse sido usada.
					break -- Sai do loop do FOR para não precisar verificar as demais teclas com bind de texto.
				
			
		
	

Espero ter ajudado.

Vlw amigo.

  • Other Languages Moderators
Posted

Quais erros?

Não deu erro nenhum aqui. Tem certeza que copiou corretamente o código?

  • Thanks 1
Posted (edited)
14 hours ago, Lord Henry said:

Quais erros?

Não deu erro nenhum aqui. Tem certeza que copiou corretamente o código?

Eu testei o script e esta funcionando perfeitamente, bom queria aproveitar aqui este exemplo de bind de texto, se não for muito incomodo, teria como fazer um exemplo para bloquear as teclas que o jogador aperta por exemplo uma combinação: 

Se o jogador segurar o w, espaço e o mouse2 ao mesmo tempo ele é kikado motivo: Uso de combinações bloqueadas! se der pra fazer um exemplo com essas 3 teclas ficarei grato !

OBS: Após ele ser kikado manda uma mensagem root avisando: Jogador Lord kikado por combinações de tecla bloqueada: w, espaço , mouse2, em relação ao bloqueio de texto, teria como verificar se o jogador tiver bind's em outro chat? por exemplo: Eu uso um chat separadamente para os administradores, ele não usa a mesma variavel '' say '' !

 

EDIT: Neste caso que eu pedi, você não precisa usar nem uma verificação ao lado client sobre acl, quero que ninguém possa usar essa combinação de tecla ! 

Edited by OverKILL
  • Other Languages Moderators
Posted
3 hours ago, OverKILL said:

Se o jogador segurar o w, espaço e o mouse2 ao mesmo tempo ele é kikado motivo: Uso de combinações bloqueadas! se der pra fazer um exemplo com essas 3 teclas ficarei grato !

Você pode fazer da mesma forma com onClientKey. Quando o jogador pressiona uma das 3 teclas, seta uma data true nele com setElementData, quando ele solta essa tecla, seta a data false. Se ele estiver com as 3 datas como true, kicka ele. Cada tecla pressionada seta uma data diferente.

Obs: Precisará usar um triggerServerEvent para poder kickar o jogador, pois a função de kick é server-side somente. Não se esqueça de dar permissão Admin para o resource.

client-side

function keyCombination (button, state)
	if button == "w" then
		if state then -- Se o jogador aperta o botão W, então:
			setElementData (localPlayer, "button.w", true) -- Seta essa data nele.
		else -- Se o jogador solta o botão W, então:
			setElementData (localPlayer, "button.w", false) -- Remove essa data dele.
		end
	elseif button == "space" then -- Mesma coisa com os demais botões da combinação.
		if state then
			setElementData (localPlayer, "button.space", true)
		else
			setElementData (localPlayer, "button.space", false)
		end
	elseif button == "mouse2" then
		if state then
			setElementData (localPlayer, "button.mouse2", true)
		else
			setElementData (localPlayer, "button.mouse2", false)
		end
	end
	-- Se todos os 3 botões estiverem apertados, então:
	if getElementData (localPlayer, "button.w") and getElementData (localPlayer, "button.space") and getElementData (localPlayer, "button.mouse2") then
		triggerServerEvent ("keyComboKick", localPlayer) -- Executa a função do server.lua que irá kickar o localPlayer.
	end
end
addEventHandler ("onClientKey", getRootElement(), keyCombination)

server-side

function comboKick ()
	outputChatBox (getPlayerName (client).."#FF0000 foi kickado do servidor. (Motivo: Uso de combinação proibida de teclas: W + Space + Mouse2)", root, 255, 255, 255, true)
	kickPlayer (client, "Uso de combinação proibida de teclas")
end
addEvent ("keyComboKick", true)
addEventHandler ("keyComboKick", getRootElement(), comboKick)

 

3 hours ago, OverKILL said:

em relação ao bloqueio de texto, teria como verificar se o jogador tiver bind's em outro chat? por exemplo: Eu uso um chat separadamente para os administradores, ele não usa a mesma variavel '' say '' !

É só substituir o "say" pelo comando utilizado pelo seu chat admin. Por exemplo se você usa "/admchat Texto" para mandar "Texto" para os admins, então só vc trocar o "say" pelo "admchat".

Quando vc usa a tecla T e manda uma mensagem, você está na verdade usando o comando /say.

On 18/08/2018 at 15:29, Lord Henry said:

[...]

Client:


addEventHandler ("onClientKey", getRootElement(), function (button, state)
	if not state then return end
	if not getElementData (localPlayer, "bindPermission") then
		local keys = getBoundKeys ("seuComandoAqui") -- Obtém uma lista com todas as teclas com binds deste comando.
		if keys then
			for keyName, keyState in pairs (keys) do
				if button == keyName then
					outputChatBox ("Tecla bloqueada: "..keyName, 255, 0, 0)
					cancelEvent ()
					break
				end
			end
		end
	end
end)

Espero ter ajudado.

 

  • Like 1
Posted
6 minutes ago, Lord Henry said:

Você pode fazer da mesma forma com onClientKey. Quando o jogador pressiona uma das 3 teclas, seta uma data true nele com setElementData, quando ele solta essa tecla, seta a data false. Se ele estiver com as 3 datas como true, kicka ele. Cada tecla pressionada seta uma data diferente.

Obs: Precisará usar um triggerServerEvent para poder kickar o jogador, pois a função de kick é server-side somente. Não se esqueça de dar permissão Admin para o resource.

client-side


function keyCombination (button, state)
	if button == "w" then
		if state then -- Se o jogador aperta o botão W, então:
			setElementData (localPlayer, "button.w", true) -- Seta essa data nele.
		else -- Se o jogador solta o botão W, então:
			setElementData (localPlayer, "button.w", false) -- Remove essa data dele.
		end
	elseif button == "space" then -- Mesma coisa com os demais botões da combinação.
		if state then
			setElementData (localPlayer, "button.space", true)
		else
			setElementData (localPlayer, "button.space", false)
		end
	elseif button == "mouse2" then
		if state then
			setElementData (localPlayer, "button.mouse2", true)
		else
			setElementData (localPlayer, "button.mouse2", false)
		end
	end
	-- Se todos os 3 botões estiverem apertados, então:
	if getElementData (localPlayer, "button.w") and getElementData (localPlayer, "button.space") and getElementData (localPlayer, "button.mouse2") then
		triggerServerEvent ("keyComboKick", localPlayer) -- Executa a função do server.lua que irá kickar o localPlayer.
	end
end
addEventHandler ("onClientKey", getRootElement(), keyCombination)

server-side


function comboKick ()
	outputChatBox (getPlayerName (client).."#FF0000 foi kickado do servidor. (Motivo: Uso de combinação proibida de teclas: W + Space + Mouse2)", root, 255, 255, 255, true)
	kickPlayer (client, "Uso de combinação proibida de teclas")
end
addEvent ("keyComboKick", true)
addEventHandler ("keyComboKick", getRootElement(), comboKick)

 

É só substituir o "say" pelo comando utilizado pelo seu chat admin. Por exemplo se você usa "/admchat Texto" para mandar "Texto" para os admins, então só vc trocar o "say" pelo "admchat".

Quando vc usa a tecla T e manda uma mensagem, você está na verdade usando o comando /say.

 

Em relação a esta parte do script de bloquear o texto:

local keys = getBoundKeys ("seuComandoAqui") -- Obtém uma lista com todas as teclas com binds deste comando.

Tem como eu adicionar por exemplo 1 ou mais comandos nesta mesma função? para bloquear? por exemplo: say, Chat

Posted
52 minutes ago, Lord Henry said:

Você pode fazer da mesma forma com onClientKey. Quando o jogador pressiona uma das 3 teclas, seta uma data true nele com setElementData, quando ele solta essa tecla, seta a data false. Se ele estiver com as 3 datas como true, kicka ele. Cada tecla pressionada seta uma data diferente.

Obs: Precisará usar um triggerServerEvent para poder kickar o jogador, pois a função de kick é server-side somente. Não se esqueça de dar permissão Admin para o resource.

client-side


function keyCombination (button, state)
	if button == "w" then
		if state then -- Se o jogador aperta o botão W, então:
			setElementData (localPlayer, "button.w", true) -- Seta essa data nele.
		else -- Se o jogador solta o botão W, então:
			setElementData (localPlayer, "button.w", false) -- Remove essa data dele.
		end
	elseif button == "space" then -- Mesma coisa com os demais botões da combinação.
		if state then
			setElementData (localPlayer, "button.space", true)
		else
			setElementData (localPlayer, "button.space", false)
		end
	elseif button == "mouse2" then
		if state then
			setElementData (localPlayer, "button.mouse2", true)
		else
			setElementData (localPlayer, "button.mouse2", false)
		end
	end
	-- Se todos os 3 botões estiverem apertados, então:
	if getElementData (localPlayer, "button.w") and getElementData (localPlayer, "button.space") and getElementData (localPlayer, "button.mouse2") then
		triggerServerEvent ("keyComboKick", localPlayer) -- Executa a função do server.lua que irá kickar o localPlayer.
	end
end
addEventHandler ("onClientKey", getRootElement(), keyCombination)

server-side


function comboKick ()
	outputChatBox (getPlayerName (client).."#FF0000 foi kickado do servidor. (Motivo: Uso de combinação proibida de teclas: W + Space + Mouse2)", root, 255, 255, 255, true)
	kickPlayer (client, "Uso de combinação proibida de teclas")
end
addEvent ("keyComboKick", true)
addEventHandler ("keyComboKick", getRootElement(), comboKick)

 

É só substituir o "say" pelo comando utilizado pelo seu chat admin. Por exemplo se você usa "/admchat Texto" para mandar "Texto" para os admins, então só vc trocar o "say" pelo "admchat".

Quando vc usa a tecla T e manda uma mensagem, você está na verdade usando o comando /say.

 

No lugar do kick tem como adicionar por exemplo: Cancelar a animação do jogador, pois essa combinação de tecla causa um bug, e o jogador sai andando rapidamente com a arma na mao e pode atirar '' deslizando '' é um bug do GTA, o kick não é muito viavel pois acabei de perceber que kika jogadores que as vezes estão trocando tiro e apertam w por exemplo em quanto seguram ESPAÇO + MOUSE2 e são kikado, então por exemplo: um congelamento instantaneo de 1 segundo teria como ?

  • Other Languages Moderators
Posted
1 hour ago, OverKILL said:

Tem como eu adicionar por exemplo 1 ou mais comandos nesta mesma função? para bloquear? por exemplo: say, Chat

Tem. Liste cada comando em uma table e depois verifique se a tecla apertada tem uma bind com algum desses comandos. Se tiver, bloqueia a tecla.

-- Lista de comandos que serão BLOQUEADOS se forem bindados. Eles ainda podem ser usados manualmente.
disallowedCmds = {
	"say",
	"teamsay",
	"me"
}

addEventHandler ("onClientKey", root, function (button, state) -- Executa essa função quando o jogador pressionar ou soltar uma tecla.
	if not state then return end -- Não verifica ao soltar a tecla, somente ao pressioná-la.
	-- if not getElementData (localPlayer, "bindPermission") then -- Se o jogador não tem permissão de usar binds de texto, então:
		local keys = {} -- tabela local vazia, será preenchida com todas as teclas que possuem qualquer um dos comandos listados em disallowedCmds.
		for i, cmd in ipairs (disallowedCmds) do -- Para cada comando da lista, faça:
			for ii, key in pairs (getBoundKeys (cmd)) do -- Para cada tecla com este comando da lista, faça:
				table.insert (keys, ii) -- Insere na lista keys, cada tecla bindada a cada comando da lista disallowedCmds.
			end
		end
		if keys then -- Se existe alguma tecla com bind de um dos comandos da lista, então:
			for _, keyName in pairs (keys) do -- Para cada tecla com bind de um dos comandos da lista, faça:
				if button == tostring (keyName) then -- Se a tecla usada está com bind de um dos comandos da lista, então:
					outputChatBox ("Tecla bloqueada: "..keyName, 255, 0, 0) -- Avisa o jogador que essa tecla foi bloqueada.
					cancelEvent () -- Cancela o efeito dessa tecla como se ela nem tivesse sido usada.
					break -- Sai do loop do FOR para não precisar verificar as demais teclas com bind dos comandos listados.
				end
			end
		end
	-- end -- Desativei a verificação de ACL no seu caso.
end)

 

  • Like 1
Posted
5 minutes ago, Lord Henry said:

Tem. Liste cada comando em uma table e depois verifique se a tecla apertada tem uma bind com algum desses comandos. Se tiver, bloqueia a tecla.


-- Lista de comandos que serão BLOQUEADOS se forem bindados. Eles ainda podem ser usados manualmente.
disallowedCmds = {
	"say",
	"teamsay",
	"me"
}

addEventHandler ("onClientKey", root, function (button, state) -- Executa essa função quando o jogador pressionar ou soltar uma tecla.
	if not state then return end -- Não verifica ao soltar a tecla, somente ao pressioná-la.
	-- if not getElementData (localPlayer, "bindPermission") then -- Se o jogador não tem permissão de usar binds de texto, então:
		local keys = {} -- tabela local vazia, será preenchida com todas as teclas que possuem qualquer um dos comandos listados em disallowedCmds.
		for i, cmd in ipairs (disallowedCmds) do -- Para cada comando da lista, faça:
			for ii, key in pairs (getBoundKeys (cmd)) do -- Para cada tecla com este comando da lista, faça:
				table.insert (keys, ii) -- Insere na lista keys, cada tecla bindada a cada comando da lista disallowedCmds.
			end
		end
		if keys then -- Se existe alguma tecla com bind de um dos comandos da lista, então:
			for _, keyName in pairs (keys) do -- Para cada tecla com bind de um dos comandos da lista, faça:
				if button == tostring (keyName) then -- Se a tecla usada está com bind de um dos comandos da lista, então:
					outputChatBox ("Tecla bloqueada: "..keyName, 255, 0, 0) -- Avisa o jogador que essa tecla foi bloqueada.
					cancelEvent () -- Cancela o efeito dessa tecla como se ela nem tivesse sido usada.
					break -- Sai do loop do FOR para não precisar verificar as demais teclas com bind dos comandos listados.
				end
			end
		end
	-- end -- Desativei a verificação de ACL no seu caso.
end)

 

E sobre a minha resposta acima?

  • Other Languages Moderators
Posted (edited)

Ta ae, de nada:

function keyCombination (button, state)
	if button == "w" then
		if state then
			setElementData (localPlayer, "button.w", true)
		else
			setElementData (localPlayer, "button.w", false)
		end
	elseif button == "space" then
		if state then
			setElementData (localPlayer, "button.space", true)
		else
			setElementData (localPlayer, "button.space", false)
		end
	elseif button == "mouse2" then
		if state then
			setElementData (localPlayer, "button.mouse2", true)
		else
			setElementData (localPlayer, "button.mouse2", false)
		end
	end
	-- Se o jogador está apertando as teclas acima ao mesmo tempo, então:
	if getElementData (localPlayer, "button.w") and getElementData (localPlayer, "button.space") and getElementData (localPlayer, "button.mouse2") then
		setElementFrozen (localPlayer, true) -- Congela ele no lugar.
		if isTimer (bugTimer) then -- Se já existe um timer para descongelá-lo (jogador tenta bugar enquanto já está congelado), então:
			resetTimer (bugTimer) -- Reinicia o timer para descongelá-lo.
		else -- Se não tem um timer para descongelá-lo, então:
			bugTimer = setTimer (setElementFrozen, 500, 1, localPlayer, false) -- Cria o timer. Depois de meio segundo, descongela o jogador.
			-- O timer reiniciará sempre que o jogador tentar bugar enquanto já está congelado. Dessa forma ele não será descongelado enquanto não parar de bugar.
		end
	end
end
addEventHandler ("onClientKey", getRootElement(), keyCombination)

 

Edited by Lord Henry
Otimização de código
Posted
18 minutes ago, Lord Henry said:

Ignorei ela.

Eu tentei desta forma mantendo a verificação:

disallowedCmds = {
	"say",
	"teamsay",
	"me"
}
addEventHandler ("onClientKey", getRootElement(), function (button, state) -- Executa essa função quando o jogador pressionar ou soltar qualquer tecla.
	if not state then return end -- Não verifica ao soltar a tecla, somente ao pressionar.
	if not getElementData (localPlayer, "bindPermission") then -- Se o jogador não tem permissão para usar binds de texto, então:
		local keys = {} -- Obtém uma lista com todas as teclas com binds de texto.
		for i, cmd in ipairs (disallowedCmds) do -- Para cada comando da lista, faça:
			for ii, key in pairs (getBoundKeys (cmd)) do -- Para cada tecla com este comando da lista, faça:
				table.insert (keys, ii) -- Insere na lista keys, cada tecla bindada a cada comando da lista disallowedCmds.
			end
		end
		if keys then -- Se existe alguma tecla com bind de texto, então:
			for keyName, keyState in pairs (keys) do -- Para cada tecla com bind de texto, faça:
				if button == keyName then -- Se a tecla pressionada está com bind de texto, então:
					outputChatBox ("Tecla bloqueada, contém bind de texto tecla: "..keyName, 255, 0, 0) -- Avisa o jogador que essa tecla foi bloqueada.
					cancelEvent () -- Cancela o efeito dessa tecla como se ela nem tivesse sido usada.
					break -- Sai do loop do FOR para não precisar verificar as demais teclas com bind de texto.
				end
			end
		end
	end
end)

Porém deu alguns erros relacionados ao pairs

  • Other Languages Moderators
Posted

Isso aí era pra fazer oq?

Bloquear todas as teclas que fazem binds de texto ou bloquear o bug da animação?

  • Thanks 1
Posted
2 minutes ago, Lord Henry said:

Isso aí era pra fazer oq?

Bloquear todas as teclas que fazem binds de texto ou bloquear o bug da animação?

Este era pra bloquear os comandos que tivesse bind de texto, o da animação não consegui fazer

  • Other Languages Moderators
Posted (edited)

Quais erros aparecem?

Obs: Não precisa ficar me citando para me responder se só tem eu e você no assunto.

Edited by Lord Henry
  • Thanks 1
Posted (edited)
5 minutes ago, Lord Henry said:

Quais erros aparecem?

CLIENT :

bad argument #1 to 'pairs' (table expected, got boolean ) [ DUP X14 ]

Linha do erro:

for ii, key in pairs (getBoundKeys (cmd)) do -- Para cada tecla com este comando da lista, faça:

 

Edited by OverKILL
  • Other Languages Moderators
Posted (edited)

(respondido acima)

Edited by Lord Henry
Posted (edited)
1 minute ago, Lord Henry said:

Em qual linha ele acusa o erro?

for ii, key in pairs (getBoundKeys (cmd)) do -- Para cada tecla com este comando da lista, faça:

Ressaltando novamente que eu mantive a verificação por ACL

Edited by OverKILL

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...