[EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
+13
Snoow
Dooolly
lraniel
sushi123
math320
GustavoNunes
Pad;*
SsasuKeeUuchiHaa
Valentine
EdUaRdOo
St4rk
Sαkurαy
viniciushp
17 participantes
Página 1 de 2
Página 1 de 2 • 1, 2
[EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Fala galera!
esse é o meu primeiro tutorial, baseado no tutorial do @LythZerou.
Bem, o problema era o seguinte: Meu sistema de spells é um pouco mais complexo, com level nas spells, e a cada level que a spell aumenta, ela aumenta o dano, mas aumenta também o MP requerido para utilizá-la.
Com esse tutorial de spell Linear, além de não conseguir usar o MP, o dano permanecia o mesmo, independente do level da spell. Daí ficava meio sem sentido.
PS: Não me responsabilizo por instabilidades ou problemas no seu source após o tutorial aqui citado. A execução do código fica por sua conta e risco! (não estou dizendo que vá dar problemas, mas é para evitar reclamações infundadas).
Vamos ao código
Client Side
Primeiro, vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType", nas propriedades, vá até "list" e adicione "Linear".
Após o procedimento acima, clique 2x na cmbType e procure o seguinte código:
abaixo, adicione
No modConstants procure por
abaixo, adicione
Client terminado.
Server Side
No modConstants procure por
abaixo, adicione
Agora, no sub CastSpell, procure por
abaixo, adicione
procure por
acima disso, adicione
Agora, no final do modCombat, adicione
ATENÇÃO: esse Sub é DIFERENTE do sub disponibilizado no outro tutorial. Não confunda as coisas, poderá ter problemas.
Bem, é isso, testem e qualquer dúvida, responder AQUI, assim que possível tentarei solucionar seu problema.
Créditos: LythZerou pelo tutorial, V-force pelo código inicial, e créditos a mim, por complementar o código.
esse é o meu primeiro tutorial, baseado no tutorial do @LythZerou.
Bem, o problema era o seguinte: Meu sistema de spells é um pouco mais complexo, com level nas spells, e a cada level que a spell aumenta, ela aumenta o dano, mas aumenta também o MP requerido para utilizá-la.
Com esse tutorial de spell Linear, além de não conseguir usar o MP, o dano permanecia o mesmo, independente do level da spell. Daí ficava meio sem sentido.
PS: Não me responsabilizo por instabilidades ou problemas no seu source após o tutorial aqui citado. A execução do código fica por sua conta e risco! (não estou dizendo que vá dar problemas, mas é para evitar reclamações infundadas).
Vamos ao código
Client Side
Primeiro, vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType", nas propriedades, vá até "list" e adicione "Linear".
Após o procedimento acima, clique 2x na cmbType e procure o seguinte código:
- Código:
Spell(EditorIndex).Type = cmbType.ListIndex
abaixo, adicione
- Código:
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If
No modConstants procure por
- Código:
Public Const SPELL_TYPE_WARP As Byte = 4
abaixo, adicione
- Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5
Client terminado.
Server Side
No modConstants procure por
- Código:
Public Const SPELL_TYPE_WARP As Byte = 4
abaixo, adicione
- Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5
Agora, no sub CastSpell, procure por
- Código:
Dim x As Long, y As Long
abaixo, adicione
- Código:
Dim x2 As Long, y2 As Long
Dim Linha As Integer
Dim Calculate As Long
procure por
- Código:
End Select
Case 2 ' targetted
acima disso, 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
Agora, no final do modCombat, 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
ATENÇÃO: esse Sub é DIFERENTE do sub disponibilizado no outro tutorial. Não confunda as coisas, poderá ter problemas.
Bem, é isso, testem e qualquer dúvida, responder AQUI, assim que possível tentarei solucionar seu problema.
Créditos: LythZerou pelo tutorial, V-force pelo código inicial, e créditos a mim, por complementar o código.
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Muito bom mano, ajudara muitas pessoas.
+ Crédito
+ Crédito
Sαkurαy- Membro Veterano
- Mensagens : 1386
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Por que usar um Do em uma spell liner... ?
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
OmegaZero escreveu:Por que usar um Do em uma spell liner... ?
Para não criar uma linha infinita. Enquanto a linha for menor que o alcance da Spell, continuar, se não, para.
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
viniciushp muito bom continui postando por q se nao foçem eu vc e thales isso aki continuaria mais morto q tudo
EdUaRdOo- Novato
- Mensagens : 14
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
EdUaRdOo escreveu:viniciushp muito bom continui postando por q se nao foçem eu vc e thales isso aki continuaria mais morto q tudo
Confesso que fico meio desmotivado pela comunidade estar tão parada.
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Parece muito bom, estou torcendo para que realmente esteja completo, porque já vi esse tutorial sendo refeito e as pessoas corrigindo os bugs milhares de vezes em algo não tão complexo, de qualquer forma depois irei testá-lo e se ver que algo pode ser melhorado ou tiver algum bug eu irei postar aqui como corrigir, para contribuir.
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Lindo tuto +1 Cred
Ta dando erro
IsUseLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index) - Linha
Ta dando erro
IsUseLinear Index, SpellNum, vital, GetPlayerMap(Index), GetPlayerX(Index), GetPlayerY(Index) - Linha
Última edição por SsasuKeeUuchiHaa em Qui 19 Abr 2012, 13:06, editado 1 vez(es)
SsasuKeeUuchiHaa- Novato
- Mensagens : 33
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Seria melhor usar um For... Do é muito pesado, ao meu ver.
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
OmegaZero escreveu:Seria melhor usar um For... Do é muito pesado, ao meu ver.
Fiquei na dúvida e fui questionar o meu professor de programação ontem. Segundo ele, o do é levemente mais pesado ,mas que na prática nada se altera, pois a execução do código vai ser feita de forma linear, assim como for.
O For pode ser melhor na engine pois é mais padrão dentro do Eclipse, porém, na prática, a execução será feita da mesma forma.
Claro, meu professor pode estar enganado. Mas ele tem uns 20 anos de experiência em programação, de ve ser bom né?
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Vinicius , eu tbm tenho um professor de programação mais se você pensar um pouco mais atualizado você ira ver , que a execução pode ocorrer de 2 maneiras, pois os packets do EO , são compilados em numeros binarios .
Pad;*
Pad;*
Pad;*- Membro
- Mensagens : 213
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Pad;* escreveu:Vinicius , eu tbm tenho um professor de programação mais se você pensar um pouco mais atualizado você ira ver , que a execução pode ocorrer de 2 maneiras, pois os packets do EO , são compilados em numeros binarios .
Pad;*
Bem, vamos exemplificar:
- Código:
For i = 1 to MAX_NPC_SPELL
Ou seja, ele vai fazer o código enquanto de 1 até o MAX_NPC_SPELL. Como o programa reconhece isso?
Ele faz, e verifica
i => Max_npc_spell? Não
executa de novo
No caso do Do, a função prática será a mesma:
- Código:
Do While Linha < Spell(SpellNum).AoE
Enquanto a linha for menor que a AoE, fazer o código de novo.
ele vai executar o código e no final, verificar. Se a linha for menor que a AoE, executa de novo.
Isso não envolve os packets, pois de uma forma ou de outra, o número de packets enviados será o mesmo.
O grande "x" da questão aqui seria a quantidade de processamento que o server iria fazer.
É a mesma coisa que Select Case e Else If, com select case fica um código mais limpo e mais fácil de ser entendido, mas na função prática, tanto elseIf quanto Select Case tem a mesma velocidade de execução.
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Se você parar e pensar, tem o Do do Loop, eu acho que usando outro do e varios executando isso ao mesmo tempo poderia causar problemas.
Pare e pense, se o código fose executado por 1 ~~ 3 pessoas no máximo seria ótimo, agora com 50 ~~ 100 players usando a skill ao mesmo tempo... ao me ver traz problemas.
Pare e pense, se o código fose executado por 1 ~~ 3 pessoas no máximo seria ótimo, agora com 50 ~~ 100 players usando a skill ao mesmo tempo... ao me ver traz problemas.
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
agora to em duvida se ponho ou não esse, speel linear completo...
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
GustavoNunes escreveu:agora to em duvida se ponho ou não esse, speel linear completo...
Coloque e faça o teste oras.
viniciushp- Novato
- Mensagens : 21
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
o vinicius como edita um anim pra faser um kamehameha?
math320- Membro Sênior
- Mensagens : 255
sushi123Banido- Mensagens : 188
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Cara muito bom mesmo, te agradeço muito! Só uma dúvida dá para usar skill AoE e a linear ?
lraniel- Membro
- Mensagens : 240
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Na hora que vou compilar no client dá um erro - Compile error method or data member not found. E seleciona automaticamente - ".text". Ajuda ai galera?
EDIT: Não é mais preciso, consegui, mas agora estou com outro problema no serve não consigo achar isto
: End Select
Case 2 ' targetted. dei ctrl+f e não foi de forma alguma
EDIT³: Deu tudo certo, desculpem pela minha idiotice e valeu +cred.
PS: Dei double post sem querer, havia esquecido que anteriormente eu postei. Sorry
EDIT: Não é mais preciso, consegui, mas agora estou com outro problema no serve não consigo achar isto
: End Select
Case 2 ' targetted. dei ctrl+f e não foi de forma alguma
EDIT³: Deu tudo certo, desculpem pela minha idiotice e valeu +cred.
PS: Dei double post sem querer, havia esquecido que anteriormente eu postei. Sorry
lraniel- Membro
- Mensagens : 240
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Aki deu tudo certo mais achei um bug q todos os tutoriais tem q é quando o char está em um mapa maios q a pic q mostra o mapa a spells so funciona em um quadrado
Dooolly- Membro
- Mensagens : 160
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Niguem vai responder n é alguem me ajuda ali
Dooolly- Membro
- Mensagens : 160
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
olha cara vou tentar resolver seu caso espere um poko
SsasuKeeUuchiHaa- Novato
- Mensagens : 33
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
Vlw e desculpa ai o double poste pessoal é q eu tou desesperado por esse sistema e n sou muito bom em VB mais mesmo assim vlw a todos
Dooolly- Membro
- Mensagens : 160
Re: [EO] Spell Linear Completo (Subtrair MP, CastTime, Cooldown e etc)
aki nao funcionou ¬¬
Snoow- Novato
- Mensagens : 22
Página 1 de 2 • 1, 2
Tópicos semelhantes
» Spell Linear Bug.
» Spell Linear
» [BUG] Spell Linear
» Erro Spell Linear
» [EA]Spell Linear 100% Funcional
» Spell Linear
» [BUG] Spell Linear
» Erro Spell Linear
» [EA]Spell Linear 100% Funcional
Página 1 de 2
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux