Sujet n°10199
Posté par bachir-zane le 15 Aoû - 12:03 (2011)
Titre : gros problem.........le scripte ' follw me ' (resolu)
bonjour j ai trouvé sur le forum un scripte qui permet au 1ere pokemon d etre visble sur la map et reproduit les mouvement de l héro ......m il n a pas marché pour moi .....
j ai fait comme ca
  tout d'abord, j ai ajouté  un nouveau script et collez le code que je vais vous donner dans ' main':




Code:
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









apres bien sûr, l'image du Pokémon qui va suivre. Vous devez placer ces images dans le dossier "Characters". L'image doit avoir CETTE morphologie :







j ai aussi nommer les images de cette manière: "Pkm [ID].png" (par exemple "Pkm 001.png" pour Bulbizarre et ainsi de suite).



finalement rien ne marche et je voit pokemon sur la map ..............




plz aidé moi ...donné moi un super tuto de ce scripte pour comprendre
 et merci d avence

Posté par Zopo le 15 Aoû - 12:05 (2011)
Le log SVP, et ton image ne peut pas être vu.
Merci

ET J'EN AIS MARE DES GENS QUI ÉCRIVE MAL ET QUI METTE DANS LEURS TITRE GROS PROBLEM SANS "E"
DONC TU VAS ME MÈTRE UN JOLI TITRE : "PROBLÈME DANS LE SCRIPT FOLLOW ME"

CECI EST UNE REMISE A NIVEAU NON PAS UN PETAGE DE CÂBLE DE MA PART

Posté par Nuri Yuri le 15 Aoû - 12:08 (2011)
T'as ajouter le script dans Main :?
A la fin de Main ?
Si c'est le cas, met le avant main.

Posté par bachir-zane le 15 Aoû - 12:09 (2011)
avant main tu est sure ?

Posté par Nuri Yuri le 15 Aoû - 12:09 (2011)
Script X
Script Y

FollowMe
Main
C'est comme ça que ça doit apparaître dans le menu déroulant des scripts.

Posté par Zopo le 15 Aoû - 12:10 (2011)
Oh, d'accord Yuri en effet c'est comment dire euh bisard...

Et une susceptibilité : L'intérupteur permet de désactiver le script donc quand tu active interrupteur tu désactive le script

Posté par bachir-zane le 15 Aoû - 12:13 (2011)
Zopo , Yuri  je suis vraiment désolé mes amis...........

Posté par Zopo le 15 Aoû - 12:14 (2011)
Ce n'est pas grave, mais pense à mètre résolu dans ton titre de sujet  Clin d'œil foireux