Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o tema • Voltar para a ficha do tema
[Hells] Equipamento que muda a sprite (EO 2.0,3.0)
4 participantes
Página 1 de 1
[Hells] Equipamento que muda a sprite (EO 2.0,3.0)
Uma simples modificação que faz o jogador ficar com a sprite desejada enquanto
o equipamento estiver equipado.
Pedido feito por Akio
Client e Server - Side
no modTypes, na Private Type playerrec antes do end type adicione:
- Código:
SpriteOld as long
No modTypes, na Private Type ItemRec antes do end type adicione:
- Código:
Sprite as Long
Client - Side (apenas)
Na frmEditor_item cria 1frame, 1 hscroll e 1 label. Propriedades:
Frame:
Name: fraSprite
Caption: Sprite
Visible: False
HScroll:
Name: scrlSprite
Min: 0
Max: 500 (Ou o numero de sprites que você tem)
Label:
Name: lblSprite
Caption: Sprite: 0
Agora de dois cliques na scrlSprite e coloque:
- Código:
' If debug mode, handle error then exit out
If Options.Debug = 1 Then On Error GoTo errorhandler
lblSprite.Caption = "Sprite: " & scrlSprite.Value
Item(EditorIndex).Sprite = scrlSprite.Value
' Error handler
Exit Sub
errorhandler:
HandleError "scrlSprite_Change", "frmEditor_Item", Err.Number, Err.Description, Err.Source, Err.HelpContext
Err.Clear
Ainda na frmEditor_item de 2 cliques na cmbType, procure por:
- Código:
If (cmbType.ListIndex >= ITEM_TYPE_WEAPON) And (cmbType.ListIndex <= ITEM_TYPE_SHIELD) Then
Abaixo de fraEquipment.Visible = True coloque:
- Código:
fraSprite.Visible = True
abaixo de fraEquipment.Visible = False coloque:
- Código:
fraSprite.Visible = False
- Código:
With Item(EditorIndex)
frmEditor_Item.txtName.text = Trim$(.Name)
If .Pic > frmEditor_Item.scrlPic.Max Then .Pic = 0
frmEditor_Item.scrlPic.Value = .Pic
frmEditor_Item.cmbType.ListIndex = .Type
frmEditor_Item.scrlAnim.Value = .Animation
frmEditor_Item.txtDesc.text = Trim$(.Desc)
Em baixo adicione:
- Código:
frmEditor_Item.scrlSprite.Value = .Sprite
Server - Side (Apenas)
No modPlayer, na sub Sub CheckEquippedItems procure:
- Código:
Select Case i
Case Equipment.Weapon
If Item(itemNum).Type <> ITEM_TYPE_WEAPON Then SetPlayerEquipment Index, 0, i
Case Equipment.Armor
If Item(itemNum).Type <> ITEM_TYPE_ARMOR Then SetPlayerEquipment Index, 0, i
Case Equipment.Helmet
If Item(itemNum).Type <> ITEM_TYPE_HELMET Then SetPlayerEquipment Index, 0, i
Case Equipment.Shield
If Item(itemNum).Type <> ITEM_TYPE_SHIELD Then SetPlayerEquipment Index, 0, i
End Select
E troque por:
- Código:
Select Case i
Case Equipment.Weapon
If Item(itemNum).Type <> ITEM_TYPE_WEAPON Then SetPlayerEquipment Index, 0, i
Player(Index).Sprite = Item(itemNum).Sprite
SendPlayerData Index
Case Equipment.Armor
If Item(itemNum).Type <> ITEM_TYPE_ARMOR Then SetPlayerEquipment Index, 0, i
Player(Index).Sprite = Item(itemNum).Sprite
SendPlayerData Index
Case Equipment.Helmet
If Item(itemNum).Type <> ITEM_TYPE_HELMET Then SetPlayerEquipment Index, 0, i
Player(Index).Sprite = Item(itemNum).Sprite
SendPlayerData Index
Case Equipment.Shield
If Item(itemNum).Type <> ITEM_TYPE_SHIELD Then SetPlayerEquipment Index, 0, i
Player(Index).Sprite = Item(itemNum).Sprite
SendPlayerData Index
End Select
Ou apenas adicione Player(Index).Sprite = Item(itemNum).Sprite caso preferir.
Em modPlayer na sub UseItem procure por:
- Código:
SetPlayerEquipment index, itemNum, Weapon
E cima adicione:
- Código:
If Item(itemNum).Sprite > 0 Then
if GetPlayerEquipment(index, Weapon) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
Ainda na sub UseItem procure por:
- Código:
SetPlayerEquipment index, itemNum, Armor
E cima adicione:
- Código:
If Item(itemNum).Sprite > 0 Then
if GetPlayerEquipment(index, Armor) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
Ainda na sub UseItem procure por:
- Código:
SetPlayerEquipment index, itemNum, Helmet
E cima adicione:
- Código:
If Item(itemNum).Sprite > 0 Then
if GetPlayerEquipment(index, Helmet) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
Ainda na sub UseItem procure por:
- Código:
SetPlayerEquipment index, itemNum, Shield
E cima adicione:
- Código:
If Item(itemNum).Sprite > 0 Then
if GetPlayerEquipment(index, Shield) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
no modGameLogic, na Sub PlayerUnequipItem procure por:
- Código:
If TempPlayer(index).inParty > 0 Then SendPartyVitals TempPlayer(index).inParty, index
em baixo adicione:
- Código:
' Volta ele para sua sprite de antes de equipar o equipamento
If Item(EqSlot).Sprite > 0 Then
If Player(index).SpriteOld > 0 Then
Player(index).Sprite = Player(index).SpriteOld
SendPlayerData index
End If
End If
Não se esqueça de deletar todas as contas e itens antes de iniciar o servidor
Não equipe ao mesmo tempo varios equipamentos que trocam a sprite! Isso fara o
sistema bugar e acabar setando a sprite padrao errada. De preferencia use somente os equipamentos
de um mesmo tipo (SHIELD por exemplo) para fazer essa troca de sprite.
Última edição por GalaxyHells em Sex Out 05, 2018 8:26 pm, editado 12 vez(es)
_________________
GalaxyHells- Ocasional
- Mensagens : 196
Créditos : 22
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
Show! Hells mais um sistema topper pro tiozão aqui que n manja nada kkkk +1cred
Akio- Membro Ativo
- Mensagens : 353
Créditos : 35
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
ok vamos la
aqui esta faltando uma letra
trocar por
e aqui em
aqui esta faltando uma letra
- Código:
SpritOld as long
trocar por
- Código:
SpriteOld as long
e aqui em
- Código:
' add hp
- Código:
Case ITEM_TYPE_ARMOR
_________________
vem sempre aqui?
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
Mizuki escreveu:ok vamos la
aqui esta faltando uma letra
- Código:
SpritOld as long
trocar por
- Código:
SpriteOld as long
e aqui emesta jogando em item consume caso queiram colocar em armo ou em outros procura
- Código:
' add hp
ate mais seus lindos
- Código:
Case ITEM_TYPE_ARMOR
Corrigido, obrigado mizuki
_________________
GalaxyHells- Ocasional
- Mensagens : 196
Créditos : 22
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
o spriteold está salvando a sprite que o personagem está no momento
se você trocar de equipamento sem desequipar ele vai salvar a sprite antiga
e quando você desequipar o item ele não vai voltar pra sprite base
deveria ser algo assim, não sei se está correto não testei
If Item(itemNum).Sprite > 0 Then
if getplayerequipment(index,AQUI VOCÊ COLOCA O TIPO DO SLOT EX:WEAPON) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
se você trocar de equipamento sem desequipar ele vai salvar a sprite antiga
e quando você desequipar o item ele não vai voltar pra sprite base
deveria ser algo assim, não sei se está correto não testei
If Item(itemNum).Sprite > 0 Then
if getplayerequipment(index,AQUI VOCÊ COLOCA O TIPO DO SLOT EX:WEAPON) = 0 then
Player(Index).SpriteOld = Player(Index).Sprite
END IF
player(index).sprite = item(itemnum).sprite
SendPlayerData Index
End If
yWin- Novato
- Mensagens : 12
Créditos : 0
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
Bom eu estou usando dessa maneira, pela sprite da classe pra n haver problemas!
If Item(itemnum).Sprite > 0 Then
Player(index).SpriteOld = GetPlayerClass(index)
Player(index).Sprite = Item(itemnum).Sprite
SendPlayerData index
End If
If Item(itemnum).Sprite > 0 Then
Player(index).SpriteOld = GetPlayerClass(index)
Player(index).Sprite = Item(itemnum).Sprite
SendPlayerData index
End If
Akio- Membro Ativo
- Mensagens : 353
Créditos : 35
Ficha do personagem
Nível: 1
Experiência:
(0/0)
Vida:
(30/30)
Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)
também é funcional, porém o numero da classe tem que ser igual ao numero da sprite baseAkio escreveu:Bom eu estou usando dessa maneira, pela sprite da classe pra n haver problemas!
If Item(itemnum).Sprite > 0 Then
Player(index).SpriteOld = GetPlayerClass(index)
Player(index).Sprite = Item(itemnum).Sprite
SendPlayerData index
End If
yWin- Novato
- Mensagens : 12
Créditos : 0
Tópicos semelhantes
» [Hells] Mini Evento: Pergunta Rapida [EO X.X]
» [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]
» [Hells] Arvore de Habilidades
» [Hells] Boss Fight (EO)
» [Hells] Login Diario [EO 2.0+]
» [Hells] Ficar Invisivel para outros players (Admin) [EO 2.0, 3.0]
» [Hells] Arvore de Habilidades
» [Hells] Boss Fight (EO)
» [Hells] Login Diario [EO 2.0+]
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos