Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Ainda temos gente aqui?
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyQui 25 Nov 2021, 14:04 por Halt

» [Dúvida] Como tirar a porcentagem de esquiva
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptySex 19 Nov 2021, 17:14 por Halt

» Pokémon Genesis Online! (PGO)
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyQua 05 Jul 2017, 18:08 por Lexar

» Tileset Converter to MV
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptySex 12 maio 2017, 14:07 por Douggi

» Pack Resources, Sprites e etc
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyQua 23 Dez 2015, 12:30 por raydengv

» Download RPG Maker 2003 + RTP em português
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyTer 22 Dez 2015, 11:14 por ::KimMax::

» Fantasy Art Online
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyDom 18 Out 2015, 18:42 por daviih123

» Você vai ter medo do Nerve gear?
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptySáb 25 Jul 2015, 17:02 por Kirito-kun

» O Barato é louco
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptySáb 27 Jun 2015, 16:26 por Halt

» Download RPG Maker 2000 + RTP em português
sistema - Sistema de Sentar e Recuperar Hp e SP em Dobro! EmptyQui 21 maio 2015, 20:28 por Wismael


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir para baixo  Mensagem [Página 1 de 1]

Halt

Halt
Administrador
Administrador
jadieljr escreveu: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.

https://arenarpgmaker.forumeiros.com

Carlos

Carlos
Administrador
Administrador
Esse sistema é bem legal, eu já vi de um Harry Potter que eu jogava que o Player ia até o salão comunal, deitava nas camas e recuperava o HP e o SP.

+1

https://arenarpgmaker.forumeiros.com

Ver o tópico anterior Ver o tópico seguinte Ir para o topo  Mensagem [Página 1 de 1]

Permissões neste sub-fórum
Não podes responder a tópicos