[Pedido] Barrinha de HP nos players. Alguem tem?
3 participantes
Página 1 de 1
[Pedido] Barrinha de HP nos players. Alguem tem?
Como o titulo do topico ja diz. Preciso do codigo para colocar as barrinha de hp no player. Eu vi o de npcs, mais ñ vi o de players.
Grato.
Grato.
Sih- Membro Junior
- Mensagens : 62
Tutorial Mini Barra De Hp e Mp Para Player
Responde a Resposta do amigo acima
Server
modServerTCP -> Sub SendVital
agora troque toda a Sub SendVital por essa
Agora Vamos
modPlayer -> Sub PlayerWarp
agora troque toda Sub PlayerWarp Por essa
Pronto Acabamos o Servidor Agora
Client
modDirectDraw7 -> Sub Render_Graphics
Procure na Sub Render_Graphics
agora troque por essa
Procure a Sub BltPlayer e Coleque issu Encima Dela
modHandleData -> Private Sub HandlePlayerHp
Troque Toda a Sub HandlePlayerHp Por issu
Troque essa outra Sub HandlePlayerMp Por essa
Pronta Acabou não ainda não Acabou Voce Pode Personalizar Sua Barra Como Asim Olha
Primeiramente Vamos novamente No Servidor>> modHandleData -> Private Sub HandlePlayerHp
Procure Por
e troque por
Resultado Final
>75% HP(Verde):
>50% HP <75% HP(Amarelo):
<50% HP(Vermelho):
Agora Sim Acabou
Creditos
Kimimaru : Desenvolveu o Sistema
Novur : Pela Customisação
Eu Magnata: Por Traduzir Tudo ^^
Server
modServerTCP -> Sub SendVital
agora troque toda a Sub SendVital por essa
- Código:
Sub SendVital(ByVal Index As Long, ByVal Vital As Vitals)
Dim Buffer As clsBuffer
Set Buffer = New clsBuffer
Select Case Vital
Case HP
Buffer.WriteLong SPlayerHp
Buffer.WriteLong Index
Buffer.WriteLong GetPlayerMaxVital(Index, Vitals.HP)
Buffer.WriteLong GetPlayerVital(Index, Vitals.HP)
Case MP
Buffer.WriteLong SPlayerMp
Buffer.WriteLong Index
Buffer.WriteLong GetPlayerMaxVital(Index, Vitals.MP)
Buffer.WriteLong GetPlayerVital(Index, Vitals.MP)
Case SP
Buffer.WriteLong SPlayerSp
Buffer.WriteLong GetPlayerMaxVital(Index, Vitals.SP)
Buffer.WriteLong GetPlayerVital(Index, Vitals.SP)
End Select
If Vital <> SP Then
Call SendDataToMap(GetPlayerMap(Index), Buffer.ToArray())
Else
Call SendDataTo(Index, Buffer.ToArray())
End If
Set Buffer = Nothing
End Sub
Agora Vamos
modPlayer -> Sub PlayerWarp
agora troque toda Sub PlayerWarp Por essa
- Código:
Sub PlayerWarp(ByVal Index As Long, ByVal MapNum As Long, ByVal x As Long, ByVal y As Long)
Dim OldMap As Long
Dim I As Long
Dim Buffer As clsBuffer
' Check for subscript out of range
If IsPlaying(Index) = False Or MapNum <= 0 Or MapNum > MAX_MAPS Then
Exit Sub
End If
' Check if you are out of bounds
If x > Map(MapNum).MaxX Then x = Map(MapNum).MaxX
If y > Map(MapNum).MaxY Then y = Map(MapNum).MaxY
TempPlayer(Index).Target = 0
TempPlayer(Index).TargetType = TARGET_TYPE_NONE
' Save old map to send erase player data to
OldMap = GetPlayerMap(Index)
If OldMap <> MapNum Then
Call SendLeaveMap(Index, OldMap)
End If
Call SetPlayerMap(Index, MapNum)
Call SetPlayerX(Index, x)
Call SetPlayerY(Index, y)
' send equipment of all people on new map
If GetTotalMapPlayers(MapNum) > 0 Then
For I = 1 To MAX_PLAYERS
If IsPlaying(I) Then
If GetPlayerMap(I) = MapNum Then
SendMapEquipmentTo I, Index
' Send HP and MP of players on new map
SendVital I, Vitals.HP
SendVital I, Vitals.MP
End If
End If
Next
End If
' Now we check if there were any players left on the map the player just left, and if not stop processing npcs
If GetTotalMapPlayers(OldMap) = 0 Then
PlayersOnMap(OldMap) = NO
' Regenerate all NPCs' health
For I = 1 To MAX_MAP_NPCS
If MapNpc(OldMap).Npc(I).Num > 0 Then
MapNpc(OldMap).Npc(I).Vital(Vitals.HP) = GetNpcMaxVital(MapNpc(OldMap).Npc(I).Num, Vitals.HP)
End If
Next
End If
' Sets it so we know to process npcs on the map
PlayersOnMap(MapNum) = YES
TempPlayer(Index).GettingMap = YES
Set Buffer = New clsBuffer
Buffer.WriteLong SCheckForMap
Buffer.WriteLong MapNum
Buffer.WriteLong Map(MapNum).Revision
SendDataTo Index, Buffer.ToArray()
Set Buffer = Nothing
End Sub
Pronto Acabamos o Servidor Agora
Client
modDirectDraw7 -> Sub Render_Graphics
Procure na Sub Render_Graphics
- Código:
' Players
For I = 1 To MAX_PLAYERS
If IsPlaying(I) And GetPlayerMap(I) = GetPlayerMap(MyIndex) Then
If Player(I).Y = Y Then
Call BltPlayer(I)
End If
End If
Next
agora troque por essa
- Código:
' Players
For I = 1 To MAX_PLAYERS
If IsPlaying(I) And GetPlayerMap(I) = GetPlayerMap(MyIndex) Then
' Player mini HP and MP bars
Call BltPlayerHP(I)
Call BltPlayerMP(I)
If Player(I).Y = Y Then
Call BltPlayer(I)
End If
End If
Next
Procure a Sub BltPlayer e Coleque issu Encima Dela
- Código:
Public Sub BltPlayerHP(ByVal Index As Long)
Dim X As Long, Y As Long, Sprite As Long
X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset
Sprite = GetPlayerSprite(Index)
If Sprite < 1 Or Sprite > NumCharacters Then
Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 25
Else
Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (DDSD_Character(Sprite).lHeight) + 7
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 bar
Call DDS_BackBuffer.SetFillColor(RGB(0, 255, 0))
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.HP) / 32) / (GetPlayerMaxVital(Index, Vitals.HP) / 32)) * 32)), ConvertMapY(Y + 4))
End Sub
Public Sub BltPlayerMP(ByVal Index As Long)
Dim X As Long, Y As Long, Sprite As Long
X = GetPlayerX(Index) * PIC_X + Player(Index).XOffset
Sprite = GetPlayerSprite(Index)
If Sprite < 1 Or Sprite > NumCharacters Then
Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - 20
Else
Y = GetPlayerY(Index) * PIC_Y + Player(Index).YOffset - (DDSD_Character(Sprite).lHeight) + 12
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 bar
Call DDS_BackBuffer.SetFillColor(RGB(148, 0, 211))
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.MP) / 32) / (GetPlayerMaxVital(Index, Vitals.MP) / 32)) * 32)), ConvertMapY(Y + 4))
End Sub
modHandleData -> Private Sub HandlePlayerHp
Troque Toda a Sub HandlePlayerHp Por issu
- Código:
Private Sub HandlePlayerHp(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim Buffer As clsBuffer
Dim I As Long
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
I = Buffer.ReadLong
Player(I).MaxHP = Buffer.ReadLong
Call SetPlayerVital(I, Vitals.HP, Buffer.ReadLong)
If GetPlayerMaxVital(I, Vitals.HP) > 0 And I = MyIndex Then
'frmMainGame.lblHP.Caption = Int(GetPlayerVital(I, Vitals.HP) / GetPlayerMaxVital(I, Vitals.HP) * 100) & "%"
frmMainGame.lblHP.Caption = GetPlayerVital(I, Vitals.HP) & "/" & GetPlayerMaxVital(I, Vitals.HP)
' hp bar
frmMainGame.imgHPBar.Width = Int(((GetPlayerVital(I, Vitals.HP) / 169) / (GetPlayerMaxVital(I, Vitals.HP) / 169)) * 169)
End If
End Sub
Troque essa outra Sub HandlePlayerMp Por essa
- Código:
Private Sub HandlePlayerMp(ByVal Index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
Dim Buffer As clsBuffer
Dim I As Long
Set Buffer = New clsBuffer
Buffer.WriteBytes Data()
I = Buffer.ReadLong
Player(I).MaxMP = Buffer.ReadLong
Call SetPlayerVital(I, Vitals.MP, Buffer.ReadLong)
If GetPlayerMaxVital(I, Vitals.MP) > 0 And I = MyIndex Then
'frmMainGame.lblMP.Caption = Int(GetPlayerVital(I, Vitals.MP) / GetPlayerMaxVital(I, Vitals.MP) * 100) & "%"
frmMainGame.lblMP.Caption = GetPlayerVital(I, Vitals.MP) & "/" & GetPlayerMaxVital(I, Vitals.MP)
' mp bar
frmMainGame.imgMPBar.Width = Int(((GetPlayerVital(I, Vitals.MP) / 169) / (GetPlayerMaxVital(I, Vitals.MP) / 169)) * 169)
End If
End Sub
Pronta Acabou não ainda não Acabou Voce Pode Personalizar Sua Barra Como Asim Olha
Primeiramente Vamos novamente No Servidor>> modHandleData -> Private Sub HandlePlayerHp
Procure Por
- Código:
' Draw the HP bar
Call DDS_BackBuffer.SetFillColor(RGB(0, 255, 0))
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.HP) / 32) / (GetPlayerMaxVital(Index, Vitals.HP) / 32)) * 32)), ConvertMapY(Y + 4))
e troque por
- Código:
Dim HPPercent As Integer
HPPercent = Int(((GetPlayerVital(Index, Vitals.HP) / 32) / (GetPlayerMaxVital(Index, Vitals.HP) / 32)) * 32)
'Checks to see if the amount of hp you have is greater than (>) 75%. (0.75 * 32) = 24. 32 is the width of the hp bar.
If HPPercent > 24 Then
Call DDS_BackBuffer.SetFillColor(RGB(0, 255, 0)) 'Changes the HP bar's color to GREEN. 0 Red, 255 Green, 0 Blue.
'Check if the HP you have is greater than 50%, but if it's greater than 75% too, it will go to green in the code above.
'0.50 * 32 = 16. 0.50 represents the % we want, 50% and 32 represents the width of the hp bar.
ElseIf HPPercent > 16 Then
Call DDS_BackBuffer.SetFillColor(QBColor(Yellow)) 'Changes the HP Bar's color to YELLOW. QBColor(Yellow) returns yellow.
'Check if the HP you have is less than 50%.
'Anything less than 50% (16 pixels) is red.
ElseIf HPPercent < 16 Then
Call DDS_BackBuffer.SetFillColor(RGB(255, 0, 0)) ' Changes the HP bar's color to RED. RGB value of 255 red, 0 green, 0 blue.
End If
'This just draws the filling of the HP bar.
Call DDS_BackBuffer.DrawBox(ConvertMapX(X), ConvertMapY(Y), ConvertMapX(X + Int(((GetPlayerVital(Index, Vitals.HP) / 32) / (GetPlayerMaxVital(Index, Vitals.HP) / 32)) * 32)), ConvertMapY(Y + 4))
Resultado Final
>75% HP(Verde):
>50% HP <75% HP(Amarelo):
<50% HP(Vermelho):
Agora Sim Acabou
Creditos
Kimimaru : Desenvolveu o Sistema
Novur : Pela Customisação
Eu Magnata: Por Traduzir Tudo ^^
Ian- Membro Veterano
- Mensagens : 1238
Re: [Pedido] Barrinha de HP nos players. Alguem tem?
Oloco nem presisava desse Pedido pois era so dar uma olhada no senção de tutorias que voce ia ver que ja tem ^^
Re: [Pedido] Barrinha de HP nos players. Alguem tem?
Agora ja Postei mallz =/
Ian- Membro Veterano
- Mensagens : 1238
Re: [Pedido] Barrinha de HP nos players. Alguem tem?
Assunto resolvido adm tranca o post e move ele.
Sih- Membro Junior
- Mensagens : 62
Tópicos semelhantes
» [PEDIDO] GALERA TO QNEM LOCO PROCURANDO ESSE SISTEMA: VER PLAYERS DE SUA GUILD ONLINE!
» [SUPORTE]Server quando entra 7 players quando alguem tenta entra so fica carregando e não é dado,rs.
» pedido, alguem ae ajd
» [PEDIDO] Alguem ve se meu server ta on?
» [PEDIDO] Alguem Me Ajuda Aquie?!
» [SUPORTE]Server quando entra 7 players quando alguem tenta entra so fica carregando e não é dado,rs.
» pedido, alguem ae ajd
» [PEDIDO] Alguem ve se meu server ta on?
» [PEDIDO] Alguem Me Ajuda Aquie?!
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
Dom 08 Abr 2018, 18:40 por JorgeZinhoo002
» Ojkjeeeee
Seg 10 Out 2016, 23:19 por Frozen
» Naruto Great Ninja Batle
Dom 09 Out 2016, 14:29 por GuiinhoLP
» Recrutamento de um Designer para jogo de CDZ.
Sex 23 Set 2016, 18:37 por newbie123
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:11 por Eduardo
» Serviços de suporte maker( Programação , Design , PixelArt ) E Vendas de Jogos
Qui 22 Set 2016, 20:09 por Eduardo
» Projeto Dbz
Qua 31 Ago 2016, 23:46 por 157
» Avaliação - Sprites Naruto
Qua 31 Ago 2016, 17:09 por 157
» [Sprites] DBZ (Plix)
Qua 31 Ago 2016, 14:13 por 157
» Super Pack - Bleach V.2
Qua 31 Ago 2016, 13:02 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:04 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:03 por 157
» [PEDIDO][PROJETO][RECRUTAMENTO] DYNISTYGAMES
Ter 30 Ago 2016, 10:02 por 157
» [Pedido] Contador de resets na FrmMain
Sáb 13 Ago 2016, 17:45 por killers97
» [Recrutamento]
Qua 10 Ago 2016, 23:09 por Monsters
» Ajuda erro no Cliente e Servidor do EEB 2.6!
Qua 20 Jul 2016, 19:53 por Binholx
» Como criar tilesets para Eclipse Origins 3.0 (POKÉMON)
Qua 29 Jun 2016, 19:46 por Sir Aaron
» Recursos Pokemons
Qua 29 Jun 2016, 19:34 por Sir Aaron
» erro frm flash
Qua 25 maio 2016, 13:51 por vava123
» Pedido - Pack de star wars
Qui 19 maio 2016, 05:06 por edsonpet
» [Ajuda] Sobre como por o servidor on por ip fixo
Ter 17 maio 2016, 16:14 por vava123
» Illusion Dimension - O Misterio do ID: BETA TESTE ONLINE
Sex 06 maio 2016, 20:02 por LksFlorencio
» [NSME] Naruto Shinobi Maker Engine
Qua 23 Mar 2016, 15:11 por luana1457
» Script /base,/casa Igual DBZ Forces
Dom 21 Fev 2016, 07:34 por JorgeZinhoo002
» [Pedido]Colar Tsunade item sprite eclipse origin
Qui 21 Jan 2016, 07:38 por lawllietbr
» [Pedido] Elysium
Sáb 19 Dez 2015, 11:31 por luana1457
» Naruto - Recruta
Ter 15 Dez 2015, 18:40 por Uchiha ~
» [Avaliação] - Kirito from Sword Art Online; Red and Pikachu from Pokemon.
Qua 25 Nov 2015, 13:43 por Thanakii
» [Avaliação] - Kenpachi Zaraki from Bleach; Libra Shiryu From Saint Seiya.
Qua 25 Nov 2015, 12:55 por Thanakii
» Demonstração de Sprites (Á VENDA!)
Qua 25 Nov 2015, 12:40 por Thanakii
» [Sistema de Reset]Para Eclipse .
Ter 24 Nov 2015, 16:51 por VithorUchi
» Cada Guild Nascer em Certo Mapa
Qui 12 Nov 2015, 06:13 por fabiofeijó_HIT
» Dragon Ball z Fusion A Grande Volta
Qui 29 Out 2015, 15:17 por fabiofeijó_HIT
» Ajuda com Ip fixo
Seg 26 Out 2015, 16:07 por GalaxyHells15
» Como Fazer um GUI no Eclipse Origins
Dom 18 Out 2015, 22:10 por Jeanleee
» Shisui Susanoo
Dom 18 Out 2015, 20:23 por Jeanleee
» Fantasy Art Online
Dom 18 Out 2015, 16:41 por daviih123
» Ajuda !!
Seg 05 Out 2015, 12:13 por andersonzika
» como passar o usuário e senha para o MainMenu?
Seg 28 Set 2015, 22:03 por Bëzerk
» Ru time ero 13 Type mismatch
Seg 28 Set 2015, 09:08 por andredarle
» Jarvis 1.3 Download
Qua 23 Set 2015, 18:42 por soares125
» [Avaliação/Disponibilização]Árvore 64x64
Qua 23 Set 2015, 15:15 por Over~
» Mlk's Zikas Signatures
Ter 22 Set 2015, 21:15 por Aikawa Reborn'
» Pedido de Sistemas
Dom 20 Set 2015, 18:05 por cleyton_05
» [AjudaEEB]Gerador de EXP
Qua 16 Set 2015, 14:04 por Over~
» [Avaliar] Base, Humano e Goblin.
Seg 14 Set 2015, 22:51 por .iBlaz3.
» Fabrica do Tio Cronos!
Dom 13 Set 2015, 21:31 por [ADM]Cronos
» [PixelArt] Minion - Meu malvado favorito
Dom 13 Set 2015, 12:51 por [ADM]Cronos
» [Avaliar] Goku Dragon Ball Z
Qua 05 Ago 2015, 21:36 por Setrux