Aldeia RPG

Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

Suporte ao desenvolvimento de jogos


+6
Jonny157
gabriel190
thales12
Saving
Valentine
Ricardo
10 participantes

    Trocar Sprite por Item

    Ricardo
    Ricardo
    Ocasional
    Ocasional


    Mensagens : 162
    Créditos : 71

    Ficha do personagem
    Nível: 1
    Experiência:
    Trocar Sprite por Item Left_bar_bleue0/0Trocar Sprite por Item Empty_bar_bleue  (0/0)
    Vida:
    Trocar Sprite por Item Left_bar_bleue30/30Trocar Sprite por Item Empty_bar_bleue  (30/30)

    Trocar Sprite por Item Empty Trocar Sprite por Item

    Mensagem por Ricardo 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
    Valentine
    Valentine
    Administrador
    Administrador


    Medalhas : Trocar Sprite por Item ZgLkiRU
    Mensagens : 5336
    Créditos : 1163

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

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

    Bem legal ricardo
    + 1 pra vc
    Ricardo
    Ricardo
    Ocasional
    Ocasional


    Mensagens : 162
    Créditos : 71

    Ficha do personagem
    Nível: 1
    Experiência:
    Trocar Sprite por Item Left_bar_bleue0/0Trocar Sprite por Item Empty_bar_bleue  (0/0)
    Vida:
    Trocar Sprite por Item Left_bar_bleue30/30Trocar Sprite por Item Empty_bar_bleue  (30/30)

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

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

    Obrigado Marlos
    Saving
    Saving
    Novato
    Novato


    Mensagens : 16
    Créditos : 1

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por Saving 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
    thales12
    thales12
    Membro de Honra
    Membro de Honra


    Mensagens : 322
    Créditos : 108

    Ficha do personagem
    Nível: 1
    Experiência:
    Trocar Sprite por Item Left_bar_bleue0/0Trocar Sprite por Item Empty_bar_bleue  (0/0)
    Vida:
    Trocar Sprite por Item Left_bar_bleue30/30Trocar Sprite por Item Empty_bar_bleue  (30/30)

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por thales12 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 !

    Trocar Sprite por Item Thalesfan
    Trocar Sprite por Item Mv0yg8

    Minha Sign:

    Trocar Sprite por Item Zkqt5e
    gabriel190
    gabriel190
    Membro Ativo
    Membro Ativo


    Mensagens : 278
    Créditos : 19

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por gabriel190 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)


    _________________
    Trocar Sprite por Item Scaled.php?server=546&filename=signpnu
    Trocar Sprite por Item Xna
    Trocar Sprite por Item Fanbarpw
    Trocar Sprite por Item AIymW
    Ricardo
    Ricardo
    Ocasional
    Ocasional


    Mensagens : 162
    Créditos : 71

    Ficha do personagem
    Nível: 1
    Experiência:
    Trocar Sprite por Item Left_bar_bleue0/0Trocar Sprite por Item Empty_bar_bleue  (0/0)
    Vida:
    Trocar Sprite por Item Left_bar_bleue30/30Trocar Sprite por Item Empty_bar_bleue  (30/30)

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

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

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


    Mensagens : 245
    Créditos : 9

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por Jonny157 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?
    Ricardo
    Ricardo
    Ocasional
    Ocasional


    Mensagens : 162
    Créditos : 71

    Ficha do personagem
    Nível: 1
    Experiência:
    Trocar Sprite por Item Left_bar_bleue0/0Trocar Sprite por Item Empty_bar_bleue  (0/0)
    Vida:
    Trocar Sprite por Item Left_bar_bleue30/30Trocar Sprite por Item Empty_bar_bleue  (30/30)

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por Ricardo 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
    Jonny157
    Jonny157
    Ocasional
    Ocasional


    Mensagens : 245
    Créditos : 9

    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por Jonny157 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


    Trocar Sprite por Item Empty Re: Trocar Sprite por Item

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Qui Mar 28, 2024 7:16 am