Jump to content

[DUVIDA] Verificar quantos jogadores tem do getElementData


Recommended Posts

Posted

Olá gostaria de saber se tem como fazer uma verificação do getElementData para saber quantos jogadors/policiais tem dela e se tiver + 5 vai fazer a função de assaltar o banco.
Eu sei que pelo Team da para fazer mas  queria muda pois fica o nome no Team do scoreboard acho muito feio.

Aqui está
Server-side
 

function Verifica_Roubo(source)
	if isElementWithinMarker( source, Atendente) then
	--guarda1 = exports.slothbot:spawnBot (865.3115234375, -1368.9912109375, 14.996451377869, 270, 113, 0, 0, policial, 31, "waiting", true )
	local theTeam = getTeamFromName("PM")
	if theTeam then
		if countPlayersInTeam(theTeam) >= 0 then
			--if getElementModel( element ,theElement )
			setElementPosition( Atendente, 854.6572265625, -1372.029296875, 14.996742248535 -5 )
			setPedAnimation(source, "SHOP", "ROB_Loop_Threat", 10000, true, false, false, false)
			setPedRotation(source, 360 )
			setPedAnimation( ped, "SHOP", "SHP_Rob_HandsUp")
			BancoRoubado = createBlipAttachedTo(Atendente, 36)
			setTimer (function()
				outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000030 segundos#FFFFFF!!!", source, 0, 255, 0, true)
				setTimer(function()
					outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000020 segundos#FFFFFF!!!", source, 0, 255, 0, true)
					setTimer(function()
						outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000010 segundos#FFFFFF!!!", source, 0, 255, 0, true)
						moveObject( Porta1, 2930, 854.40002441406, -1368.5, 16.60000038147)
						moveObject( Porta2, 2930, 870.09997558594, -1368.5, 16.60000038147)
						outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abriu!!!", source, 0, 255, 0, true)
						Cofre = createObject(2634, 850.2998046875, -1375, 23, 0, 0, 90)
						Marker_Cofre = createMarker(849.7685546875, -1375, 22.9964427948 -1, "cylinder", 2, 255 ,0 ,0, 255)
						triggerClientEvent ( root, "roubar", root)
					end, 30000, 1)
				end, 20000, 1)
			end, 10000, 1)
		else
		exports.dxmessages:outputDx(source,"#FF0000[ATENÇÃO] #FFFFFFPrecisa ter 5 PM online para roubar!!!", source, 255, 255, 255, true)
	end
end
end
end
addCommandHandler("assaltar", Verifica_Roubo)

 

Posted
--[[
-- exemplo uso
if (qtsElementData("PM") >=  5) then
	-- assalta banco
end
--]]

function qtsElementData(dataname)
	local qtd = 0
	for _,p in ipairs(getElementsByType("player")) do
		if getElementData(p,dataname) then
			qtd = qtd + 1
		end
	end
	return qtd
end

 

Posted
13 minutes ago, MaligNos said:

--[[-- exemplo usoif (qtsElementData("PM") >=  5) then	-- assalta bancoend--]]function qtsElementData(dataname)	local qtd = 0	for _,p in ipairs(getElementsByType("player")) do		if getElementData(p,dataname) then			qtd = qtd + 1		end	end	return qtdend

 

Bom tentei ver aqui o codigo para ver da onde ia fica quais linha e n consegui seria incomodo voce me informar qual linha ia do meu codigo?

Posted

Como você não quer usar pela team, precisa alterar as linhas 4, 5 e 6 e nesse lugar você pode colocar aquela verificação: if (qtsElementData("PM") >=  5) then

Posted
39 minutes ago, MaligNos said:

Como você não quer usar pela team, precisa alterar as linhas 4, 5 e 6 e nesse lugar você pode colocar aquela verificação: if (qtsElementData("PM") >=  5) then

Mano infelizmente nao estou conseguindo

  • Moderators
Posted (edited)

Recomendo que estude lógica de programação em algoritmos primeiro.

Edited by Lord Henry

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
43 minutes ago, Lord Henry said:

Recomendo que estude lógica de programação em algoritmos primeiro.

Opa sinto muito é por que as vezes alguns scripts eu consigo entende e outros não , eu tento aprender so que so ruim de memoria e isso acaba me atrapalhando.

Posted

Sobre o assunto do Team aparece no scoreboard fiz uma pesquisa aqui do forum e vi tem como deixa os team para não aparece.

Fico grato pela ajuda @Lord Henry e @MaligNos queria está pedindo desculpa por não te conseguindo entende vou da o meu melhor agora.

Posted
4 hours ago, +[T]rakin said:

Opa sinto muito é por que as vezes alguns scripts eu consigo entende e outros não , eu tento aprender so que so ruim de memoria e isso acaba me atrapalhando.

Por isso o @Lord Henry sugeriu que estude melhor a estrutura da linguagem, para que aprender a LER o código, no seu estado atual, é como se um semi-analfabeto tentasse ler um artigo penal.

Mas o código pronto com a função do @MaligNos seria somente:

 

function qtsElementData(dataname)
	local qtd = 0
	for _,p in ipairs(getElementsByType("player")) do
		if getElementData(p,dataname) then
			qtd = qtd + 1
		end
	end
	return qtd
end

function Verifica_Roubo(source)
	if isElementWithinMarker( source, Atendente) then
	--guarda1 = exports.slothbot:spawnBot (865.3115234375, -1368.9912109375, 14.996451377869, 270, 113, 0, 0, policial, 31, "waiting", true )
	local theTeam = getTeamFromName("PM")
            if theTeam then
                if countPlayersInTeam(theTeam) >= 0 then
                    if qtsElementData("nomeDaData") == 5 then
                        --if getElementModel( element ,theElement )
                        setElementPosition( Atendente, 854.6572265625, -1372.029296875, 14.996742248535 -5 )
                        setPedAnimation(source, "SHOP", "ROB_Loop_Threat", 10000, true, false, false, false)
                        setPedRotation(source, 360 )
                        setPedAnimation( ped, "SHOP", "SHP_Rob_HandsUp")
                        BancoRoubado = createBlipAttachedTo(Atendente, 36)
                        setTimer (function()
                            outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000030 segundos#FFFFFF!!!", source, 0, 255, 0, true)
                            setTimer(function()
                                outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000020 segundos#FFFFFF!!!", source, 0, 255, 0, true)
                                setTimer(function()
                                    outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abrira em #FF000010 segundos#FFFFFF!!!", source, 0, 255, 0, true)
                                    moveObject( Porta1, 2930, 854.40002441406, -1368.5, 16.60000038147)
                                    moveObject( Porta2, 2930, 870.09997558594, -1368.5, 16.60000038147)
                                    outputChatBox("#000000[#FF0000ATENÇÃO#000000]#FFFFFFO Portão abriu!!!", source, 0, 255, 0, true)
                                    Cofre = createObject(2634, 850.2998046875, -1375, 23, 0, 0, 90)
                                    Marker_Cofre = createMarker(849.7685546875, -1375, 22.9964427948 -1, "cylinder", 2, 255 ,0 ,0, 255)
                                    triggerClientEvent ( root, "roubar", root)
                                end, 30000, 1)
                            end, 20000, 1)
                        end, 10000, 1)
                    else
                        exports.dxmessages:outputDx(source,"#FF0000[ATENÇÃO] #FFFFFFÉ necessário 5 jogadores no marker para realizar o assalto.", source, 255, 255, 255, true)
                    end
                else
                    exports.dxmessages:outputDx(source,"#FF0000[ATENÇÃO] #FFFFFFPrecisa ter 5 PM online para roubar!!!", source, 255, 255, 255, true)
            end
        end
    end
end
addCommandHandler("assaltar", Verifica_Roubo)

 

  • Thanks 1

8a9Heuv.png

  • Moderators
Posted

Não adianta nada vc pegar código pronto se não entender como ele funciona. E percebo que vc está com dificuldade para entender coisas realmente simples de sintaxe. Você não vai conseguir aprender nada sem antes saber a lógica de programação.

Se quiser, te passo um link de uma série de vídeo-aulas no YouTube que ensina lógica de programação e algoritmos.

  • Like 1

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

Posted
7 hours ago, Lord Henry said:

Não adianta nada vc pegar código pronto se não entender como ele funciona. E percebo que vc está com dificuldade para entender coisas realmente simples de sintaxe. Você não vai conseguir aprender nada sem antes saber a lógica de programação.

Se quiser, te passo um link de uma série de vídeo-aulas no YouTube que ensina lógica de programação e algoritmos.

Estou fazendo curso de programação mas ficou grato se passa o link.

  • Moderators
Posted

Eu te ajudei ou achou meu comentário útil? Não esqueça de deixar um Thanksspacer.png

Minhas contribuições para a comunidade: LordHenry - MTA Wiki Profile
Inscreva-se no meu canal do YouTube: Lord Henry - Entertainment
Discord Oficial do MTA: https://mtasa.com/discord
Blacklist e Whitelist de Scripters: Planilha

Por favor, não me envie mensagens privadas solicitando suporte. Crie um tópico no fórum em vez disso.

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