Suporte ao desenvolvimento de jogos!


    Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Compartilhe
    avatar
    jadieljr
    Banido
    Banido

    Mensagens : 38
    Créditos : 31

    Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Mensagem por jadieljr em Dom Nov 13, 2011 1:02 am

    Primeiramente crie uma PictureBox no frmMain chamada "PicSentar" e em seguida coloque o seguinte code:

    Código:

    Dim B As ClsBuffer

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

    Procure por "' make sure they're not stunned" e emcima coloque o seguinte code:

    Código:

    If Player(MyIndex).Sit = 1 Then
      CanMove = False
      Exit Function
    End If

    Procurar por "Step As Byte" e embaixo adicionar:

    Código:
    Sit As Byte

    Procurar por "Call SetPlayerPK(i, Buffer.ReadLong)" e embaixo adicionar:

    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

    Código:
    Agora na Sub PlayerData procure por "Buffer.WriteLong GetPlayerPK(index)" e embaixo coloque:

    Agora na Sub PlayerData procure por "Buffer.WriteLong GetPlayerPK(index)" e embaixo 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

    Créditos
    Kintaro: por fazer o sistema e tutorial
    Jadiel: apenas por postar aki.
    avatar
    Nietore
    Lenda
    Lenda

    Medalhas :
    Mensagens : 861
    Créditos : 163

    Re: Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Mensagem por Nietore em Dom Nov 13, 2011 1:43 am

    Eu gosto desse tipo de sistema, é bem parecido com a vida real, seria como sentar-se para descançar (:

    +1 Cred.


    _________________


    Eu poderia ser a pessoa mais agradavel do mundo! mas optei por ser eu mesmo.
    avatar
    Faabinhuu ;
    Experiente
    Experiente

    Medalhas :
    Mensagens : 548
    Créditos : 166

    Re: Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Mensagem por Faabinhuu ; em Dom Nov 13, 2011 1:46 pm

    Gostei Successful +1
    avatar
    thales12
    Membro Ativo
    Membro Ativo

    Mensagens : 314
    Créditos : 108

    Re: Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Mensagem por thales12 em Seg Nov 14, 2011 2:34 pm

    Jadiel estou concertando os creditos !
    pos vc coloco errado ..


    _________________
    Meu fã ? Meu Amigo ? Entao Use !




    Minha Sign:


    Conteúdo patrocinado

    Re: Sistema de Sentar e Recuperar Hp e SP em Dobro!

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Nov 16, 2018 10:39 am