CaistsaRpg
¿Quieres reaccionar a este mensaje? Regístrate en el foro con unos pocos clics o inicia sesión para continuar.

Heroe Seguido(Script)

2 participantes

Ir abajo

Heroe Seguido(Script) Empty Heroe Seguido(Script)

Mensaje  Caistsa Dom Mar 16, 2008 5:22 pm

Este sript permite que el numero que tu quieras de aliados sigan al personaje principal.
Código:
# MAX_SIZE is the max size of the followers.
 # CATERPILLAR is the switch to turn on or off followers. The default is 2
 #--------------------------------------------------------------------------
 # * Constants
 #--------------------------------------------------------------------------
 MAX_SIZE = 8
 CATERPILLAR = 2

class Game_Player
 #--------------------------------------------------------------------------
 # * Move Down
 #    turn_enabled : a flag permits direction change on that spot
 #--------------------------------------------------------------------------
 def move_down(turn_enabled = true)   
  super(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Left
 #    turn_enabled : a flag permits direction change on that spot
 #--------------------------------------------------------------------------
 def move_left(turn_enabled = true)
  super(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Right
 #    turn_enabled : a flag permits direction change on that spot
 #--------------------------------------------------------------------------
 def move_right(turn_enabled = true)
  super(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move up
 #    turn_enabled : a flag permits direction change on that spot
 #--------------------------------------------------------------------------
 def move_up(turn_enabled = true)
  super(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Lower Left
 #--------------------------------------------------------------------------
 def move_lower_left
  super
 end
 #--------------------------------------------------------------------------
 # * Move Lower Right
 #--------------------------------------------------------------------------
 def move_lower_right
  super
 end
 #--------------------------------------------------------------------------
 # * Move Upper Left
 #--------------------------------------------------------------------------
 def move_upper_left
  super
 end
 #--------------------------------------------------------------------------
 # * Move Upper Right
 #--------------------------------------------------------------------------
 def move_upper_right
  super
 end
end

class Game_Follower < Game_Character
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader  :actor
 attr_accessor :move_speed
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 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
  @opacity = 255
  @blend_type = 0
  @priority_type = 0
 end
 
 #--------------------------------------------------------------------------
 # * Screen Z
 #--------------------------------------------------------------------------
 def screen_z
  if $game_player.x == @x and $game_player.y == @y
    return $game_player.screen_z - 1
  end
  super
 end
 #--------------------------------------------------------------------------
 # * Same Position Starting Determinant (Disabled)
 #--------------------------------------------------------------------------
 def check_event_trigger_here(triggers)
  result = false
  return result
 end
 #--------------------------------------------------------------------------
 # * Front Envent Starting Determinant (Disabled)
 #--------------------------------------------------------------------------
 def check_event_trigger_there(triggers)
  result = false
  return result
 end
 #--------------------------------------------------------------------------
 # * Touch Event Starting Determinant (Disabled)
 #--------------------------------------------------------------------------
 def check_event_trigger_touch(x, y)
  result = false
  return result
 end
end

class Spriteset_Map
 alias_method :spriteset_map_create_characters, :create_characters
 def create_characters
  spriteset_map_create_characters
  $game_party.followers.each do |char|
    @character_sprites << Sprite_Character.new(@viewport1, char)
  end
 end
end

class Game_Party

 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :followers
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_party_initialize, :initialize
 def initialize
  trick_caterpillar_party_initialize
  @followers = Array.new(MAX_SIZE - 1) {Game_Follower.new(nil)}
  @move_list = []
 end
 #--------------------------------------------------------------------------
 # * Update Followers
 #--------------------------------------------------------------------------
 def update_followers
  flag = $game_player.transparent || $game_switches[CATERPILLAR]
  @followers.each_with_index do |char, i|
    char.actor = @actors[i + 1]
    char.move_speed = $game_player.move_speed
    if $game_player.dash?
      char.move_speed += 1
    end
    char.update
    char.transparent = flag
  end
 end
 #--------------------------------------------------------------------------
 # * Move To Party
 #--------------------------------------------------------------------------
 def moveto_party(x, y)
  @followers.each {|char| char.moveto(x, y)}
  @move_list.clear
 end
 #--------------------------------------------------------------------------
 # * Move Party
 #--------------------------------------------------------------------------
 def move_party
  @move_list.each_index do |i|
    if @followers[i] == nil
      @move_list[i...@move_list.size] = nil
      next
    end
    case @move_list[i].type
    when 2
      @followers[i].move_down(*@move_list[i].args)
    when 4
      @followers[i].move_left(*@move_list[i].args)
    when 6
      @followers[i].move_right(*@move_list[i].args)
    when 8
      @followers[i].move_up(*@move_list[i].args)
    when j
      @followers[i].move_lower_left
    when 3
      @followers[i].move_lower_right
    when 7
      @followers[i].move_upper_left
    when 9
      @followers[i].move_upper_right
    when 5
      @followers[i].jump(*@move_list[i].args)
    end
  end
 end
 #--------------------------------------------------------------------------
 # * Add Move List
 #--------------------------------------------------------------------------
 def update_move(type, *args)
  move_party
  @move_list.unshift(Game_MoveListElement.new(type, args))
 end
end

class Game_MoveListElement
 #--------------------------------------------------------------------------
 # * Object Initialization
 #--------------------------------------------------------------------------
 def initialize(type, args)
  @type = type
  @args = args
 end
 #--------------------------------------------------------------------------
 # * Type
 #--------------------------------------------------------------------------
 def type
  return @type
 end
 #--------------------------------------------------------------------------
 # * Args
 #--------------------------------------------------------------------------
 def args
  return @args
 end
end

class Game_Player
 #--------------------------------------------------------------------------
 # * Public Instance Variables
 #--------------------------------------------------------------------------
 attr_reader :move_speed
 
 #--------------------------------------------------------------------------
 # * Update
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_update, :update
 def update
  $game_party.update_followers
  trick_caterpillar_player_update
 end
 #--------------------------------------------------------------------------
 # * Moveto
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_moveto, :moveto
 def moveto(x, y)
  $game_party.moveto_party(x, y)
  trick_caterpillar_player_moveto(x, y)
 end
 #--------------------------------------------------------------------------
 # * Move Down
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_down, :move_down
 def move_down(turn_enabled = true)
  if passable?(@x, @y+1)
    $game_party.update_move(2, turn_enabled)
  end   
  trick_caterpillar_player_move_down(turn_enabled)   
 end
 #--------------------------------------------------------------------------
 # * Move Left
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_left, :move_left
 def move_left(turn_enabled = true)
  if passable?(@x-1, @y)
    $game_party.update_move(4, turn_enabled)
  end
  trick_caterpillar_player_move_left(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Right
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_right, :move_right
 def move_right(turn_enabled = true)
  if passable?(@x+1, @y)
    $game_party.update_move(6, turn_enabled)
  end
  trick_caterpillar_player_move_right(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Up
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_up, :move_up
 def move_up(turn_enabled = true)
  if passable?(@x, @y-1)
    $game_party.update_move(8, turn_enabled)
  end
  trick_caterpillar_player_move_up(turn_enabled)
 end
 #--------------------------------------------------------------------------
 # * Move Lower Left
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_lower_left, :move_lower_left
 def move_lower_left
  if passable?(@x - 1, @y) and passable?(@x, @y + 1)
    $game_party.update_move(1)
  end
  trick_caterpillar_player_move_lower_left
 end
 #--------------------------------------------------------------------------
 # * Move Lower Right
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_lower_right, :move_lower_right
 def move_lower_right
  if passable?(@x + 1, @y) and passable?(@x, @y + 1)
    $game_party.update_move(3)
  end
  trick_caterpillar_player_move_lower_right
 end
 #--------------------------------------------------------------------------
 # * Move Upper Left
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_upper_left, :move_upper_left
 def move_upper_left
  if passable?(@x - 1, @y) and passable?(@x, @y - 1)
    $game_party.update_move(7)
  end
  trick_caterpillar_player_move_upper_left
 end
 #--------------------------------------------------------------------------
 # * Move Upper Right
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_move_upper_right, :move_upper_right
 def move_upper_right
  if passable?(@x + 1, @y) and passable?(@x, @y - 1)
    $game_party.update_move(9)
  end
  trick_caterpillar_player_move_upper_right
 end
 #--------------------------------------------------------------------------
 # * Jump
 #--------------------------------------------------------------------------
 alias_method :trick_caterpillar_player_jump, :jump
 def jump(x_plus, y_plus)
  new_x = @x + x_plus
  new_y = @y + y_plus
  if (x_plus == 0 and y_plus == 0) or passable?(new_x, new_y)
    $game_party.update_move(5, x_plus, y_plus)
  end
  trick_caterpillar_player_jump(x_plus, y_plus)
 end
end

Colocalo encima de main y cambia
Código:
 # MAX_SIZE is the max size of the followers.
 # CATERPILLAR is the switch to turn on or off followers. The default is 2
 #--------------------------------------------------------------------------
 # * Constants
 #--------------------------------------------------------------------------
 MAX_SIZE = 8
 CATERPILLAR = 2
MAX-SIZE:Hay tienes que poner los aliados que seguirán al personaje principal
CATERPILLAR:Hay coloca el interruptor que lo activa o desactiva

Creditos:
Trickster
Caistsa
Caistsa
Administrador
Administrador

Cantidad de envíos : 187
Fecha de inscripción : 21/02/2008

https://caistsarpg.superforo.net

Volver arriba Ir abajo

Heroe Seguido(Script) Empty Re: Heroe Seguido(Script)

Mensaje  SriLanka Mar Mar 18, 2008 11:29 pm

Cual es el numero maximo de aliados que te pueden seguir? bueno gracias por el script solo tengo esas duda esque si son menos de 7 ya tengo un script que deja hasta siete
SriLanka
SriLanka
Hijo De Artemisa
Hijo De Artemisa

Cantidad de envíos : 55
Edad : 31
Localización : aqui....alla....no me acuerdo...
Fecha de inscripción : 04/03/2008

Volver arriba Ir abajo

Volver arriba

- Temas similares

 
Permisos de este foro:
No puedes responder a temas en este foro.