Suporte ao desenvolvimento de jogos!


    Trocar Sprite por Item

    Compartilhe
    avatar
    Ricardo
    Ocasional
    Ocasional

    Mensagens : 156
    Créditos : 69

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Trocar Sprite por Item

    Mensagem por Ricardo em Ter Fev 14, 2012 8:34 am

    Client~Side

    Na frmEditor_Item crie uma label e um scrollBox com as seguintes configurações:

    Label
    Name: lblSprite
    Caption: Sprite: Não mudar

    ScrollBox
    Name: scrlSprite

    Dentro do ScrllBox adicione:

    Código:
        ' If debug mode, handle error then exit out
        If Options.Debug = 1 Then On Error GoTo errorhandler
       
        lblSprite.Caption = "Sprite: " & scrlLevelReq
        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
        Exit Sub

    Na cmbType adicione no final da list:

    Trocar Sprite

    Procure por:

    Código:
    Public Const ITEM_TYPE_SPELL As Byte = 13

    E abaixo adicione:

    Código:
    Public Const ITEM_TYPE_SPRITE As Byte = 14

    Procure por:

    Código:
            frmEditor_Item.scrlRarity.Value = .Rarity

    Abaixo adiciione:

    Código:
            frmEditor_Item.scrlSprite.Value = .Sprite

    No final da Private Type ItemRec, antes do End Type, adicione:

    Código:
        Sprite As Long

    Serve~side

    No final da Private Type ItemRec, antes do End Type, adicione:

    Código:
        Sprite As Long

    Procure por:

    Código:
    Public Const ITEM_TYPE_SPELL As Byte = 13

    E abaixo adicione:

    Código:
    Public Const ITEM_TYPE_SPRITE As Byte = 14

    Procure por:

    Código:
                Case ITEM_TYPE_SPELL
               
                    ' 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 tem os status requeridos para equipar esse equipamento.", BrightRed
                            Exit Sub
                        End If
                    Next
                   
                    ' level requirement
                    If GetPlayerLevel(index) < Item(itemnum).LevelReq Then
                        PlayerMsg index, "Você não tem o level requerido para usar esse 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 tem a classe necessaria para usar esse item.", BrightRed
                            Exit Sub
                        End If
                    End If
                   
                    ' access requirement
                    If Not GetPlayerAccess(index) >= Item(itemnum).AccessReq Then
                        PlayerMsg index, "Você não tem o acesso requerido para usar esse item.", BrightRed
                        Exit Sub
                    End If
                   
                    ' Get the spell num
                    n = Item(itemnum).Data1

                    If n > 0 Then

                        ' Make sure they are the right class
                        If Spell(n).ClassReq = GetPlayerClass(index) Or Spell(n).ClassReq = 0 Then
                            ' Make sure they are the right level
                            i = Spell(n).LevelReq

                            If i <= GetPlayerLevel(index) Then
                                i = FindOpenSpellSlot(index)

                                ' Make sure they have an open spell slot
                                If i > 0 Then

                                    ' Make sure they dont already have the spell
                                    If Not HasSpell(index, n) Then
                                        Call SetPlayerSpell(index, i, n)
                                        Call SendAnimation(GetPlayerMap(index), Item(itemnum).Animation, 0, 0, TARGET_TYPE_PLAYER, index)
                                        Call TakeInvItem(index, itemnum, 0)
                                        Call PlayerMsg(index, "Agora você pode usar a magia " & Trim$(Spell(n).Name) & ".", BrightGreen)
                                    Else
                                        Call PlayerMsg(index, "Você ja tem essa magia.", BrightRed)
                                    End If

                                Else
                                    Call PlayerMsg(index, "Você não pode aprender mais magias.", BrightRed)
                                End If

                            Else
                                Call PlayerMsg(index, "Você precisa estar no nivel " & i & " para aprender essa magia.", BrightRed)
                            End If

                        Else
                            Call PlayerMsg(index, "Essa magia so pode ser aprendida pela classe " & CheckGrammar(GetClassName(Spell(n).ClassReq)) & ".", BrightRed)
                        End If
                    End If
                   
                    ' send the sound
                    SendPlayerSound index, GetPlayerX(index), GetPlayerY(index), SoundEntity.seItem, itemnum

    Abaixo adicione:

    Código:
                Case ITEM_TYPE_SPRITE
               
                    ' 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 tem os status requeridos para equipar esse equipamento.", BrightRed
                            Exit Sub
                        End If
                    Next
                   
                    ' level requirement
                    If GetPlayerLevel(index) < Item(itemnum).LevelReq Then
                        PlayerMsg index, "Você não tem o level requerido para usar esse 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 tem a classe necessaria para usar esse item.", BrightRed
                            Exit Sub
                        End If
                    End If
                   
                    ' access requirement
                    If Not GetPlayerAccess(index) >= Item(itemnum).AccessReq Then
                        PlayerMsg index, "Você não tem o acesso requerido para usar esse item.", BrightRed
                        Exit Sub
                    End If
                   
                    ' Trocar sprite
                    Call SetPlayerSprite(index, Item(itemnum).Sprite)
                   
                    ' send the sound
                    SendPlayerSound index, GetPlayerX(index), GetPlayerY(index), SoundEntity.seItem, itemnum

                    ' atualizar player
                    Call SendPlayerData(index)

    Creditos:

    Ricardo
    avatar
    Valentine
    Administrador
    Administrador

    Medalhas :
    Mensagens : 4750
    Créditos : 1009

    Re: Trocar Sprite por Item

    Mensagem por Valentine em Ter Fev 14, 2012 11:42 am

    Bem legal ricardo
    + 1 pra vc


    _________________
    avatar
    Ricardo
    Ocasional
    Ocasional

    Mensagens : 156
    Créditos : 69

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Trocar Sprite por Item

    Mensagem por Ricardo em Ter Fev 14, 2012 6:12 pm

    Obrigado Marlos
    avatar
    Saving
    Novato
    Novato

    Mensagens : 16
    Créditos : 1

    Re: Trocar Sprite por Item

    Mensagem por Saving em Ter Fev 14, 2012 6:17 pm

    Nossa, Parece ótimo! , +1 rep de incentivo, mais tarde texto Wink


    Obrigado,Speaksca.


    _________________
    "Não banirás por vingança."

    só se for eu Fuckthashit
    avatar
    thales12
    Membro Ativo
    Membro Ativo

    Mensagens : 312
    Créditos : 104

    Re: Trocar Sprite por Item

    Mensagem por thales12 em Qui Fev 16, 2012 1:59 pm

    @Ricardo escreveu:Obrigado Marlos

    /\

    ate onde eu sei isso e considerado flood mais .. neen falo nada..


    _________________
    Meu fã ? Meu Amigo ? Entao Use !




    Minha Sign:

    avatar
    gabriel190
    Membro Ativo
    Membro Ativo

    Mensagens : 278
    Créditos : 19

    Re: Trocar Sprite por Item

    Mensagem por gabriel190 em Qui Fev 16, 2012 2:14 pm

    Bem util! depois testo... + 1 cred pra vc Ricardo!

    thales12 escreveu:
    Ricardo escreveu:
    Obrigado Marlos

    /\

    ate onde eu sei isso e considerado flood mais .. neen falo nada..
    agradecer n é flood n, é? (no meu ponto de vista naum)


    _________________



    avatar
    Ricardo
    Ocasional
    Ocasional

    Mensagens : 156
    Créditos : 69

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Trocar Sprite por Item

    Mensagem por Ricardo em Sex Fev 17, 2012 7:41 am

    O flood é nos falarmos que foi flood '-'
    avatar
    Jonny157
    Ocasional
    Ocasional

    Mensagens : 237
    Créditos : 9

    Re: Trocar Sprite por Item

    Mensagem por Jonny157 em Sex Fev 17, 2012 1:46 pm

    Antes de testar, queria saber uma coisa. Quando o item estiver equipado muda a sprite, mas se eu tirar o item a sprite vai voltar ao normal?
    avatar
    Ricardo
    Ocasional
    Ocasional

    Mensagens : 156
    Créditos : 69

    Ficha do personagem
    Nível: 1
    Vida:
    30/30  (30/30)
    Energia:
    0/0  (0/0)

    Re: Trocar Sprite por Item

    Mensagem por Ricardo em Sex Fev 17, 2012 6:15 pm

    @Jonny157 escreveu:Antes de testar, queria saber uma coisa. Quando o item estiver equipado muda a sprite, mas se eu tirar o item a sprite vai voltar ao normal?

    Não
    avatar
    Jonny157
    Ocasional
    Ocasional

    Mensagens : 237
    Créditos : 9

    Re: Trocar Sprite por Item

    Mensagem por Jonny157 em Sex Fev 17, 2012 10:22 pm

    Tem como adicionar uma condição em algum lugar ali para isto acontecer?


    Edit:

    Essa parte aqui da Hscroll acho que está errada..


    lblsprite.Caption = "Sprite: " & scrlLevelReq
    Item(EditorIndex).Sprite = scrlSprite.Value


    Acho que o certo seria ScrlSprite, não?

    Conteúdo patrocinado

    Re: Trocar Sprite por Item

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sab Fev 17, 2018 6:11 pm