RpgMakerzeVX

Tutaj stworzysz własną gre rpg ! pomożemy ci


#1 2011-05-31 11:37:04

Fender

Administrator

Zarejestrowany: 2011-05-31
Posty: 15
Punktów :   

[Skrypt]Zwierze

Skrypt:#==============================================================================
# Pet
#==============================================================================
# Author  : OriginalWij
# Version : 1.3
#==============================================================================

#==============================================================================
# v1.0
# - Pierwsze wypuszczenie
# v1.1
# - Dodana opcja zwierzaka w walce
# v1.2
# - Nie pokazuje zwierzaka w pojeździe
# v1.3
# - Dodana opcja GameOver jeśli przeżył tylko zwierzak
#==============================================================================

#==============================================================================
# Config
#==============================================================================

module OW_PET
  # Przełącznik włączający zwierzaka
  PET_ENABLE_SWITCH = 13
  # ID zwierzaka (ustawiony w bohaterach w DB) [WAŻNE: musi być ustawiony na 'Auto-Battle']
  PET_ID = 10
  # Używać zwierzaka w walce?
  PET_BATTLE = true
  # Leczyć zwierzaka po każdej walce?
  PET_HEAL = true
  # Czy gdy przeżył tylko zwierzak pozwolić na GameOver?
  PET_GAMEOVER = true
end

#==============================================================================
# Game_Character
#==============================================================================

class Game_Character
  #--------------------------------------------------------------------------
  # Public instance variables (New)
  #--------------------------------------------------------------------------
  attr_accessor :priority_type
end

#==============================================================================
# Game_Player
#==============================================================================

class Game_Player
  #--------------------------------------------------------------------------
  # Public instance variables (New)
  #--------------------------------------------------------------------------
  attr_reader :move_speed
  #--------------------------------------------------------------------------
  # Update (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_update update unless $@
  def update
    $game_party.update_pet
    ow_pet_game_player_update
  end
  #--------------------------------------------------------------------------
  # Move to (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_moveto moveto unless $@
  def moveto(x, y)
    $game_party.moveto_pet(x, y)
    ow_pet_game_player_moveto(x, y)
  end
  #--------------------------------------------------------------------------
  # Move down (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_down move_down unless $@
  def move_down(turn = true)
    if passable?(@x, @y + 1)
      $game_party.move_pet(2, turn)
    end   
    ow_pet_game_player_move_down(turn)   
  end
  #--------------------------------------------------------------------------
  # Move left (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_left move_left unless $@
  def move_left(turn = true)
    if passable?(@x - 1, @y)
      $game_party.move_pet(4, turn)
    end
    ow_pet_game_player_move_left(turn)
  end
  #--------------------------------------------------------------------------
  # Move right (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_right move_right unless $@
  def move_right(turn = true)
    if passable?(@x + 1, @y)
      $game_party.move_pet(6, turn)
    end
    ow_pet_game_player_move_right(turn)
  end
  #--------------------------------------------------------------------------
  # Move up (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_up move_up unless $@
  def move_up(turn = true)
    if passable?(@x, @y - 1)
      $game_party.move_pet(8, turn)
    end
    ow_pet_game_player_move_up(turn)
  end
  #--------------------------------------------------------------------------
  # Move down left (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_playermove_lower_left move_lower_left unless $@
  def move_lower_left
    if passable?(@x - 1, @y + 1)
      $game_party.move_pet(1)
    end
    ow_pet_game_playermove_lower_left
  end
  #--------------------------------------------------------------------------
  # Move down right (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_playermove_lower_right move_lower_right unless $@
  def move_lower_right
    if passable?(@x + 1, @y + 1)
      $game_party.move_pet(3)
    end
    ow_pet_game_playermove_lower_right
  end
  #--------------------------------------------------------------------------
  # Move up left (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_upper_left move_upper_left unless $@
  def move_upper_left
    if passable?(@x - 1, @y - 1)
      $game_party.move_pet(5)
    end
    ow_pet_game_player_move_upper_left
  end
  #--------------------------------------------------------------------------
  # Move up right (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_move_upper_right move_upper_right unless $@
  def move_upper_right
    if passable?(@x + 1, @y - 1)
      $game_party.move_pet(7)
    end
    ow_pet_game_player_move_upper_right
  end
  #--------------------------------------------------------------------------
  # Jump (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_player_jump jump unless $@
  def jump(ow_pet_x, ow_pet_y)
    new_x = @x + ow_pet_x
    new_y = @y + ow_pet_y
    if (ow_pet_x == 0 and ow_pet_y == 0) or passable?(new_x, new_y)
      $game_party.move_pet(9, [ow_pet_x, ow_pet_y])
    end
    ow_pet_game_player_jump(ow_pet_x, ow_pet_y)
  end
end

#==============================================================================
# Game_Party
#==============================================================================

class Game_Party
  #--------------------------------------------------------------------------
  # Include (New)
  #--------------------------------------------------------------------------
  include OW_PET
  #--------------------------------------------------------------------------
  # Public instance variables (New)
  #--------------------------------------------------------------------------
  attr_reader :pet
  #--------------------------------------------------------------------------
  # Initialize (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_party_initialize initialize unless $@
  def initialize
    ow_pet_game_party_initialize
    @pet = Game_Pet.new(nil)
    @move_pet = []
  end
  #--------------------------------------------------------------------------
  # Update pet (New)
  #--------------------------------------------------------------------------
  def update_pet
    @pet.actor = PET_ID
    @pet.move_speed = $game_player.move_speed
    if $game_player.dash?
      @pet.move_speed += 1
    end
    @pet.update
    @pet.transparent = !$game_switches[PET_ENABLE_SWITCH]
    @pet.transparent = true if $game_player.in_vehicle?
  end
  #--------------------------------------------------------------------------
  # Determine Everyone is Dead (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_game_party_all_dead? all_dead? unless $@
  def all_dead?
    if $game_switches[PET_ENABLE_SWITCH] and PET_GAMEOVER and
        $game_temp.in_battle and existing_members == [$game_actors[PET_ID]]
      return true
    end
    ow_pet_game_party_all_dead?
  end
  #--------------------------------------------------------------------------
  # Move to (pet)  (New)
  #--------------------------------------------------------------------------
  def moveto_pet(x, y)
    @pet.moveto(x, y)
    @move_pet.clear
  end
  #--------------------------------------------------------------------------
  # Move pet (New)
  #--------------------------------------------------------------------------
  def move_pet(type, turn = false)
    if @move_pet == nil
      @move_pet = [type, turn]
      do_type = 0
    else
      do_type = @move_pet[0]
      do_turn = @move_pet[1]
      @move_pet = [type, turn]
    end
    case do_type
    when 1
      @pet.move_lower_left
    when 2
      @pet.move_down(do_turn)
    when 3
      @pet.move_lower_right
    when 4
      @pet.move_left(do_turn)
    when 5
      @pet.move_upper_left
    when 6
      @pet.move_right(do_turn)
    when 7
      @pet.move_upper_right
    when 8
      @pet.move_up(do_turn)
    when 9
      @pet.jump(do_turn[0], do_turn[1])
    end
  end
end

#==============================================================================
# Game_Pet (New)
#==============================================================================

class Game_Pet < Game_Character
  #--------------------------------------------------------------------------
  # Public instance variables
  #--------------------------------------------------------------------------
  attr_reader   :actor
  attr_accessor :move_speed
  #--------------------------------------------------------------------------
  # Initialize
  #--------------------------------------------------------------------------
  def initialize(actor)
    super()
    @through = true
    @actor = actor
  end
  #--------------------------------------------------------------------------
  # Set actor
  #--------------------------------------------------------------------------
  def actor=(actor)
    @actor = actor
    setup
  end
  #--------------------------------------------------------------------------
  # Setup
  #--------------------------------------------------------------------------
  def setup
    if @actor != nil     
      @character_name = $game_actors[@actor].character_name
      @character_index = $game_actors[@actor].character_index
    else
      @character_name = ""
      @character_index = 0
    end
    @priority_type = $game_player.priority_type
  end
  #--------------------------------------------------------------------------
  # Get screen Z
  #--------------------------------------------------------------------------
  def screen_z
    if $game_player.x == @x and $game_player.y == @y
      return $game_player.screen_z - 1
    end
    super
  end
  #--------------------------------------------------------------------------
  # Chek event trigger (here)
  #--------------------------------------------------------------------------
  def check_event_trigger_here(triggers)
    return false
  end
  #--------------------------------------------------------------------------
  # Check event trigger (there)
  #--------------------------------------------------------------------------
  def check_event_trigger_there(triggers)
    return false
  end
  #--------------------------------------------------------------------------
  # Check event trigger (touch)
  #--------------------------------------------------------------------------
  def check_event_trigger_touch(x, y)
    return false
  end
  #--------------------------------------------------------------------------
  # Jump
  #--------------------------------------------------------------------------
  def jump(x, y)
    super(x, y)
  end
end

#==============================================================================
# Spriteset_Map
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # Create characters (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_spriteset_map_create_characters create_characters unless $@
  def create_characters
    ow_pet_spriteset_map_create_characters
    @character_sprites << Sprite_Character.new(@viewport1, $game_party.pet)
  end
end

#==============================================================================
# Scene_Battle
#==============================================================================

class Scene_Battle < Scene_Base
  #--------------------------------------------------------------------------
  # Include (New)
  #--------------------------------------------------------------------------
  include OW_PET
  #--------------------------------------------------------------------------
  # Start (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_scene_battle_start start unless $@
  def start
    if $game_party.members.size < 4 and $game_switches[PET_ENABLE_SWITCH] and
        PET_BATTLE
      $game_party.add_actor(PET_ID)
    end
    ow_pet_scene_battle_start
  end
  #--------------------------------------------------------------------------
  # End battle (Mod)
  #--------------------------------------------------------------------------
  alias ow_pet_scene_battle_battle_end battle_end unless $@
  def battle_end(result)
    $game_party.remove_actor(PET_ID)
    ow_pet_scene_battle_battle_end(result)
    $game_actors[PET_ID].recover_all if PET_HEAL
  end
end
Autor Skyryptu:OrginalWj
Opis Skryptu:dzięki temu skryptowi możemy mieć zwierzaka!, który hodzi za nami. Licze na +


WITAM WAS NA RPGMAKERZEVX

Offline

 

Stopka forum

RSS
Powered by PunBB
© Copyright 2002–2008 PunBB
Polityka cookies - Wersja Lo-Fi


Darmowe Forum | Ciekawe Fora | Darmowe Fora
www.klasa1lnowysacz.pun.pl www.rolkiopole.pun.pl www.naruto13sasuke13sakura.pun.pl www.enokia.pun.pl www.opcm.pun.pl