Arena RPG Maker
Olá, visitante!
Seja bem-vindo ao fórum Arena RPG Maker, caso queira aprender sobre criação de jogos, está no fórum certo. Esperamos que possa aprender tanto quanto possa nos ensinar aqui.

Atenciosamente,
Equipe Arena RPG Maker.
Arena RPG Maker

Estamos de volta o/ ... Ou não.Eu amo a -Dark
Doações para o fórum abertas, clique aqui e saiba mais.
Últimos assuntos
» Pokémon Genesis Online! (PGO)
Qua 05 Jul 2017, 17:08 por Lexar

» Tileset Converter to MV
Sex 12 Maio 2017, 13:07 por Douggi

» [Dúvida] Como tirar a porcentagem de esquiva
Ter 09 Maio 2017, 22:15 por Neil Flame Runner

» Pack Resources, Sprites e etc
Qua 23 Dez 2015, 09:30 por raydengv

» Download RPG Maker 2003 + RTP em português
Ter 22 Dez 2015, 08:14 por ::KimMax::

» Fantasy Art Online
Dom 18 Out 2015, 16:42 por daviih123

» Você vai ter medo do Nerve gear?
Sab 25 Jul 2015, 16:02 por Kirito-kun

» O Barato é louco
Sab 27 Jun 2015, 15:26 por Halt

» Download RPG Maker 2000 + RTP em português
Qui 21 Maio 2015, 19:28 por Wismael

» Divulgando meu grupo e página do Facebook
Ter 19 Maio 2015, 13:06 por Halt


Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

1 Trocar sprite por item em Sex 11 Jan 2013, 14:38

Halt

avatar
Administrador
Administrador
Ricardo escreveu:
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


__________________________________________
[Você precisa estar registrado e conectado para ver este link.]
Ei Convidado, sim você mesmo! Ajude o fórum à crescer postando coisas úteis, dê sugestões para melhorar-mos e divulgue o fórum.

Step inside, see the devil in I.

Gifts-
[Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.] - [Você precisa estar registrado e conectado para ver este link.]

Zerei a internet
Ver perfil do usuário http://arenarpgmaker.eclipserpg.com

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum