Portal SAMP
[Ajuda] Atualizar objetos do Streamer - Versão de Impressão

+- Portal SAMP (https://portalsamp.com)
+-- Fórum: SA-MP (https://portalsamp.com/forumdisplay.php?fid=5)
+--- Fórum: Área de suporte (https://portalsamp.com/forumdisplay.php?fid=6)
+--- Tópico: [Ajuda] Atualizar objetos do Streamer (/showthread.php?tid=1843)



Atualizar objetos do Streamer - Jogador - 14/11/2021

Estou tentando atualizar a posição de 5 objetos de forma constante mas os objetos simplesmente não acompanham a mudança de posição, só atualizam quando o jogador sai e volta ao mesmo lugar ou nem se mexem, como faço para atualiza-los para o jogador sem ele ter que sair da posição?
Código:
stock SetAttachedDynamicObjectPos(objectid, Float:x, Float:y, Float:z) {
 Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_ATTACH_X, x);
 Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_ATTACH_Y, y);
 Streamer_SetFloatData(STREAMER_TYPE_OBJECT, objectid, E_STREAMER_ATTACH_Z, z);
}

Edit:
Duvida minha, qual a diferença entre E_STREAMER_ATTACH_X e E_STREAMER_ATTACH_OFFSET_X?


RE: Atualizar objetos do Streamer - xbruno1000x - 14/11/2021

Acho que funciona da mesma forma que o TextDrawSetString. A função atualiza a informação do endereço de memória, porém ele só é atualizado quando você utiliza novamente o TextDrawShow.

No caso do seu código, você só está alterando o valor da coordenada no endereço de memória e isso não é suficiente para alterar a posição em tempo real. Ele atualiza quando o player sai de perto pois a streamer deleta e cria novamente e dessa forma aumenta o limite de 1000 objetos nativos. Não sei se há alguma função que faça o que você deseja, mas talvez deletando e recriando atinja um resultado próximo do que deseja.

Sobre a diferença entre E_STREAMER_ATTACH_X e E_STREAMER_ATTACH_OFFSET_X:
Se me recordo bem, OFFSET se refere a rotação do objeto na coordenada X,Y ou Z.