Mudar Classe Com Item
Client~Side
No frmEditor_Item add:
1: Frame (Nome: fraClasse, Visible = False)
Dentro desse Frame add:
1: Scroll_Bar (Nome: scrlClasse, Min: 1, Max: "Numero de Classes do Seu Jogo")
Dentro dessa Scroll Add:
- Código:
lblClasse.Caption = Trim$(Class(scrlClasse.Value).Name)
Item(EditorIndex).Classe = scrlClasse.Value
1: Label (Nome: lblClasse, Caption: "Nome da Primeira Classe")
- Exemplo:
Ainda Na frmEditor_Item, no cmbType.list add:
- Código:
Classe
Dê um Duplo Clique na cmbType e Add:
- Código:
'///// - Mudar Classe - ////////////////////
If cmbType.ListIndex = ITEM_TYPE_CLASSE Then
fraClasse.visible = True
Else
fraClasse.visible = False
End If
'///////////////////////////////////////////
Em modConstants Procure Por:
- Código:
Public Const ITEM_TYPE_NONE As Byte = 0
No Final da Item_TYPE add:
- Código:
Public Const ITEM_TYPE_CLASSE As Byte = "Numero Depois do Numero Final da Item_Type"
Em modType Procure por:
- Código:
Private Type ItemRec
No Final da ItemRec add:
- Código:
Classe As Byte
Procure na frmEditor_Item :
- Código:
Private Sub Form_Load()
Adicione abaixo das outras
- Código:
scrlClasse.max = Max_Classes
Cliente Pronto!
Server~Side
Em modConstants Procure Por:
- Código:
Public Const ITEM_TYPE_NONE As Byte = 0
No Final da Item_TYPE add:
- Código:
Public Const ITEM_TYPE_CLASSE As Byte = "Numero Depois do Numero Final da Item_Type"
Em modType Procure por:
- Código:
Private Type ItemRec
No Final da ItemRec add:
- Código:
Classe As Byte
Na modPlayer Procure:
- Código:
Public Sub UseItem(ByVal Index As Long, ByVal invNum As Long)
No Final Dela onde Tem:
- Código:
End Select
End If
End Sub
Acima Disso Adicione:
- Código:
Case ITEM_TYPE_CLASSE '//// Classe Item /////
' stat requirements
For i = 1 To Stats.Stat_Count - 1
If GetPlayerRawStat(index, i) < Item(itemNum).Stat_Req(i) Then
PlayerMsg index, "Você não atende aos requisitos de status para equipar este item.", BrightRed
Exit Sub
End If
Next
' level requirement
If GetPlayerLevel(index) < Item(itemNum).LevelReq Then
PlayerMsg index, "Você não atende ao requisito de nível para equipar este item.", BrightRed
Exit Sub
End If
' class requirement
If Item(itemNum).ClassReq > 0 Then
If Not GetPlayerClass(index) = Item(itemNum).ClassReq Then
PlayerMsg index, "Você não atende ao requisito de classe para equipar este item.", BrightRed
Exit Sub
End If
End If
' access requirement
If Not GetPlayerAccess(index) >= Item(itemNum).AccessReq Then
PlayerMsg index, "Você não atende ao requisito de acesso para equipar este item.", BrightRed
Exit Sub
End If
' Função do sistema
SetPlayerClass Index, Item(itemNum).Classe
If Player(index).Sex = SEX_MALE Then
SetPlayerSprite index, Class(GetPlayerClass(index)).MaleSprite(1)
Else
SetPlayerSprite index, Class(GetPlayerClass(index)).FemaleSprite(1)
End If
' Salvar e enviar dados do jogador
SavePlayer Index
SendPlayerData Index
' send the sound
SendAnimation GetPlayerMap(Index), Item(itemNum).Animation, GetPlayerX(Index), GetPlayerY(Index)
SendPlayerSound Index, GetPlayerX(Index), GetPlayerY(Index), SoundEntity.seItem, itemNum
Call TakeInvItem(Index, Player(Index).Inv(invNum).Num, 1)
'//////////////////////////////
Pronto Agora Só Testar!
Última edição por Dooolly em Sex Jan 30, 2015 10:20 pm, editado 3 vez(es)