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) [FIX]
+5
XWlash
brunouchihakiller
Benderfb
Spooky
Pablo Kawan
9 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Tópico retirado da ALDEIARPG(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:
abaixo adicione:
abra a FrmEditor_Spell, de 2 cliques na cmbType e adicione:
agora adicione no final da lista:
Cliente pronto, agora vamos para o Servidor~
na sub Public Sub CastSpell procure por:
e em baixo adicione:
ainda na mesma sub em procure por
em baixo da Public Sub StunNPC
adicione:
abaixo de:
CÓDIGO:
adicione:
CÓDIGO:
acho que é só, caso de algum erro me informe aqui no TÓPICO.
obs: spell baseado nos status, funciona com este tutorial :)
PARA QUEM QUISER EM FOR EM VEZ DE DO WHILE Troque a case SPELL_TYPE_LINEAR por essa:
SÓ FIZ ESSE FIX PQ 3 PESSOAS ME PEDIRAM! E O VALENTINE NÃO ARRUMOU O TUTO DELE
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, y As Long
e em baixo adicione:
- Código:
Dim Linha, Calculate As Long
ainda na mesma sub em procure por
- Código:
Case 2 ' targetted
acima do END SELECT 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
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:
- Código:
Public Const SPELL_TYPE_WARP As Byte = 4
adicione:
CÓDIGO:
- 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 :)
PARA QUEM QUISER EM FOR EM VEZ DE DO WHILE Troque a case SPELL_TYPE_LINEAR por essa:
- Código:
Case SPELL_TYPE_LINEAR
DidCast = True
for Linha =1 < 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
Next
NAO AJUDO EM PROJETOS!
Créditos
Dazateam (Rodrigo)
Valentine - Por postar o tópico original
Kawanzii (Pablo ou Kawan) - Por desbugar u-u
_________________
Assinatura removida pela Staff
^ Tenho nova, surprise
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Vlw Cara, Funcionou +1 Cred
Tu é o cara '-'
Tu é o cara '-'
_________________
Sign
- Sign¹:
- Sign²:
Spooky- Membro Ativo
- Mensagens : 267
Créditos : 24
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Testei e funcionou muito bom
Benderfb- Novato
- Mensagens : 15
Créditos : 0
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Realmente muito bom +1 cred, mas teria como adapta-la pra ao invés de linear ela ser do tipo projetil? Ao invez de fazer uma linha ela fazer o percurso ate atingir o numero de SQMs definidos?
brunouchihakiller- Novato
- Mensagens : 2
Créditos : 0
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
+1 kawan, u_u devem ter te enchido muito pra você postar algo cara, e bruno, tem como, já vi um tutorial desse tipo mas foi em outro fórum, se eu tiver salvo aqui em algum lugar posto com os créditos mas não é certeza.
_________________
Tente novamente.
XWlash- Semi-Experiente
- Mensagens : 88
Créditos : 23
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
é, eu perturbei muito no skype e.eKross escreveu:+1 kawan, u_u devem ter te enchido muito pra você postar algo cara, e bruno, tem como, já vi um tutorial desse tipo mas foi em outro fórum, se eu tiver salvo aqui em algum lugar posto com os créditos mas não é certeza.
+1 kawan '-'
_________________
Sign
- Sign¹:
- Sign²:
Spooky- Membro Ativo
- Mensagens : 267
Créditos : 24
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
da mesma forma que vc pertubou ele eu te pertubo pra modificar a minha engine e vc deve saber como é ficar esperando neh, seu...
_________________
GalaxyHells- Ocasional
- Mensagens : 196
Créditos : 22
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Bom dia, onde eu devo colocar o "Linear"??? Eu fiz o tutorial mas na hora de criar a spell não aparece a opção Linear...
RonaldsSTARK- Novato
- Mensagens : 8
Créditos : 0
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
cara eu usei esse tutorial aqui e funciona corretamente. A lista que que é pra por o Linear é o cbmType (um combobox na frmEditor_Spell q nada mais é que a janela de edição das spells), é o primeiro combobox do editor de magias que vc escolhe o tipo de magia q vai ser se é damage HP, damage MP ou Heal HP... ai vc clica nesse combobox e la nas propriedade voc clica no list e adiciona ao fim da lista o "Linear" (sem as aspas)!
Exemplo:
OBS:Talvez o teu nao tenha o Warp e o Buff mas vc simplesmente adiciona o Linear a baixo do que tiver na sua lista! Espero ter ajudado
Exemplo:
OBS:Talvez o teu nao tenha o Warp e o Buff mas vc simplesmente adiciona o Linear a baixo do que tiver na sua lista! Espero ter ajudado
silipinho- Semi-Experiente
- Mensagens : 97
Créditos : 14
Re: [E.O]Spell Linear 100% Funcional (verdadeiro) [FIX]
Não estou encontrando o
CÓDIGO:
- Código:
Case 2 ' targetted
_________________
Alleg;
oqbendis- Iniciante
- Mensagens : 32
Créditos : 0
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Página 1 de 2 • 1, 2
Tópicos semelhantes
» [E.O]Spell Linear 100% Funcional (verdadeiro)
» Spell Linear
» Spell Linear
» Spell linear
» [GF]Spell Linear Avançada
» Spell Linear
» Spell Linear
» Spell linear
» [GF]Spell Linear Avançada
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos