MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!

Participe do fórum, é rápido e fácil

MMORPG Brasil
Ola, visitante! Agradecemos sua visita, para ter acesso a todo nosso conteúdo recomendamos que faça um cadastro no fórum, com ele você pode participar de tópicos e ter acesso a todas áreas da comunidade!
MMORPG Brasil
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Spell Linear 100% Funcional.

+13
maraquanos-marakgarin
maninho21
SoulOfWind
guigui408
Mr Julio
augusto95
lucas_santos
guifs
ramonazaro
Valentine
St4rk
RedBuster
Blizzard
17 participantes

Página 1 de 2 1, 2  Seguinte

Ir para baixo

Spell Linear 100% Funcional. Empty Spell Linear 100% Funcional.

Mensagem por Blizzard Qui 20 Dez 2012, 20:35

Pronto galera,agora a spell linear 100% funcional e está tudo resolvido,basta executar as seguintes ações:

Primeiramente vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType" e, adicione na list "Linear".A list fica nas propriedades da Form.

Agora você clica duas vezes na "cmbType" e Adicione o seguinte code:

Código:
If cmbType.text = "Linear" Then
scrlRange.Value = 0
chkAOE.Value = 1
End If

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

E logo abaixo coloque:

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Server Side

No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Agora vá ao modCombat e no castspell procure por:

Código:
find out what kind of spell it is! self cast, target or AOE

E acima dessa linha adicione:

Código:
With Spell(Spellnum)
            If .Type = SPELL_TYPE_LINEAR Then
                InUseLinear Index, SpellNum
                Exit Sub
            End If
        End With

Ainda no modCombat você adiciona no Final dele:

Código:
Sub InUseLinear(ByVal Index as Integer, ByVal SpellNum as Long)
        Dim I As Integer
        Dim Calculate As Long
        Dim Mapa As Long
        Mapa = GetPlayerMap(Index)

        I = 1
        Do While I < Spell(SpellNum).AoE

            Select Case GetPlayerDir(Index)

                Case Dir_Up
                    Calculate = GetPlayerY(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) - I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) - I

                Case Dir_Down
                    Calculate = GetPlayerY(Index) + I
                    If Calculate >= Map(I).MaxY Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) + I).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) + I

                Case Dir_Left
                    Calculate = GetPlayerX(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) - I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) - I, GetPlayerY(Index)

                Case Dir_Right
                    Calculate = GetPlayerX(Index) + I
                    If Calculate >= Map(I).MaxX Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) + I, GetPlayerY(Index)).Type = Tile_Type_Blocked Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
            End Select
            I = I + 1
        Loop
    End Sub

    Function IsUseLinear(ByVal Index As Integer, ByVal SpellNum As Integer, ByVal Mapa As Integer, ByVal X As Byte, ByVal Y As Byte)
        Dim I As Long

        SendAnimation Mapa, Spell(SpellNum).SpellAnim, X, Y

        '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, Spell(SpellNum).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, Spell(SpellNum).Vital, SpellNum
        Next
    End Function

Depois que ter feito isso ainda terá um pequeno BUG,porque ela só funcionará para à esquerda e para cima.Então siga os seguintes passos:

No ~Server-Side~ dê CTRL+ F ou em "Mod Constants" procure pelo código:

Código:
Case DIR_RIGHT
                    Calculate = GetPlayerX(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) +I , GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)


E Após ter achado, mude toda essa 'Case' para esta:

Código:
Case DIR_RIGHT
                    Calculate = GetPlayerX(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)

Testar o Sistema!
Depois que terminar essa parte,teste para ver se pegou para todas as direções corretamente,se não pegar continue o tutorial:


Ainda no Server~Side.Procure por no "ModCombat":

Código:
Sub InUseLinear(ByVal Index As Integer, ByVal SpellNum As Long)

E substitua toda a "Sub" por:

Código:
Sub InUseLinear(ByVal Index As Integer, ByVal SpellNum As Long)
        Dim I As Integer
        Dim Calculate As Long
        Dim Mapa As Long
        Mapa = GetPlayerMap(Index)

        I = 1
        Do While I < Spell(SpellNum).AoE

            Select Case GetPlayerDir(Index)

                Case DIR_UP
                    Calculate = GetPlayerY(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) - I).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) - I

                Case DIR_DOWN
                    Calculate = GetPlayerY(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index) + I).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index), GetPlayerY(Index) + I

                Case DIR_LEFT
                    Calculate = GetPlayerX(Index) - I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) - I, GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) - I, GetPlayerY(Index)

                Case DIR_RIGHT
                    Calculate = GetPlayerX(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
            End Select
            I = I + 1
        Loop
    End Sub

Tente compilar agora,se não funfar prossiga o tutorial se não só testar!

Procure por:

Código:
SPELL_TYPE_WARP

E delete toda essa parte.Testado e aprovado.Qualquer dúvida só postar.

Créditos:
V-Force
RedBuster
lucas100vzs
LythZerou
Blizzard™
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por RedBuster Qui 20 Dez 2012, 23:48

Boa Manolo Very Happy +1Cred pela colaboração !

Spoiler:
RedBuster
RedBuster
Membro
Membro

Mensagens : 205

http://imakersdev.forumeiros.com

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por St4rk Sex 21 Dez 2012, 08:47

Utilizar um "Do While" em um sistema de spell linear ? puts.
St4rk
St4rk
Membro de Honra
Membro de Honra

Mensagens : 2251

http://mylittledev.wordpress.com

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 21 Dez 2012, 08:56

OmegaZero escreveu:Utilizar um "Do While" em um sistema de spell linear ? puts.

OmegaZero,entendo que você é bom na programação e tals,eu só fiz postar,se quiser pode testar o sistema ele está funcionando corretamente e é isso que me interessa.Num sou programador(Ainda...)então tô feliz em postar o sistema.Quando eu aprender melhor programação eu corrijo.Mas mesmo assim,muito obrigado pela observação.
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Valentine Sex 21 Dez 2012, 11:19

Parabéns pelo sistema, spell linear é realmente ótimo, eu vou dar até +1 crédito, mas eu também digo que é um exagero usar Do While para um sistema como esse, qual o problema de usar For? For não é Cú então pode usar sem medo kkkk

Aconselho que troque
Código:
I = 1
Do While I < Spell(SpellNum).AoE
Por
Código:
For I = 1 To Spell(SpellNum).AoE
avatar
Valentine
Membro de Honra
Membro de Honra

Mensagens : 472

http://www.aldeiarpgbr.com

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por RedBuster Sex 21 Dez 2012, 12:09

Valentine escreveu:Parabéns pelo sistema, spell linear é realmente ótimo, eu vou dar até +1 crédito, mas eu também digo que é um exagero usar Do While para um sistema como esse, qual o problema de usar For? For não é Cú então pode usar sem medo kkkk

Aconselho que troque
Código:
I = 1
Do While I < Spell(SpellNum).AoE
Por
Código:
For I = 1 To Spell(SpellNum).AoE

É porque a engine bugou e não estava aceitando "For" .
Então modifiquei o codigo pra ele e coloquei isso ^^'
RedBuster
RedBuster
Membro
Membro

Mensagens : 205

http://imakersdev.forumeiros.com

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 21 Dez 2012, 12:31

Valentine escreveu:Parabéns pelo sistema, spell linear é realmente ótimo, eu vou dar até +1 crédito, mas eu também digo que é um exagero usar Do While para um sistema como esse, qual o problema de usar For? For não é Cú então pode usar sem medo kkkk

Aconselho que troque
Código:
I = 1
Do While I < Spell(SpellNum).AoE
Por
Código:
For I = 1 To Spell(SpellNum).AoE

Valentine,como disse o RedBuster,a minha engine bugou então tive de usar o Do While,mas do mesmo jeito funciona,e se observar eu juntei 2 tutoriais e só postei ele pra caso alguém tenha alguma erro com isso,eu postei os erros que podem acontecer nesse sistema e aí ficou assim corrigido.Muito obrigado pela observação também ^^ .
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por ramonazaro Qua 26 Dez 2012, 13:19

No ~Server-Side~ dê CTRL+ F ou em "Mod Constants" procure pelo código: < esta parte ta errada o codigo só se encontra no ModCombat
ramonazaro
ramonazaro
Novato
Novato

Mensagens : 37

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por guifs Qua 26 Dez 2012, 20:09

Case DIR_RIGHT
Calculate = GetPlayerX(Index) + I
If Calculate <= 0 Then Exit Sub
If Map(Mapa).Tile(GetPlayerX(Index), GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
End Select
I = I + 1
Loop

End Sub





NO Loop da erro aki D:
guifs
guifs
Membro Vitalicio
Membro Vitalicio

Mensagens : 561

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 11 Jan 2013, 14:44

Se seguiu o tutorial corretamente então num vejo erro pois nesse eu coloquei todos os erros que eu encontrei,leia mais atentamente eu já fiz o tuto 5 vezes e num deu erro algum.
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por lucas_santos Sáb 12 Jan 2013, 14:41

Eu gostaria que pudesse me ajudar numa duvida, ela é meio idiota, mas sou iniciante, a duvida é que quando eu crio a spell no editor, e eu tento usa-la, o personagem so da casting e n solta a habilidade, ( acho que é porque editei algo errado no /editspell ) eu uso a engine 3.0.15 (refine system)
lucas_santos
lucas_santos
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por augusto95 Sáb 12 Jan 2013, 14:53

lucas_santos você deve ter esquecido de por um valor em "Duração" no Edit spell
augusto95
augusto95
Membro
Membro

Mensagens : 105

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por lucas_santos Sáb 12 Jan 2013, 15:19

( Eu uso a Engine 3.0.15(Refine System) )
Eu uso a skill e ela começa a cast...
Spell Linear 100% Funcional. 44638805
Quando termina o cast, nao acontece nada...
Spell Linear 100% Funcional. 87265089
Aqui esta o "Insert" > "Spell" (se tiver algo errado me ajudem pfv)
Spell Linear 100% Funcional. 85279042
lucas_santos
lucas_santos
Novato
Novato

Mensagens : 10

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Mr Julio Qui 17 Jan 2013, 11:17

''Primeiramente vá ao frmEditor_Spell e encontre a ComboBox chamada "cmbType" e, adicione na list "Linear".A list fica nas propriedades da Form.'' mano eu fui no cmbtype agora eu nao sei add o linear na lista
Mr Julio
Mr Julio
Membro
Membro

Mensagens : 164

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Qui 17 Jan 2013, 11:23

Clique no cmbType e depois veja nas propriedades uma chamada de "List" clique nela e adicione no fim "Linear" depois só fazer o resto como o tutorial diz.
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por guigui408 Qui 17 Jan 2013, 12:09

Pow fiz tutorial direitinho,deu certo,so q,quando uso magia nao gasta mp e e pode fica usando ela rapidando quantas vezes quiser,eu puis tempo para usar mais nao adianta,se puder ajuda...
avatar
guigui408
Membro
Membro

Mensagens : 116

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por SoulOfWind Sex 18 Jan 2013, 09:24

Não acho a tal case :/
SoulOfWind
SoulOfWind
Membro Sênior
Membro Sênior

Mensagens : 339

http://raidersrpg.blogspot.com.br/

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Mr Julio Sex 18 Jan 2013, 10:43

vlw funfo direitinho aki so espero que nao de erro no futuro +1 credito bom sistema usarei no meu jogo ^^
Mr Julio
Mr Julio
Membro
Membro

Mensagens : 164

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 18 Jan 2013, 10:52

guigui408 escreveu:Pow fiz tutorial direitinho,deu certo,so q,quando uso magia nao gasta mp e e pode fica usando ela rapidando quantas vezes quiser,eu puis tempo para usar mais nao adianta,se puder ajuda...

Vou tentar resolver isto,se puder aguardar agradeço...

SoulOfWind escreveu:Não acho a tal case :/

Tenso man,que case?Num tenho o capacete do Valentine e.e

Mas se for essa case:


Código:
Case DIR_RIGHT
                    Calculate = GetPlayerX(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) +I , GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)

Procure direito,leia atentamente toda a case e se possível todo o código.

Mr Julio escreveu:vlw funfo direitinho aki so espero que nao de erro no futuro +1 credito bom sistema usarei no meu jogo ^^

Valeu man ^^ Mas ainda tem o erro do MP,vou ver se consigo concertar aqui...
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Mr Julio Sex 18 Jan 2013, 11:13

mano to com uma duvida onde vc aprendeu fazer sistemas ? to querendo tbm aprender programar pra eu nao presisar de ninguem pra ajudar pq eu ja sei mapear e spriter e o design eu fasso pelo paint XD fica bem massa entao to pensando em aprender programaçao de vb6 tbm sera que vc pode me indicar 1 site de programaçao de vb6 eu ja tentei olha aki no forum mais nao me ajudou em nada entao porfavor arranja ae apostila qualquer coisa plizz
Mr Julio
Mr Julio
Membro
Membro

Mensagens : 164

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 18 Jan 2013, 11:45

Primeiro...
Sem offtopic.
Segundo...
Eu num programei,eu só postei o tutorial,num fiz nada nesse sistema,os devidos créditos estão no tópico.Vou enviar MP pra num fugir do tópico.
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por maninho21 Sex 18 Jan 2013, 18:20

Cara não estou consseguindo achar:
Código:
Case DIR_RIGHT
                    Calculate = GetPlayerX(Index) + I
                    If Calculate <= 0 Then Exit Sub
                    If Map(Mapa).Tile(GetPlayerX(Index) +I , GetPlayerY(Index)).Type = TILE_TYPE_BLOCKED Then Exit Sub
                    IsUseLinear Index, SpellNum, Mapa, GetPlayerX(Index) + I, GetPlayerY(Index)
maninho21
maninho21
Membro
Membro

Mensagens : 234

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Blizzard Sex 18 Jan 2013, 18:50

Man em que eu posso ajudar? e.e
Sério,se você num tá achando acho que deve está fazendo algo errado.Tente por apenas:


Código:
Case DIR_RIGHT

E preste atenção como é a case,e então procure como ela é,se num achar man...Num sei qual o problema.
Blizzard
Blizzard
Membro Vitalicio
Membro Vitalicio

Mensagens : 603

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por maninho21 Sex 18 Jan 2013, 19:37

Spell Linear 100% Funcional. CL6Sucf
Olha ^^
maninho21
maninho21
Membro
Membro

Mensagens : 234

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por maraquanos-marakgarin Qua 30 Jan 2013, 17:13

ótimo sistema sem bug
maraquanos-marakgarin
maraquanos-marakgarin
Novato
Novato

Mensagens : 18

Ir para o topo Ir para baixo

Spell Linear 100% Funcional. Empty Re: Spell Linear 100% Funcional.

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Página 1 de 2 1, 2  Seguinte

Ir para o topo

- Tópicos semelhantes

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