Pokémon Script Project Index du Forum

S’enregistrer | Rechercher | Connexion
 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
Aller à la page: 1, 2, 315, 16, 17  >
 
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts
Sujet précédent :: Sujet suivant   
Auteur Message
Brendan75
Ex-staff


Inscrit le: 24 Mar 2008
Messages: 1 827
Localisation: Paris
Masculin

MessagePosté le: Dim 7 Nov - 18:01 (2010)    Sujet du message: 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.


Dernière édition par Brendan75 le Jeu 28 Juil - 17:50 (2011); édité 5 fois
Revenir en haut
Publicité






MessagePosté le: Dim 7 Nov - 18:01 (2010)    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
Maskagass
Membre


Inscrit le: 22 Avr 2010
Messages: 441
Localisation: Dans un autre monde.
ID Steam: Maskagass

MessagePosté le: Dim 7 Nov - 18:21 (2010)    Sujet du message: 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).
Revenir en haut
Swani
Invité





MessagePosté le: Dim 7 Nov - 18:36 (2010)    Sujet du message: Follow me

Je me demande pourquoi tu la donner...
M'enfin bon sa va faire des heureux  :^^:
Revenir en haut
quenti77
Membre


Inscrit le: 31 Mai 2010
Messages: 145
Localisation: France

MessagePosté le: Dim 7 Nov - 18:36 (2010)    Sujet du message: 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
Revenir en haut
Visiter le site web du posteur
Soul Matt
Membre


Inscrit le: 13 Mai 2010
Messages: 464
Localisation: Quelque par dans le monde ...

MessagePosté le: Dim 7 Nov - 18:46 (2010)    Sujet du message: Follow me

Ce script permmet donc de faire que le 1er pokémon te suit ?
Revenir en haut
Visiter le site web du posteur Skype
Cypmars
Membre


Inscrit le: 02 Mar 2010
Messages: 636
Localisation: Marseille

MessagePosté le: Dim 7 Nov - 19:00 (2010)    Sujet du message: Follow me

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


Inscrit le: 19 Juil 2009
Messages: 1 683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

MessagePosté le: Dim 7 Nov - 19:04 (2010)    Sujet du message: 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:
Revenir en haut
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Junki
Ex-staff


Inscrit le: 14 Juil 2009
Messages: 1 121
Ecrivain
Localisation: La Ciotat
ID Steam: by MP

MessagePosté le: Dim 7 Nov - 19:08 (2010)    Sujet du message: 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. =)
Revenir en haut
Visiter le site web du posteur Skype Facebook Twitter Yahoo Messenger ICQ AIM
Brendan75
Ex-staff


Inscrit le: 24 Mar 2008
Messages: 1 827
Localisation: Paris
Masculin

MessagePosté le: Dim 7 Nov - 19:15 (2010)    Sujet du message: Follow me

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



Cypmars a écrit:
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. ^^
Revenir en haut
Ashikata
Membre


Inscrit le: 19 Juil 2009
Messages: 1 683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

MessagePosté le: Dim 7 Nov - 19:30 (2010)    Sujet du message: Follow me

Brendan75 a écrit:
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^^.
Revenir en haut
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Rox
Membre


Inscrit le: 25 Juin 2010
Messages: 273
Survivant
Localisation: En cavale
Masculin

MessagePosté le: Dim 7 Nov - 19:34 (2010)    Sujet du message: Follow me

Super !
Je l'ai trouvé sur internet, mais il était remplit de beugs et était incomplêt !
Merci pour le partage !
Revenir en haut
Antoine'
Invité





MessagePosté le: Dim 7 Nov - 22:04 (2010)    Sujet du message: 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.

Revenir en haut
Ashikata
Membre


Inscrit le: 19 Juil 2009
Messages: 1 683
Télétubby
Localisation: Ah ba merde alors je suis où?
Masculin

MessagePosté le: Dim 7 Nov - 22:10 (2010)    Sujet du message: Follow me

Lis le premier post Antoine'. >_>
Revenir en haut
Skype Yahoo Messenger ICQ AIM GTalk/Jabber
Antoine'
Invité





MessagePosté le: Dim 7 Nov - 22:16 (2010)    Sujet du message: 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
Revenir en haut
Ice-man
Membre


Inscrit le: 09 Juil 2010
Messages: 748

MessagePosté le: Lun 8 Nov - 17:06 (2010)    Sujet du message: Follow me

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






MessagePosté le: Aujourd’hui à 16:57 (2017)    Sujet du message: Follow me

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Pokémon Script Project Index du Forum -> Game Making -> Ressources techniques -> Scripts Toutes les heures sont au format GMT + 1 Heure
Aller à la page: 1, 2, 315, 16, 17  >
Page 1 sur 17

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une 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)
Traduction par : phpBB-fr.com