Suporte ao desenvolvimento de jogos!


    Adicionar musicas mp3 no jogo - 100%

    Compartilhe
    avatar
    GalaxyHells
    Ocasional
    Ocasional

    Mensagens : 179
    Créditos : 10

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Adicionar musicas mp3 no jogo - 100%

    Mensagem por GalaxyHells em Ter Jan 26, 2016 11:39 am

    EO 2.0 ou 2.3 não testei em nenhuma outra....
    modDxShow.bas Link Aqui: http://www.file-upload.net/download-6954302/modDxShow.bas.html
    Backup Recente... 'Caso de algum problema para evitar tretas com a minha pessoa falando que perdeu o projeto





    Tudo feito no Client~Side!
    Bom primeiro iremos começar pelo Modulo modDxShow.bas adicione ele em seu projeto primeiro na pasta Src e Depois iremos adicionar pelo Vb6.
    Vá em Project depois em Add Module escolha a opção Existing e adicione o modulo modDxShow.bas que se encontra dentro da pasta src.
    Agora que foi adicionado o modulo iremos adicionar uma nova referencia vá em Project novamente e encontra a opção References e procure por Active Movie Control type Library e adicione e de OK

    Agora iremos começar a adicionar os novos códigos, Primeiro vá ao modulo ModGeneral e procure por:

    Código:
    Código:
    ' Cache music list
    strLoad = Dir(App.Path & MUSIC_PATH & "*.mid")
    i = 1
    Do While strLoad > vbNullString
    ReDim Preserve musicCache(1 To i) As String
    musicCache(i) = strLoad
    strLoad = Dir
    i = i + 1
    Loop


    e Substitua por:

    Código:
    Código:
    ' Cache music list
        strLoad = Dir(App.Path & MUSIC_PATH & "*.*")
        i = 1
        Do While strLoad > vbNullString
            ReDim Preserve musicCache(1 To i) As String
            musicCache(i) = strLoad
            strLoad = Dir
            i = i + 1
        Loop


    Feito isso vá em ModGameLogic e encontre:

    Código:
    Código:
    ' Calculate fps
    If TickFPS < Tick Then
    GameFPS = FPS
    TickFPS = Tick + 1000
    FPS = 0
    Else
    FPS = FPS + 1
    End If


    Abaixo adicione:

    Código:
    Código:
    'loop mapmusic if needed and its a mp3 file
    LoopMp3


    Agora vá em ModSound e procure por:

    Código:
    Código:
    Public Sub PlayMidi


    e Substitua toda ela por:

    Código:
    Código:
    Public Sub PlayMidi(ByVal Filename As String)
    Dim Splitmusic() As String

    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    If Options.Music = 0 Then Exit Sub

    Splitmusic = Split(Filename, ".", , vbTextCompare)

    If Performance Is Nothing Then Exit Sub
    If LenB(Trim$(Filename)) < 1 Then Exit Sub
    If UBound(Splitmusic) <> 1 Then Exit Sub

    If Not FileExist(App.Path & MUSIC_PATH & Filename, True) Then Exit Sub

    If Not Music_On Then Exit Sub

    If Music_Playing = Filename Then Exit Sub

    If Splitmusic(1) = "mp3" Then
    OpenDShowFile (App.Path & MUSIC_PATH & Filename)
    PlayMp3
    Exit Sub
    ElseIf Splitmusic(1) <> "mid" Then
    Exit Sub
    End If

    Set Segment = Nothing
    Set Segment = Loader.LoadSegment(App.Path & MUSIC_PATH & Filename)

    ' repeat midi file
    Segment.SetLoopPoints 0, 0
    Segment.SetRepeats 100
    Segment.SetStandardMidiFile

    Performance.PlaySegment Segment, 0, 0

    Music_Playing = Filename

    ' Error handler
    Exit Sub
    errorhandler:
    If InGame Then
    HandleError "PlayMidi - Ingame = True - Map#= " & Player(MyIndex).Map & " - Filename = " & Filename & " - Filepath Length= " & Len(App.Path & MUSIC_PATH & Filename), "modSound", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Else
    HandleError "PlayMidi - Ingame = False - Filename = " & Filename & " - Filepath Length= " & Len(App.Path & MUSIC_PATH & Filename), "modSound", Err.Number, Err.Description, Err.Source, Err.HelpContext
    End If
    Err.Clear
    Exit Sub
    End Sub


    Agora encontre a Public Sub StopMidi() e substitua por:

    Código:
    Código:
    Public Sub StopMidi()
    ' If debug mode, handle error then exit out
    If Options.Debug = 1 Then On Error GoTo errorhandler

    StopMp3

    If Not (Performance Is Nothing) Then Performance.Stop Segment, Nothing, 0, 0
    Music_Playing = vbNullString

    ' Error handler
    Exit Sub
    errorhandler:
    HandleError "StopMidi", "modSound", Err.Number, Err.Description, Err.Source, Err.HelpContext
    Err.Clear
    Exit Sub
    End Sub


    Bom este tutorial tinha um pequeno "Erro" de não aparecer os arquivos midi na lista de reprodução e eu o modifiquei que funcione tanto os Arquivos Midi quanto os Arquivos Mp3.


    Synter Games & Damian666 - Criar o Tutorial e Disponibilizar.
    llAliferll - Traduzir, Disponibilizar na tabernarpg

    GalaxyHells - Por posta aqui


    _________________

      Data/hora atual: Sex Set 21, 2018 8:35 am