Universo Games
Ola , Convidado

[EO] Colocando barra de HP nos NPC Logo1110

Você ainda não e cadastrado então cadastre-se e veja todas as atualizações no Mundo RPG!!!
Universo Games
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Universo Games

Suporte e Desenvolvimento só no Universo Games
 
InícioInício  PortalPortal  EventosEventos  PublicaçõesPublicações  Últimas imagensÚltimas imagens  RegistarRegistar  EntrarEntrar  
Ola Convidado, Seja Bem vindo a equipe lhe deseja boa sorte no seu projeto!

 

 [EO] Colocando barra de HP nos NPC

Ir para baixo 
AutorMensagem
Lucas Roberto
Administrador
Administrador
Lucas Roberto


Mensagens : 711

[EO] Colocando barra de HP nos NPC Empty
MensagemAssunto: [EO] Colocando barra de HP nos NPC   [EO] Colocando barra de HP nos NPC EmptySáb 11 Dez 2010, 19:50

~Descrição~
•Como o titulo ja diz, o sistema serve para ficar visivel a barrinha de HP dos "monstros".

~Tutorial~

1) Abra o Server.vbp, que se localiza na pasta Server.

2) Procure no modPlayer:
Código:
Sub AttackNpc

3) Nessa sub, procure por:
Código:
' NPC not dead, just do the damage
MapNpc(MapNum).Npc(MapNpcNum).Vital(Vitals.HP) = MapNpc(MapNum).Npc(MapNpcNum).Vital(Vitals.HP) - Damage

' Check for a weapon and say damage
SendActionMsg MapNum, "-" & Damage, BrightRed, 1, (MapNpc(MapNum).Npc(MapNpcNum).x * 32), (MapNpc(MapNum).Npc(MapNpcNum).y * 32)
SendBlood GetPlayerMap(Attacker), MapNpc(MapNum).Npc(MapNpcNum).x, MapNpc(MapNum).Npc(MapNpcNum).y

4) Logo abaixo coloque:
Código:
SendMapNpcVitals GetPlayerMap(Attacker), MapNpcNum

Parte do Server acabada!

5) Agora abra o Client.vbp, que se localiza na pasta Client.

6) No modDirectDraw7, procure por:
Código:
Public Sub Render_Graphics

7) Nessa sub, procure por:
Código:
' Npcs
For I = 1 To MAX_MAP_NPCS
If MapNpc(I).Y = Y Then
Call BltNpc(I)
End If
Next

[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem] Substitua por:
Código:
' Npcs
For I = 1 To MAX_MAP_NPCS
' Draw out npc hp bars
Call BltNpcHP(I)
If MapNpc(I).Y = Y Then
Call BltNpc(I)
End If
Next

9) No mesmo mod, procure por:
Código:
Public Sub BltNpc

10) Abaixo do código coloque:
Código:
Public Sub BltNpcHP(ByVal Index As Long)
Dim X As Long, Y As Long, Sprite As Long, NpcNum As Long

NpcNum = MapNpc(Index).Num

If NpcNum = 0 Then
Exit Sub
End If

' Don't display the HP if the npc is at max hp
If MapNpc(Index).Vital(Vitals.HP) = Npc(NpcNum).HP Then
Exit Sub
End If

' Only display HP for npcs that we can attack
If Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_ATTACKONSIGHT And Npc(NpcNum).Behaviour <> NPC_BEHAVIOUR_ATTACKWHENATTACKED Then
Exit Sub
End If

Sprite = Npc(NpcNum).Sprite

' Calculate the X coordinate to place the name
X = MapNpc(Index).X * PIC_X + MapNpc(Index).XOffset

If Sprite < 1 Or Sprite > NumCharacters Then
Y = MapNpc(Index).Y * PIC_Y + MapNpc(Index).YOffset - 22
Else
Y = MapNpc(Index).Y * PIC_Y + MapNpc(Index).YOffset - (DDSD_Character(Sprite).lHeight) + 81
End If

' Draw the outside box
Call DDS_BackBuffer.SetFillColor(RGB(0, 0, 0))
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + 32), ConvertMapY(Y + 4))

' Draw the HP
Call DDS_BackBuffer.SetFillColor(RGB(0, 255, 0))
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((MapNpc(Index).Vital(Vitals.HP) / 32) / (Npc(NpcNum).HP / 32)) * 32)), ConvertMapY(Y + 4))
End Sub

Tutorial acabado.

Retirado de: Aldeia RPG
Ir para o topo Ir para baixo
https://universogamesmmo.forumeiros.com
 
[EO] Colocando barra de HP nos NPC
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» BARRA DE CODIGO
» Barra de HP e MP em cima do Player
» Barra de Notícias para seu habbo!
» Colocando DEV/Gm Tag
»  [EO] Colocando Status Online/Offline

Permissões neste sub-fórumNão podes responder a tópicos
Universo Games :: Criação de Jogos :: Eclipse Origens :: Tutorias-
Ir para: