WebRPG


 
InícioInício  PortalPortal  CalendárioCalendário  FAQFAQ  BuscarBuscar  MembrosMembros  GruposGrupos  Registrar-seRegistrar-se  Conectar-seConectar-se  

Compartilhe | 
 

 Sistema de sentar para recuperar HP e MP

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
シャイニング
Administrador
Administrador
avatar

Mensagens : 19
Data de inscrição : 19/11/2011
Idade : 21
Localização : Fortaleza-ceará

MensagemAssunto: Sistema de sentar para recuperar HP e MP   Qua Dez 07, 2011 5:14 pm

Sistema: Sentar e recuperar HP e MP
Como funciona: O Jogador podera recuperar seu HP sentando,e então o personagem ficará sentado,como se estivesse descançando,enquanto seu life e sua energia é recuperada

~ Requerimentos:
Visual Basic.
Uma ou mais mãos.
Sprites sentadas.

Abra o a parte do Client no Visual Basic Versão 6

Na parte de Forms abra sua frmMain e crie um PictureBox com o nome Picsentar

Clique duas vezes e adicione o seguinte e código:
Código:
 Dim B As ClsBuffer

Set B = New ClsBuffer
B.WriteLong CSit
SendData B.ToArray()
Set B = Nothing

Aperte Crtl F e procure a seguinte frase make sure they're not stunned

acima disso coloque o seguinte código:
Código:
 If Player(MyIndex).Sit = 1 Then
  CanMove = False
  Exit Function
End If

Procure por Step As Byte abaixo disto adicione :
Código:
Sit As Byte
Procure por Call SetPlayerPK(i, Buffer.ReadLong) e abaixo adicione:
Código:
Player(i).Sit = Buffer.ReadByte

Agora procure por "' Make sure CMSG_COUNT is below everything else" e em cima coloque:
Código:
CSit


Em seguida vá ao Server Side e repita o passo anterior

Agora procure por HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave) e embaixo coloque:

Código:
HandleDataSub(CSit) = GetAddress(AddressOf HandleSit)

E no final do modHandleData adicione a seguinte Sub:

Código:
Sub HandleSit(ByVal index As Long, ByRef Data() As Byte, ByVal StartAddr As Long, ByVal ExtraVar As Long)
    Dim i As Long
    With Player(index)
    If .Sit = 1 Then
    If .Sprite = S Then .Sprite = N 'S = Numero da Sprite a ficar sentado; N = Numero da Sprite a ficar normal
    End If
    If .Sit = 0 Then
    .Sit = 1
    If .Sprite = S Then .Sprite = N ' N = Numero da Sprite a ficar sentado; S = Numero da Sprite a ficar normal
    End If
    End With
 
    For i = 1 To Player_HighIndex
      SendPlayerData i
    Next
 
    SavePlayer index
End Sub

Agora na Sub PlayerData procure por "Buffer.WriteLong GetPlayerPK(index)" e abaixo coloque:

Código:
Buffer.WriteByte Player(index).Sit


No Type PlayerRec procurar por "Dir As Byte" e adicionar em baixo:

Código:
Sit As Byte

Na Sub AddChar procurar por "Player(index).Class = ClassNum" e embaixo por:

Código:
Player(index).Sit = 0

Procurar a Sub "UpdatePlayerVitals" e troca-la inteira por essa:
Código:
Private Sub UpdatePlayerVitals()
Dim i As Long
    For i = 1 To Player_HighIndex
        If IsPlaying(i) Then
            If Not TempPlayer(i).stopRegen Then
                If GetPlayerVital(i, Vitals.HP) <> GetPlayerMaxVital(i, Vitals.HP) Then
                    Call SetPlayerVital(i, Vitals.HP, GetPlayerVital(i, Vitals.HP) + GetPlayerVitalRegen(i, Vitals.HP))
                    If Player(i).Sit = 1 Then Call SetPlayerVital(i, Vitals.HP, GetPlayerVital(i, Vitals.HP) + (GetPlayerVitalRegen(i, Vitals.HP) + (GetPlayerVitalRegen(i, Vitals.HP) * 0.4)))
                    Call SendVital(i, Vitals.HP)
                    ' send vitals to party if in one
                    If TempPlayer(i).inParty > 0 Then SendPartyVitals TempPlayer(i).inParty, i
                End If
 
                If GetPlayerVital(i, Vitals.MP) <> GetPlayerMaxVital(i, Vitals.MP) Then
                    Call SetPlayerVital(i, Vitals.MP, GetPlayerVital(i, Vitals.MP) + GetPlayerVitalRegen(i, Vitals.MP))
                    If Player(i).Sit = 1 Then Call SetPlayerVital(i, Vitals.MP, GetPlayerVital(i, Vitals.MP) + (GetPlayerVitalRegen(i, Vitals.MP) + (GetPlayerVitalRegen(i, Vitals.MP) * 0.4)))
                    Call SendVital(i, Vitals.MP)
                    ' send vitals to party if in one
                    If TempPlayer(i).inParty > 0 Then SendPartyVitals TempPlayer(i).inParty, i
                End If
            End If
        End If
    Next
End Sub


Algum Erro?Não conseguiu fazer? Poste sua dúvida se possivel uma screen shot.

Kintaro - Fez o sistema
Minato - Postar

Voltar ao Topo Ir em baixo
Ver perfil do usuário http://www.webrpg.forumeiros.com
FuckStyle

avatar

Mensagens : 23
Data de inscrição : 07/12/2011

MensagemAssunto: Re: Sistema de sentar para recuperar HP e MP   Qua Dez 07, 2011 5:16 pm

Neste sistema , tem a parte de quando sentar mudar de sprite ? rabbit
Voltar ao Topo Ir em baixo
Ver perfil do usuário
シャイニング
Administrador
Administrador
avatar

Mensagens : 19
Data de inscrição : 19/11/2011
Idade : 21
Localização : Fortaleza-ceará

MensagemAssunto: Sistema de sentar para recuperar HP e MP   Qua Dez 07, 2011 5:21 pm

Sim,quando o jogador senta,a sprite dele é dubstituida por uma sprite sentada.
Voltar ao Topo Ir em baixo
Ver perfil do usuário http://www.webrpg.forumeiros.com
Conteúdo patrocinado




MensagemAssunto: Re: Sistema de sentar para recuperar HP e MP   

Voltar ao Topo Ir em baixo
 
Sistema de sentar para recuperar HP e MP
Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 
Página 1 de 1
 Tópicos similares
-
» Sistema de pontos para usuários
» Ajuda para recuperar meu forum
» como-por-sistema-de-alerta-para-usuarios-do-meu-forum
» [Resolvido] Como criar um sistema de emblemas para meu fórum
» Criar um sistema de navegação para imagens

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
WebRPG :: Eclipse Origins :: Tutoriais Eclipse Origins-
Ir para: