Olá pessoal beleza?
Quando se trata de modificar/adicionar mapa em servidores, é algo que chama bastante atenção, por exemplo(mapas estilo FiveM com interior e exterior, com texturas ou sem texturas) deixam o mapa do servidor diferenciado.
Mas muitas das vezes estes mapas utilizam muitos objetos para serem carregados para um player e eventualmente pra quem desenvolve um servidor, já se deparou com problemas de renderização dos mapas, e até mesmo crash.
Para evitar isto é preciso que você entenda como utilizar de maneira inteligente cada objeto e também o drawdistance e streamdistance de cada objeto.
No extinto forum samp um usuário chamado n0minal criou este Tutorial na qual deu dicas valiosas e que tenho certeza que ajudará muita gente.
Eu reescrevi e adaptei o que foi dito neste tópico para melhor aprendizado, pois devido à alguns problemas de acentuação causados pela codificação de site que foi feito backup do forum samp.
Creditos Total à: n0minal.
• Sumário
Este é um tópico explicativo, este tutorial tem como objetivo sanar dúvidas, problemas e ajudar a providenciar a melhor experiência aos usuários do seu servidor. Apesar de básico, muitas pessoas não fazem ideia entre a diferença de criar objetos com streamer e criá-los nativamente (createobject).
• O que é streamer?
Streamer como muito de vocês sabem, é um plugin que estende as possibilidades de recursos nativos do samp, tais como criação de objetos (o assunto no qual estamos), pickups, checkpoints e muito mais. Mas como dito anteriormente, o foco deste tutorial é sobre os objetos.
• Streaming de objetos?
Sim, a grosso modo, o streamer faz uma "distribuição inteligente" pra estender o limite de objetos, isso não significa que você pode criar infinitos objetos com o streamer (na teoria você pode, mas na prática a coisa é diferente), mas te dá muita liberdade pra criar seus mapas caso você o use. O streaming de objetos basicamente cria objetos pra você quando você está perto deles e os destrói quando você está longe e não precisa vê-lo mais, poupando então mais slots para outros mapas. Todo esse cálculo é feito através de uma série de fatores, dentre eles o drawdistance, que muita gente por padrão não o toca e acaba ignorando, mas que na verdade é um ponto-chave pra performance dos seus mapas, portanto, abaixo vou dar algumas dicas caso você queira ter a melhor performance nos seus mapas e poder organizá-lo de forma correta e inteligente.
• Dicas
• Organize seus mapas.
Organização é o primeiro passo pra tudo, tente centralizar seus mapas em algum módulo ou script principal, assim você não vai se perder na hora que mudar alguma coisa, use comentários para ajudar na organização daquele monte de funções, pule algumas linhas e aí prossiga.
• Escolha bem seu editor.
De fato existem vários, cada um deles com características diferentes do outro, escolha um que te dê conforto de trabalhar e possibilite a maior exploração da sua criatividade, mas o mais importante, é o método de exportação.
• Usa editor in-game? Modifique-o!
Aposto que você não tinha pensado nisso, além de trocar algumas corezinhas aqui e ali nos comandos, imagine como seria útil poder modificar o drawdistance de cada objeto pra te poupar dor de cabeça após a exportação dos mapas, simplesmente fantástico! Eu pessoalmente planejo editar meu texture studio para dar suporte а isso, que tal sugerir isso no tópico oficial do texture studio ou desenvolver por si mesmo?
• Use o drawdistance de forma inteligente!
Pra quê diabos deixar 300.0m de drawdistance pra um objeto de decoração e deixar os chãos da sua cidade com pop-in, onde vira e mexe um player não carrega o objeto a tempo e cai na água, isso é horrível não é? Portanto, use o drawdistance de forma inteligente, modificando o drawdistance de cada objeto você melhora a interface dos seus mapas em 100%, priorize o essencial e abstraia os detalhes!
• Estou usando streamer e meus objetos não são criados, o que fazer?
Existem muitos casos desse tipo hoje em dia, por isso, é estritamente aconselhável que você opte por um modo de criação de objetos antes de começar a mapear, a criação de objetos nativos prejudica e muito a performance do streamer caso seja usada em grande quantidade, daí vem a questão, usar CreateObject ou CreateDynamicObject?
• Usar o streamer ou não? Como criar meus objetos? Quando devo usá-lo?
Apesar de uma pergunta simples de ser respondida, muitas pessoas ainda tem essa dúvida, quando devo usar o streamer? A resposta pra 99% dos casos é: SEMPRE USE STREAMER, pare de usar CreateObject caso seu servidor tenha um planejamento de muitos mapas, caso você queira fazer pouquissimos mapas e sistemas usando objetos, e pelas suas contas isso não passa de 1000 objetos, usar o streamer pode não ser necessário, mas na maioria dos casos não é isso que acontece, as pessoas constroem mercados, DP's, HQ's, spawn disso e daquilo e quando vai ver tem 10.000 objetos de mapa no servidor, portanto, não use CreateObject nesses casos, use apenas o streamer.
Quando se trata de modificar/adicionar mapa em servidores, é algo que chama bastante atenção, por exemplo(mapas estilo FiveM com interior e exterior, com texturas ou sem texturas) deixam o mapa do servidor diferenciado.
Mas muitas das vezes estes mapas utilizam muitos objetos para serem carregados para um player e eventualmente pra quem desenvolve um servidor, já se deparou com problemas de renderização dos mapas, e até mesmo crash.
Para evitar isto é preciso que você entenda como utilizar de maneira inteligente cada objeto e também o drawdistance e streamdistance de cada objeto.
No extinto forum samp um usuário chamado n0minal criou este Tutorial na qual deu dicas valiosas e que tenho certeza que ajudará muita gente.
Eu reescrevi e adaptei o que foi dito neste tópico para melhor aprendizado, pois devido à alguns problemas de acentuação causados pela codificação de site que foi feito backup do forum samp.
Creditos Total à: n0minal.
• Sumário
Este é um tópico explicativo, este tutorial tem como objetivo sanar dúvidas, problemas e ajudar a providenciar a melhor experiência aos usuários do seu servidor. Apesar de básico, muitas pessoas não fazem ideia entre a diferença de criar objetos com streamer e criá-los nativamente (createobject).
• O que é streamer?
Streamer como muito de vocês sabem, é um plugin que estende as possibilidades de recursos nativos do samp, tais como criação de objetos (o assunto no qual estamos), pickups, checkpoints e muito mais. Mas como dito anteriormente, o foco deste tutorial é sobre os objetos.
• Streaming de objetos?
Sim, a grosso modo, o streamer faz uma "distribuição inteligente" pra estender o limite de objetos, isso não significa que você pode criar infinitos objetos com o streamer (na teoria você pode, mas na prática a coisa é diferente), mas te dá muita liberdade pra criar seus mapas caso você o use. O streaming de objetos basicamente cria objetos pra você quando você está perto deles e os destrói quando você está longe e não precisa vê-lo mais, poupando então mais slots para outros mapas. Todo esse cálculo é feito através de uma série de fatores, dentre eles o drawdistance, que muita gente por padrão não o toca e acaba ignorando, mas que na verdade é um ponto-chave pra performance dos seus mapas, portanto, abaixo vou dar algumas dicas caso você queira ter a melhor performance nos seus mapas e poder organizá-lo de forma correta e inteligente.
• Dicas
• Organize seus mapas.
Organização é o primeiro passo pra tudo, tente centralizar seus mapas em algum módulo ou script principal, assim você não vai se perder na hora que mudar alguma coisa, use comentários para ajudar na organização daquele monte de funções, pule algumas linhas e aí prossiga.
• Escolha bem seu editor.
De fato existem vários, cada um deles com características diferentes do outro, escolha um que te dê conforto de trabalhar e possibilite a maior exploração da sua criatividade, mas o mais importante, é o método de exportação.
• Usa editor in-game? Modifique-o!
Aposto que você não tinha pensado nisso, além de trocar algumas corezinhas aqui e ali nos comandos, imagine como seria útil poder modificar o drawdistance de cada objeto pra te poupar dor de cabeça após a exportação dos mapas, simplesmente fantástico! Eu pessoalmente planejo editar meu texture studio para dar suporte а isso, que tal sugerir isso no tópico oficial do texture studio ou desenvolver por si mesmo?
• Use o drawdistance de forma inteligente!
Pra quê diabos deixar 300.0m de drawdistance pra um objeto de decoração e deixar os chãos da sua cidade com pop-in, onde vira e mexe um player não carrega o objeto a tempo e cai na água, isso é horrível não é? Portanto, use o drawdistance de forma inteligente, modificando o drawdistance de cada objeto você melhora a interface dos seus mapas em 100%, priorize o essencial e abstraia os detalhes!
• Estou usando streamer e meus objetos não são criados, o que fazer?
Existem muitos casos desse tipo hoje em dia, por isso, é estritamente aconselhável que você opte por um modo de criação de objetos antes de começar a mapear, a criação de objetos nativos prejudica e muito a performance do streamer caso seja usada em grande quantidade, daí vem a questão, usar CreateObject ou CreateDynamicObject?
• Usar o streamer ou não? Como criar meus objetos? Quando devo usá-lo?
Apesar de uma pergunta simples de ser respondida, muitas pessoas ainda tem essa dúvida, quando devo usar o streamer? A resposta pra 99% dos casos é: SEMPRE USE STREAMER, pare de usar CreateObject caso seu servidor tenha um planejamento de muitos mapas, caso você queira fazer pouquissimos mapas e sistemas usando objetos, e pelas suas contas isso não passa de 1000 objetos, usar o streamer pode não ser necessário, mas na maioria dos casos não é isso que acontece, as pessoas constroem mercados, DP's, HQ's, spawn disso e daquilo e quando vai ver tem 10.000 objetos de mapa no servidor, portanto, não use CreateObject nesses casos, use apenas o streamer.