Jump to content

Me ajudem no problema


Recommended Posts

Posted

Olá eu tento fazer para que mostra o dinheiro do jogador (Isso eu já conseguir) e mostre se ele tem cnh mais essa parte de mostrar se ele tem cnh não conseguir me ajudem? Código: 

function revistar_jogador1 ( thePlayer, comando, nick )
    if nick then
        if getPlayerFromPartialName ( nick ) then
            local accName = getAccountName ( getPlayerAccount ( thePlayer ) )
            if isObjectInACLGroup ("user."..accName, aclGetGroup ( "Policial" ) ) then -- Acl Pra Quem Pode Usar o Comando
                local player_a_ser_revistado    =   getPlayerFromPartialName ( nick )
                local Hab1                      =   getElementData ( player_a_ser_revistado, "DNL:Categoria(A)" )                
                local dinheiro_do_jogador       =   getPlayerMoney ( playerMoney )
                local nick_do_jogador           =   getPlayerName ( player_a_ser_revistado )
                local nick_do_policial          =   getPlayerName ( thePlayer )
                local estrelas_de_procurado     =   getPlayerWantedLevel ( player_a_ser_revistado )
                local policiax, policiay, policiaz = getElementPosition ( thePlayer ) -- Encontrar posição do policial
                local revistadox, revistadoy, revistadoz = getElementPosition ( player_a_ser_revistado ) -- Encontrar posição de quem sera revistado
                local dist = getDistanceBetweenPoints3D ( policiax, policiay, policiaz, revistadox, revistadoy, revistadoz ) -- Calcular a distancia entre os dois elementos 
                    if ( dist > 5 )  then -- se a distancia for 5 executara a função a seguir
                    outputChatBox("Chegue mais perto para executar o comando", thePlayer, 255, 255, 255, true) -- Chat Box 
                    elseif ( dist < 4 )then -- Caso ao contrario a distancia for 4 executara a função a seguir
                    setPedAnimation( thePlayer, "POLICE", "plc_drgbst_01", 3100, true, false, false, false)
                    --outputChatBox("#000000[#ff0000POLICIA#000000] #c1c1c1O #ff0000Policial #ffffff"..nick_do_policial.." #c1c1c1esta #ff0000Revistando #c1c1c1o #ff0000Suspeito "..nick_do_jogador.."", root, 255, 255, 255, true) -- Chat Box 
                    setTimer ( function()
                    outputChatBox("#bebebeInformações do cidadão", thePlayer, 255, 255, 255, true)                      
                    outputChatBox("#bebebeDinheiro: "..getElementData(player_a_ser_revistado,"playerMoney"), thePlayer, 255, 255, 255, true)
                    outputChatBox("#bebebeTeste: "..getElementData(player_a_ser_revistado,"DNL:Categoria(A)"), thePlayer, 255, 255, 255, true)                    
                    end, 3390, 1 )  
                    triggerClientEvent(thePlayer, "doShowDXProgressBar", thePlayer) -- Chamar evento do client
                end
            else            
                outputChatBox("Somente policiais podem usar esse comando!", thePlayer, 255, 255, 255, true) -- Se voce nao for da acl voce nao tera permissao a este comando
        end
    end
end
end
addCommandHandler ( "vercnh", revistar_jogador1 )

 

Posted (edited)

Tente assim:

Apontei as correções no próprio código.

OBS: Não testado.

function revistar_jogador1 (thePlayer, comando, nick)
	if nick then
		if getPlayerFromPartialName (nick) then
			local accName = getAccountName (getPlayerAccount (thePlayer))
			if isObjectInACLGroup ("user."..accName, aclGetGroup("Policial")) then --// Somente quem estiver na ACL "Policia" poderá usar o comando.
				local player_a_ser_revistado = getPlayerFromPartialName(nick)              
				local dinheiro_do_jogador = getPlayerMoney (player_a_ser_revistado) --// Você estava usando "playerMoney" como elemento.
				local nick_do_jogador = getPlayerName(player_a_ser_revistado)
				local nick_do_policial = getPlayerName(thePlayer)
				local estrelas_de_procurado = getPlayerWantedLevel(player_a_ser_revistado)
				local policiax, policiay, policiaz = getElementPosition (thePlayer) --// Encontrar posição do policial
				local revistadox, revistadoy, revistadoz = getElementPosition ( layer_a_ser_revistado) --// Encontrar posição de quem será revistado
				local dist = getDistanceBetweenPoints3D (policiax, policiay, policiaz, revistadox, revistadoy, revistadoz) --// Calcular a distancia entre os dois elementos
				if dist <= 5 then
					setPedAnimation(thePlayer, "POLICE", "plc_drgbst_01", 3100, true, false, false, false)
					-- outputChatBox("[#ff0000POLICIA#000000] #c1c1c1O #ff0000Policial #ffffff"..nick_do_policial.." #c1c1c1esta #ff0000Revistando #c1c1c1o #ff0000Suspeito "..nick_do_jogador.."", root, 0, 0, 0, true) --// ChatBox
					setTimer (function()
						outputChatBox("Informações do cidadão", thePlayer, 190, 190, 190)                      
						outputChatBox("Dinheiro: "..dinheiro_do_jogador..""), thePlayer, 190, 190, 190) --// Você estava tentando obter o dinheiro do player por Data.
						if (getElementData(player_a_ser_revistado, "DNL:Categoria(A)")) then
							outputChatBox("CNH: Possui", thePlayer, 190, 190, 190)
						else
							outputChatBox("CNH: Não possui", thePlayer, 190, 190, 190)
						end
					end, 3390, 1)
					triggerClientEvent(thePlayer, "doShowDXProgressBar", thePlayer) --// Chamar evento do client
				else
					outputChatBox("Chegue mais perto jogador pera revistá-lo", thePlayer)
				end
			else            
				outputChatBox("Somente policiais podem usar esse comando", thePlayer, 255, 255, 255, true) --// Se quem deu o comando não estiver na ACL, passa um chatbox para o mesmo.
			end --// Estava faltando esse "end" para fechar teu escopo.
		end
	end
end
addCommandHandler("vercnh", revistar_jogador1)

 

Edited by #DeltaSCR
Bugs na Identação

Minha resposta te ajudou? Por favor, não esqueça de avaliar - #DeltaSCR

Minha página no Facebook: Delta Scripting - MTA


"Viribus et honor"

Posted (edited)

Não se esqueça que a função getPlayerFromPartialName não é uma função do próprio MTA, você deve incluí-la no seu código:

function getPlayerFromPartialName(name)
    local name = name and name:gsub("#%x%x%x%x%x%x", ""):lower() or nil
    if name then
        for _, player in ipairs(getElementsByType("player")) do
            local name_ = getPlayerName(player):gsub("#%x%x%x%x%x%x", ""):lower()
            if name_:find(name, 1, true) then
                return player
            end
        end
    end
end

O comando de depuração /debugscript 3 também é necessário para você encontrar os erros de execução no código.

E também o element-data da cnh não vai existir no seu servidor de uma forma mágica, você deve ter esse script da habilitação no seu servidor e tenha certeza que o element-data esteja funcionando como esperado.

@Luccas

 

Edited by DNL291

Please do not PM me with scripting related question nor support, use the forums instead.

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