Jump to content

[AJUDA] destroyElement


Recommended Posts

Iae rapaziada, bom estou com um problema nesse script abaixo

capacete = {}

function Colocar1(playerSource, cmd)
if (playerSource) then
-- Anti-Bug Previni que o player fique com dois Capacetes ao mesmo tempo --
    if isElement(capacete[1]) then
    destroyElement(capacete[1])
    elseif isElement(capacete[2]) then
    destroyElement(capacete[2])
    elseif isElement(capacete[3]) then
    destroyElement(capacete[3])
    elseif isElement(capacete[4]) then
    destroyElement(capacete[4])
    elseif isElement(capacete[5]) then
    destroyElement(capacete[5])
    end
-- Anti-Bug Previni que o player fique com dois Capacetes ao mesmo tempo --

setTimer ( function()
    --skin = getElementModel(player) -- pega a skin do 
    --setObjectScale(capacete, 0, 0, 0) -- aumenta o tamanho do capacete!!
    capacete[1] = createObject(capa1, 0, 0, 0, 0, 0, 0)
    --if skin == 120 then -- verifica a skin
    setPedAnimation(playerSource,"goggles", "goggles_put_on", -1, false, false, false, false) -- animação
    
    --                           função              objeto     jogadr    |corpo|lado|frente|altura|  Rotação
    exports.bone_attachCapa:attachElementToBone (capacete[1], playerSource,  1  ,  0,  0.04  ,0.07 , 0, 270, 0)

    --elseif skin == 111 then -- verifica a skin
    --exports.bone_attachCapa:attachElementToBone (capacete[1], player, 1, 0, 0.04, 0.07, 0, 270, 0) -- função que coloca o capacete no player
    --elseif skin == 11[3] then -- verifica a skin
    --exports.bone_attachCapa:attachElementToBone (capacete[1], player, 1, 0, 0.04, 0.07, 0, 270, 0) -- função que coloca o capacete no player
    --end
   end, 400, 1)
end
end
addCommandHandler("capa1", Colocar1) -- comando


function Tirar(playerSource, cmd)
if (playerSource) then
    setPedAnimation(source,"goggles", "goggles_put_on", -1, false, false, false, false)
    setTimer ( function()
     exports.bone_attachCapa:detachElementFromBone(capacete[1]) 
     exports.bone_attachCapa:detachElementFromBone(capacete[2]) 
     exports.bone_attachCapa:detachElementFromBone(capacete[3]) 
     exports.bone_attachCapa:detachElementFromBone(capacete[4]) 
     exports.bone_attachCapa:detachElementFromBone(capacete[5]) 

        if isElement(capacete[1]) then
        destroyElement(capacete[1])
        elseif isElement(capacete[2]) then
        destroyElement(capacete[2])
        elseif isElement(capacete[3]) then
        destroyElement(capacete[3])
        elseif isElement(capacete[4]) then
        destroyElement(capacete[4])
        elseif isElement(capacete[5]) then
        destroyElement(capacete[5])
        end

    end, 950, 1)
end
end
addCommandHandler("tirar", Tirar)

Resumindo eu fiz uma modelagem de um capacete e estava querendo criar um sistema de capacetes. Até ai tudo bem o script esta funcional no meu SERVER LOCAL, porém ao passar ele para uma host onde tinha mais pessoas encontrei um erro que ta me fritando a cabeça. Basicamente o erro é assim, se eu digitar /capa1 pegarei meu capacete normalmente, mas se outra pessoa digitar /capa1 depois de mim, o meu capacete some (por causa da função destroyElement(capacete[1]). Ao perceber isso eu obviamente fui atras para tentar especificar o player ou algo do tipo, basicamente o que eu não consigo fazer é que o script destrua o capacete da pessoa que deu o comando e não de todos que estão online no momento! Se ficou muito complicado a explicação peço desculpas. ?

 

 

ps: Fiz o código no client-side e deu certo o script, porém o capacete só aparecia para o jogador q tinha dado o comando!

 

Edited by Eder
Link to comment
2 hours ago, Sr Black said:

Já tentou usar elementData?

Sim tentei, porém ele só fazia a animação. Acabei apagando o script q eu fiz com Data, mas irei tentar novamente. No caso eu deixaria o capacete[1] como local né?

Mas tipo para eu destruir do mesmo jeito eu teria q usar destroyElement(capacete[1}) não?  Eu usaria o data mais como verificação  se o player esta mesmo ou não né?

Link to comment

Exemplo de uso (server-side)

local capacetes = {}

addCommandHandler("capa1",
	function(player)
		if (not capacetes[player]) then -- se não possuir capacete
			--[[
			-- adiciona capacete
			capacetes[player] = createObject(capa1, 0, 0, 0, 0, 0, 0)
			exports.bone_attachCapa:attachElementToBone(capacetes[player], player, 1, 0, 0.04, 0.07, 0, 270, 0)
			--]]
		end
	end
)

addCommandHandler("tirar",
	function(player)
		if (capacetes[player]) then -- caso possua capacete
			--[[
			-- remove capacete
			if (exports.bone_attachCapa:isElementAttachedToBone(capacetes[player])) then
				exports.bone_attachCapa:detachElementFromBone(capacetes[player])
			end
			destroyElement(capacetes[player])
			capacetes[player] = nil
			--]]
		end
	end
)

É bom também efetuar a destruição do objeto no onPlayerQuit do player

  • Thanks 1
Link to comment
2 hours ago, MaligNos said:

Exemplo de uso (server-side)


local capacetes = {}

addCommandHandler("capa1",
	function(player)
		if (not capacetes[player]) then -- se não possuir capacete
			--[[
			-- adiciona capacete
			capacetes[player] = createObject(capa1, 0, 0, 0, 0, 0, 0)
			exports.bone_attachCapa:attachElementToBone(capacetes[player], player, 1, 0, 0.04, 0.07, 0, 270, 0)
			--]]
		end
	end
)

addCommandHandler("tirar",
	function(player)
		if (capacetes[player]) then -- caso possua capacete
			--[[
			-- remove capacete
			if (exports.bone_attachCapa:isElementAttachedToBone(capacetes[player])) then
				exports.bone_attachCapa:detachElementFromBone(capacetes[player])
			end
			destroyElement(capacetes[player])
			capacetes[player] = nil
			--]]
		end
	end
)

É bom também efetuar a destruição do objeto no onPlayerQuit do player

Nossa mano me salvou kk tava quebrando a cabeça. To fznd a parte de quando o player sai do server ^^

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