Suporte no desenvolvimento de jogos


    [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    GalaxyHells
    GalaxyHells
    Ocasional
    Ocasional

    Mensagens : 189
    Créditos : 17
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue0/0[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue30/30[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (30/30)

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por GalaxyHells em Qua Ago 29, 2018 4:51 pm

    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
    No modGameLogic procure por:

    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)


    _________________
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) 90yel0
    Akio
    Akio
    Membro Ativo
    Membro Ativo

    Mensagens : 336
    Créditos : 27
    Cash : 5

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue0/0[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue30/30[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (30/30)

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por Akio em Qua Ago 29, 2018 4:59 pm

    Show! Hells mais um sistema topper pro tiozão aqui que n manja nada kkkk +1cred


    _________________
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Sem-tz10
    Mizuki
    Mizuki
    Novato
    Novato

    Mensagens : 23
    Créditos : 4
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue0/0[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue30/30[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (30/30)

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por Mizuki em Qui Ago 30, 2018 4:24 am

    ok vamos la 

    aqui esta faltando uma letra 

    Código:
    SpritOld as long


    trocar por 

    Código:
    SpriteOld as long



    e aqui em 

    Código:
    ' add hp
    esta jogando em item consume  caso queiram colocar em armo ou em outros procura

    Código:
    Case ITEM_TYPE_ARMOR
    ate mais seus lindos  I love you


    _________________
    vem sempre aqui?  I love you
    GalaxyHells
    GalaxyHells
    Ocasional
    Ocasional

    Mensagens : 189
    Créditos : 17
    Cash : 0

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue0/0[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue30/30[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (30/30)

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por GalaxyHells em Qui Ago 30, 2018 11:29 am

    @Mizuki escreveu:ok vamos la 

    aqui esta faltando uma letra 

    Código:
    SpritOld as long


    trocar por 

    Código:
    SpriteOld as long



    e aqui em 

    Código:
    ' add hp
    esta jogando em item consume  caso queiram colocar em armo ou em outros procura

    Código:
    Case ITEM_TYPE_ARMOR
    ate mais seus lindos  I love you

    Corrigido, obrigado mizuki


    _________________
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) 90yel0
    yWin
    yWin
    Novato
    Novato

    Mensagens : 8
    Créditos : 0
    Cash : 0

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por yWin em Sex Ago 31, 2018 11:30 am

    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
    Akio
    Akio
    Membro Ativo
    Membro Ativo

    Mensagens : 336
    Créditos : 27
    Cash : 5

    Ficha do personagem
    Nível: 1
    Experiência:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue0/0[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (0/0)
    Vida:
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Left_bar_bleue30/30[Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty_bar_bleue  (30/30)

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por Akio em Sex Ago 31, 2018 12:17 pm

    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


    _________________
    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Sem-tz10
    yWin
    yWin
    Novato
    Novato

    Mensagens : 8
    Créditos : 0
    Cash : 0

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por yWin em Sex Ago 31, 2018 2:39 pm

    @Akio 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
    também é funcional, porém o numero da classe tem que ser igual ao numero da sprite base

    Conteúdo patrocinado

    [Hells] Equipamento que muda a sprite (EO 2.0,3.0) Empty Re: [Hells] Equipamento que muda a sprite (EO 2.0,3.0)

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sab Set 21, 2019 5:01 pm