Aldeia RPG

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

Suporte ao desenvolvimento de jogos


+10
Raizen
evokke
Pablo Kawan
kiritor
Himinato
Lord Pegason
gui408
Cavalo
Valentine
Dooolly
14 participantes

    [GF]Spell Linear Avançada

    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Spooky Sáb Jan 17, 2015 3:38 pm

    Dooolly escreveu:
    Bartolomeo escreveu:Você tem que 1 criar uma animation depois ir no editor spell criar uma spell ir no Type colocar em linear marcar uma caixa chamada Area off Effect Spell? e ir na scroll de baixo (tipo uma barra deitada)
    aumentar quantos números quiser (sugiro menos de 10) e depois aumentar o tamanho lateral e veja se funfa, se náo funfar [e a engine

    isso mesmo Bartolomeo!

    mas se não der certo oq ele falou, reveja o tutorial, principalmente nessa parte aqui:
    Eu escreveu:Nessa Mesma Sub Procure Por:
    Código:
       end select
    Case 2 ' targetted

    Acima Adicione:
    Código:
    Case SPELL_TYPE_LINEAR
                       '/// - MAGIA LINEAR AVANÇADA - ///
                      For linha = 1 To Spell(SpellNum).AoE
                       Select Case GetPlayerDir(Index)
                         Case DIR_UP
                          If Not GetPlayerY(Index) - linha < 0 Then
                            SendAnimation GetPlayerMap(Index), Spell(SpellNum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) - linha
                            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
                            SendAnimation GetPlayerMap(Index), Spell(SpellNum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) + linha
                            UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index) + linha
                          End If
                         Case DIR_LEFT
                          If Not GetPlayerX(Index) - linha < 0 Then
                            SendAnimation GetPlayerMap(Index), Spell(SpellNum).SpellAnim, GetPlayerX(Index) - linha, GetPlayerY(Index)
                            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
                            SendAnimation GetPlayerMap(Index), Spell(SpellNum).SpellAnim, GetPlayerX(Index) + linha, GetPlayerY(Index)
                            UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index)
                          End If
                       End Select

                       '/// - Animação Lateral - ///
                       If Spell(SpellNum).AnimL > 0 Then
                        AnimL = Spell(SpellNum).AnimL
                       Else
                        AnimL = Spell(SpellNum).SpellAnim
                       End If

                       '/// - Magia Lateral - ///
                       If Spell(SpellNum).Tamanho > 0 Then
                        If linha > 1 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
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha2, GetPlayerY(Index) - linha
                                   UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) - linha2, GetPlayerY(Index) - linha
                                 End If
                              
                                 If Not GetPlayerX(Index) + linha2 > Map(mapnum).MaxX Then
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha2, GetPlayerY(Index) - linha
                                   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
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha2, GetPlayerY(Index) + linha
                                   UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) + linha2, GetPlayerY(Index) + linha
                                 End If
                              
                                 If Not GetPlayerX(Index) + linha2 > Map(mapnum).MaxX Then
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha2, GetPlayerY(Index) + linha
                                   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
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha, GetPlayerY(Index) - linha2
                                   UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) - linha, GetPlayerY(Index) - linha2
                                 End If
                              
                                 If Not GetPlayerY(Index) + linha2 > Map(mapnum).MaxY Then
                                   SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha, GetPlayerY(Index) + linha2
                                   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
                                    SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha, GetPlayerY(Index) + linha2
                                    UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index) + linha2
                                  End If
                                  
                                  If Not GetPlayerY(Index) - linha2 < 0 Then
                                    SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha, GetPlayerY(Index) - linha2
                                    UsarMagiaLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index) - linha2
                                  End If
                                End If
                          End Select
                         Next
                        End If
                       End If
                      Next
                      
                      DidCast = True
    Sim, ele me falou que estava dando erro no case2 pelo skype, eu disse para ele colocar o código acima do end select. obrigado pelo sistema dooly :) 
    Mais teria como fazer um sistema de mar? tipo o player não pode andar pelo mar. só se tiver um barco e me mandar por pm ou skype?


    _________________
    Sign
    [GF]Spell Linear Avançada - Página 4 Hticjn

    Sign¹:

    Sign²:
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GF]Spell Linear Avançada - Página 4 Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue0/0[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (0/0)
    Vida:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue30/30[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (30/30)

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Dooolly Sáb Jan 17, 2015 5:42 pm

    Bartolomeo escreveu:
    Sim, ele me falou que estava dando erro no case2 pelo skype, eu disse para ele colocar o código acima do end select. obrigado pelo sistema dooly :) 
    Mais teria como fazer um sistema de mar? tipo o player não pode andar pelo mar. só se tiver um barco e me mandar por pm ou skype?

    Vou ver oque posso fazer bartolomeu, mas agr não estou vendo aqui, tou pensando em postar alguns sistemas...
    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Spooky Sáb Jan 17, 2015 8:14 pm

    Dooolly escreveu:
    Bartolomeo escreveu:
    Sim, ele me falou que estava dando erro no case2 pelo skype, eu disse para ele colocar o código acima do end select. obrigado pelo sistema dooly :) 
    Mais teria como fazer um sistema de mar? tipo o player não pode andar pelo mar. só se tiver um barco e me mandar por pm ou skype?

    Vou ver oque posso fazer bartolomeu, mas agr não estou vendo aqui, tou pensando em postar alguns sistemas...
    Ok, obrigado. assim que poder me mandar uma msg via skype ou pm. obrigado :)


    _________________
    Sign
    [GF]Spell Linear Avançada - Página 4 Hticjn

    Sign¹:

    Sign²:
    rockdeath
    rockdeath
    Novato
    Novato


    Mensagens : 6
    Créditos : 2

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por rockdeath Dom Jan 18, 2015 10:45 am

    Opa consegui era a engine que tava dando erro Successful


    _________________
    [GF]Spell Linear Avançada - Página 4 Click
    Spooky
    Spooky
    Membro Ativo
    Membro Ativo


    Mensagens : 267
    Créditos : 24

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Spooky Dom Jan 18, 2015 7:17 pm

    Dooly, interessante também seria colocar um sistema parecido com esse: http://www.mmorpgbrasil.net/t14510-tutorialspell-linear-com-direcao
    Se você conseguir me diz como? tipo eu tentei mais deve ser diferente o linear desse com aquele (lembrando isso é só um complemento!!)


    _________________
    Sign
    [GF]Spell Linear Avançada - Página 4 Hticjn

    Sign¹:

    Sign²:
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por gui408 Dom Jan 25, 2015 1:48 pm

    Antes dessa correcao aqui funcionava legal,com essa aki da case spell,se muitas pessoas utilizar da over flow,depois vc rever ai,pois o antigo nao dava over flow.
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GF]Spell Linear Avançada - Página 4 Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue0/0[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (0/0)
    Vida:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue30/30[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (30/30)

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Dooolly Dom Jan 25, 2015 3:13 pm

    gui408 escreveu:Antes dessa correcao aqui funcionava legal,com essa aki da case spell,se muitas pessoas utilizar da over flow,depois vc rever ai,pois o antigo nao dava over flow.

    obrigado por reportar!
    mas poderia ver a linha onde esse bug está ocorrendo. não tenho muitas pessoas para utiliza-lá...
    avatar
    gui408
    Ocasional
    Ocasional


    Mensagens : 227
    Créditos : 10

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por gui408 Dom Jan 25, 2015 5:30 pm

    Ok,depois eu vejo aqui,pq eu ja alterei pro antigo,pois la coldow tudo certinho=esse so fui pra testar mesmo,pois no outro eu tinha arrumado,mas depois eu vejo,pq eu tirei e coloquei o outro antigo ai edit aki qualquer coisa.
    Dooolly
    Dooolly
    Colaborador
    Colaborador


    Medalhas : [GF]Spell Linear Avançada - Página 4 Trophy12
    Mensagens : 1227
    Créditos : 153

    Ficha do personagem
    Nível: 1
    Experiência:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue0/0[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (0/0)
    Vida:
    [GF]Spell Linear Avançada - Página 4 Left_bar_bleue30/30[GF]Spell Linear Avançada - Página 4 Empty_bar_bleue  (30/30)

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Dooolly Ter Jan 27, 2015 12:44 pm

    Tópico Atualizado!

    Corrigido erro de overflow.

    Código Corrigido:
    Código:
    Case SPELL_TYPE_LINEAR
                      '/// - MAGIA LINEAR AVANÇADA - ///
                      For linha = 1 To Spell(spellNum).AoE
                      Select Case GetPlayerDir(Index)
                        Case DIR_UP
                          If Not GetPlayerY(Index) - linha < 0 Then
                            SendAnimation GetPlayerMap(Index), Spell(spellNum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) - linha
                            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
                            SendAnimation GetPlayerMap(Index), Spell(spellNum).SpellAnim, GetPlayerX(Index), GetPlayerY(Index) + linha
                            UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index) + linha
                          End If
                        Case DIR_LEFT
                          If Not GetPlayerX(Index) - linha < 0 Then
                            SendAnimation GetPlayerMap(Index), Spell(spellNum).SpellAnim, GetPlayerX(Index) - linha, GetPlayerY(Index)
                            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
                            SendAnimation GetPlayerMap(Index), Spell(spellNum).SpellAnim, GetPlayerX(Index) + linha, GetPlayerY(Index)
                            UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index)
                          End If
                      End Select

                      '/// - Animação Lateral - ///
                      If Spell(spellNum).AnimL > 0 Then
                        AnimL = Spell(spellNum).AnimL
                      Else
                        AnimL = Spell(spellNum).SpellAnim
                      End If

                      '/// - Magia Lateral - ///
                      If Spell(spellNum).Tamanho > 0 Then
                        If linha > 1 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
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha2, GetPlayerY(Index) - linha
                                  UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) - linha2, GetPlayerY(Index) - linha
                                End If
                             
                                If Not GetPlayerX(Index) + linha2 > Map(mapnum).MaxX Then
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha2, GetPlayerY(Index) - linha
                                  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 > Map(mapnum).MaxX Then
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha2, GetPlayerY(Index) + linha
                                  UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) + linha2, GetPlayerY(Index) + linha
                                End If
                             
                                If Not GetPlayerX(Index) - linha2 < 0 Then
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha2, GetPlayerY(Index) + linha
                                  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
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha, GetPlayerY(Index) - linha2
                                  UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) - linha, GetPlayerY(Index) - linha2
                                End If
                             
                                If Not GetPlayerY(Index) + linha2 > Map(mapnum).MaxY Then
                                  SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) - linha, GetPlayerY(Index) + linha2
                                  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
                                    SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha, GetPlayerY(Index) + linha2
                                    UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index) + linha2
                                  End If
                                 
                                  If Not GetPlayerY(Index) - linha2 < 0 Then
                                    SendAnimation GetPlayerMap(Index), AnimL, GetPlayerX(Index) + linha, GetPlayerY(Index) - linha2
                                    UsarMagiaLinear Index, spellNum, Vital, GetPlayerMap(Index), GetPlayerX(Index) + linha, GetPlayerY(Index) - linha2
                                  End If
                                End If
                          End Select
                        Next
                        End If
                      End If
                      Next
                     
                      DidCast = True
    Cavalo
    Cavalo
    Iniciante
    Iniciante


    Mensagens : 67
    Créditos : 5

    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Cavalo Sáb Out 10, 2015 11:34 am

    Desculpem reviver o tópico, mas achei justo - visto que existem vários sistemas de magias lineares cheios de bugs e, pelo o que eu notei, o Doolly tá disposto a atualizar este -. Por isso, seguem alguns erros que encontrei:

    1°: A Magia não é parada por um bloqueio, o que deveria, afinal, elas não podem passam através das paredes do jogo

    2° ( Mais simples ): As animações estão bugando  de ordem

    [GF]Spell Linear Avançada - Página 4 Vcs96h


    _________________
    ...
    [GF]Spell Linear Avançada - Página 4 Qzggn6

    Conteúdo patrocinado


    [GF]Spell Linear Avançada - Página 4 Empty Re: [GF]Spell Linear Avançada

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 22, 2024 1:55 pm