SlipModsModerator Posted May 13, 2021 Share Posted May 13, 2021 Fiz uma modelagem e substitui em qualquer objeto aleatorio , agora gostaria de fazer como deixar este objeto girando sem parar ( é uma logo no meio de uma praça que modelei ) irei agradecer muito se me ajudarem Link to comment
Administrators Tut Posted May 13, 2021 Administrators Share Posted May 13, 2021 (edited) Welcome to the forums! Your thread has been moved into the Portuguese scripting section, as that is more appropriate given your language. I think you should be able to rotate the object using moveObject function. Edited May 13, 2021 by Tut Link to comment
Other Languages Moderators androksi Posted May 13, 2021 Other Languages Moderators Share Posted May 13, 2021 (edited) Olá. Você precisa criar o objeto client-side e usar um evento de renderização para atualizar a rotação dele a cada frame. Fiz um exemplo: local object = createObject(1337, 0, 0, 3) local objectRotation = 0 addEventHandler("onClientPreRender", root, function() if object then setElementRotation(object, 0, 0, objectRotation) objectRotation = objectRotation + 1 if objectRotation >= 360 then objectRotation = 0 end end end) No exemplo acima, ele cria uma lixeira no meio de San Andreas (0, 0, 3) e deixa-o rotacionando. Edited May 24, 2021 by andr0xy Link to comment
SlipModsModerator Posted May 24, 2021 Author Share Posted May 24, 2021 meus deus vc me ajudou muito . thx Link to comment
Other Languages Moderators androksi Posted May 24, 2021 Other Languages Moderators Share Posted May 24, 2021 De nada Fiz uma correção no código. Assim que der uma volta completa, 360 graus, a variável retorna ao valor inicial, que é 0. Pois se deixasse como estava, em algum momento a variável estaria com um valor tão absurdamente grande, que a rotação iria ficar incorreta, tremendo, voltando de posição. Link to comment
Doongogar Posted November 7, 2021 Share Posted November 7, 2021 (edited) On 13/05/2021 at 18:13, androksi said: Olá. Você precisa criar o objeto client-side e usar um evento de renderização para atualizar a rotação dele a cada frame. Fiz um exemplo: local object = createObject(1337, 0, 0, 3) local objectRotation = 0 addEventHandler("onClientPreRender", root, function() if object then setElementRotation(object, 0, 0, objectRotation) objectRotation = objectRotation + 1 if objectRotation >= 360 then objectRotation = 0 end end end) No exemplo acima, ele cria uma lixeira no meio de San Andreas (0, 0, 3) e deixa-o rotacionando. ola tentei modificar seu codigo para quando o player dar o comando spawnar um objeto perto dele e o objeto ficar rotacionando mais não esta funcionando poderia me auxiliar? local objetoRotation = 0 function girar(thePlayer, cmd) local x, y, z = getElementPosition(thePlayer) local r, t, j = getElementRotation(thePlayer) local objeto = createObject(3095, x, y + 5, z, r, t, j) if objeto then setElementRotation(objeto, 0, 0, objetoRotation) objetoRotation = objetoRotation + 1 if objetoRotation >= 360 then objetoRotation = 0 end end end addCommandHandler("girar", girar) Edited November 7, 2021 by SciptNovato Link to comment
Gustavo Freire Posted November 7, 2021 Share Posted November 7, 2021 Olá, você precisa usar algum recurso para repetir este código. Ali no exemplo do Androksi ele utilizou o onClientPreRender. Segue abaixo um exemplo de como esse seu código deveria ser para funcionar da maneira que você quer. local object = false -- variável que armazenará o objeto ou o valor `false` para a verificação do comando local objectRotation = 0 -- rotação inicial do objeto local object_id = 1337 -- id do objeto que será criado local rotObject = function( ) -- função de rotação do objeto local pX, pY, pZ = getElementPosition( localPlayer ) setElementPosition( object, pX, pY, pZ + 1 ) -- seta a posição do objeto para cima do player setElementRotation( object, 0, 0, objectRotation ) -- seta a rotação do objeto objectRotation = objectRotation + 1 -- aumenta a rotação do objeto if objectRotation >= 360 then -- verifica se a rotação chegou ao fim e reinicia objectRotation = 0 end end local cdObject = function( ) -- cria e destroy o objeto if not object then local pX, pY, pZ = getElementPosition( localPlayer ) -- pega posição do jogador object = createObject( object_id, pX, pY, pZ ) -- cria o objeto na posição do jogador if object then addEventHandler( 'onClientPreRender', root, rotObject ) -- adiciona o evento de render end else if isElement( object ) then removeEventHandler( 'onClientPreRender', root, rotObject ) -- remove o evento de render destroyElement( object ) -- destroi o objeto object = false -- define a variável que armazena o objeto para false end end end addCommandHandler( 'objeto', cdObject ) -- adiciona o comando 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