Sujet n°11672
Posté par ThunderZ le 2 Juil - 02:11 (2012)
Titre : [RESOLU] Script du pokemon qui te suit .
Donc voilà j'ai mis le script Follow me de Brendan45.

Et voilà ce que cela m'affiche.


Posté par Seusyn le 2 Juil - 02:29 (2012)
Peux tu nous mettre la totalité du script en spoiler dans des balises code ?

Posté par ThunderZ le 2 Juil - 14:27 (2012)
Voilà ;
Spoiler

Posté par Over le 2 Juil - 14:36 (2012)
Je ne peux malheureusement pas t'aider je ne connais pas très bien ce script.


J'espère que quelqu'un le pourra.

Posté par Laito' le 2 Juil - 17:56 (2012)
Heureusement qu'il t'as demandé la totalité du code.

Posté par ThunderZ le 2 Juil - 20:43 (2012)
Autant pour moi.
Spoiler
Code:
#==============================================================================
# ■ Follow Me Pokémon
# par Brendan75
#-----------------------------------------------------------------------------
# Rend le premier pokémon de l'équipe visible sur la map.
#==============================================================================

PKM_TRANSPARENT_SWITCHES = 50 # Index de l'interrupteur pour rendre invisible

class Follower_Pkm < Game_Character
  include POKEMON_S
 
  def initialize
    super()
    @through = false
    @step_anime = true
    @pkm_id = 0
  end
 
  def update
    if $pokemon_party.size != 0
      @pkm_id = $pokemon_party.actors[0].id
      string = "pkm #{sprintf('%03d', @pkm_id)}.png"
      if @character_name != string
        @character_name = string
        @character_hue = 0
        @opacity = 255
        @blend_type = 0
      end
      if @opacity != ($game_switches[PKM_TRANSPARENT_SWITCHES] ? 0 : 255)
        @opacity = ($game_switches[PKM_TRANSPARENT_SWITCHES] ? 0 : 255)
      end
    else
      @character_name = ""
    end
    self.move_speed = $game_player.move_speed
    super
  end
 
  def screen_z(height = 0)
    if $game_player.x == @x and $game_player.y == @y 
      return $game_player.screen_z(height) - 1
    end
    super(height)
  end
 
  def check_event_trigger_touch(x, y) end
   
  def passable?(x, y, d)
    new_x = x + (d == 6 ? 1 : d == 4 ? -1 : 0)
    new_y = y + (d == 2 ? 1 : d == 8 ? -1 : 0)
    unless $game_map.valid?(new_x, new_y)
      return false
    end
    if @through
      return true
    end
    unless $game_map.passable?(x, y, d, self)
      return false
    end
    unless $game_map.passable?(new_x, new_y, 10 - d)
      return false
    end
    for event in $game_map.events.values
      if event.x == new_x and event.y == new_y
        unless event.through
          if self != $game_player
            return false
          end
          if event.character_name != ""
            return false
          end
        end
      end
    end
    return true
  end
end

#-----------------------------------------------------------------------------
# ● Spriteset Map
#-----------------------------------------------------------------------------
class Spriteset_Map
  alias follow_me_initialize initialize
  def initialize
    follow_me_initialize
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_party.follower_pkm))
    update
  end
end

#-----------------------------------------------------------------------------
# ● Scene Map
#-----------------------------------------------------------------------------
class Scene_Map
  alias follow_me_transfer_player transfer_player
  def transfer_player
    $game_party.erase_moves
    follow_me_transfer_player
  end
 
  alias follow_me_update update
  def update
    follow_me_update
    $game_party.follower_pkm.update
  end
end

#-----------------------------------------------------------------------------
# ● Game Player
#-----------------------------------------------------------------------------
class Game_Player
  alias follow_me_moveto moveto
  def moveto(x, y)
    follow_me_moveto(x, y)
    $game_party.follower_pkm.moveto(x, y)
  end
 
  def move_down(turn_enabled = true)
    if passable?(@x, @y, 2)
      $game_party.move_party_actors
      $game_party.add_move_list(Input::DOWN, turn_enabled)
    end
    super(turn_enabled)
  end
 
  def move_left(turn_enabled = true)
    if passable?(@x, @y, 4)
      $game_party.move_party_actors
      $game_party.add_move_list(Input::LEFT, turn_enabled)
    end
    super(turn_enabled)
  end
 
  def move_right(turn_enabled = true)
    if passable?(@x, @y, 6)
      $game_party.move_party_actors
      $game_party.add_move_list(Input::RIGHT, turn_enabled)
    end
    super(turn_enabled)
  end
 
  def move_up(turn_enabled = true)
    if passable?(@x, @y, 8)
      $game_party.move_party_actors
      $game_party.add_move_list(Input::UP, turn_enabled)
    end
    super(turn_enabled)
  end
end

#-----------------------------------------------------------------------------
# ● Game Party
#-----------------------------------------------------------------------------
class Game_Party
  include POKEMON_S
  attr_accessor :follower_pkm
 
  alias follow_me_initialize initialize
  def initialize
    follow_me_initialize
    @follower_pkm = Follower_Pkm.new
    @next_move = nil
  end
 
  def move_party_actors
    case @next_move.type
    when Input::DOWN
      @follower_pkm.move_down(@next_move.turn_enabled)
    when Input::LEFT
      @follower_pkm.move_left(@next_move.turn_enabled)
    when Input::RIGHT
      @follower_pkm.move_right(@next_move.turn_enabled)
    when Input::UP
      @follower_pkm.move_up(@next_move.turn_enabled)
    else
      return
    end
    erase_moves
  end
   
  def add_move_list(type, turn_enabled)
    @next_move = Move_List_Element.new(type, turn_enabled)
  end
 
  def erase_moves
    @next_move = nil
  end
end

#-----------------------------------------------------------------------------
# ● Move List Element
#-----------------------------------------------------------------------------
class Move_List_Element
  attr_reader :type
  attr_reader :turn_enabled
 
  def initialize(type, turn_enabled)
    @type = type
    @turn_enabled = turn_enabled
  end
end

Posté par Laito' le 2 Juil - 20:44 (2012)
Ton spoiler sert à rien si tu mets 1) le code à l'extérieur 2) rien dedans.

Posté par ThunderZ le 3 Juil - 13:41 (2012)
Je l'ai très bien mise .

Posté par Malorie le 3 Juil - 15:00 (2012)
J'avais un problème similaire mais moi c'était dans un autre script mon problème. Puis j'ai remis le script Follow me dans un projet PSP DS vierge et ça a marché Gros matou qui ronronne

Posté par Seusyn le 3 Juil - 15:12 (2012)
J'espere que dans ton projet tu n'utilises pas l’interrupteur 50...

Posté par ThunderZ le 3 Juil - 19:48 (2012)
Non ce n'est même pas cela car ça fait cela que à l'écran titre..

Posté par Seusyn le 3 Juil - 20:13 (2012)
Ouais mais si ton intro utilise un interrupteur...

Posté par ThunderZ le 5 Juil - 15:55 (2012)
J'ai vérifier, mon intro n'en utilise pas.

Posté par Seusyn le 5 Juil - 17:22 (2012)
Alors je laisse la main à ceux qui s'y connaissent mieux ^^

Posté par ThunderZ le 6 Juil - 01:19 (2012)
Ca y est j'ai résolu mon problème merci à vous de votre soutiens.

Posté par Seusyn le 6 Juil - 07:06 (2012)
Donne la réponse dans ton premier post on sait jamais si quelqu'un rencontre encore ce problème ^^