Universo Games
Ola , Convidado



Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no mundo rpg!!!
Universo Games

Suporte e Desenvolvimento só no Universo Games

Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

Você não está conectado. Conecte-se ou registre-se

Skill Linear

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1Tutorial Skill Linear em Qui 03 Nov 2011, 12:50

jadiel848


Membro
Membro
Nome:Skill Linear
Nivel de Dificuldade : 3/5
Utiliza: VisualBasic 6.0

Introdução :
As Skill Lineares São Aqueles segue uma direção Unica em forma de Linha ou Reta .

Ao Abrir o Client Side

Primeiramente vamos ao frmEditor_Spell e encontre a ComboBox chamada "cmbType" e, adicione na list "Linear"

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

Procure No modConstant :

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Debaixo desta Linha Adicione :

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

A Parte Do Nosso Client Ja está feita vamos para o Servidor agora .

Abra o Servidor Side No modConstant procure por:

Código:
Public Const SPELL_TYPE_WARP As Byte = 4

Debaixo Desta Linha Adicione:

Código:
Public Const SPELL_TYPE_LINEAR As Byte = 5

Procure Agora no modCombat pela Linha:

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

Em cima desta linha você Adiciona :

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

No Final da desta Sub , Antes de End Sub , você Adiciona :

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

Pronto , Tudo Certo , agora só Executar .

Créditos
Ricardo e V-force (pela criação do sistema)
jadiel848 (por postar aqui no universogamesmmo)





Última edição por jadiel848 em Sab 05 Nov 2011, 17:24, editado 3 vez(es)

2Tutorial Re: Skill Linear em Qui 03 Nov 2011, 12:59

RenanR


Membro
Membro
Tutorial realmente ótimo! Ajudará muitos aqui ná Universo.

Obrigado por compartilhar!

http://mmomakerbr.ativoforum.com

3Tutorial Re: Skill Linear em Qui 03 Nov 2011, 13:02

jadiel848


Membro
Membro
^^ Só estou aqui para ajudar.. jaja posto novos...

4Tutorial Re: Skill Linear Hoje à(s) 13:02

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum