Pet global (Versão plug and Play) Hitskin_logo Hitskin.com

Isto é uma pré-visualização de um tema em Hitskin.com
Instalar o temaVoltar para a ficha do tema

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

Pet global (Versão plug and Play)

5 participantes

Ir para baixo

Pet global (Versão plug and Play) Empty Pet global (Versão plug and Play)

Mensagem por Maephel Dom Nov 02, 2014 1:09 am

É o mesmo script de pet global do RD12 sem mais configurações com a diferença que agora é só colar acima do main!

Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#
#                           Pet Global
#  Autor: RD12
#
#-------------------------------------------------------------------------------
#  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
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:
#                    http://www.aldeiarpg.com/
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:

module PET
  ID = []
  #ID[Luva_ID] = ["Gráfico", HP, MP, Tempo(segundos)]
  ID[25] = ["Fire", 0, 0, 0]     # não recupera HP/MP
  #ID[25] = ["Fire", 20, 20, 5]  # Recupera HP/MP
  
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,
      $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

## Modificação por Maephel (Plug and Play)

class Game_NetPlayer < Game_Character
  
  attr_accessor :pet
  
  def initialize
    super
    @pet = ''
  end
  
  def pet
    return @pet
  end
  
  def dispose
    @pet_spr = Sprite.new(self.viewport)
    @pet_spr.bitmap = RPG::Cache.character(@character.pet, @character.character_hue)
    @pet_spr.visible = self.visible
  end
end


class Sprite_NetCharacter < RPG::Sprite
  def initialize(viewport, id, character = nil)
    super(viewport)
    @pet_spr = Sprite.new(self.viewport)
    @pet_spr.bitmap = RPG::Cache.character(@character.pet, @character.character_hue)
    @pet_spr.visible = self.visible
  end
end


11.02.2014 02:12:39:

Para quem souber script:

Sugestões:
Melhorar como o pet irá seguir o herói :
- quando o personagem estiver parado o pet correr livremente quando o personagem se mover o pet for atrás do jogador!
 
Fazer o pet atacar:
- O Pet ataca jogadores em mapas PVP se atacarem o dono.
- O Pet ter uma barra de HP e MP e até subir de nível.
- Seria interessante se o Pet fosse editado no Banco de dados na aba de personagens.
 
Modificar para não ser um acessório/item/equipamento:
- Quem já jogou ragnarok sabe que tinha que domesticar e ganhava um ovo e tal.
- Domesticar através de item ou magia.
- Bota na parte de “Config” uma opção de domesticar(se desativado só comprando).
Código:
# Ativar ou desativar para domesticar Pet
  DOMESTICAR_PET = true
No mob ou num evento comum (com o gráfico do pet) um comentário do tipo “Domesticar (02)” e se o jogador tentasse domesticar ganharia um ovo ou algum item no iventário com o pet correspondente ao personagem no banco de dados de id: 02.
- esse Pet poderia ser equipado numa window própria que poderia ser aberta na parte de configurações ou outro lugar.
- nessa window apareceria a lista de itens de pets/ovos/recepientes e em cima outra window com a opção de arrastar o item para equipar:
exemplo:
window dos pets:
com um sistema de "Scroll Bar" quando a janela de pet estiver cheia ou de abas.

Uma window para as informações do pet equipado contendo coisas como:
- HP
- MP
- Ataque
- Def
-Skills (que poderia ser colocada na hotkey)
-Lvl
-Fome(que poderia ser indicado acima do pet quando ele estivesse com fome)(não global)
-Nome(que poderia ser editado)
-e uma picture com uma imagem dele(artistica)
exemplo:
Picture do Pet:

Ser adicionado icones (clicaveis) no canto da tela ou uma hotkey para as letras (Q,W,E), ou mais contendo:
-(Q)ataque (ao escolher essa opção o mouse viraria um alvo e o monstro que fosse clicado o pet iria atacar)
-(W) Habilidade principal.
-(E)  Habilidade secundária.

Sistema de Lealdade/não usar o pet de outro jogador
-se o pet fosse mudado de nome ele não poderia ser usado por outro jogador.
-se o pet passar de lvl ele não poderá ser usado por outro jogador.

Opções ao clicar com o botão direito do mouse:
- Info Pet
- Alimentar Pet.
- Desequipar pet.
- Libertar Pet (Ele anda livremente pelo mapa atacando mobs e jogadores(se algum jogador atacar o pet)).
Maephel
Maephel
Ocasional
Ocasional

Mensagens : 212
Créditos : 18

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por bielmegatrinf Dom Nov 02, 2014 9:53 am

Nossa Ótimo! muito boas suas ideias também Very Happy

bielmegatrinf
Iniciante
Iniciante

Mensagens : 75
Créditos : 3

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por GallighanMaker Dom Nov 02, 2014 5:07 pm

isso é para o crystal? ou para o master?

_________________
Pet global (Versão plug and Play) 8dVK0ku
using C# and import Python developer || Expert in Unity Engine IDE. || Pet global (Versão plug and Play) 769_heart 2D pixel games.
GallighanMaker
GallighanMaker
Colaborador
Colaborador

Medalhas : Pet global (Versão plug and Play) ZgLkiRU
Mensagens : 985
Créditos : 102

Ficha do personagem
Nível: 1
Experiência:
Pet global (Versão plug and Play) Left_bar_bleue0/0Pet global (Versão plug and Play) Empty_bar_bleue  (0/0)
Vida:
Pet global (Versão plug and Play) Left_bar_bleue30/30Pet global (Versão plug and Play) Empty_bar_bleue  (30/30)

https://kingsland-online.com/

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por Maephel Dom Nov 02, 2014 5:11 pm

No crystal já tem
Maephel
Maephel
Ocasional
Ocasional

Mensagens : 212
Créditos : 18

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por GallighanMaker Dom Nov 02, 2014 5:34 pm

é que vc disse q era apenas para colocar acima do main e testei no netplay master 4.9 não deu certo, não entendi muito bem:

Maephel escreveu:É o mesmo script de pet global do RD12 sem mais configurações com a diferença que agora é só colar acima do main!

...

_________________
Pet global (Versão plug and Play) 8dVK0ku
using C# and import Python developer || Expert in Unity Engine IDE. || Pet global (Versão plug and Play) 769_heart 2D pixel games.
GallighanMaker
GallighanMaker
Colaborador
Colaborador

Medalhas : Pet global (Versão plug and Play) ZgLkiRU
Mensagens : 985
Créditos : 102

Ficha do personagem
Nível: 1
Experiência:
Pet global (Versão plug and Play) Left_bar_bleue0/0Pet global (Versão plug and Play) Empty_bar_bleue  (0/0)
Vida:
Pet global (Versão plug and Play) Left_bar_bleue30/30Pet global (Versão plug and Play) Empty_bar_bleue  (30/30)

https://kingsland-online.com/

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por blackcrow Dom Nov 02, 2014 7:11 pm

??? https://www.aldeiarpg.com/t6691-att-pet-global-para-netplay-master-v4
E cortou partes do código...creio que esse script não está funcional.
um pedido bem pequeno hein^^ isso aí da muito trabalho amigo.
blackcrow
blackcrow
Semi-Experiente
Semi-Experiente

Mensagens : 111
Créditos : 41

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por GallighanMaker Dom Nov 02, 2014 8:03 pm

achei muito estranho tbm...

_________________
Pet global (Versão plug and Play) 8dVK0ku
using C# and import Python developer || Expert in Unity Engine IDE. || Pet global (Versão plug and Play) 769_heart 2D pixel games.
GallighanMaker
GallighanMaker
Colaborador
Colaborador

Medalhas : Pet global (Versão plug and Play) ZgLkiRU
Mensagens : 985
Créditos : 102

Ficha do personagem
Nível: 1
Experiência:
Pet global (Versão plug and Play) Left_bar_bleue0/0Pet global (Versão plug and Play) Empty_bar_bleue  (0/0)
Vida:
Pet global (Versão plug and Play) Left_bar_bleue30/30Pet global (Versão plug and Play) Empty_bar_bleue  (30/30)

https://kingsland-online.com/

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por Adanrox Seg Nov 03, 2014 11:44 am

@Maephel
x Tópico muito desarrumado e poucas explicações, você se diz ser simples, mas a contabilidade está dando erro quando se conecta ao jogo e testar o script.

_________________
Pet global (Versão plug and Play) EiLDYSs
Adanrox
Adanrox
Diva
Diva

Mensagens : 522
Créditos : 74

Ficha do personagem
Nível: 1
Experiência:
Pet global (Versão plug and Play) Left_bar_bleue0/0Pet global (Versão plug and Play) Empty_bar_bleue  (0/0)
Vida:
Pet global (Versão plug and Play) Left_bar_bleue30/30Pet global (Versão plug and Play) Empty_bar_bleue  (30/30)

Ir para o topo Ir para baixo

Pet global (Versão plug and Play) Empty Re: Pet global (Versão plug and Play)

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos