[GF]Spell Linear Avançada Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

[GF]Spell Linear Avançada

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

Página 1 de 5 1, 2, 3, 4, 5  Seguinte

Ir para baixo

[GF]Spell Linear Avançada Empty [GF]Spell Linear Avançada

Mensagem por Dooolly Qua Fev 05, 2014 5:41 pm

[GF]Spell Linear Avançada IqgS6x8BSTKQT

MAGIA LINEAR AVANÇADA


Como Funciona

Sistema de Magia que funciona em uma só direção e que se expande em suas laterais.

[GF]Spell Linear Avançada IblLLzdlgXYQXO

Server~Side

Em ModConstants Procure Por:
Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Abaixo Adicione:
Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Em ModCombat Procure Por:
Código:
Dim Buffer As clsBuffer, spellCastType As Long

Abaixo Adicione:
Código:
Dim linha As Long, linha2 As Long, AnimL As Long

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 > 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

NO Final do Modulo adicione
Código:
Function UsarMagiaLinear(ByVal Index As Integer, ByVal SpellNum As Integer, ByVal vital As Long, ByVal Mapa As Long, ByVal x As Byte, ByVal y As Byte)
Dim i As Long


 
    'Loop Global Npc
    For i = 1 To MAX_MAP_NPCS
      If MapNpc(Mapa).NPC(i).Num > 0 And MapNpc(Mapa).NPC(i).x = x And MapNpc(Mapa).NPC(i).y = y And MapNpc(Mapa).NPC(i).vital(HP) > 0 Then
        If CanPlayerAttackNpc(Index, i, True) Then
          PlayerAttackNpc Index, i, vital, SpellNum
        End If
      End If
    Next


    
    'Loop Global Player
    For i = 1 To Player_HighIndex
      If IsPlaying(i) Then
        If GetPlayerMap(i) = Mapa And GetPlayerX(i) = x And GetPlayerY(i) = y Then
          If CanPlayerAttackPlayer(Index, i, True) Then
            PlayerAttackPlayer Index, i, vital, SpellNum
          End If
        End If
      End If
    Next
End Function

Em modtypes procure por:
Código:
AoE As Long

Abaixo adicione:
Código:
Tamanho As Long
AnimL As Long

DELETE TODAS AS MAGIAS ANTES DE INICIAR O SERVIDOR!
SERVIDOR PRONTO!

Client~Side

[GF]Spell Linear Avançada ILzLShC1UKcEy
Na frmEditor_Spell Adicione:
Spoiler:

Spoiler:

Label - (lblTamanho) - (Caption: Tamanho Lateral: 0)
Label - (lblAnimL) - (Caption: Anim Lateral: Nenhuma)

Ainda na frmEditor_Spell, na cmbType, em Propriedades procure por "List" e adicione: Linear
Depois dê um duplo Clique na cmbType e Adicione:
Código:
If cmbType.text = "Linear" Then
      chkAOE.Value = 1
    Else
      chkAOE.Value = 0
    End If

na mobGameEditors, Procure:
Código:
.scrlStun.Value = Spell(EditorIndex).StunDuration

Abaixo Adicione:
Código:
.scrlTamanho.Value = Spell(EditorIndex).Tamanho
.scrlAnimL.Value = Spell(EditorIndex).AnimL


Em ModTypes procure por:
Código:
AoE As Long

Abaixo adicione:
Código:
Tamanho As Long
AnimL As Long

Em ModConstants Procure Por:
Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Abaixo Adicione:
Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Client Pronto!


Última edição por Dooolly em Ter Jan 27, 2015 12:43 pm, editado 5 vez(es)
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : [GF]Spell Linear Avançada Trophy12
Mensagens : 1227
Créditos : 153

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

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Valentine Qua Fev 05, 2014 6:45 pm

Muito bem Dooolly

+ 1 crédito
Valentine
Valentine
Administrador
Administrador

Medalhas : [GF]Spell Linear Avançada ZgLkiRU
Mensagens : 5343
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Cavalo Ter Mar 25, 2014 9:59 pm

Em qual E.O vai funcionar? Eu uso uma dx8 mas não é a 4.0

_________________
...
[GF]Spell Linear Avançada Qzggn6
Cavalo
Cavalo
Iniciante
Iniciante

Mensagens : 67
Créditos : 5

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Dooolly Qua Abr 02, 2014 12:12 pm

Funciona em todas as EO e CSDE, desculpa a demora, tou sem net
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : [GF]Spell Linear Avançada Trophy12
Mensagens : 1227
Créditos : 153

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

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por gui408 Seg Abr 14, 2014 6:43 pm

rsrs n conscigo fazer um tuto seu,esse ai scrol anim e tamanho n salva,spell n tem coldow e tb nao sai nada,n funfo aki,se alguem consceguiu ja refiz e continua o msm...

gui408
Ocasional
Ocasional

Mensagens : 227
Créditos : 10

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Lord Pegason Ter maio 06, 2014 12:03 pm

Creio que você poderia ser mais "detalhista" e dizer em qual rotina deve encaixar as partes do código.

Não ficaria mais fácil? "Na sub bla bla bla, adicionar tal coisa".

Pois me parece bem confuso, tive dificuldade ao interpretar o que você quis dizer.

Mas excelente conteúdo. Parabéns.







"Dooooly, tome guaraná, Dooooly"

"Doooly guaraná, o sabor brasileiro"
Lord Pegason
Lord Pegason
Novato
Novato

Mensagens : 5
Créditos : 1

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Dooolly Qua Jul 02, 2014 10:17 am

Topico Atualizado, tava olhando aki hj e vi que esqueci de adicionar o Linear ao cmbType. bom ja está arrumado, qualquer erro só falar :3
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : [GF]Spell Linear Avançada Trophy12
Mensagens : 1227
Créditos : 153

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

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Himinato Sex Jul 11, 2014 10:23 am

alguem ajuda fiz tudo direitinho mais quando vou colocar a magia não salva
tipo eu crio a linear e salvo quando abre de novo volta tudo ao 0

Himinato
Novato
Novato

Mensagens : 19
Créditos : 0

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Dooolly Sex Jul 11, 2014 2:04 pm

Himinato escreveu:alguem ajuda fiz tudo direitinho mais quando vou colocar a magia não salva
tipo eu crio a linear e salvo quando abre de novo volta tudo ao 0


na mobGameEditors, Procure:
Código:
.scrlStun.Value = Spell(EditorIndex).StunDuration

Abaixo Adicione:
Código:
.scrlTamanho.Value = Spell(EditorIndex).Tamanho
.scrlAnimL.Value = Spell(EditorIndex).AnimL

Desculpe o erro eu tinha esquecido de por essa parte no tutorial e só agr vim ver no meu jogo tb ta com isso.. mas ja arrumei;
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : [GF]Spell Linear Avançada Trophy12
Mensagens : 1227
Créditos : 153

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

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por gui408 Ter Ago 19, 2014 2:05 am

Fiz tudo certinho,ai deu certo saiu tudo certo fui testando até achar um erro,bem o erro aconte quando vc utiliza a spell linear perto da tela,exemplo tela onde vc vai passa pro outro map,ai vc usa a spell ali e nao tem CD pode usar infinitas vezes,mas quando a spell nao bate na lateral da tela fik numa boa certinha,mas quando bate vc pode usar varias vezes sem o CD,eu queria deixar esse CD da spell linear= a do spell aoe q ja vem no origins ai fikaria perfeita,muito bom esse sistema seu,so falta arruma isto q te flei,se puder me ajudar xD,vlw.,,

gui408
Ocasional
Ocasional

Mensagens : 227
Créditos : 10

Ir para o topo Ir para baixo

[GF]Spell Linear Avançada Empty Re: [GF]Spell Linear Avançada

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 5 1, 2, 3, 4, 5  Seguinte

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos