Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte no desenvolvimento de jogos


+11
Profane ~
Jonny157
Pablo Kawan
thales12
StormAD
Snoopy
Motodark
gui408
Hashirama
Spooky
Dooolly
15 participantes

    [GL]Magia Direcional - Complemento

    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GL]Magia Direcional - Complemento Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GL]Magia Direcional - Complemento Left_bar_bleue0/0[GL]Magia Direcional - Complemento Empty_bar_bleue  (0/0)
    Vida:
    [GL]Magia Direcional - Complemento Left_bar_bleue30/30[GL]Magia Direcional - Complemento Empty_bar_bleue  (30/30)

    [GL]Magia Direcional - Complemento Empty [GL]Magia Direcional - Complemento

    Mensagem por Dooolly Ter Jan 20, 2015 12:39 pm

    [GL]Magia Direcional - Complemento IbzrvWHfHZLf6f

    Informações

    Nome: Sistema de Magia Direcional
    Versão: 0.1.0
    Criador: GameLoop
    Creditos: Dooolly, Thales12
    Requerimento: Magia Linear Avançada

    Esse Sistema é apenas um complemento para o sistema de Magia linear avançada. Por isso ele requer o sistema. Qualquer erro informar no tópico.

    Tutorial

    Client-Side

    Vamos começar no frmEditor_Spell

    Primeiro você terá que cria:
    - 4 Scrollbars
    - 4 Labeis

    Vai ter que renomear todas as scrolls com o mesmo nome: scrlDirSpell
    Também terá que renomear as labeis com o mesmo nome: lblDirSpell

    Lembre de por em ordem as Index
    0 = Cima/DIR_UP
    1 = Baixo/DIR_DOWN
    2 = Esquerda/DIR_LEFT
    3 = Direita/DIR_RIGHT

    * Essa parte da Index é muito importante.

    Aqui um exemplo de como ficou o meu:
    Spoiler:

    Clique em qualquer uma dessa scrolls e ponha o seguinte código:
    Código:
        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler

        If scrlDirSpell(Index).Value > 0 Then
           lblDirSpell(Index).Caption = Trim$(Animation(scrlDirSpell(Index).Value).Name)
        Else
           lblDirSpell(Index).Caption = "Nenhuma"
        End If
        
        Spell(EditorIndex).Anim(Index) = scrlDirSpell(Index).Value
        
        ' Error handler
        Exit Sub
    errorhandler:
        HandleError "scrlDirSpell_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext
        Err.Clear
        Exit Sub

    Ainda na frmEditor_Spell procure pela cmbType
    Vá em List nas propriedades da cmbType e adicione: Direcional

    Exemplo:

    Vou deixa o link da minha frmEditor_Spell para você ver. Se Quiser pode até usar, mas nela você só encontra o sistema de Magia Linear Avançada, e Magia Direcional.
    frmEditor_Spell Files

    CODIGO

    Em modGameEditors procure por:
    Código:
    .scrlStun.Value = Spell(EditorIndex).StunDuration

    Abaixo adicione:
    Código:
    ' Magia Direcional
            For i = 0 To 3
               .scrlDirSpell(i).Value = Spell(EditorIndex).Anim(i)
            Next

    Em modConstants procure por:
    Código:
    Public Const SPELL_TYPE_WARP As Byte = 4

    Abaixo adicione:
    Código:
    Public Const SPELL_TYPE_DIR As Byte = 5
    * Onde tem o numero 5 mude para a Spell_Type Final
    Se o ultimo numero for 5 você bota 6. Nunca deixe repetir o valor da SPELL_TYPE


    Em modTypes procure por:
    Código:
    StunDuration As Long

    Abaixo adicione:
    Código:
    ' Magia Direcional
        Anim(0 To 3) As Long
    * Outra coisa importante é: Sempre coloque antes da EndType.
    Exemplo:

    Cliente Terminado!

    Server-Side

    Em modConstants procure por:
    Código:
    Public Const SPELL_TYPE_WARP As Byte = 4

    Abaixo adicione:
    Código:
    Public Const SPELL_TYPE_DIR As Byte = 5
    * Onde tem o numero 5 mude para a Spell_Type Final
    Se o ultimo numero for 5 você bota 6. Nunca deixe repetir o valor da SPELL_TYPE


    Em modTypes procure por:
    Código:
    StunDuration As Long

    Abaixo adicione:
    Código:
    ' Magia Direcional
        Anim(0 To 3) As Long
    * Outra coisa importante é: Sempre coloque antes da EndType.
    Siga o exemplo anterior.


    Em modCombat na Sub CastSpell procure por:
    Código:
    End Select
            Case 2 ' targetted

    Acima adicione:
    Código:
    Case SPELL_TYPE_DIR

                      ' Ativar Animação
                      Select Case GetPlayerDir(index)
                         Case DIR_UP
                           SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index), GetPlayerY(index) - 1
                         Case DIR_DOWN
                           SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index), GetPlayerY(index) + 1
                         Case DIR_LEFT
                           SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index) - 1, GetPlayerY(index)
                         Case DIR_RIGHT
                           SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index) + 1, GetPlayerY(index)
                      End Select
                    
                      ' Dano Linear
                      For linha = 1 To Spell(SpellNum).AoE
                       Select Case GetPlayerDir(index)
                         Case DIR_UP
                          If Not GetPlayerY(index) - linha < 0 Then
                            UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) - linha
                          End If
                         Case DIR_DOWN
                          If Not GetPlayerY(index) + linha > Map(mapnum).MaxY Then
                            UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) + linha
                          End If
                         Case DIR_LEFT
                          If Not GetPlayerX(index) - linha < 0 Then
                            UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha, GetPlayerY(index)
                          End If
                         Case DIR_RIGHT
                          If Not GetPlayerX(index) + linha > Map(mapnum).MaxX Then
                            UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index)
                          End If
                       End Select

                       '/// - Dano Lateral - ///
                       If Spell(SpellNum).Tamanho > 0 Then
                         For linha2 = 1 To Spell(SpellNum).Tamanho
                          Select Case GetPlayerDir(index)
                            Case DIR_UP
                               If Not GetPlayerY(index) - linha < 0 Then
                                 If Not GetPlayerX(index) - linha2 < 0 Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha2, GetPlayerY(index) - linha
                                 End If
                              
                                 If Not GetPlayerX(index) + linha2 > Map(mapnum).MaxX Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha2, GetPlayerY(index) - linha
                                 End If
                               End If
                            Case DIR_DOWN
                               If Not GetPlayerY(index) + linha > Map(mapnum).MaxY Then
                                 If Not GetPlayerX(index) - linha2 < 0 Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha2, GetPlayerY(index) + linha
                                 End If
                              
                                 If Not GetPlayerX(index) + linha2 > Map(mapnum).MaxX Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha2, GetPlayerY(index) + linha
                                 End If
                               End If
                            Case DIR_LEFT
                               If Not GetPlayerX(index) - linha < 0 Then
                                 If Not GetPlayerY(index) - linha2 < 0 Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha, GetPlayerY(index) - linha2
                                 End If
                              
                                 If Not GetPlayerY(index) + linha2 > Map(mapnum).MaxY Then
                                   UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha, GetPlayerY(index) + linha2
                                 End If
                               End If
                            Case DIR_RIGHT
                                If Not GetPlayerX(index) + linha > Map(mapnum).MaxX Then
                                  If Not GetPlayerY(index) + linha2 > Map(mapnum).MaxY Then
                                    UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index) + linha2
                                  End If
                                  
                                  If Not GetPlayerY(index) - linha2 < 0 Then
                                    UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index) - linha2
                                  End If
                                End If
                          End Select
                         Next
                        End If
                      Next
                      
                      DidCast = True
    * Lembre de checar se você colocou acima do End Select, se você colocar depois não irá funcionar!

    Servidor Terminado!

    Com funciona?
    O Sistema funciona igual ao meu sistema de Magia Linear, Você escolhe o tamanho em Linha e o tamanho em que ele se expande, depois é só escolher uma animação para cada direção...


    Última edição por Dooolly em Sex Mar 18, 2016 10:22 pm, editado 5 vez(es)
    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Spooky Ter Jan 20, 2015 3:26 pm

    Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?


    _________________
    Sign
    [GL]Magia Direcional - Complemento Hticjn

    Sign¹:

    Sign²:
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GL]Magia Direcional - Complemento Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GL]Magia Direcional - Complemento Left_bar_bleue0/0[GL]Magia Direcional - Complemento Empty_bar_bleue  (0/0)
    Vida:
    [GL]Magia Direcional - Complemento Left_bar_bleue30/30[GL]Magia Direcional - Complemento Empty_bar_bleue  (30/30)

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Dooolly Ter Jan 20, 2015 5:59 pm

    Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?

    Não entendi, pra que você quer usar os 2 ao mesmo tempo?
    já que eles tem a mesma função? só muda a forma que exibe a animação...
    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Spooky Ter Jan 20, 2015 8:06 pm

    Dooolly escreveu:
    Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?

    Não entendi, pra que você quer usar os 2 ao mesmo tempo?
    já que eles tem a mesma função? só muda a forma que exibe a animação...
    Então quer dizer que isto serve como sistema linear também ? :o



    _________________
    Sign
    [GL]Magia Direcional - Complemento Hticjn

    Sign¹:

    Sign²:
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GL]Magia Direcional - Complemento Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GL]Magia Direcional - Complemento Left_bar_bleue0/0[GL]Magia Direcional - Complemento Empty_bar_bleue  (0/0)
    Vida:
    [GL]Magia Direcional - Complemento Left_bar_bleue30/30[GL]Magia Direcional - Complemento Empty_bar_bleue  (30/30)

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Dooolly Ter Jan 20, 2015 9:39 pm

    Bartolomeo escreveu:
    Dooolly escreveu:
    Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?

    Não entendi, pra que você quer usar os 2 ao mesmo tempo?
    já que eles tem a mesma função? só muda a forma que exibe a animação...
    Então quer dizer que isto serve como sistema linear também ? :o

    Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Spooky Ter Jan 20, 2015 11:33 pm

    Dooolly escreveu:
    Bartolomeo escreveu:
    Dooolly escreveu:
    Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?

    Não entendi, pra que você quer usar os 2 ao mesmo tempo?
    já que eles tem a mesma função? só muda a forma que exibe a animação...
    Então quer dizer que isto serve como sistema linear também ? :o

    Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
    E se eu não usar o linear? e só usar esse que vc mandou, vai funcionar?


    _________________
    Sign
    [GL]Magia Direcional - Complemento Hticjn

    Sign¹:

    Sign²:
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GL]Magia Direcional - Complemento Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GL]Magia Direcional - Complemento Left_bar_bleue0/0[GL]Magia Direcional - Complemento Empty_bar_bleue  (0/0)
    Vida:
    [GL]Magia Direcional - Complemento Left_bar_bleue30/30[GL]Magia Direcional - Complemento Empty_bar_bleue  (30/30)

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Dooolly Ter Jan 20, 2015 11:38 pm

    Bartolomeo escreveu:
    Dooolly escreveu:
    Bartolomeo escreveu:
    Dooolly escreveu:
    Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?

    Não entendi, pra que você quer usar os 2 ao mesmo tempo?
    já que eles tem a mesma função? só muda a forma que exibe a animação...
    Então quer dizer que isto serve como sistema linear também ? :o

    Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
    E se eu não usar o linear? e só usar esse que vc mandou, vai funcionar?

    O sistema de spell linear é necessário para usar esse ai... pois exigem alguns codigos da spell linear.
    Hashirama
    Hashirama
    Membro de Honra
    Membro de Honra


    Mensagens : 413
    Créditos : 133

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Hashirama Qua Jan 21, 2015 11:50 am

    Este complemento ficou bem melhor.. bom que ainda tem alguém para movimentar a parte do Eclipse Origins..
    1+Crédito


    _________________
    Apoia nosso projeto? use nossa assinatura
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por gui408 Qui Jan 22, 2015 12:44 am

    Muito Bom 100% Funcional!Execelente Sistema,Vlw Dolly!
    Motodark
    Motodark
    Ocasional
    Ocasional


    Mensagens : 168
    Créditos : 4

    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Motodark Qui Fev 12, 2015 12:48 am

    Muito bom dooolly ainda bem que nós novatos temos você para nos ajudar muito obrigado +1 Crédito.

    Conteúdo patrocinado


    [GL]Magia Direcional - Complemento Empty Re: [GL]Magia Direcional - Complemento

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Set 30, 2022 4:30 pm