Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[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
Página 1 de 3 • 1, 2, 3
[E.O]Spell Linear 100% Funcional (verdadeiro)
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:
Cliente pronto, agora vamos para o Servidor~
na sub Public Sub CastSpell procure por:
adicione:
adicione:
acho que é só, caso de algum erro me informe aqui no TÓPICO.
obs: spell baseado nos status, funciona com este tutorial :)
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
- Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5 ' ou o proximo numero
- Código:
Spell(EditorIndex).Type = cmbType.ListIndex
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If
Linear
Cliente pronto, agora vamos para o Servidor~
na sub Public Sub CastSpell procure por:
- Código:
Dim x As Long, y As Long
- Código:
Dim Linha As Integer
Dim Calculate As Long
- 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
- 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
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
- 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)
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
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
- Mensagens : 1
Créditos : 0
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
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- Aldeia Friend
- Mensagens : 1150
Créditos : 78
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
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.
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.
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
Também concordo que For é mais leve, mas o tutorial não é meu
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
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'
OBS: Eu Raizen, sou o dazateam (Rodrigo Martins) caso alguém não entenda isso kk'
_________________
Facebook
Raizen- Novato
- Mensagens : 25
Créditos : 1
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
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- Semi-Experiente
- Mensagens : 87
Créditos : 6
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
Tentei aqui, e deu esse erro na hora de compilar. Ajuda?
Grilox- Novato
- Mensagens : 21
Créditos : 1
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
Grilox escreveu:Tentei aqui, e deu esse erro na hora de compilar. Ajuda?
Tenta mudar a Case ..
Acciles- Iniciante
- Mensagens : 64
Créditos : 4
Re: [E.O]Spell Linear 100% Funcional (verdadeiro)
pode explicar melhor?Acciles escreveu:Grilox escreveu:Tentei aqui, e deu esse erro na hora de compilar. Ajuda?
Tenta mudar a Case ..
Hooly- Novato
- Mensagens : 8
Créditos : 0
Página 1 de 3 • 1, 2, 3
Tópicos semelhantes
» [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
» Spell linear
» Spell Linear
» [GF]Spell Linear Avançada
» (?) Spell Linear com flecha
» Spell linear
» Spell Linear
» [GF]Spell Linear Avançada
» (?) Spell Linear com flecha
Página 1 de 3
Permissões neste sub-fórum
Não podes responder a tópicos