Como adicionar música no carregamento do mapa - LuanTavares127 - 14-05-2021
Primeiro você precisará ter a música que deseja em formato .ogg mono. (Caso já tenha, ignore o passo 1)
Passo 1: Caso sua música não esteja no formato correto mencionado acima, você pode entrar neste site [Para ver os links, por favor se registre no fórum aqui ou faça seu login aqui] e seguir os seguintes passos:
Passo 1.1: Clique no botão Selecionar arquivos .
Passo 1.2: Selecione a música desejada.
Passo 1.3: Após carregado a música, clique em ... e selecione o OGG , assim como mostra a imagem abaixo.
Passo 1.4: Clique na engrenagem Definições ao lado botão do passo 1.3.
Passo 1.5: Modifique o Canais de Áudio para Mono (1.0) .
Passo 1.6: Clique no botão Converter .
Passo 1.7: Aguarde o site receber e converter sua música. Após finalizado aparecerá um botão chamado Descarregar a direita. Clique nele e salve em algum lugar dentro das pastas do seu mapa, como por exemplo: maps/sounds/musica.ogg.
Passo 2: Você precisará ter o arquivo map_sound.xml e map_sound.i3d . (dependendo da base que você usou, o início no nome do arquivo pode variar, por exemplo "mapDE_sound.xml")
Passo 2.1: Abra os arquivos do seu mapa e verifique se existe algum arquivo chamado map_sound.i3d (ou seu nome variante), geralmente ele se encontra dentro da pasta maps . Se ele já existe, vá para o passo 2.2. Caso não exista, abra algum editor de texto ou de códigos (bloco de notas, Visual Studio Code, Notepad++, ou equivalentes) e cole o seguinte código:
<?xml version="1.0" encoding="iso-8859-1"?>
<i3D name="untitled" version="1.6" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="http://i3d.giants.ch/schema/i3d-1.6.xsd">
<Asset>
<Export program="GIANTS Editor 64bit" version="8.2.2"/>
</Asset>
<Files>
</Files>
<Materials>
</Materials>
<Shapes>
</Shapes>
<Dynamics>
</Dynamics>
<Scene>
<TransformGroup name="audio_group" nodeId="5">
<Camera name="audio_map_view" translation="0 250 0" rotation="-93.4377 2.97938 -3.86388e-06" nodeId="646" fov="60" nearClip="0.1" farClip="10000" orthographic="true" orthographicHeight="2250"/>
</TransformGroup>
</Scene>
</i3D> Salve este arquivo com o seguinte nome: map_sound.i3d dentro da pasta maps do seu mapa.
Passo 2.2: Dentro dos arquivos do seu mapa, localize o arquivo map_sound.xml (lembrando que pode haver variação no início do nome), se já existir, abra o arquivo e verifique se a linha logo abaixo está condizente com o caminho do seu arquivo sound.i3d (ou sua variante):
<ambient3d filename="CAMINHO/NOME DO ARQUIVO SOUND.i3d" indoorVolumeFactor="0.4" indoorLowpassGainFactor="0.45"/> Se estiver correto, apenas ignore este passo 2.2, caso contrário, corrija o caminho/nome do arquivo.
Caso não exista, abra novamente algum editor de texto ou de códigos (bloco de notas, Visual Studio Code, Notepad++, ou equivalentes) e cole o seguinte código:
<?xml version="1.0" encoding="utf-8" standalone="no" ?>
<sound>
<ambient3d filename="CAMINHO/NOME DO ARQUIVO SOUND.i3d" indoorVolumeFactor="0.4" indoorLowpassGainFactor="0.45"/>
<ambient indoorFlag="1">
<!--
state: out-/indoor
bit: 1
dec.: 1
night/day
2
2
hail rain
3 4
4 8
-> worldStateFlags && mask == flags
-->
<!-- BASIS -->
<!-- anytime except for rain & hail -->
<sample type="basis" file="$data/sounds/maps/environment/shared/xml/wind_generic5.wav" volume="0.30" indoorVolumeFactor="0.00" flags="0" mask="29" />
<!-- anytime AND rain -->
<sample type="basis" file="$data/sounds/maps/environment/shared/xml/rain1.wav" volume="0.80" flags="8" mask="25" indoorVolumeFactor="0.00" />
<!-- anytime AND rain AND in vehicle -->
<sample type="basis" file="$data/sounds/maps/environment/shared/xml/rain_interior.wav" volume="0.50" flags="9" mask="25" indoorVolumeFactor="0.50" />
<!-- LAYER -->
<!-- night AND sun -->
<!-- <sample type="basis" file="$data/sounds/maps/fauna/shared/xml/cricket1.wav" volume="0.15" indoorVolumeFactor="0.00" flags="0" mask="31" /> -->
</ambient>
<surface>
<!--
materialId layer name
0 field
1 dirt
2 grass
3 beachSand
4
5 leaves
6 gravel
7 rock, asphalt, plate (also used for 'on object')
Note:
-->
<material materialId="0" name="field" type="wheel" loopCount="0" template="DEFAULT_SURFACE_FIELD" />
<material materialId="1" name="dirt" type="wheel" loopCount="0" template="DEFAULT_SURFACE_DIRT" />
<material materialId="2" name="grass" type="wheel" loopCount="0" template="DEFAULT_SURFACE_GRASS" />
<material materialId="3" name="sand" type="wheel" loopCount="0" template="DEFAULT_SURFACE_SAND" />
<material materialId="4" name="sound" type="wheel" loopCount="0" template="DEFAULT_SURFACE_SOUND" />
<material materialId="5" name="leaves" type="wheel" loopCount="0" template="DEFAULT_SURFACE_GRASS" />
<material materialId="6" name="gravel" type="wheel" loopCount="0" template="DEFAULT_SURFACE_GRAVEL" />
<material materialId="7" name="asphalt" type="wheel" loopCount="0" template="DEFAULT_SURFACE_ASPHALT" />
<material materialId="98" name="railroad" type="wheel" loopCount="0" template="DEFAULT_SURFACE_RAILROAD" />
<material materialId="99" name="shallowWater" type="wheel" loopCount="0" template="DEFAULT_SURFACE_WATER_SHALLOW" />
<material materialId="0" name="field" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_FIELD" />
<material materialId="1" name="dirt" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_DIRT" />
<material materialId="2" name="grass" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_GRASS" />
<material materialId="3" name="sand" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_SAND" />
<material materialId="4" name="sound" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_SOUND" />
<material materialId="5" name="leaves" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_GRASS" />
<material materialId="6" name="gravel" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_GRAVEL" />
<material materialId="7" name="asphalt" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_ASPHALT" />
<material materialId="99" name="shallowWater" type="footstep" loopCount="1" template="DEFAULT_FOOTSTEP_WATER_SHALLOW" />
<material materialId="0" name="field" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_FIELD" />
<material materialId="1" name="dirt" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_DIRT" />
<material materialId="2" name="grass" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_GRASS" />
<material materialId="3" name="sand" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_SAND" />
<material materialId="4" name="sound" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_SOUND" />
<material materialId="5" name="leaves" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_GRASS" />
<material materialId="6" name="gravel" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_GRAVEL" />
<material materialId="7" name="asphalt" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_ASPHALT" />
<material materialId="99" name="shallowWater" type="hoofstep" loopCount="1" template="DEFAULT_HOOFSTEP_WATER_SHALLOW" />
</surface>
<cutting>
<sample name="tree" file="$data/sounds/cutting/treeFall.wav" />
</cutting>
<object>
<fillSound01 template="DEFAULT_SILO_FILL" linkNode="0" />
</object>
</sound> Salve este arquivo como map_sound.xml onde preferir.
Repare que na linha 3 do código acima, você deve informar o caminho/nome do arquivo corretamente conforme o caminho/nome do arquivo que você tem, usando como exemplo o arquivo criado no passo 2.1: maps/map_sound.i3d.
Passo 2.3: Localize nos arquivos do seu mapa o arquivo map.xml (ou sua variante, como exemplo: mapDE.xml) e encontre a seguinte linha:
<sounds filename="$data/maps/mapDE_sound.xml" /> Substitua o diretório do $data/maps/mapDE_sound.xml (o nome do xml pode variar) original pelo arquivo "map_sound.xml" (ou sua variante) do seu mapa, como por exemplo: xml/map_sound.xml (o diretório varia conforme a localidade de onde se encontra o seu arquivo .xml).
Passo 3: Agora abra o seu arquivo map_sound.i3d (ou sua variante) com algum editor de texto ou de códigos (bloco de notas, Visual Studio Code, Notepad++, ou equivalentes) e siga os passos abaixo:
Passo 3.1: Localize a tag </Files> e adicione na linha acima desta tag a seguinte linha:
<File fileId="9999" filename="CAMINHO/NOME DO ARQUIVO.wav"/> Coloque o caminho e o nome correto de onde se encontra sua música dentro do seu mapa e mantenha o .wav no código apenas (sim, o arquivo é .ogg e dentro do código é .wav ).
Passo 3.2: Agora localize a tag </Scene> e adicione na linha acima desta tag a seguinte linha:
<AudioSource name="musica_intro" nodeId="9999" fileId="9999" range="80" innerRange="60" volume="1" loops="0"/>
Passo 3.3: Localize a tag </UserAttributes> e adicione na linha acima desta tag as seguintes linhas:
<UserAttribute nodeId="9999">
<Attribute name="playByDay" type="boolean" value="true"/>
<Attribute name="playByNight" type="boolean" value="true"/>
<Attribute name="playDuringHail" type="boolean" value="false"/>
<Attribute name="playDuringRain" type="boolean" value="false"/>
<Attribute name="playDuringSun" type="boolean" value="true"/>
<Attribute name="playExterior" type="boolean" value="true"/>
<Attribute name="playHour" type="boolean" value="true"/>
<Attribute name="playHourEnd" type="float" value="24"/>
<Attribute name="playHourInverted" type="boolean" value="false"/>
<Attribute name="playHourStart" type="float" value="0"/>
<Attribute name="playInsideBuilding" type="boolean" value="true"/>
<Attribute name="playInterior" type="boolean" value="false"/>
<Attribute name="retriggerMaxDelay" type="float" value="0"/>
<Attribute name="retriggerMinDelay" type="float" value="0"/>
</UserAttribute> Caso em seu código não haja a tag </UserAttributes> , localize a tag </i3D> e adicione na linha acima desta tag as seguintes linhas:
<UserAttributes>
<UserAttribute nodeId="9999">
<Attribute name="playByDay" type="boolean" value="true"/>
<Attribute name="playByNight" type="boolean" value="true"/>
<Attribute name="playDuringHail" type="boolean" value="false"/>
<Attribute name="playDuringRain" type="boolean" value="false"/>
<Attribute name="playDuringSun" type="boolean" value="true"/>
<Attribute name="playExterior" type="boolean" value="true"/>
<Attribute name="playHour" type="boolean" value="true"/>
<Attribute name="playHourEnd" type="float" value="24"/>
<Attribute name="playHourInverted" type="boolean" value="false"/>
<Attribute name="playHourStart" type="float" value="0"/>
<Attribute name="playInsideBuilding" type="boolean" value="true"/>
<Attribute name="playInterior" type="boolean" value="false"/>
<Attribute name="retriggerMaxDelay" type="float" value="0"/>
<Attribute name="retriggerMinDelay" type="float" value="0"/>
</UserAttribute>
</UserAttributes> Agora salve seu arquivo apertando ctrl + s e seja feliz com a sua música de introdução ao seu mapa enquanto ele carrega no Farming Simulator 19.
Caso haja alguma dúvida, comente aqui em baixo que irei ajudá-lo.
|