[E.O]Spell Linear 100% Funcional (verdadeiro) 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.

[E.O]Spell Linear 100% Funcional (verdadeiro)

+15
RonaldsSTARK
silipinho
Pablo Kawan
Benderfb
Spooky
joaopaulo98
Hooly
Acciles
Grilox
iJackboy
Raizen
Dooolly
Laxus
wrath66zx
Valentine
19 participantes

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

Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Valentine Qui Jan 30, 2014 12:57 pm

Tópico retirado da MMORPGBR

Bem vc deve estar se perguntando pra que outro tópico de spell linear, sendo que existes vários outros aqui. 
Resposta: é que todos os que existem não funcionam 100%, sempre tem algum bug, ou algo do tipo e esse meu sim funciona 100%, chega de enrolar e vamos para o tutorial.


antes de mais nada Spell Linear, é spell em area ou magia reta.


1° Abra o sourcer do Cliente


procure por:
Código:
Public Const SPELL_TYPE_WARP As Byte = 4
abaixo adicione:
Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5 ' ou o proximo numero
abra a FrmEditor_Spell, de 2 cliques na cmbType e adicione:
Código:
Spell(EditorIndex).Type = cmbType.ListIndex
    If cmbType.text = "Linear" Then
        scrlRange.Value = 0
        chkAOE.Value = 1
    End If
agora adicione no final da lista:
Linear

Cliente pronto, agora vamos para o Servidor~

na sub Public Sub CastSpell procure por:
Código:
Dim x As Long, y As Long
e em baixo adicione:
Código:
Dim Linha As Integer
    Dim Calculate As Long
ainda na mesma sub em em cima de:
Código:
Case 2 ' targetted
            If targetType = 0 Then Exit Sub
            If target = 0 Then Exit Sub
            
            If targetType = TARGET_TYPE_PLAYER Then
                x = GetPlayerX(target)
                y = GetPlayerY(target)
            Else
                x = MapNpc(mapnum).NPC(target).x
                y = MapNpc(mapnum).NPC(target).y
            End If
                
            If Not isInRange(Range, GetPlayerX(index), GetPlayerY(index), x, y) Then
                PlayerMsg index, "Target not in range.", BrightRed
                SendClearSpellBuffer index
                Exit Sub
            End If
adicione:
Código:
Case SPELL_TYPE_LINEAR
                        DidCast = True
                        Linha = 1
                        Do While Linha < Spell(spellnum).AoE
                
                            Select Case GetPlayerDir(index)
                
                                Case DIR_UP
                                    Calculate = GetPlayerY(index) - Linha
                                    If Calculate <= 0 Then Exit Sub
                                    If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) - Linha).Type = TILE_TYPE_BLOCKED Then Exit Sub
                                    SendAnimation GetPlayerMap(index), Spell(spellnum).SpellAnim, GetPlayerX(index), GetPlayerY(index) - Linha
                                    IsUseLinear index, spellnum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) - Linha
                                    
                                Case DIR_DOWN
                                    Calculate = GetPlayerY(index) + Linha
                                    If Calculate >= Map(Linha).MaxY Then Exit Sub
                                    If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index) + Linha).Type = TILE_TYPE_BLOCKED Then Exit Sub
                                    SendAnimation GetPlayerMap(index), Spell(spellnum).SpellAnim, GetPlayerX(index), GetPlayerY(index) + Linha
                                    IsUseLinear index, spellnum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) + Linha
                                Case DIR_LEFT
                                    Calculate = GetPlayerX(index) - Linha
                                    If Calculate <= 0 Then Exit Sub
                                    If Map(GetPlayerMap(index)).Tile(GetPlayerX(index) - Linha, GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                                    SendAnimation GetPlayerMap(index), Spell(spellnum).SpellAnim, GetPlayerX(index) - Linha, GetPlayerY(index)
                                    IsUseLinear index, spellnum, Vital, GetPlayerMap(index), GetPlayerX(index) - Linha, GetPlayerY(index)
                                Case DIR_RIGHT
                                    Calculate = GetPlayerX(index) + Linha
                                    If Calculate <= 0 Then Exit Sub
                                    If Map(GetPlayerMap(index)).Tile(GetPlayerX(index), GetPlayerY(index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                                    SendAnimation GetPlayerMap(index), Spell(spellnum).SpellAnim, GetPlayerX(index) + Linha, GetPlayerY(index)
                                    IsUseLinear index, spellnum, Vital, GetPlayerMap(index), GetPlayerX(index) + Linha, GetPlayerY(index)
                            End Select
                          Linha = Linha + 1
                        Loop
            End Select
em baixo da Public Sub StunNPC


adicione:
Código:
Function IsUseLinear(ByVal index As Integer, ByVal spellnum As Integer, ByVal Vital As Long, ByVal Mapa As Integer, 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 PlayerAttackNpc index, i, 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, Vital, spellnum
        Next
    End Function
abaixo de:
Código:
Public Const SPELL_TYPE_WARP As Byte = 4
 
adicione:
Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

acho que é só, caso de algum erro me informe aqui no TÓPICO.


obs: spell baseado nos status, funciona com este tutorial :)

Créditos
Dazateam (Rodrigo)
Valentine
Valentine
Administrador
Administrador

Medalhas : [E.O]Spell Linear 100% Funcional (verdadeiro) ZgLkiRU
Mensagens : 5341
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por wrath66zx Sex Jan 31, 2014 6:20 pm

Deu certo, porem a spell está atacando os players, como faço pra desativar o dano da spell nos players em certos mapas? Coloquei em Safe Zone porem a spell ainda continua atacando os players.

wrath66zx
Novato
Novato

Mensagens : 1
Créditos : 0

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Laxus Sáb Fev 01, 2014 8:59 am

Wrath vc teria que desativar o pvp em seu mapa... Se não me engano nas configurações do mapa :)

_________________
"Não importa o quão forte o cara é, o que importa é encara-lo de frente sem fraquejar"
                                                                                                                                                    Laxus ~ Fairy Tail
Laxus
Laxus
Aldeia Friend
Aldeia Friend

Mensagens : 1150
Créditos : 78

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Dooolly Qua Fev 05, 2014 9:06 am

Muito bom...
mais em vez de Do While pq não usa For?
Tipo "For linha = 1 to Spell(SpellNum).aoe"

quando eu tiver tempo posto os meu sistema de spell linear feito em For e que se expande nas laterais tipo o Naruto Inner Power.
Dooolly
Dooolly
Colaborador
Colaborador

Medalhas : [E.O]Spell Linear 100% Funcional (verdadeiro) Trophy12
Mensagens : 1227
Créditos : 153

Ficha do personagem
Nível: 1
Experiência:
[E.O]Spell Linear 100% Funcional (verdadeiro) Left_bar_bleue0/0[E.O]Spell Linear 100% Funcional (verdadeiro) Empty_bar_bleue  (0/0)
Vida:
[E.O]Spell Linear 100% Funcional (verdadeiro) Left_bar_bleue30/30[E.O]Spell Linear 100% Funcional (verdadeiro) Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Valentine Qua Fev 05, 2014 9:34 am

Também concordo que For é mais leve, mas o tutorial não é meu
Valentine
Valentine
Administrador
Administrador

Medalhas : [E.O]Spell Linear 100% Funcional (verdadeiro) ZgLkiRU
Mensagens : 5341
Créditos : 1164

https://www.aldeiarpg.com/

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Raizen Sáb Jun 21, 2014 11:44 pm

Dooolly, não achei muita diferença, pois não mudaria em nada por isso usei o DO envéz do FOR

OBS: Eu Raizen, sou o dazateam (Rodrigo Martins) caso alguém não entenda isso kk'

_________________
[E.O]Spell Linear 100% Funcional (verdadeiro) Iwqc29
Facebook
Raizen
Raizen
Novato
Novato

Mensagens : 25
Créditos : 1

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por iJackboy Dom Jun 29, 2014 11:10 am

eu até conseguir fazer com que copilar, mas não faz efeito nenhuma e ainda modifica algo no servidor que fica com falhas x.x


Última edição por emerson_gin em Dom Jun 29, 2014 12:07 pm, editado 3 vez(es)
iJackboy
iJackboy
Semi-Experiente
Semi-Experiente

Mensagens : 87
Créditos : 6

Ficha do personagem
Nível: 1
Experiência:
[E.O]Spell Linear 100% Funcional (verdadeiro) Left_bar_bleue0/0[E.O]Spell Linear 100% Funcional (verdadeiro) Empty_bar_bleue  (0/0)
Vida:
[E.O]Spell Linear 100% Funcional (verdadeiro) Left_bar_bleue30/30[E.O]Spell Linear 100% Funcional (verdadeiro) Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Grilox Dom Jun 29, 2014 11:31 am

Tentei aqui, e deu esse erro na hora de compilar. Ajuda?

[E.O]Spell Linear 100% Funcional (verdadeiro) 1yo22o
Grilox
Grilox
Novato
Novato

Mensagens : 21
Créditos : 1

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Acciles Qua Ago 13, 2014 9:07 pm

Grilox escreveu:Tentei aqui, e deu esse erro na hora de compilar. Ajuda?

[E.O]Spell Linear 100% Funcional (verdadeiro) 1yo22o

Tenta mudar a Case ..
Acciles
Acciles
Iniciante
Iniciante

Mensagens : 64
Créditos : 4

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Hooly Seg Set 22, 2014 10:07 am

Acciles escreveu:
Grilox escreveu:Tentei aqui, e deu esse erro na hora de compilar. Ajuda?

[E.O]Spell Linear 100% Funcional (verdadeiro) 1yo22o

Tenta mudar a Case ..
pode explicar melhor?
Hooly
Hooly
Novato
Novato

Mensagens : 8
Créditos : 0

Ir para o topo Ir para baixo

[E.O]Spell Linear 100% Funcional (verdadeiro) Empty Re: [E.O]Spell Linear 100% Funcional (verdadeiro)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

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

Ir para o topo

- Tópicos semelhantes

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