Pesquisa resultou em 7 ocorrências

por Junior_Djjr
08 Out 2018, 19:09
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

Re: [III/VC/SA] Como adicionar objetos sem substituir

Parece certo.
Use algum editor de mapa
f34-tutoriais/t50-1-sa-mp-map-construction-apresentacao
No caso deste não sei como adicionar objetos personalizados no editor, ou se no tutorial diz sobre isso... No MEd é meio merda mas dá pra fazer isto, só que ele não é compatível com ModLoader e você terá que instalar da maneira clássica para poder aparecer no editor (mas ao instalar no jogo pode ser assim mesmo).
Sim, atualmente está meio merda realizar isto, tanto que eu tento criar .ipl manualmente, não recomendo pra coisa grande mas se só quer uma ou outra casinha rapidamente, vale a pena:

Código: Selecionar tudo

inst
14300, minhacasaminhavi, 0, 1289.0, -41.5, 50.0, 0, 0, 0, 0, -1
end
Daí carregue o .ipl no .txt:

Código: Selecionar tudo

IPL data\maps\minhacasaminhavi.ipl
Não sei bem pra onde essa coordenada vai :peepo1: só pegue a coordenada de algum jeito. No tutorial de editor de mapa que enviei acima tem uma parte explicando sobre coordenadas, ou aqui.
Para rotacionar a casa são os últimos 0, e é em quaternion, tem que usar conversor de rotação XYZ para quat se quiser rotacionar (por isto tem que usar um editor de mapa, para facilitar este trabalho).
por Junior_Djjr
14 Jun 2018, 10:58
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

xddark999 escreveu: "É que eu queria entender a importância dessa informação. Há coisas que não precisam ser explicadas num tutorial pois iria causar mais confusão do que entendimento."

É difícil de explicar, mas mesmo quando não é a língua que eu falo, mas a única maneira de compreendê-lo é aplicar o método de programação para ser capaz de entender ou simplesmente instalar muitos mapas no jogo

Espero que esta imagem irá ajudá-lo um pouco.
Imagem
Os 3 têm que ter o mesmo nome, se não no jogo dar Crash
É, você está falando algo básico. Pensei que você estava falando algo além disso. Essa imagem mostra basicamente a mesma coisa.
por Junior_Djjr
13 Jun 2018, 09:16
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

xddark999 escreveu:
12 Jun 2018, 20:11
O que quero dizer é que o "col script " deve ser diferenciado do modelo DFF.
É que eu queria entender a importância dessa informação.
Há coisas que não precisam ser explicadas num tutorial pois iria causar mais confusão do que entendimento.
xddark999 escreveu: 4GB, 8GB, 16GB ou mais, poucos têm 2GB para baixo
No entanto o jogo é 32 bits, portanto só reconhece 2 GB (ou 3/4 se usar isto). É o grande problema do GTA SA e outros jogos antigos, nada adianta ter 16 GB de RAM e 8 cores no CPU, ele sempre reconhecerá 2 GB e 1 core.

Mesmo que nossos PCs atuais sejam potentes isso não é motivo para não dar atenção à otimização, mesmo que pequena. Ainda que é interessante dar tal costume aos modders, pois eles num dia podem estar produzindo um jogo (como foi o meu caso, e de vários que conheço)
por Junior_Djjr
12 Jun 2018, 19:27
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

xddark999 escreveu:
12 Jun 2018, 16:56
Não pode ser confundido com o nome do modelo dff (é claro que os nomes são os mesmos), mas é importante
Sabendo que função encontra o script Col, o que acontece é que, por vezes, programas do arquivo IDE, o arquivo
IPL, mas em nome do "col script " não está correto ou é mal soletrado e, portanto, ao iniciar o jogo
vai dar acidente, mas no momento em que acontece que você sabe que é o que você tem que modificar para carregar o jogo
corretamente, (é importante saber cada função) 
Não consegui entender, parece ter vários problemas na tradução.
 
xddark999 escreveu:
12 Jun 2018, 16:56
Por exemplo, este mapa que você vê acima tem uma distância de desenhado 2000, agora no caso de uma casa, a distância seria entre 200 a 1000 (se você gosta de colocar 200, este bem gostos são gostos), mas o número 200 não é tão ativo como o número 299 , se você verificar o IDE a partir dos arquivos originais do jogo, você vai encontrar o número 299, há também o 150, 180, 100, 1000, 500. Como eu digo que eles são gostos de cada um.
O problema de fazer mods "à gosto" é que os padrões deixam de ser seguidos, e deixar de seguir padrões é o que faz os mods causarem problemas.
  1. Imagine a sua casa com 2000 e instala o Project2DFX que triplica a distância de visão. Agora ela estará 6000 enquanto o resto do mapa está 2000.
  2. Mesmo não utilizando Project2DFX, 2000 é a distância entre uma cidade e outra. Uma casa em LV estará carregada na memória RAM enquanto você está em LS.
xddark999 escreveu:
12 Jun 2018, 16:56
mas o número 200 não é tão ativo como o número 299 , se você verificar o IDE a partir dos arquivos originais do jogo, você vai encontrar o número 299, há também o 150, 180, 100, 1000, 500. Como eu digo que eles são gostos de cada um.
Foi só um exemplo, eu quis dizer algo entre 200.

E sem dúvidas, 60.000 vértices num mesh collision é inaceitável, em qualquer engine.
por Junior_Djjr
12 Jun 2018, 11:43
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

xddark999 escreveu:
11 Jun 2018, 12:39
ID, CST, TXD, distância, flags (o  "CST ", representa o script de modelo de colisão, não o modelo dff)
O nome da colisão é o mesmo nome do dff, então isso não fez muito sentido.
 
xddark999 escreveu:
11 Jun 2018, 12:39
Você deve sempre colocar um sufixo começando com o número 1, em seguida, o 2 e assim por diante, 
este é para este ordenado
Explique-se.
 
xddark999 escreveu:
11 Jun 2018, 12:39
O modelo  "Beach_house " de 1 a 5 é dividido em 5 partes e tem uma distância
de desenhado 1000 que é ideal para um objeto pequeno, médio ou grande, se é muito grande, é colocado de 2000 para cima.
Muito exagero, se você está no centro do mapa, a borda dele é 3000, ou seja, se a casa estiver perto da borda do mapa você veria ela, mesmo estando no centro do mapa, o que é um grande exagero.
Uma casa usa em torno de 200 só (10 vezes menos)
 
xddark999 escreveu:
11 Jun 2018, 12:39
Se você passar os vértices 60,000 o script de Kam irá exportar o objeto Bugad. 
Aparentemente essa lista que você mandou só serve para o 3DS Max. Vejo modelos super pesados sendo exportados com ZModeler e funcionando corretamente.
Esse problema não é relacionado com a colisão não? Ainda que é a colisão que traz a visualização do modelo não o modelo em si. Tenho quase certeza que o jogo não tem problema algum com modelos de muitas vértices, somente colisões.
 
xddark999 escreveu:
11 Jun 2018, 12:39
A resposta é simples, você só tem que modelar o objeto usando um cubo, esfera ou outros modelos do jogo em si, mas principalmente é o cubo, 
você tem que fazer o cubo tomar a forma do objeto, porque o cubo contém poucos vértices em comparação com o modelo original
Que tem muitos vértices, no final da modelagem você deve recolher o objeto e juntar todas as partes, finalmente exportados no formato 3ds
Para, em seguida, importá-lo com o programa noesis, e isso irá exportar o modelo no formato FBX comprimindo os vértices. Enfim
Use o programa "colisão editor " para comprimir ainda mais o modelo, resultando em uma colisão de luz, para resumir.

Modelagem com um cubo o objeto original → comprimir os vértices com o programa noesis → comprimir novamente com o programa  "editor de colisão "

Nota:

-você deve tentar substituir as partes que contêm a maioria dos vértices, as partes que têm menos vértices você deve se juntar com o novo modelo
  Você criou.

-ao fazer este processo, haverá pouca redução de fps, por isso mesmo os computadores mais lentos será capaz de suportar o mapa.
Não se modela por cubos e exporta o modelo, o que se faz é adicionar os cubos (melhor dizendo, os primitivos, como esferas) no próprio Coll Editor. Se você usa um modelo modelado por cubos, vai continuar sendo uma collision mesh, o que é pesado — não só pro GTA SA: [1] [2]

A sua dica de comprimir os vértices serve para verdadeiros mesh collision (onde não se usa cubos etc). Seria bom mencionar o botão Replace by Box do Coll Editor:
Imagem
Ele substitui a seleção por cubos, deixando de ser mesh collision para ser verdadeiros primitivos, o que isso sim deixa o modelo muito mais leve.
O problema é que esse processo é absurdamente chato de se fazer, por mim só criar um mesh collision próprio removendo pequenos detalhes (por exemplo remover a profundidade das janelas das casas) e otimizar os vértices já é o bastante para nós mortais.

Eu ainda farei um tópico sobre criar colisão (como mencionado no tópico).
 
xddark999 escreveu:
11 Jun 2018, 12:39
Falta-lhe mencionar o arquivo IPL no post, que é muito importante para as coordenadas do mapa.
É, não foi o objetivo mesmo, é melhor ficar pra outro tópico pois é um assunto também muito amplo.
 
por Junior_Djjr
22 Mai 2018, 21:04
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

Sim. Se não me engano isso nem influencia nada (ou sim?)
por Junior_Djjr
25 Abr 2018, 14:00
Fórum: Tutoriais
Tópico: [III/VC/SA] Como adicionar objetos sem substituir
Respostas: 22
Exibições: 2838
Gênero:

[III/VC/SA] Como adicionar objetos sem substituir

Resumo:
Cada modelo do jogo é identificado por um número ID e tem um nome de .dff único, especificado em algum arquivo .ide dentro da seção "objs".
Caso o modelo ser usado como um objeto, é necessário ter um modelo de colisão especificado em algum arquivo .col.
Tanto o .ide quanto o .col precisam de linha de carregamento, geralmente um .txt na pasta do ModLoader.

O tutorial abaixo é para GTA San Andreas mas também serve para o GTA III e GTA Vice City caso fazer pequenas alterações, por exemplo o .ide tem um número adicional, e... Só?


.DFF, .TXD, .IDE
Primeiramente, o .dff não precisa de nada em específico, de fato você pode até tirar uma cópia de um .dff de um objeto do jogo para praticar este tutorial. O .txd não precisa ser único (o mesmo .txd pode ser reusado para diferentes arquivos .dff)

Eu presumo que você tenha em mãos um arquivo .dff e .txd de um modelo, portanto vamos criar um .ide para ele:

example.ide

Código: Selecionar tudo

objs
999, example, example, 200, 0
end

Entendendo a linha:

Código: Selecionar tudo

ID, dff, txd, distância, flags
ID — Como dito anteriormente, cada modelo precisa ter um ID único, caso contrário, causará o crash no endereço 0x00534134. Perceba, é um problema grave! Se dois mods usarem o mesmo ID em diferentes modelos, eles serão incompatíveis, por isso eu criei esta lista onde você pode encontrar IDs disponíveis para você usar. No exemplo, estamos usando o ID 999, que não é utilizado pelo jogo, mas não publique um mod usando ele! Sempre que precisar de algum ID para algum mod, utilize aquela lista.

dff — Nome do arquivo .dff; Necessário ser único; Caso incorreto o jogo causará crash. Máximo de 24 caracteres, e não use caracteres especiais, nem espaços, seja simples para evitar problemas, mas não simples demais, se você usar o mesmo nome que outro mod, eles serão incompatíveis (sim, example.dff é um péssimo nome!).

txd — Nome do arquivo .txd; Se quiser pode reusar de outro modelo; Caso incorreto o jogo causará freeze (congelamento). Idem acima.

distância — Distância para o objeto ser visível no mapa, em metros. Caso o modelo tenha LOD (Level Of Detail), acima desta distância mostrará o LOD.

flags — São especificações sobre o comportamento do seu modelo. Veremos em breve!


Linha de carregamento

Você pode salvar o tal .ide em alguma pasta dentro do ModLoader, mas não é só isso, você precisa carregar o tal .ide, e isto se faz com a seguinte linha:

Código: Selecionar tudo

IDE data\maps\example.ide
Normalmente ela é adicionada no seu gta.dat, mas com o ModLoader é muito melhor: Basta criar um arquivo .txt com esta linha. O ModLoader tratará o tal .txt como um arquivo de Readme, e lerá e instalará para você.

Nota: instalando linhas deste jeito pelo ModLoader é recomendado ter o gta.dat original sem alterações (tanto dentro quanto fora do ModLoader).

Inclusive, instalando pelo ModLoader, o data\maps é falso, não precisa estar numa pasta data\maps, ele será carregado estando em qualquer lugar dentro do ModLoader.

Eu particularmente gosto de usar o tal .txt com nome "loader.txt" e com algum aviso dentro dele pedindo para deixar o arquivo no ModLoader, mas você pode se sentir livre para usar o nome que quiser.

Neste exemplo, a organização ficou assim:
Imagem
Mas ainda não terminou!


.COL

Como dito anteriormente, o .dff precisa estar especificado num arquivo .col.

Você provavelmente vai querer criar e instalar um novo arquivo .col para o seu modelo.

Eu não vou criar um tutorial de como criar .col aqui pois é algo muito longo e que merece atenção especial, especialmente porque praticamente todos os mods que usam .col os autores criam errado. Procure por algum bom tutorial de criar .col nos tutoriais do fórum (uns são mais completos que os outros, usam passos diferentes etc, procure e escolha bem antes de partir).

Enfim, tendo o arquivo .col para o seu modelo, faça-o carregar!

De novo eu recomendo altamente o ModLoader, utilizando a seguinte linha:

Código: Selecionar tudo

COLFILE 0 data\maps\example.col
Você pode adicioná-la no loader.txt junto com a linha do .ide.


Instalação completa

E assim ficou a nossa instalação completa:
Imagem
Teste o modelo no seu jogo.
Há diversas maneiras de testá-lo, seja por .ipl, por mods que criam objetos, ou até mesmo pelo Tuning Mod copiando o número ID ou nome do .dff e dando CTRL+V na tela de seleção (neste caso, se o .col estiver errado ou inexistente, não dará crash pois o Tuning Mod não usa .col — isto pode lhe ser útil).

Limite: O GTA SA tem limites duros sobre adicionar novos modelos. Baixe e instale o Open Limit Adjuster para os limites serem quebrados, caso contrário causará o crash 0x004C663B entre outros. Você também pode usar outros limit adjusters caso preferir, mas eles necessitam de configuração, diferente do OLA.

Funcionou? Então podemos vamos nos aprofundar:


Mais de 1 modelo

E se o meu mod usa mais de um modelo?

Por favor, não duplique tudo. Adapte!
Simplesmente adicione uma nova linha no .ide, e adicione o novo coll no mesmo arquivo .col.

Veja este outro exemplo completo de instalação:
Imagem
Totalmente diferente, e também totalmente correto!
No exemplo nós adicionamos 2 modelos diferentes, e ambos compartilham o mesmo .txd.


LOD

E se eu quiser definir um LOD para o meu objeto de mapa?

Simplesmente adicione o seu LOD exatamente do mesmo jeito, mas no nome do .dff, use o mesmo nome, só que com lod no início.
Ou seja, se o nosso .dff é my_model1.dff, o lod será lodmy_model1.dff.
De resto, é tudo mesma coisa, mas obviamente você vai querer aumentar a distância de visão do objeto, afinal, é um LOD, né? Normalmente se usa 800. (usar menos que 800 funciona?)


Flags (.IDE)

Tá, mas e as "flags" que você prometeu?

Certo, por fim vamos falar das "flags", que é o último parâmetro/coluna da linha do .ide.

No nosso exemplo, usamos flag "0", que quer dizer um objeto normal sem nenhum comportamento específico.

Código: Selecionar tudo

objs
14000, my_model1, my_textures, 200, 0
end
Mas em vários casos você vai necessitar usar flags.

Você pode ver aqui a lista de flags disponíveis.

É um tanto confuso para a maioria das pessoas, especialmente quem não está familiarizado com programação, especialmente sobre bits.

Por exemplo no GTA SA temos a flag IS_ROAD, que é usada em objetos de rua para aplicar efeito de molhado durante chuva. Segundo a lista, é o bit "0", portanto, o valor decimal é "1".

Isso quer dizer que se queremos usar esta flag, temos que usar o número "1" no fim da linha.

Outro exemplo, a flag DRAW_LAST, que é usada em objetos com transparência para fazer correções de transparência. Segundo a lista, é o bit "2", portanto, o valor decimal é "4".

Isso quer dizer que se queremos usar esta flag, temos que usar o número "4" no fim da linha.

E se quisermos usar ambas as flags juntas? 1+4=5! Simples assim.

Para você entender melhor o que se passa, abra a calculadora do Windows e coloque em modo de programador, e selecione o teclado de alternância de bits.
IS_ROAD é o bit 0, e DRAW_LAST é o bit 2. Se ligarmos os 2 bits, temos o valor decimal "5"
Imagem
Você pode querer usar isso para criar seus valores de flag.

O exemplo abaixo é de uma árvore/vegetação (IS_TREE, bit 13), que tem transparência (DRAW_LAST, bit 2) e que precisa ser renderizada com face dupla (double-sided), ou seja, a face invertida ainda é renderizada, o que é muito útil para vegetação e outros modelos com transparência (DISABLE_BACKFACE_CULLING, bit 21).
Imagem
Neste exemplo a linha ficaria assim:

Código: Selecionar tudo

objs
14000, my_model1, my_textures, 200, 2105348
end


Pronto, você aprendeu a adicionar novos modelos sem substituir, e melhor, de modo manual e completo!

Voltar para “[III/VC/SA] Como adicionar objetos sem substituir”