Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[GL]Magia Direcional - Complemento
+11
Profane ~
Jonny157
Pablo Kawan
thales12
StormAD
Snoopy
Motodark
gui408
Hashirama
Spooky
Dooolly
15 participantes
Página 1 de 4
Página 1 de 4 • 1, 2, 3, 4
[GL]Magia Direcional - Complemento
Informações
Nome: Sistema de Magia Direcional
Versão: 0.1.0
Criador: GameLoop
Creditos: Dooolly, Thales12
Requerimento: Magia Linear Avançada
Esse Sistema é apenas um complemento para o sistema de Magia linear avançada. Por isso ele requer o sistema. Qualquer erro informar no tópico.
Tutorial
Client-Side
Vamos começar no frmEditor_Spell
Primeiro você terá que cria:
- 4 Scrollbars
- 4 Labeis
Vai ter que renomear todas as scrolls com o mesmo nome: scrlDirSpell
Também terá que renomear as labeis com o mesmo nome: lblDirSpell
Lembre de por em ordem as Index
0 = Cima/DIR_UP
1 = Baixo/DIR_DOWN
2 = Esquerda/DIR_LEFT
3 = Direita/DIR_RIGHT
* Essa parte da Index é muito importante.
Aqui um exemplo de como ficou o meu:
- Spoiler:
Clique em qualquer uma dessa scrolls e ponha o seguinte código:
- Código:
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
If scrlDirSpell(Index).Value > 0 Then
lblDirSpell(Index).Caption = Trim$(Animation(scrlDirSpell(Index).Value).Name)
Else
lblDirSpell(Index).Caption = "Nenhuma"
End If
Spell(EditorIndex).Anim(Index) = scrlDirSpell(Index).Value
' Error handler
Exit Sub
errorhandler:
HandleError "scrlDirSpell_Change", "frmEditor_Spell", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Exit Sub
Ainda na frmEditor_Spell procure pela cmbType
Vá em List nas propriedades da cmbType e adicione: Direcional
- Exemplo:
Vou deixa o link da minha frmEditor_Spell para você ver. Se Quiser pode até usar, mas nela você só encontra o sistema de Magia Linear Avançada, e Magia Direcional.
frmEditor_Spell Files
CODIGO
Em modGameEditors procure por:
- Código:
.scrlStun.Value = Spell(EditorIndex).StunDuration
Abaixo adicione:
- Código:
' Magia Direcional
For i = 0 To 3
.scrlDirSpell(i).Value = Spell(EditorIndex).Anim(i)
Next
Em modConstants procure por:
- Código:
Public Const SPELL_TYPE_WARP As Byte = 4
Abaixo adicione:
- Código:
Public Const SPELL_TYPE_DIR As Byte = 5
Se o ultimo numero for 5 você bota 6. Nunca deixe repetir o valor da SPELL_TYPE
Em modTypes procure por:
- Código:
StunDuration As Long
Abaixo adicione:
- Código:
' Magia Direcional
Anim(0 To 3) As Long
- Exemplo:
- Código:
Private Type SpellRec
Name As String * NAME_LENGTH
Desc As String * 255
Sound As String * NAME_LENGTH
Type As Byte
MPCost As Long
LevelReq As Long
AccessReq As Long
ClassReq As Long
CastTime As Long
CDTime As Long
Icon As Long
Map As Long
x As Long
y As Long
Dir As Byte
Vital As Long
Duration As Long
Interval As Long
Range As Byte
IsAoE As Boolean
AoE As Long
CastAnim As Long
SpellAnim As Long
StunDuration As Long
' Magia Linear Avançada
Tamanho As Long
AnimL As Long
' Magia Direcional
Anim(0 To 3) As Long
End Type
Cliente Terminado!
Server-Side
Em modConstants procure por:
- Código:
Public Const SPELL_TYPE_WARP As Byte = 4
Abaixo adicione:
- Código:
Public Const SPELL_TYPE_DIR As Byte = 5
Se o ultimo numero for 5 você bota 6. Nunca deixe repetir o valor da SPELL_TYPE
Em modTypes procure por:
- Código:
StunDuration As Long
Abaixo adicione:
- Código:
' Magia Direcional
Anim(0 To 3) As Long
Siga o exemplo anterior.
Em modCombat na Sub CastSpell procure por:
- Código:
End Select
Case 2 ' targetted
Acima adicione:
- Código:
Case SPELL_TYPE_DIR
' Ativar Animação
Select Case GetPlayerDir(index)
Case DIR_UP
SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index), GetPlayerY(index) - 1
Case DIR_DOWN
SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index), GetPlayerY(index) + 1
Case DIR_LEFT
SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index) - 1, GetPlayerY(index)
Case DIR_RIGHT
SendAnimation GetPlayerMap(index), Spell(SpellNum).Anim(GetPlayerDir(index)), GetPlayerX(index) + 1, GetPlayerY(index)
End Select
' Dano Linear
For linha = 1 To Spell(SpellNum).AoE
Select Case GetPlayerDir(index)
Case DIR_UP
If Not GetPlayerY(index) - linha < 0 Then
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
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index), GetPlayerY(index) + linha
End If
Case DIR_LEFT
If Not GetPlayerX(index) - linha < 0 Then
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
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index)
End If
End Select
'/// - Dano Lateral - ///
If Spell(SpellNum).Tamanho > 0 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
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha2, GetPlayerY(index) - linha
End If
If Not GetPlayerX(index) + linha2 > Map(mapnum).MaxX Then
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 < 0 Then
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha2, GetPlayerY(index) + linha
End If
If Not GetPlayerX(index) + linha2 > Map(mapnum).MaxX Then
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
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) - linha, GetPlayerY(index) - linha2
End If
If Not GetPlayerY(index) + linha2 > Map(mapnum).MaxY Then
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
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index) + linha2
End If
If Not GetPlayerY(index) - linha2 < 0 Then
UsarMagiaLinear index, SpellNum, Vital, GetPlayerMap(index), GetPlayerX(index) + linha, GetPlayerY(index) - linha2
End If
End If
End Select
Next
End If
Next
DidCast = True
Servidor Terminado!
Com funciona?
O Sistema funciona igual ao meu sistema de Magia Linear, Você escolhe o tamanho em Linha e o tamanho em que ele se expande, depois é só escolher uma animação para cada direção...
Última edição por Dooolly em Sex Mar 18, 2016 10:22 pm, editado 5 vez(es)
Re: [GL]Magia Direcional - Complemento
Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
_________________
Sign
- Sign¹:
- Sign²:
Spooky- Membro Ativo
- Mensagens : 267
Créditos : 24
Re: [GL]Magia Direcional - Complemento
Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
Não entendi, pra que você quer usar os 2 ao mesmo tempo?
já que eles tem a mesma função? só muda a forma que exibe a animação...
Re: [GL]Magia Direcional - Complemento
Então quer dizer que isto serve como sistema linear também ? :oDooolly escreveu:Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
Não entendi, pra que você quer usar os 2 ao mesmo tempo?
já que eles tem a mesma função? só muda a forma que exibe a animação...
_________________
Sign
- Sign¹:
- Sign²:
Spooky- Membro Ativo
- Mensagens : 267
Créditos : 24
Re: [GL]Magia Direcional - Complemento
Bartolomeo escreveu:Então quer dizer que isto serve como sistema linear também ? :oDooolly escreveu:Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
Não entendi, pra que você quer usar os 2 ao mesmo tempo?
já que eles tem a mesma função? só muda a forma que exibe a animação...
Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
Re: [GL]Magia Direcional - Complemento
E se eu não usar o linear? e só usar esse que vc mandou, vai funcionar?Dooolly escreveu:Bartolomeo escreveu:Então quer dizer que isto serve como sistema linear também ? :oDooolly escreveu:Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
Não entendi, pra que você quer usar os 2 ao mesmo tempo?
já que eles tem a mesma função? só muda a forma que exibe a animação...
Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
_________________
Sign
- Sign¹:
- Sign²:
Spooky- Membro Ativo
- Mensagens : 267
Créditos : 24
Re: [GL]Magia Direcional - Complemento
Bartolomeo escreveu:E se eu não usar o linear? e só usar esse que vc mandou, vai funcionar?Dooolly escreveu:Bartolomeo escreveu:Então quer dizer que isto serve como sistema linear também ? :oDooolly escreveu:Bartolomeo escreveu:Dooly, uma pergunta. se eu quiser usar junto ao linear como vou fazer? '-' tipo na cmb vai ter linear e direcional, vou ter que escolher 1 dos 2, resumindo se eu escolher linear n vai ter o direcional e se escolher direcional n vai ter linear?
Não entendi, pra que você quer usar os 2 ao mesmo tempo?
já que eles tem a mesma função? só muda a forma que exibe a animação...
Basicamente, essa ai é uma Spell linear avançada, só que com apenas uma animação, e utiliza animações diferentes para cada direção..
O sistema de spell linear é necessário para usar esse ai... pois exigem alguns codigos da spell linear.
Re: [GL]Magia Direcional - Complemento
Este complemento ficou bem melhor.. bom que ainda tem alguém para movimentar a parte do Eclipse Origins..
1+Crédito
1+Crédito
_________________
Apoia nosso projeto? use nossa assinatura
Hashirama- Membro de Honra
- Mensagens : 413
Créditos : 133
Re: [GL]Magia Direcional - Complemento
Muito Bom 100% Funcional!Execelente Sistema,Vlw Dolly!
gui408- Ocasional
- Mensagens : 227
Créditos : 10
Re: [GL]Magia Direcional - Complemento
Muito bom dooolly ainda bem que nós novatos temos você para nos ajudar muito obrigado +1 Crédito.
Motodark- Ocasional
- Mensagens : 169
Créditos : 5
Página 1 de 4 • 1, 2, 3, 4
Tópicos semelhantes
» Ajuda Com Sistema de Magia Direcional
» [Complemento]Missão por botão
» Complemento para o sistema de skill do NPM
» [Eclipse Origins] Fix direcional bloqueio
» Magia de Teletransporte
» [Complemento]Missão por botão
» Complemento para o sistema de skill do NPM
» [Eclipse Origins] Fix direcional bloqueio
» Magia de Teletransporte
Página 1 de 4
Permissões neste sub-fórum
Não podes responder a tópicos