Jump to content

Apagar ultimo elemento!


Recommended Posts

Olá pessoal, estou com uma dificuldade e queria saber se alguém poderia me ajudar.

-- Client side

function tableObject.create(elementObject)
	if (elementObject) then
		if (getElementType(elementObject) == "object") then
			local x, y, z    = getElementPosition(elementObject)
			local rx, ry, rz = getElementRotation(elementObject)
			local object = createObject(id, x, y, z, rx, ry, rz)
		end
	end
end

Eu queria saber como eu excluiria sempre ou o último objeto criado, nessa parte do código eu crio o objeto, agora queria saber como conseguir fazer o citado.

Edited by x!PISTOLEIRO
Link to comment

Nesse caso, para destruir o objeto antes, de criar o outro objeto, faça o seguinte :

* Lembrando, vejo na sua função, acho eu, que nela, já deve está trazendo um objeto anterior (creio eu), então só fazer o seguinte :

function tableObject.create(elementObject)
   if (elementObject) then
      if (getElementType(elementObject) == "object") then
         local x, y, z    = getElementPosition(elementObject)
         local rx, ry, rz = getElementRotation(elementObject)
         destroyElement(elementObject) --/> Adicionado.
         local object = createObject(id, x, y, z, rx, ry, rz)
      end
   end
end

 

Link to comment

@Angelo Pereira Não era isso que eu queria fazer, estou fazendo um sistema de criar objetos, e eu queria que eu conseguisse deletar desde ultimo objeto e ir diminuindo os objetos que foram criados do ultimo ao primeiro, se fosse só um destroyElement nem estaria aqui, mas valeu a intenção :), peço desculpas se não especifiquei bem.

Edited by x!PISTOLEIRO
Link to comment

se ja nao tiver criado uma tabela no seu codigo, crie uma, dai nela armazene os objetos logo depois da linha 8 ali, use table.insert(nomedatabela,objetocriado)

depois pra deletar vc pode criar um comando ou adaptar no seu codigo como gui etc, fiz 2 comandos pra demonstrar, tem outros jeitos de fazer, esse é só um exemplo em clientside:


 

objs={}--tabela onde armazena objetos
function cobj()
local x,y,z=getElementPosition(localPlayer)
local o=createObject(1238,x+math.random(10),y+math.random(10),z)
table.insert(objs,o)--insere objetos
end
addCommandHandler("crob",cobj)--comando pra criar objetos perto do jogador

function dobj()
destroyElement(objs[#objs])--apaga ultimo item baseado no tanto de item na tabela
table.remove(objs,#objs)--remove ultimo item pra nao ficar em branco
end
addCommandHandler("delobj",dobj)--comando pra deletar os objetos do ultimo até o primeiro

 

Edited by _Ace
  • Thanks 1
Link to comment
4 minutes ago, _Ace said:

se ja nao tiver criado uma tabela no seu codigo, crie uma, dai nela armazene os objetos logo depois da linha 8 ali, use table.insert(nomedatabela,objetocriado)

depois pra deletar vc pode criar um comando ou adaptar no seu codigo como gui etc, fiz 2 comandos pra demonstrar, tem outros jeitos de fazer, esse é só um exemplo em clientside:


 


objs={}--tabela onde armazena objetos
function cobj()
local x,y,z=getElementPosition(localPlayer)
local o=createObject(1238,x+math.random(10),y+math.random(10),z)
table.insert(objs,o)--insere objetos
end
addCommandHandler("crob",cobj)--comando pra criar objetos perto do jogador

function dobj()
destroyElement(objs[#objs])--apaga ultimo item baseado no tanto de item na tabela
table.remove(objs,#objs)--remove ultimo item pra nao ficar em branco
end
addCommandHandler("delobj",dobj)--comando pra deletar os objetos do ultimo até o primeiro

 

table.insert(objs,1,o)

 

  • Thanks 1
Link to comment

O post foi mais uma opcao pro cara ver a execucao do codigo que voce fez mano, nao quis dizer que o seu ta errado, a forma que voce fez tambem ta certa fez em pilha( o ultimo a entrar eo primeiro a sair), eu pensei em fila ai so aproveitei oque voce escreveu mais nada.

elementos

a,b,c,d,e,f

pilha 

table.insert

a,b,c,d,e,f

se remover ultimo eo 'f' que sai.

fila

table.insert 1

f,e,d,c,b,a

se remover o ultimo eo 'a' que sai.

Eh nOiss parca vlww

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