Primeiramente crie uma PictureBox no frmMain chamada "PicSentar" e em seguida coloque o seguinte code:
Procure por "' make sure they're not stunned" e emcima coloque o seguinte code:
Procurar por "Step As Byte" e embaixo adicionar:
Procurar por "Call SetPlayerPK(i, Buffer.ReadLong)" e embaixo adicionar:
Agora procure por "' Make sure CMSG_COUNT is below everything else" e em cima coloque:
Em seguida vá ao Server Side e repita o passo anterior
Agora procure por "HandleDataSub(CPartyLeave) = GetAddress(AddressOf HandlePartyLeave)" e embaixo coloque:
E no final do modHandleData adicione a seguinte Sub:
Agora na Sub PlayerData procure por "Buffer.WriteLong GetPlayerPK(index)" e embaixo coloque:
No Type PlayerRec procurar por "Dir As Byte" e adicionar em baixo:
'Na Sub AddChar procurar por "Player(index).Class = ClassNum" e embaixo por:
Procurar a Sub "UpdatePlayerVitals" e troca-la inteira por essa:
Créditos
Kintaro: por fazer o sistema e tutorial
Jadiel: apenas por postar aki.
- 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.