Other Languages Moderators Popular Post Lord Henry Posted April 12, 2017 Other Languages Moderators Popular Post Share Posted April 12, 2017 (edited) Na verdade é bem simples por meio de código. Vc só precisa saber o ID do objeto e informar uma coordenada bem próxima ao objeto, não precisa ser exatamente no centro do objeto. Para descobrir o ID de um objeto que não é selecionável, dai é algo mais complexo que exige ferramentas externas. Para isso, vamos no site http://dev.prineside.com e clicamos no botão Model Search by Map Position. Após selecionada a posição no mapa, ele vai mostrar todos os objetos (selecionáveis e não selecionáveis) em um raio de 500 metros, em ordem dos mais próximos para os mais distantes. Na lista que aparecer, encontre o objeto que você deseja remover e anote o ID desse objeto. Descobrimos o ID do objeto, e agora? Agora já passou a parte mais difícil, o resto é programar um script básico de remoção de objetos por ID. Para isso vamos usar a função RemoveWorldModel. Essa função é bem simples de se usar, basta informar o ID do objeto a ser removido, o raio cuja remoção será aplicada e as coordenadas do ponto onde vai começar a remoção. Você precisa restaurar o objeto quando o script for desligado, para isso use RestoreWorldModel. O script funciona tanto em server-side quanto em client-side, mas em geral utiliza-se server-side. O Script deve ficar como esse: function removeBagulho() removeWorldModel(5681, 15, 1911.3, -1776.25, 13.38) -- Remove o objeto do lava-jato próximo ao posto de LS quando o resource é iniciado. end addEventHandler("onResourceStart", resourceRoot, removeBagulho) function restauraBagulho() restoreWorldModel(5681, 15, 1911.3, -1776.25, 13.38) -- Restaura o objeto quando o resource é desativado. end addEventHandler("onResourceStop", resourceRoot, restauraBagulho) Esse script vc adiciona junto com o resource do seu mapa. Você pode optar por deixar isso em um script separado ou deixar junto com algum script que vc já tenha no seu mapa por exemplo scripts de portões, server-side. Vlw, flw. Deixe seu LIKE se ajudou você. Dúvidas comente abaixo. Obs: Nem todos os objetos podem ser removidos com essa função, por exemplo aquelas plantas do deserto que se você bater com veículo elas podem quebrar. Isso ocorre pois elas são geradas no mapa, não possuem posição fixa. Outras plantas geradas também não podem ser removidas, mesmo se forem selecionáveis. Tanto que se você tentar procurar o ID dessas árvores seguindo os passos acima, vai perceber que o site não encontra essas árvores na pesquisa do mapa. Para remover essas plantas, utilize isso: setWorldSpecialPropertyEnabled("randomfoliage", false) Edited September 16 by Lord Henry Erro de formatação na cor da fonte. 5 3 Link to comment
threevictor Posted January 21, 2018 Share Posted January 21, 2018 Eu precisava disso a um ano atrás, lembra? Lol Link to comment
SchmidtNeO Posted May 26, 2019 Share Posted May 26, 2019 (edited) On 12/04/2017 at 12:56, Lord Henry said: function removeBagulho () removeWorldModel (5681, 15, 1911.3, -1776.25, 13.38) --Remove o objeto do lava-jato próximo ao posto de LS quando o resource é iniciado. end addEventHandler ("onResourceStart", getResourceRootElement(getThisResource()), removeBagulho) function restauraBagulho () restoreWorldModel (5681, 15, 1911.3, -1776.25, 13.38) --Restaura o objeto quando o resource é desativado. end addEventHandler ("onResourceStop", getResourceRootElement(getThisResource()), restauraBagulho) o numero 15 serve exatamente para o que ? Edited September 9 by Lord Henry 1 Link to comment
Jonas^ Posted May 26, 2019 Share Posted May 26, 2019 9 minutes ago, SchmidtNeO said: o numero 15 serve exatamente para o que ? radius: A floating point number representing the radius that will be eliminated. Como foi citado no tópico é o raio de onde a remoção sera aplicada, ele usou 15, mas você pode usar, 30, 50, 100, enfim. 1 Link to comment
SchmidtNeO Posted May 26, 2019 Share Posted May 26, 2019 (edited) 8 minutes ago, Jonas^ said: radius: A floating point number representing the radius that will be eliminated. Como foi citado no tópico é o raio de onde a remoção sera aplicada, ele usou 15, mas você pode usar, 30, 50, 100, enfim. sim, fiz tudo corretamente mas não removeu, eu queria remover aquelas bandeiras que ficam na frente da prefeitura. https://imgur.com/a/2G2X5B2 Edited May 26, 2019 by SchmidtNeO Link to comment
SchmidtNeO Posted May 26, 2019 Share Posted May 26, 2019 (edited) tentei de várias formas mas n deu, poderia ver se o meta e o client está certo Lord https://imgur.com/a/2G2X5B2 Edited May 26, 2019 by SchmidtNeO 1 Link to comment
Jonas^ Posted May 26, 2019 Share Posted May 26, 2019 (edited) 4 hours ago, SchmidtNeO said: tentei de várias formas mas n deu, poderia ver se o meta e o client está certo Lord https://imgur.com/a/2G2X5B2 Está errado, coloque server no meta em type="server" ao invés de client. onResouceStart/Stop são eventos server-side e não client-side. Edited May 26, 2019 by Jonas^ 1 Link to comment
SchmidtNeO Posted May 26, 2019 Share Posted May 26, 2019 4 hours ago, Jonas^ said: Está errado, coloque server no meta em type="server" ao invés de client. onResouceStart/Stop são eventos server-side e não client-side. Eu fiz isto jonas e mesmo assim não deu certo 1 Link to comment
DNL291 Posted May 27, 2019 Share Posted May 27, 2019 11 hours ago, SchmidtNeO said: Eu fiz isto jonas e mesmo assim não deu certo Crie um tópico (em Programação em Lua) e detalha o seu problema lá, mostre o código, etc. 1 Link to comment
MADD NØG Posted September 29, 2020 Share Posted September 29, 2020 No meu caso removo bastante objetos em lugares diferentes, e pra otimizar e ganhar umas linhas a menos utilizo esse com pairs local objects = { --- ID, Distancia, XYZ --- {1468, 1000, 2475.6000976563, -1652.0999755859, 13.699999809265}, {1280, 1000, 1075.9566650391, -1786.4718017578, 13.753671646118}, {1230, 1000, 2475.6000976563, -1652.0999755859, 13.699999809265}, } function removeObjects() for k, v in pairs(objects) do if v[6] then removeWorldModel(v[1], v[2], v[3], v[4], v[5], v[6]) else removeWorldModel(v[1], v[2], v[3], v[4], v[5]) end end end addEventHandler("onClientResourceStart", resourceRoot, function() removeObjects() end) Link to comment
Other Languages Moderators Lord Henry Posted September 30, 2020 Author Other Languages Moderators Share Posted September 30, 2020 @M4DD NØGessa distância está muito alta. Pode acabar removendo outros objetos com mesmo ID que estejam dentro dessa área. A não ser que seja esse o objetivo. 1 Link to comment
MADD NØG Posted October 13, 2020 Share Posted October 13, 2020 On 30/09/2020 at 17:30, Lord Henry said: @M4DD NØGessa distância está muito alta. Pode acabar removendo outros objetos com mesmo ID que estejam dentro dessa área. A não ser que seja esse o objetivo. Pior que é essa intenção mesmo, remover postes, arvores e objetos estéticos por todo mapa, por mais pouco que seja, em pcs mais fracos da uma ajuda no FPS, mais pelos testes que eu fiz não mudou muita coisa, é que tem uns detalhes muito mal feitos do GTA SA que me incomodam ai eu removo de LS pra ficar mais minimalista e bonito 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