Developer. Posted August 4, 2019 Share Posted August 4, 2019 (edited) 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 August 4, 2019 by Eder Link to comment
Blaack Posted August 4, 2019 Share Posted August 4, 2019 Já tentou usar elementData? 1 Link to comment
Developer. Posted August 4, 2019 Author Share Posted August 4, 2019 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
[M]ister Posted August 4, 2019 Share Posted August 4, 2019 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 1 Link to comment
Developer. Posted August 5, 2019 Author Share Posted August 5, 2019 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
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