Pokémon Script Project Forum Index

Manuel | Search
 Information des admins 
Si vous désirez parler de PSP ou obtenir du soutient là dessus, merci d'aller faire un tour sur https://pokemonworkshop.com/forum/index.php Imbécile heureux

Follow me
Goto page: 1, 2, 315, 16, 17  >
 
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts
Previous topic :: Next topic   
Author Message
Brendan75
Ex-staff


Joined: 24 Mar 2008
Posts: 1,827
Localisation: Paris
Masculin

PostPosted: Sun 7 Nov - 18:01 (2010)    Post subject: Follow me

Bonjour à tous,

Je vous propose le script de follow me (ou caterpilar), il sert à rendre le premier pokémon de l'équipe visible exactement comme dans COAA :

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


Il faut nommer les characters de pokémons "Pkm id.png" (ex Pkm 001.png pour Bulbizarre) et bien sûr les placer dans Characters.
Les crédits sont obligatoires !

Voilà tout, amusez vous bien avec.


Last edited by Brendan75 on Thu 28 Jul - 17:50 (2011); edited 5 times in total
Back to top
Publicité






PostPosted: Sun 7 Nov - 18:01 (2010)    Post subject: Publicité

PublicitéSupprimer les publicités ?
Back to top
Maskagass
Membre


Joined: 22 Apr 2010
Posts: 441
Localisation: Dans un autre monde.
ID Steam: Maskagass

PostPosted: Sun 7 Nov - 18:21 (2010)    Post subject: Follow me

Tu as enfin décide de le donner!
Dommage que c'est pas prévu dans mon projet...

Mais c'est cool pour les autres (Oopah).
Back to top
Swani
Guest





PostPosted: Sun 7 Nov - 18:36 (2010)    Post subject: Follow me

Je me demande pourquoi tu la donner...
M'enfin bon sa va faire des heureux  :^^:
Back to top
quenti77
Membre


Joined: 31 May 2010
Posts: 145
Localisation: France

PostPosted: Sun 7 Nov - 18:36 (2010)    Post subject: Follow me

Bonjour brendan75, Tu es mon sauveur car depuis le temps que je cherche. Je suis pas très bon en script j'arrive tout juste à modifier quelque petit truc. Mais des que j'en trouvais un il fallait l'intégrer à psp
Back to top
Visit poster’s website
Soul Matt
Membre


Joined: 13 May 2010
Posts: 464
Localisation: Quelque par dans le monde ...

PostPosted: Sun 7 Nov - 18:46 (2010)    Post subject: Follow me

Ce script permmet donc de faire que le 1er pokémon te suit ?
Back to top
Visit poster’s website Skype
Cypmars
Membre


Joined: 02 Mar 2010
Posts: 636
Localisation: Marseille

PostPosted: Sun 7 Nov - 19:00 (2010)    Post subject: Follow me

Le fameux script de Glock XD
Merci Brendan même si on en avait deja un pour andesite et basalte :/
Back to top
Ashikata
Membre


Joined: 19 Jul 2009
Posts: 1,683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

PostPosted: Sun 7 Nov - 19:04 (2010)    Post subject: Follow me

Haaaaleluja ! http://www.youtube.com/watch?v=JxYtNsN7fbQ&feature=related
Merci à toi même si je pense que c'est le même que dans arena et donc il y a deux trois bugs. (genre quand on va dans un mur).
En tout cas c'est très sympa de ta part ! Bouche extensiblek:
Back to top
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Junki
Ex-staff


Joined: 14 Jul 2009
Posts: 1,121
Ecrivain
Localisation: La Ciotat
ID Steam: by MP

PostPosted: Sun 7 Nov - 19:08 (2010)    Post subject: Follow me

Je préfères ceux lui que je possède celui là est rempli de bug ( collision du poké avec les murs distance entre héros et poké )mais le partager est sympa pour ceux qui ne l'avait pas. =)
Back to top
Visit poster’s website Skype Facebook Twitter Yahoo Messenger ICQ AIM
Brendan75
Ex-staff


Joined: 24 Mar 2008
Posts: 1,827
Localisation: Paris
Masculin

PostPosted: Sun 7 Nov - 19:15 (2010)    Post subject: Follow me

Swani wrote:
Je me demande pourquoi tu la donner...
M'enfin bon sa va faire des heureux  :^^:



Cypmars wrote:
Le fameux script de Glock XD
Merci Brendan même si on en avait deja un pour andesite et basalte :/


I suffit de recouper les message pour comprendre les raisons de mon partage. Pour ce qui est des bugs, je vais tenter de les régler. ^^
Back to top
Ashikata
Membre


Joined: 19 Jul 2009
Posts: 1,683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

PostPosted: Sun 7 Nov - 19:30 (2010)    Post subject: Follow me

Brendan75 wrote:
Pour ce qui est des bugs, je vais tenter de les régler. ^^


T'as intérêt à le faire ouais parce que sinon tu seras châtré avec une batte de base ball clouté et rouillée !

Nan, pour l'instant cette version me suffit^^.
Back to top
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Rox
Membre


Joined: 25 Jun 2010
Posts: 273
Survivant
Localisation: En cavale
Masculin

PostPosted: Sun 7 Nov - 19:34 (2010)    Post subject: Follow me

Super !
Je l'ai trouvé sur internet, mais il était remplit de beugs et était incomplêt !
Merci pour le partage !
Back to top
Antoine'
Guest





PostPosted: Sun 7 Nov - 22:04 (2010)    Post subject: Follow me

Super le partage. Mais j'ai un bug



Le log:

---------- Erreur de script : API ----------
----- Type
Errno::ENOENT

----- Message
No such file or directory - Graphics/Characters/pkm 004.png

----- Position dans API
Ligne 1

----- Backtrace
Script : API | Ligne : 1 | Méthode : in `initialize'
Script : API | Ligne : 1 | Méthode : in `new'
Script : API | Ligne : 1 | Méthode : in `load_bitmap'
Script : API | Ligne : 1 | Méthode : in `character'
Script : Sprite_Character | Ligne : 45 | Méthode : in `update'
Script : DS Résolution | Ligne : 15 | Méthode : in `initialize'
Script : Follow me | Ligne : 136 | Méthode : in `new'
Script : Follow me | Ligne : 136 | Méthode : in `setup_follower_pkm_sprite'
Script : Follow me | Ligne : 114 | Méthode : in `setup_character_sprites'
Script : Follow me | Ligne : 172 | Méthode : in `setup_follower_pkm_sprite'
Script : Follow me | Ligne : 179 | Méthode : in `update_party_actors'
Script : Follow me | Ligne : 296 | Méthode : in `update'
Script : Game_Player | Ligne : 41 | Méthode : in `update'
Script : Scene_Map | Ligne : 49 | Méthode : in `alias_update'
Script : Scene_Map | Ligne : 46 | Méthode : in `loop'
Script : Scene_Map | Ligne : 59 | Méthode : in `alias_update'
Script : MAPPANEL* | Ligne : 89 | Méthode : in `oldUpdate'
Script : Bouton_Rouge* | Ligne : 54 | Méthode : in `update'
Script : Scene_Map | Ligne : 26 | Méthode : in `main'
Script : Scene_Map | Ligne : 21 | Méthode : in `loop'
Script : Scene_Map | Ligne : 33 | Méthode : in `main'
Script : Main | Ligne : 58

________________________________________________________________________

Merci de votre aide.

Back to top
Ashikata
Membre


Joined: 19 Jul 2009
Posts: 1,683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

PostPosted: Sun 7 Nov - 22:10 (2010)    Post subject: Follow me

Lis le premier post Antoine'. >_>
Back to top
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Antoine'
Guest





PostPosted: Sun 7 Nov - 22:16 (2010)    Post subject: Follow me

Ah merde ><" je pensait que fallait pas marquer .png a la fin merci

Bon je vais attendre un peu si il regle les bug car quand on marche le pokémon est a 10cm de plus que toi et aussi il passe a travers les maison o.o
Back to top
Ice-man
Membre


Joined: 09 Jul 2010
Posts: 748

PostPosted: Mon 8 Nov - 17:06 (2010)    Post subject: Follow me

Merci du partage Brendan, j'attend la prochaine version (si il y en a une). Imbécile heureux
Back to top
Contenu Sponsorisé






PostPosted: Today at 02:53 (2019)    Post subject: Follow me

Back to top
Display posts from previous:   
Post new topic   Reply to topic    Pokémon Script Project Forum Index -> Game Making -> Ressources techniques -> Scripts All times are GMT + 1 Hour
Goto page: 1, 2, 315, 16, 17  >
Page 1 of 17

 
Jump to:  

Index | Free forum | Free support forum | Free forums directory | Report a violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Thème par Thomas et l'équipe de la refonte PSP 2012 (version 1.0)