Jump to content

duvida ExecuteCommandHandler


Recommended Posts

queria saber se é possivel utilizar o ExecuteCommandHandler e depois bindKey,para fazer o seguinte pra função do  ExecuteCommandHandler executa o comando "motor" e depois a  bindKey para executar o função dele porem ultilizando uma tecla. eu sou bem leigo mesmo e isso deve ser simples e eu que não percebi mas eu tentei porem não está dando nada com nada,por favor não peça para eu mostrar como eu tava tentando,talvez seja bem vergonhoso

Link to comment

Eu acho que entendi mais ou menos oque quis dizer, Acho que isso deve ajudar, eu nunca usei "executeCommandHandler" Mas acabei lendo pra ver como funcionava não dizia como destruir porém ai vai.

function BindK ( source )
	if ( source ) then
		setElementData(source, "Comando_BindKey", true)
		if getElementData(source, "Comando_BindKey") == false then
			setTimer ( function()	
				removeCommandHandler ( "motor", BindK )
				bindKey ( source, "K", "down", BindK )
			end, 600, 1 )
		end
	end
end
addCommandHandler ( "motor", BindK )

function BindK_2 ( source )
	executeCommandHandler ( "motor", source )
end

 

  • Thanks 1
Link to comment
8 hours ago, #DaNiLiN said:

Eu acho que entendi mais ou menos oque quis dizer, Acho que isso deve ajudar, eu nunca usei "executeCommandHandler" Mas acabei lendo pra ver como funcionava não dizia como destruir porém ai vai.


function BindK ( source )
	if ( source ) then
		setElementData(source, "Comando_BindKey", true)
		if getElementData(source, "Comando_BindKey") == false then
			setTimer ( function()	
				removeCommandHandler ( "motor", BindK )
				bindKey ( source, "K", "down", BindK )
			end, 600, 1 )
		end
	end
end
addCommandHandler ( "motor", BindK )

function BindK_2 ( source )
	executeCommandHandler ( "motor", source )
end

 

tentei e não funcionou tentei ate mudar a key mas nao deu ele nao executou o comando talvez,nao seja porque o bindk_2 nao tem nada dizendo o que é pra fazer com ele tipo assim a bind era pra ativar o executecommandohandler para o player que aperta-se o bind key ou seja K

Link to comment

t

9 hours ago, Lord Henry said:

A regra é clara: Sempre teste o script com /debugscript 3 ligado.

Se for falta de permissão, ele vai avisar lá também.

Fiz do geito que você falou mas mesmo assim não deu,ao invez disto tem uma forma de eu fazer o player criar uma bind automaticamente apos logar?

logar/entrar no server

 

Link to comment

Você pode usar alguns eventos Veja o exemplo abaixo.

function BindK ( source )
	if ( source ) then
		outputChatBox ( "TESTE", source, 231, 217, 176, true )
	end
end

-- IRÁ ATIVAR A BIND ASSIM QUE O MOD FOR LIGADO
function Bind_Start()
  for index, player in ipairs(getElementsByType("player")) do
    bindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStart", root, Bind_Start)

-- IRÁ ATIVAR A BIND ASSIM QUE O JOGADOR ENTRAR NO SERVIDOR
function onPlayerJoin()
  bindKey(source, "K", "down", BindK)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin)

-- IRÁ REMOVER A BIND ASSIM QUE DESLIGAR O MOD
function Stop_Mod(player)
  for index, player in ipairs(getElementsByType("player")) do
    unbindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStop", root, Stop_Mod)

Não testado.

Edited by #DaNiLiN
  • Thanks 1
Link to comment
On 26/02/2019 at 20:18, #DaNiLiN said:

Você pode usar alguns eventos Veja o exemplo abaixo.


function BindK ( source )
	if ( source ) then
		outputChatBox ( "TESTE", source, 231, 217, 176, true )
	end
end

-- IRÁ ATIVAR A BIND ASSIM QUE O MOD FOR LIGADO
function Bind_Start()
  for index, player in ipairs(getElementsByType("player")) do
    bindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStart", root, Bind_Start)

-- IRÁ ATIVAR A BIND ASSIM QUE O JOGADOR ENTRAR NO SERVIDOR
function onPlayerJoin()
  bindKey(source, "K", "down", BindK)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin)

-- IRÁ REMOVER A BIND ASSIM QUE DESLIGAR O MOD
function Stop_Mod(player)
  for index, player in ipairs(getElementsByType("player")) do
    unbindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStop", root, Stop_Mod)

Não testado.

vou direto ao ponto consegui fazer o carro ligar no j agora queria fazer o seguinte tipo assim quando o cara aperta j ele n usa o comando /motor o j ele executa a funçao, o que eu teria que fazer para que o j apena funciona-se se o carro do player estive-se com hp + que 351? o certo é 350 mas eu botei 351 para garantir de ele funcionar com o script do mecanico,e que os players conseguem bugar o motor quando aperta j então eu quero evitar isto

tentei com onclientclick mas não deu muito certo

onclientkey

 

Link to comment

Mais uma vez irei dizer, NÃO PRECISA CITAR MINHA MENSAGEM TODA HORA, Talvez agora você consegue ler :) No código acima que enviei não tem nada sobre /motor tem apenas o bindkey, Pelo que deu pra entender se o veiculo estiver com pouco HP irá bloquear o uso da bindkey "j". Então ai vai um exemplo do que você pode fazer. Isso aqui deve ser útil.


function BindK ( source )
	for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online 
		local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica o Veiculo que os Jogadores estão Ocupando
		if ( Vehicle ) then -- Verificação
			if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se o Jogador é Motorista
				local HP = getElementHealth(Vehicle) -- Verifica HP Do veiculo
				if HP > 350 then -- HP Do veiculo deve ser maior que 350
					outputChatBox ( "MOTO LIGADOR", source, 231, 217, 176, true )		
				else
					outputChatBox ( "SEU VEICULO ESTÁ QUEBRADO, MOTO NÃO PODE SER LIGADO", source, 231, 217, 176, true )
				end
			end
		end
	end
end

-- IRÁ ATIVAR A BIND ASSIM QUE O MOD FOR LIGADO
function Bind_Start()
  for index, player in ipairs(getElementsByType("player")) do
    bindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStart", root, Bind_Start)

-- IRÁ ATIVAR A BIND ASSIM QUE O JOGADOR ENTRAR NO SERVIDOR
function onPlayerJoin()
  bindKey(source, "K", "down", BindK)
end
addEventHandler("onPlayerJoin", getRootElement(), onPlayerJoin)

-- IRÁ REMOVER A BIND ASSIM QUE DESLIGAR O MOD
function Stop_Mod(player)
  for index, player in ipairs(getElementsByType("player")) do
    unbindKey(player, "K", "down", BindK)
  end
end
addEventHandler("onResourceStop", root, Stop_Mod)

 

  • Thanks 1
Link to comment

deste geito ai não deu mas eu inseri esta parte no começo da função de ligar/deligar o motor, e ficou tipo um pre requisito para poder usar o comando simplificando ficou assim.

para poder ligar ou desligar o motor o vehiculo do player de estar com hp a cima de 351.

	for _, players in ipairs( getElementsByType 'player' ) do -- Verifica Todos jogadores Online 
		local Vehicle = getPedOccupiedVehicle ( players ) -- Verifica o Veiculo que os Jogadores estão Ocupando
		if ( Vehicle ) then -- Verificação
			if getPedOccupiedVehicleSeat ( players ) == 0 then -- Verifica se o Jogador é Motorista
				local HP = getElementHealth(Vehicle) -- Verifica HP Do veiculo
				if HP > 350 then -- HP Do veiculo deve ser maior que 350

vlw pela ajuda

Link to comment

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...