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.

Sistema de Magia Reta(Spell Linear)

4 participantes

Ir para baixo

Sistema de Magia Reta(Spell Linear) Empty Sistema de Magia Reta(Spell Linear)

Mensagem por M.Dutra Qua 20 Fev 2013, 23:00

Olá venho aqui nessa noite fria e tediosa postar um sistema de Magia Reta(Spell Linear)

Client~Side

Na frmSpellEditor na cmbType na Propriedade List abaixo de Summon (Create Pet) Adicione:

Código:
Linear

Procure por:

Código:
Public Const SPELL_TYPE_PET = 6

Abaixo adicione:

Código:
Public Const SPELL_TYPE_LINEAR = 7

Server~Side

Procure por:

Código:
Public Const SPELL_TYPE_PET = 6

Abaixo Adicione:

Código:
Public Const SPELL_TYPE_LINEAR = 7

Procure por:

Código:
Sub CastSpell(ByVal Index As Long, _

Abaixo de:

Código:
Dim Packet As String

Adicione:

Código:
Dim u As Long

Abaixo de:

Código:
' Checar se o timer está normal
    If GetTickCount < Player(Index).AttackTimer + 1000 Then
        Exit Sub
    End If

Adicione:

Código:
If Spell(SpellNum).Type = SPELL_TYPE_LINEAR Then
    x = GetPlayerX(Index)
    y = GetPlayerY(Index)
        For i = 1 To Spell(SpellNum).Range
            Select Case GetPlayerDir(Index)
                Case DIR_UP
                y = y - 1
                Case DIR_DOWN
                y = y + 1
                Case DIR_LEFT
                x = x - 1
                Case DIR_RIGHT
                x = x + 1
            End Select
            Player(Index).Target = MakeLoc(x, y)
            Player(Index).TargetType = TARGET_TYPE_LOCATION
            N = MakeLoc(x, y)
            If x = MAX_MAPX Or y = MAX_MAPY Or GetPlayery(index) = MAX_MAPY Or GetPlayerx(index) = MAX_MAPX Then Exit For
            For u = 1 To MAX_MAP_NPCS
            Damage = Int(GetPlayerMAGI(Index) / 4) + Spell(SpellNum).Data1 - Int(Npc(MapNpc(GetPlayerMap(Index), u).num).DEF / 2) + (Rnd * 5) - 2
                If MapNpc(GetPlayerMap(Index), u).num > 0 And MapNpc(GetPlayerMap(Index), u).x = x And MapNpc(GetPlayerMap(Index), u).y = y Then
                    If Npc(MapNpc(GetPlayerMap(Index), u).num).Behavior <> NPC_BEHAVIOR_FRIENDLY And Npc(MapNpc(GetPlayerMap(Index), u).num).Behavior <> NPC_BEHAVIOR_SHOPKEEPER Then
                        If Damage > 0 Then
                            Call AttackNpc(Index, u, Damage)
                        Else
                            Call BattleMsg(Index, "A magia foi muito fraca para machucar " & Trim$(Npc(MapNpc(GetPlayerMap(Index), N).num).Name) & "!", BrightRed, 0)
                        End If
                    Else
                        Call PlayerMsg(Index, "Você não pode atacar um npc Amigo!", 4)
                    End If
                    Exit For
                End If
            Next
           
            For u = 1 To MAX_PLAYERS
            Damage = GetPlayerMAGI(Index) / 4 + Spell(SpellNum).Data1 - Int(GetPlayerstr(u) / 2) * (Rnd * 5) - 2
                If IsPlaying(u) = True And GetPlayerMap(Index) = GetPlayerMap(u) And GetPlayerX(u) = x And GetPlayerY(u) = y Then
                    If GetPlayerHP(u) > 0 And GetPlayerMap(Index) = GetPlayerMap(u) And GetPlayerLevel(Index) >= 10 And GetPlayerLevel(u) >= 10 And (Map(GetPlayerMap(Index)).Moral = MAP_MORAL_NONE Or Map(GetPlayerMap(Index)).Moral = MAP_MORAL_NO_PENALTY) And GetPlayerAccess(Index) <= 0 And GetPlayerAccess(u) <= 0 Then
                        If Damage > 0 Then
                            Call AttackPlayer(Index, u, Damage)
                        Else
                            Call BattleMsg(Index, "A magia foi muita fraca e não feriu! " & GetPlayerName(u) & "!", BrightRed, 0)
                        End If
                    Else
                        Call PlayerMsg(Index, "Você não pode atacar jogadores abaixo do nivel 10, maiores de accesso 2 e Quando não está numa zona da porrada.", 4)
                    End If
                    Exit For
                End If
            Next u
            Call SendDataToMap(GetPlayerMap(Index), "spellanim" & SEP_CHAR & SpellNum & SEP_CHAR & Spell(SpellNum).SpellAnim & SEP_CHAR & Spell(SpellNum).SpellTime & SEP_CHAR & Spell(SpellNum).SpellDone & SEP_CHAR & Index & SEP_CHAR & Player(Index).TargetType & SEP_CHAR & Player(Index).Target & SEP_CHAR & Player(Index).CastedSpell & END_CHAR)
        Next i
        If Spell(SpellNum).sound > 0 Then Call SendDataToMap(GetPlayerMap(Index), "sound" & SEP_CHAR & "Magic" & Spell(SpellNum).sound & END_CHAR)
        Call SetPlayerMP(Index, GetPlayerMP(Index) - Spell(SpellNum).MPCost)
        Call SendMP(Index)
        Exit Sub
    End If

Já vi uns 2 lugares com créditos desse sistema incorretos, o crédito pela criação desses códigos é meu, não quero saber se quem inventou o sistema foi a puta que pariu sei que quem criou esses códigos acima foi eu e quero meus créditos em cada tópico de cada fórum que foi postado, caso tenha duvidas comente a baixo a sua dúvida que resolverei.

Créditos: M.Dutra & Vision Makers
M.Dutra
M.Dutra
Membro Junior
Membro Junior

Mensagens : 94

Ir para o topo Ir para baixo

Sistema de Magia Reta(Spell Linear) Empty Re: Sistema de Magia Reta(Spell Linear)

Mensagem por Frozen Qua 20 Fev 2013, 23:33

Muito bom dutra Razz
Obrigado pela colaboração !
+ 1 Crédito .
Frozen
Frozen
Membro Veterano
Membro Veterano

Mensagens : 1339

Ir para o topo Ir para baixo

Sistema de Magia Reta(Spell Linear) Empty Re: Sistema de Magia Reta(Spell Linear)

Mensagem por GuiinhoLP Qui 21 Fev 2013, 01:38

Very Happy Pela Segunda Vez " Muito Bom Dutra +1


[OFF]Dutra Tirar uma Duvida Pm?
GuiinhoLP
GuiinhoLP
Membro Sênior
Membro Sênior

Mensagens : 257

Ir para o topo Ir para baixo

Sistema de Magia Reta(Spell Linear) Empty Re: Sistema de Magia Reta(Spell Linear)

Mensagem por #Fato. Qua 27 Fev 2013, 09:09

Show Dutra Como sempre Very Happy
#Fato.
#Fato.
Membro Junior
Membro Junior

Mensagens : 56

Ir para o topo Ir para baixo

Sistema de Magia Reta(Spell Linear) Empty Re: Sistema de Magia Reta(Spell Linear)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

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