MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Spell Linear

+8
SsasuKeeUuchiHaa
GustavoNunes
lucas100vzs
viniciushp
Dooolly
Eduardo
Sαkurαy
LythZerou
12 participantes

Ir para baixo

Spell Linear Empty Spell Linear

Mensagem por LythZerou Qua 07 Mar 2012, 12:50

Client Side

Primeiramente vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType" e, adicione na list "Linear"

Agora você clica duas vezes na cmbType e Adicione o seguinte code:


Código:
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

E logo abaixo coloque:

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Server Side

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Agora vá ao modCombat e no castspell procure por:

Código:
find out what kind of spell it is! self cast, target or AOE

E acima dessa linha adicione:

Código:
With Spell(Spellnum)
            If .Type = SPELL_TYPE_LINEAR Then
                InUseLinear Index, SpellNum
                Exit Sub
            End If
        End With

Ainda no modCombat você adiciona no Final dele:

Código:
Sub InUseLinear(ByVal Index as Integer, ByVal SpellNum as Long)
        Dim I As Integer
        Dim Calculate As Long
        Dim Mapa As Long
        Mapa = GetPlayerMap(Index)

        I = 1
        Do While I < Spell(SpellNum).AoE

            Select Case GetPlayerDir(Index)

                Case Dir_Up
                    Calculate = GetPlayerY(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) - I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) - I

                Case Dir_Down
                    Calculate = GetPlayerY(Index) + I
                    If Calculate >= Map(I).MaxY Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) + I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) + I

                Case Dir_Left
                    Calculate = GetPlayerX(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) - I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) - I, GetPlayerY(Index)

                Case Dir_Right
                    Calculate = GetPlayerX(Index) + I
                    If Calculate >= Map(I).MaxX Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) + I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
            End Select
            I = I + 1
        Loop
    End Sub

    Function IsUseLinear(ByVal Index As Integer, ByVal SpellNum As Integer, ByVal Mapa As Integer, ByVal X As Byte, ByVal Y As Byte)
        Dim I As Long

        SendAnimation Mapa, Spell(SpellNum).SpellAnim, X, Y

        '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 PlayerAttackNpc Index, I, Spell(SpellNum).Vital, SpellNum
        Next

        'Loop Global Player
        For I = 1 To Player_HighIndex
            If GetPlayerMap(I) = Mapa And GetPlayerX(I) = X And GetPlayerY(I) = Y Then PlayerAttackPlayer Index, I, Spell(SpellNum).Vital, SpellNum
        Next
    End Function

Creditos:

V-Force
LythZerou
LythZerou
Membro
Membro

Mensagens : 108

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Sαkurαy Qua 07 Mar 2012, 17:09

Muito bom Lyth, obrigado por estar postando. Testarei pra ver se funfa, +1 crédito por postar. ;]

Edit: Funfando perfeitamente, vlw.


Última edição por Sakuuray em Qui 08 Mar 2012, 17:46, editado 1 vez(es)
Sαkurαy
Sαkurαy
Membro Veterano
Membro Veterano

Mensagens : 1386

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Eduardo Qui 08 Mar 2012, 07:10

Muito bom Lyth, obrigado por estar postando. Testarei pra ver se funfa, +1 crédito por postar
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Dooolly Sáb 10 Mar 2012, 15:21

Bom pessoal no meu ta dando um problema 1 n 2 o primeiro e q quando usa a spell n gasta mana e o outro e esse

pra cima e pra direita ele funfa os AOE completo mais pra baixo e pra esquerda ele do da 1 AOE

Spell Linear Ibp0t1AxeC1voS

ja deu esse bug comigo mais consegui consertar com um tuto q completava esse tuto ai
mais tava na MMORPG.NET
Dooolly
Dooolly
Membro
Membro

Mensagens : 160

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Eduardo Sáb 10 Mar 2012, 15:35

dooolly o sistema funciona s vc e quem nao coloca certo ou entao deve ter bloqueio nesse lugar ai q vc ta tentando soltar a spell falow
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Dooolly Sáb 10 Mar 2012, 15:39

n cara eu fiz tudo certo eu juro e q quando solta a spell n gasta a Mana e nem solta animação pro lado esquerdo nem pra baixo
Dooolly
Dooolly
Membro
Membro

Mensagens : 160

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Eduardo Sáb 10 Mar 2012, 15:40

veja se nesse local nao tem nenhum bloqueio por perto se tiver troque de map e tente dnv
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Dooolly Sáb 10 Mar 2012, 16:16

ja fiz isso em todos os mapas isso acontece e um bug no sistema mesmo
vou entrar no MSN la vc pode me ajudar?
Dooolly
Dooolly
Membro
Membro

Mensagens : 160

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Eduardo Sáb 10 Mar 2012, 16:41

vou ver manda msn ai
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por viniciushp Qui 12 Abr 2012, 13:22

Consegui fazer o cooldown e o MP, mas ta descontando 4x o MP. Preciso
descobrir o que é, e não quero fazer gambiarras. Assim que conseguir
posto aqui, minha primeira contribuição no fórum xD
viniciushp
viniciushp
Novato
Novato

Mensagens : 21

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por lucas100vzs Sex 13 Abr 2012, 14:49

viniciushp , manda PM pra mim do código com cooldown e contagem de MP pra ajudá-lo? Se quiser, quando conseguir consertar você posta ou eu posto! valeu! Smile
lucas100vzs
lucas100vzs
Membro Sênior
Membro Sênior

Mensagens : 396

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por viniciushp Sex 13 Abr 2012, 14:53

lucas100vzs escreveu:viniciushp , manda PM pra mim do código com cooldown e contagem de MP pra ajudá-lo? Se quiser, quando conseguir consertar você posta ou eu posto! valeu! Spell Linear 256397

Não posso mandar PM devido ao número de postagens, me manda teu msn por PM
viniciushp
viniciushp
Novato
Novato

Mensagens : 21

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por GustavoNunes Seg 16 Abr 2012, 09:51

mas tipo, fiz tudo certo, ai essa parte do começo de adicionar Linear na list?? como faz issu, compilei tudo só que sem, fazer issu, não testei ainda, mas queria saber se é algo importante ??
GustavoNunes
GustavoNunes
Membro Sênior
Membro Sênior

Mensagens : 345

http://PHANTOMWAR.webnode.com

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por viniciushp Seg 16 Abr 2012, 10:03

GustavoNunes escreveu:mas tipo, fiz tudo certo, ai essa parte do começo de adicionar Linear na list?? como faz issu, compilei tudo só que sem, fazer issu, não testei ainda, mas queria saber se é algo importante ??

tudo em um tutorial é importante.

Seguinte, aqui está um print de como fazer, mas é bom pesquisar sobre isso.

Spell Linear 1p9d7n
viniciushp
viniciushp
Novato
Novato

Mensagens : 21

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por viniciushp Qua 18 Abr 2012, 16:39

LythZerou escreveu: Client Side

Primeiramente vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType" e, adicione na list "Linear"

Agora você clica duas vezes na cmbType e Adicione o seguinte code:


Código:
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

E logo abaixo coloque:

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Server Side

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Agora vá ao modCombat e no castspell procure por:

Código:
find out what kind of spell it is! self cast, target or AOE

E acima dessa linha adicione:

Código:
With Spell(Spellnum)
            If .Type = SPELL_TYPE_LINEAR Then
                InUseLinear Index, SpellNum
                Exit Sub
            End If
        End With

Ainda no modCombat você adiciona no Final dele:

Código:
Sub InUseLinear(ByVal Index as Integer, ByVal SpellNum as Long)
        Dim I As Integer
        Dim Calculate As Long
        Dim Mapa As Long
        Mapa = GetPlayerMap(Index)

        I = 1
        Do While I < Spell(SpellNum).AoE

            Select Case GetPlayerDir(Index)

                Case Dir_Up
                    Calculate = GetPlayerY(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) - I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) - I

                Case Dir_Down
                    Calculate = GetPlayerY(Index) + I
                    If Calculate >= Map(I).MaxY Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) + I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) + I

                Case Dir_Left
                    Calculate = GetPlayerX(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) - I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) - I, GetPlayerY(Index)

                Case Dir_Right
                    Calculate = GetPlayerX(Index) + I
                    If Calculate >= Map(I).MaxX Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) + I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
            End Select
            I = I + 1
        Loop
    End Sub

    Function IsUseLinear(ByVal Index As Integer, ByVal SpellNum As Integer, ByVal Mapa As Integer, ByVal X As Byte, ByVal Y As Byte)
        Dim I As Long

        SendAnimation Mapa, Spell(SpellNum).SpellAnim, X, Y

        '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 PlayerAttackNpc Index, I, Spell(SpellNum).Vital, SpellNum
        Next

        'Loop Global Player
        For I = 1 To Player_HighIndex
            If GetPlayerMap(I) = Mapa And GetPlayerX(I) = X And GetPlayerY(I) = Y Then PlayerAttackPlayer Index, I, Spell(SpellNum).Vital, SpellNum
        Next
    End Function

Creditos:

V force e ricardo

Cara, autoriza eu utilizar parte desse tutorial para fazer um complemento, para que tenha cooldown, subtraia mp, normalmente como todas as outras?

Se autorizar amanhã posto!

Abraço
viniciushp
viniciushp
Novato
Novato

Mensagens : 21

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Eduardo Qua 18 Abr 2012, 16:59

viniciushp esse membro nao frequenta mais o forum se vc postar nao tem nada aver o sistema nao e dele mesmo
Eduardo
Eduardo
Membro Veterano
Membro Veterano

Mensagens : 1178

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por SsasuKeeUuchiHaa Qua 18 Abr 2012, 19:04

Alguem pode me ajudar, quando eu vou soltar uma spell ela fica saindo em seguida ñ ker parar...alguem pode me ajudar?
SsasuKeeUuchiHaa
SsasuKeeUuchiHaa
Novato
Novato

Mensagens : 33

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por viniciushp Qui 19 Abr 2012, 07:48

Pessoal, como prometido, o tutorial foi disponibilizado (Spell Linear com Cooldown, subtração de MP e etc).

http://www.mmorpgbr.com/t7322-eo-spell-linear-completo-subtrair-mp-casttime-cooldown-e-etc

Façam bom proveito!
viniciushp
viniciushp
Novato
Novato

Mensagens : 21

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por TheKirin Qua 22 Ago 2012, 16:12

Aew em q sub bota o codigo da cmb type?
TheKirin
TheKirin
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Moph Dom 26 Ago 2012, 12:08

Aqui não funcionou.. Very Happy
Moph
Moph
Novato
Novato

Mensagens : 20

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Valentine Dom 26 Ago 2012, 13:23

Moph escreveu:Aqui não funcionou.. Very Happy
Deve ser porque você nem deve ter testado, já que você comentou só pra aumentar o seu número de mensagens e consequentemente subir de rank.
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Convidad Seg 27 Ago 2012, 15:19

Esse cara é foda, testou +- 15 tutoriais e fez tudo em menos de 10 minutos. kkkkk
avatar
Convidad
Convidado


Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por JayFalcao Ter 28 Ago 2012, 17:06

Muito bom, tópico bem estruturado e tutorial funcional !
JayFalcao
JayFalcao
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Spell Linear Empty Re: Spell Linear

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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