Jump to content

Ver presos.


Recommended Posts

  • Moderators
Quote

1- O tempo pode ser uma boolean? (true/false)

A resposta tá no meu post acima @Renazz 

valor booleano = true/false

Então perguntei se é isso que fará mostrar o tempo de prisão do jogador ou valTimer ?  Responda isso

Edited by DNL291
  • Thanks 1
Link to comment

R: Valor bool se trata de dois valores, sendo eles como exemplo true ou false ou seja, verdadeiro ou falso.

Então não faz nenhum sentido você utilizar um valor booleano no element-data onde você quer obter o tempo do jogador preso correto?

Edited by Jonas^
  • Thanks 1
Link to comment
Just now, Jonas^ said:

 Então não faz nenhum sentido você utilizar um valor booleano no element-data onde você quer obter o tempo do jogador preso correto?

pela lógica acho que não né , uma coisa não pode ser verdadeira e falsa

1 minute ago, DNL291 said:

Então perguntei se é isso que fará mostrar o tempo de prisão do jogador ou valTimer ?  Responda isso

penso que seja valTimer

Link to comment

Eu disse verdadeira OU falsa não ambas ao mesmo tempo, leia mais atentamente as coisas, preste bem atenção no seu comando, você quer mostrar o tempo preso do jogador, você já tem ele no timer valTimer, bastar usar no element-data qual a dificuldade de fazer isso? Eu ou o DNL já poderiamos ter te dado o código a minutos atrás, mas já demos 95% do código pronto pra você, custa você se puxar pra fazer o restante que é coisa muito básica.

 

Link to comment
  • Moderators
7 minutes ago, Renazz said:

pela lógica acho que não né , uma coisa não pode ser verdadeira e falsa

penso que seja valTimer

Sim, então seria setElementData armazenando o tempo "valTimer".

Como ficaria no código @Renazz

  • Thanks 1
Link to comment
1 minute ago, DNL291 said:

alvo, "tempo:prisao", valTimer

Ok , tendi

 

local DelegaciaPrender = createMarker (1535.8380126953, -1672.9124755859, 12.3828125, "cylinder", 5, 0, 0, 255, 0)
local blipprender = createBlip(1535.8380126953, -1672.9124755859, 12.3828125,30,0,0,0,255)

function prenderJogador(thePlayer, cmd, playerid, valTimer)
	local alvo = exports["[LusoRP](Sistema)ID_System"]:getPlayerID(tonumber(playerid))
	if not alvo then 
		return outputChatBox("[AVISO] Falta colocar o ID do jogador!",thePlayer , 255,0,0) 
	end
	if not valTimer then 
		return outputChatBox("[AVISO] Falta colocar o tempo de prisão!",thePlayer , 255,0,0) 
	end
	if isObjectInACLGroup ("user."..getAccountName(getPlayerAccount (thePlayer)), aclGetGroup ("ComandosCorporacoes")) then
		if isElementWithinMarker (thePlayer, DelegaciaPrender) then
			setElementData (alvo, "preso", true)
			setElementData (alvo, "prisao:tempo" ,valTimer)
			setElementPosition (alvo, 264.42120361328, 77.57405090332, 1001.0390625)
			setElementInterior (alvo, 6)
			setElementDimension (alvo, 1)
			takeAllWeapons (alvo)
			setPlayerWantedLevel (alvo,0)
			outputChatBox ("#4682B4*LusoRP* O Policia ' "..getPlayerName(thePlayer).." ' Prendeu o Cidadão ID ' "..playerid.." '!.", root, 100,100, 255, true)
			outputChatBox ("#4682B4*LusoRP* Pelo tempo de : "..valTimer.." minuto(s)", root, 100, 100, 255, true)
			setTimer (function ()
				toggleAllControls (alvo, true)
				removeElementData (alvo, "preso")
				setPedAnimation (alvo, nil, nil)
				removeElementData (alvo,"Algemado")
				removeElementData (alvo, "prisao:tempo")
				setElementPosition (alvo, 1542.0284423828, -1669.5544433594, 13.553701400757)
				setElementDimension (alvo, 0)
				setElementInterior (alvo, 0)
				outputChatBox ("#4682B4*LusoRP* O Cidadão ID ' "..playerid.." ' Foi solto da Prisão!", root, 0, 0, 255, true)
			end, (tonumber(valTimer)) * 60000, 1)
		else
			outputChatBox ("[AVISO] Você não está na frente da Delegacia para Prender o Sujeito!", thePlayer, 255,0,0)
		end
	end
end
addCommandHandler ("prender", prenderJogador)


addCommandHandler ("presos", function (player, cmd)

	if isPlayerInACL(player, "Admin") ~= true then return end
	local presos = getPlayersByData ("preso")
	
	if not presos then return outputChatBox( "Nenhum jogador preso encontrado!", player, 255, 30, 30) end
	
	local jailtime = function (player) return getElementData( player, "prisao:tempo" ) or "N/A" end
	
	for i, p in ipairs(presos) do
		outputChatBox ("[PRESOS] Nick: ".. getPlayerName(p):gsub("#%x%x%x%x%x%x", "") .." - Tempo: ".. tostring(jailtime(p)), player, 230, 230, 230, true) 
	end
end)

function getPlayersByData (dataName)
	if dataName and type(dataName) == "string" then
		local playersTable = {}
		for _, v in ipairs(getElementsByType("player")) do
			if getElementData (v, dataName) then
				table.insert (playersTable, v)
			end
		end
		if #playersTable == 0 then
			return false
		end
		return playersTable
	end
	return false
end

function isPlayerInACL(player, acl)
   local accountName = getAccountName( getPlayerAccount(player) )
   if accountName ~= "guest" and type( aclGetGroup(acl) ) == "userdata" then
      return isObjectInACLGroup( "user."..accountName, aclGetGroup(acl) )
   end
   return false
end

modifiquei o arquivo está correto desta maneira?

Link to comment

Agora esta certo, mas antes faça isso:

outputChatBox ("[PRESOS] Nick: ".. getPlayerName(p):gsub("#%x%x%x%x%x%x", "") .." - Tempo: ".. tostring(jailtime(p)).." minuto(s)!", player, 230, 230, 230, true)

Coloque essa linha no lugar da que está lá no comando de /presos.

  • Thanks 1
Link to comment

Note:

Seu comando precisa de uma verificação:

Se o jogador não estiver preso, então:

em forma de código:

if not getElementData (alvo, "preso") then -- Se o jogador não estiver preso, então:
	-- Código --
else --Se ele já estiver a data, então:
	outputChatBox ("Este jogador já esta preso!", thePlayer)
end  

 

Edited by Jonas^
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...