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

WebRPG


 
InícioInício  PortalPortal  Últimas imagensÚltimas imagens  ProcurarProcurar  RegistarRegistar  EntrarEntrar  

 

 Sistema de sentar para recuperar HP e MP

Ir para baixo 
2 participantes
AutorMensagem
シャイニング
Administrador
Administrador
シャイニング


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

Sistema de sentar para recuperar HP e MP Empty
MensagemAssunto: Sistema de sentar para recuperar HP e MP   Sistema de sentar para recuperar HP e MP I_icon_minitimeQua 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

Ir para o topo Ir para baixo
http://www.webrpg.directorioforuns.com
FuckStyle

FuckStyle


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

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

Neste sistema , tem a parte de quando sentar mudar de sprite ? rabbit
Ir para o topo Ir para baixo
シャイニング
Administrador
Administrador
シャイニング


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

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

Sim,quando o jogador senta,a sprite dele é dubstituida por uma sprite sentada.
Ir para o topo Ir para baixo
http://www.webrpg.directorioforuns.com
Conteúdo patrocinado





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

Ir para o topo Ir para baixo
 
Sistema de sentar para recuperar HP e MP
Ir para o topo 
Página 1 de 1
 Tópicos semelhantes
-
» Sistema De VIP
» Sistema De Spell Linear
» Sistema De Clima
» Sistema De Buff
» Sistema De Cash

Permissões neste sub-fórumNão podes responder a tópicos
WebRPG :: Eclipse Origins :: Tutoriais Eclipse Origins-
Ir para: