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


+42
leoXP
Traster
Ero-Sennin
bielmegatrinf
Skylarfox
Seya Pegasus
SupremeL
Daniel Carvalho
GallighanMaker
LeonM²
Gomaki
イアゴル
Akio
Jonny
XGreenDayX
Kahlis
Maephel
marcosbboy
FFogomax
Nanzin
Gumg
rvitor
Darkthrone
The Suspect
eduardomk
jonathanjua
emilyoly
Kuraudo
Sweet
Mateus Silva
lovins
heyitily
gustavotx
Lucky
iCoke~
Canjoo
KnowVFX
Mr. D
Samuka_Maker
Maverick ~
BrenoFodon
RD12
46 participantes

    [Att²] Pet Global para Netplay Master v4

    RD12
    RD12
    Lenda
    Lenda


    Medalhas : [Att²] Pet Global para Netplay Master v4 48080450[Att²] Pet Global para Netplay Master v4 Trophy11[Att²] Pet Global para Netplay Master v4 GIueZ[Att²] Pet Global para Netplay Master v4 ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    [Att²] Pet Global para Netplay Master v4 Empty [Att²] Pet Global para Netplay Master v4

    Mensagem por RD12 Sáb Jul 14, 2012 2:44 pm

    Pet Global

    Script atualizado 14/07/12 as 14:40 horas, mudei a luva, para o acessório, para equipar o Pet e corrigi bugs.

    A luva nao adicionava os atributos, recomendo atualizarem os scripts.

    Aposto que quando viram o nome, disseram: Mais alguém pedindo esse script.
    Esse script é um dos mais pedidos, então eu decidi faze-lo, apesar de eu já ter feito um pet global, mas esse é muito mais estável e melhor.

    Descrição: Com esse sistema, todos os jogadores poderão ter um pet, que será visto por todos jogadores. O pet ocupará o lugar da Luva no jogo, e você define quais Luvas são o Pet e o gráfico do pet ao equipar tal luva.

    O Pet pode recuperar HP/MP com o tempo(escolhido por você)
    O Pet pode aumentar o Atk, Def.. Só por no banco de dados, na luva para fazer isso.

    Galera o Pet já ta global, e segue o jogador certinho, mas falta melhorar a animação de seguir o jogador global, e umas coisas simples, algo que pretendo fazer numa próxima versão.


    [Att²] Pet Global para Netplay Master v4 20z1u12

    Colocando no seu jogo:

    Antes de mais nada, temos que alter alguns scripts, primeiro vamos adicionar para enviar um pacote a mais para o servidor, com o nome do gráfico do pet do jogador.
    Siga os passos:
    Script [NET] Network - Linha 375. Em baixo adicione:
    Código:
        if !$game_party.actors[0].armor4_id.nil?
        if PET::ID[$game_party.actors[0].armor4_id].nil?
          send += "@pet = '';"
        else
          send += "@pet = '#{PET::ID[$game_party.actors[0].armor4_id][0]}';"
        end
        end
    No mesmo script na linha 513, em baixo adicione:

    Código:
        if $game_party.actors[0].armor4_id != 0
        if PET::ID[$game_party.actors[0].armor4_id].nil?
          send += "@pet = '';"
        else
          send += "@pet = '#{PET::ID[$game_party.actors[0].armor4_id][0]}';"
        end
      end

    Agora no script [GM] Game_NetPlayer, linha 20, em baixo add:
    Código:
      attr_accessor :pet

    neste mesmo script, na linha 98, em baixo add:
    Código:
    @pet = ''

    No mesmo script, linha 332, em baixo adicione:
    Código:
      def pet
        return @pet
      end

    Por último, no script [SPR] Sprite_NetCharacter, linha 121, adicione em baixo:

    Código:
        @pet_spr = Sprite.new(self.viewport)
        @pet_spr.bitmap = RPG::Cache.character(@character.pet, @character.character_hue)
        @pet_spr.visible = self.visible

    Depois dessas modificações, crie um script acima do main, e adicione o código:

    Código:
    =begin
    :=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
    |Autor: RD12|          Pet Global
    --------------------------------------------------------------------------------
      Com esse sistema os jogadores poderão ter Pets, globais.
      O pet será o Anel[acessório].
    --------------------------------------------------------------------------------
      Para criar um Pet, insira no Módulo PET o seguinte:
      ID[id] = ["Gráfico", HP, MP, Tempo]
    ---------------------------Explicação-------------------------------------------
        id = ID do Anel, que será o Pet
        HP/MP = HP/MP que o pet recupera com o Tempo
        Tempo = Segundos que o pet recupera o HP/MP
    :=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
                          AldeiaRpgBr.com
                         
    =end

    module PET
      ID = []
     #ID[Luva_ID] = ["Gráfico", HP, MP, Tempo(segundos)]
      ID[25] = ["cachorro", 0, 0, 0]#Botei pra não recuperar HP/MP
      #ID[37] = ["mecha", 10, 10, 5]
     
    end

    class Scene_Map
      attr_reader :spriteset
    end

    class Spriteset_Map
      attr_reader :character_sprites, :viewport1
      alias rd12_dispose dispose
      def player_sprite
        @character_sprites.each do |spr_char|
          if spr_char.character == $game_player
            return spr_char
          end
        end
      end
      def dispose
      $Pet = nil
      rd12_dispose
      end 
    end

    class Scene_Map
      attr_reader  :character
      attr_reader  :animation_id
     
        alias alias_update update
      def update
        alias_update
        return if !$scene.is_a?(Scene_Map)
        return if $scene.spriteset.nil?
        @actor = $game_party.actors[0]
        return unless $scene.is_a?(Scene_Map)
        if PET::ID[@actor.armor4_id].nil?  or @actor.armor4_id.nil?
          return if $Pet.nil?
          $Pet.bitmap = RPG::Cache.character("", 4)
          $Pet = nil
          return
        end
        @direção = $game_player.direction
        #Criar sprite do pet
       
        unless $Pet
          $Pet  = Sprite.new(@spriteset.viewport1)
          $Pet.x = $game_player.screen_x
          $Pet.y = $game_player.screen_y
        end
          $Pet.bitmap = RPG::Cache.character(PET::ID[@actor.armor4_id][0], 4)
        #Pet Recuperar o HP/MP com o tempo
        tempo = PET::ID[@actor.armor4_id][3]
      if tempo > 0
        if Graphics.frame_count % (20 * tempo) == 0
          $game_party.actors[0].hp += PET::ID[@actor.armor4_id][1]
          $game_party.actors[0].sp += PET::ID[@actor.armor4_id][2]
        end
        end
     
        #Cria o gráfico do Pet, e com animação de andar
        cw = $Pet.bitmap.width / 4
        ch = $Pet.bitmap.height / 4
        aw = $frame*cw
        ah = (@direção - 2) / 2 * ch
        $Pet.src_rect = Rect.new(aw, ah, cw ,ch )
       
        player_spr = $scene.spriteset.player_sprite
       
        #Pet Seguir o Player
        #Direção =:2:=
        if $game_player.direction == 2
          $Pet.z = player_spr.z - 1
        return unless $game_map.passable?($game_player.x, $game_player.y-1, 2)

        if $Pet.x < ($game_player.screen_x - $Pet.bitmap.width/8)
          $Pet.x += 4
        end
        if $Pet.x > ($game_player.screen_x - $Pet.bitmap.width/8)
          $Pet.x -= 4
        end

        if $Pet.y < ($game_player.screen_y-32-$Pet.bitmap.height/4)
          $Pet.y += 4
        end 
        if $Pet.y > ($game_player.screen_y-32-$Pet.bitmap.height/4)
          $Pet.y -= 4
        end 

        #Direção =:4:=
        elsif $game_player.direction == 4
        return unless $game_map.passable?($game_player.x+1, $game_player.y, 4)
          $Pet.z = player_spr.z + 1
        if $Pet.x < ($game_player.screen_x+16)
          $Pet.x += 4
        end
        if $Pet.x > ($game_player.screen_x+16)
          $Pet.x -= 4
        end
        if $Pet.y < ($game_player.screen_y-$Pet.bitmap.height/4)
          $Pet.y += 4
        end 
        if $Pet.y > ($game_player.screen_y-$Pet.bitmap.height/4)
          $Pet.y -= 4
        end 
           
        #Direção =:6:=
        elsif $game_player.direction == 6
        return unless $game_map.passable?($game_player.x-1, $game_player.y, 6)
          $Pet.z = player_spr.z + 1
        if $Pet.x < ($game_player.screen_x-16-$Pet.bitmap.width/4)
          $Pet.x += 4
        end
        if $Pet.x > ($game_player.screen_x-16-$Pet.bitmap.width/4)
          $Pet.x -= 4
        end
       
        if $Pet.y < ($game_player.screen_y-$Pet.bitmap.height/4)
          $Pet.y += 4
        end
        if $Pet.y > ($game_player.screen_y-$Pet.bitmap.height/4)
          $Pet.y -= 4
        end 
       
      #Direção =:8:=
      elsif $game_player.direction == 8
        return unless $game_map.passable?($game_player.x, $game_player.y+1, 8)
          $Pet.z = player_spr.z + 1
        if $Pet.x < ($game_player.screen_x - ($Pet.bitmap.width/8))
          $Pet.x += 4
        end
        if $Pet.x > ($game_player.screen_x - ($Pet.bitmap.width/8))
          $Pet.x -= 4
        end
       
        if $Pet.y < ($game_player.screen_y+12-($Pet.bitmap.height/8))
          $Pet.y += 4
        end 
        if $Pet.y > ($game_player.screen_y+12-($Pet.bitmap.height/8))
          $Pet.y -= 4
        end 
      end#if player.direction
       
      end#update
    end#class

    class Sprite_Character < RPG::Sprite
      alias alias_update update
      def update               
        alias_update         
      $frame = @character.pattern
      end
    end

    class Sprite_NetCharacter < RPG::Sprite
      alias rd12_animate_player animate_player
      def dispose
        @_text_display.dispose
        @chat_text_display.dispose
        @pet_spr.dispose
        super
      end
     
      #--------------------------------------------------------------------------
      # * Atualizar movimento do Jogador e Pet
      #--------------------------------------------------------------------------
      def animate_player

        @chat_text_display.x = self.x
        @chat_text_display.y = self.y - 129

        sx = @character.pattern * @cw
        sy = (@character.direction - 2) / 2 * @ch
        self.src_rect.set(sx, sy, @cw, @ch)
       
        cw = @pet_spr.bitmap.width / 4
        ch = @pet_spr.bitmap.height / 4
        aw = @character.pattern*cw
        ah = (@character.direction - 2) / 2 * ch
        @pet_spr.src_rect = Rect.new(aw, ah, cw ,ch )
       
        if @character.direction == 2
          @pet_spr.z = self.z-1
          @pet_spr.x = (self.x - @pet_spr.bitmap.width/8)
          @pet_spr.y = (self.y-32-@pet_spr.bitmap.height/4)

      elsif @character.direction == 4
        @pet_spr.x = (self.x+16)
        @pet_spr.y = (self.y-@pet_spr.bitmap.height/4)
         
      elsif @character.direction == 6
        @pet_spr.x = (self.x-16-@pet_spr.bitmap.width/4)
        @pet_spr.y = (self.y-@pet_spr.bitmap.height/4)
         
      elsif @character.direction == 8
        @pet_spr.z = self.z+1
        @pet_spr.x = (self.x-(@pet_spr.bitmap.width/8))
        @pet_spr.y = (self.y+12-(@pet_spr.bitmap.height/8))     
        end
      rd12_animate_player
      end
    end


    Explicações no Script.


    Se eu fazer uma nova versão, irei melhorar algumas coisas, e talvez por para o pet passar de nível, e quem sabe, atacar.

    Isso é tudo pessoal, algum erro ou dúvida poste abaixo que tentarei resolver.

    obs: Não usei nada de visual equipment, pra quem ta perguntando.

    Créditos RD12


    Última edição por RD12 em Sex Jan 25, 2013 6:34 pm, editado 4 vez(es)
    RD12
    RD12
    Lenda
    Lenda


    Medalhas : [Att²] Pet Global para Netplay Master v4 48080450[Att²] Pet Global para Netplay Master v4 Trophy11[Att²] Pet Global para Netplay Master v4 GIueZ[Att²] Pet Global para Netplay Master v4 ZgLkiRU
    Mensagens : 1946
    Créditos : 745

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por RD12 Sáb Jul 14, 2012 2:45 pm

    Galera eu concertei os Bugs, Agora o pet é equipado no Anel, para quem não sabe.
    Peço que substituam os scripts.

    Criei um novo tópico para facilitar a comunicação, aquele tava bem floodado.
    BrenoFodon
    BrenoFodon
    Ocasional
    Ocasional


    Mensagens : 188
    Créditos : 11

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por BrenoFodon Sáb Jul 14, 2012 2:47 pm

    RD 12 quando vc vai colocar a versão que vai da para o pet atacar e upar? +1 cred
    Maverick ~
    Maverick ~
    Membro Ativo
    Membro Ativo


    Mensagens : 372
    Créditos : 39

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Maverick ~ Sáb Jul 14, 2012 2:47 pm

    Ok,vou testar.
    espero as atualizações e sugestões que demos.
    se ainda continuar atualizando é claro.
    +1 Mave~


    _________________
    Alguma Duvida!? Me mande uma MP

    [Att²] Pet Global para Netplay Master v4 BgIconeLivro                 Regras do Fórum


    [Att²] Pet Global para Netplay Master v4 L4thF
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


    Medalhas : [Att²] Pet Global para Netplay Master v4 WBLhI
    Mensagens : 1204
    Créditos : 127

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Samuka_Maker Sáb Jul 14, 2012 3:09 pm

    ae muito bom +1 cred RD
    Muita gente (Assim como eu) estava atraz disso que bom que corrigiu o bug o/
    E espero que você fassa algo do que nós sugerimos na sua próxima atualização


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumais.com/

    [Att²] Pet Global para Netplay Master v4 6f4EA

    [Att²] Pet Global para Netplay Master v4 Bxvno
    Tópico original/Tópico de Recrutamento
    Mr. D
    Mr. D
    Semi-Experiente
    Semi-Experiente


    Mensagens : 116
    Créditos : 4

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Mr. D Sáb Jul 14, 2012 3:44 pm

    Ta dando um erro aqui pessoal alguém aí me ajuda!

    També não sei como colocar o pet,é só ir em Armaduras adicionar e pronto?







    FLWS


    _________________
    Músicas Recomendadas:
    Samuka_Maker
    Samuka_Maker
    Aldeia Friend
    Aldeia Friend


    Medalhas : [Att²] Pet Global para Netplay Master v4 WBLhI
    Mensagens : 1204
    Créditos : 127

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Samuka_Maker Sáb Jul 14, 2012 3:57 pm

    é sim cara '-' depois vc muda no script assim:
    ID[id] = ["Gráfico", HP, MP, Tempo]
    onde tá [id] vc coloca o id do acessório ["Gráfico"] o grafico do pet o hp o valor do hp e o mp o valor do hp e o tempo é o tempo em segundos q o pet recuperará o hp e o mp ex:
    ID[25] = ["075-Devil01", 100, 100, 10]


    _________________

    Life rpg maker, suporte para criacao de jgoos online eoffline, link do forum:(v2.0)
    http://liferpgmakerv2.forumais.com/

    [Att²] Pet Global para Netplay Master v4 6f4EA

    [Att²] Pet Global para Netplay Master v4 Bxvno
    Tópico original/Tópico de Recrutamento
    KnowVFX
    KnowVFX
    Semi-Experiente
    Semi-Experiente


    Mensagens : 140
    Créditos : 3

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por KnowVFX Sáb Jul 14, 2012 4:04 pm

    Muito Bom msm !


    _________________
    Programas ultilizados -
     Sony vegas pro 11
       After Effects CS4 
          
    Maverick ~
    Maverick ~
    Membro Ativo
    Membro Ativo


    Mensagens : 372
    Créditos : 39

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Maverick ~ Sáb Jul 14, 2012 4:14 pm

    Olá,Bom RD12 Testei aqui,deu certinho.
    Obrigado novamente.

    [Att²] Pet Global para Netplay Master v4 20z1u12


    _________________
    Alguma Duvida!? Me mande uma MP

    [Att²] Pet Global para Netplay Master v4 BgIconeLivro                 Regras do Fórum


    [Att²] Pet Global para Netplay Master v4 L4thF
    Canjoo
    Canjoo
    Experiente
    Experiente


    Mensagens : 505
    Créditos : 52

    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Canjoo Sáb Jul 14, 2012 4:48 pm

    vlw por corrigir os bugs.

    @off, obrigado por excluir todas as mensagens de antes, eu tinha sido o primeiro a responder. Neutral
    fiquei triste. Sad

    Maverick
    Olá,Bom RD12 Testei aqui,deu certinho.
    Obrigado novamente.
    cara para de floodar, era só vc da um edit na mensagem anterior.

    Conteúdo patrocinado


    [Att²] Pet Global para Netplay Master v4 Empty Re: [Att²] Pet Global para Netplay Master v4

    Mensagem por Conteúdo patrocinado


      Data/hora atual: Sex Abr 19, 2024 12:01 am