Como ajeitar o dano consecutivo do Npc Spell Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

Aldeia RPG
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Como ajeitar o dano consecutivo do Npc Spell

Ir para baixo

Como ajeitar o dano consecutivo do Npc Spell Empty Como ajeitar o dano consecutivo do Npc Spell

Mensagem por Snoopy Ter Mar 24, 2015 9:01 pm

Bom galera, venho trazer aqui um tutorial de como ajeitar o dano da magia do npc ao qual o Motodark estava com esta dúvida.

Explicando:

Bom depois de você ter uma engine com Npc Spell System ou você implanta-lo você com certeza percebe que quando o npc usa a a magia em você dá diversos hits em uma só vez e as vezes causando até um lag muito chato na animação da magia.

Começando:

No Client-Side no modTypes procure:
Código:
Private Type MapNpcRec
    num As Long
    target As Long
    TargetType As Byte
    Vital(1 To Vitals.Vital_Count - 1) As Long
    Map As Long
    X As Byte
    Y As Byte
    Dir As Byte

e abaixo de "Dir As Byte" adicione:
Código:
TmpSpell As Long

É extremamente necessário que você faça o mesmo no servidor!


Depois de fazer o mesmo no servidor, procure na Sub UpdateMapLogic:

Código:
' Spell Casting

                                For i = 1 To MAX_NPC_SPELLS
                                    If Npc(NPCNum).Spell(i) > 0 Then
                                        If MapNpc(mapnum).Npc(x).SpellTimer(i) + (Spell(Npc(NPCNum).Spell(i)).CastTime * 1000) < GetTickCount Then
                                            NpcSpellPlayer x, target, i
                                        End If
                                    End If
                                Next
                            End If
 e troque por:



Código:
' Spell Casting
                     
                                For i = 1 To MAX_NPC_SPELLS
                                MapNpc(mapnum).NPC(x).TmpSpell = Spell(i).CDTime - 1
                                    If NPC(NPCNum).Spell(i) > 0 Then
                                        If MapNpc(mapnum).NPC(x).TmpSpell = 0 Then
                                        If MapNpc(mapnum).NPC(x).SpellTimer(i) + (Spell(NPC(NPCNum).Spell(i)).CastTime * 1000) < GetTickCount Then
                                            NpcSpellPlayer x, target, i
                                            MapNpc(mapnum).NPC(x).TmpSpell = Spell(i).CDTime = Spell(i).CDTime
                                           
                                        End If
                                        End If
                                    End If
                                   
                                Next
                            End If
E pronto! Razz




Nota: Todos os sistemas/edições que posto são programação básica pois não sou um experiente em VB6, posto porque acho que vai ajudar pessoas que não sabem o básico.
Snoopy
Snoopy
Iniciante
Iniciante

Mensagens : 58
Créditos : 7

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