x!PISTOLEIRO Posted April 9, 2020 Share Posted April 9, 2020 (edited) 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 April 9, 2020 by x!PISTOLEIRO Link to comment
Angelo Pereira Posted April 9, 2020 Share Posted April 9, 2020 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
x!PISTOLEIRO Posted April 9, 2020 Author Share Posted April 9, 2020 (edited) @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 April 9, 2020 by x!PISTOLEIRO Link to comment
_Ace Posted April 10, 2020 Share Posted April 10, 2020 (edited) 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 April 10, 2020 by _Ace 1 Link to comment
Gw8 Posted April 10, 2020 Share Posted April 10, 2020 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) 1 Link to comment
_Ace Posted April 10, 2020 Share Posted April 10, 2020 o codigo ta testado, é só para exemplo e: table.insert takes an optional index parameter to insert into the middle of an array Link to comment
Gw8 Posted April 10, 2020 Share Posted April 10, 2020 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
x!PISTOLEIRO Posted April 10, 2020 Author Share Posted April 10, 2020 Agradeço a ambos, deu certo aqui, acatei a noção e aprimorei meus conhecimentos sobre o mesmo, Obrigado a todos. Link to comment
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now