AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le Deal du moment :
Xiaomi Mi Smart Camera 2K Standard Edition (design ...
Voir le deal
11.39 €

Partagez
 

 [VX] Réflection du héros et des évènements

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Invité
Invité
avatar



[VX] Réflection du héros et des évènements Empty
MessageSujet: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 19 Avr 2008 - 11:12

Auteur : SephirothtdsFonction : Permet de
réfléchir l'image du héros ou d'un évènement sur la carte. Il est
possible de mettre un effet d'ondulation pour l'eau par exemple.
Image(s) : Image n°1
Ressource(s) : Aucune
Démo :
Télécharger le fichier ( 232.4 Ko ; Fichier RAR)
Remarque :
Testé et fonctionnel Nombre de scripts :
1Installation : Ouvrez l'éditeur de script (F11). Créez en un nouveau au dessus de "Main" et collez le code ci-dessous.
Utilisation :
Créez des zones de monstres dans les endroits où lorsque le héros ou
évènement marchera, son image sera réfléchi. La zone doit se nommer
"Reflect".
Pour réfléchir l'image d'un évènement, nommez ce dernier : "Reflect" aussi.

Regardez la démonstration ci-dessus si vous ne comprenez pas trop son utilisation.
Code:
#==============================================================================
# ** TDS Sprite Reflect
# Version: 1.0
#------------------------------------------------------------------------------
# This script makes specially desigated areas reflect the character sprite and
# events.
#==============================================================================
# Instructions:
#
# Create areas using the area creator of the map editor and call them "Reflect".
#
# For events you can use these two commands in part of their name.
#
# Reflect
#
# Any event with "Reflect" as part of it's name will have the reflect effect on
# the special areas of the map.
#
#
# /OFFSET[#]
#
#  [#] = Numerical value of the offset.
#
#  Example:
#  /OFFSET[10]
#
# Offset changes the Y offset of the sprite in the water.(How far is the
# Reflection from the characters original standing point)
#
#
# $game_player.reflect_offset = #
#
#  # = Value of the character offset.
#
# Just the same as the event offset except this one handles the characters
# offset reflection.
#==============================================================================


  #--------------------------------------------------------------------------
  # * Constants for activating the wave effect on the water
  #--------------------------------------------------------------------------
  WATER_WAVE_EFFECT = true

 
#==============================================================================
# ** Sprite_Character
#------------------------------------------------------------------------------
#  This sprite is used to display characters. It observes a instance of the
# Game_Character class and automatically changes sprite conditions.
#==============================================================================

class Sprite_Reflect < Sprite_Base
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :character
  #--------------------------------------------------------------------------
  # * Object Initialization
  #    viewport  : viewport
  #    character : character (Game_Character)
  #--------------------------------------------------------------------------
  def initialize(viewport = nil, character = nil, offset = nil)
    super(viewport)
    @character = character
    @player_offset = $game_player.reflect_offset   
    @offset = (@character.is_a?(Game_Player) ? @player_offset : offset)
    sprite_setup   
    update
  end
  #--------------------------------------------------------------------------
  # * Sprite Setup
  #--------------------------------------------------------------------------
  def sprite_setup
    self.bitmap = Cache.character(@character.character_name)           
    self.angle = 180
    self.mirror = true   
    self.opacity = 120     
    sign = @character.character_name[/^[\!\$]./]
      if sign != nil and sign.include?('$')
      @cw = bitmap.width / 3
      @ch = bitmap.height / 4
      else
      @cw = bitmap.width / 12
      @ch = bitmap.height / 8
    end             
    @cw = bitmap.width / 12
    @ch = bitmap.height / 8             
  end
 
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super   
    index = @character.character_index
    pattern = @character.pattern < 3 ? @character.pattern : 1
    sx = (index % 4 * 3 + pattern) * @cw
    sy = (index / 4 * 4 + (@character.direction - 2) / 2) * @ch
    self.src_rect.set(sx, sy, @cw, @ch)   
   
    self.ox = 16   
    if @character.is_a?(Game_Player)
      self.oy = 38 + $game_player.reflect_offset   
    else
      self.oy = 38 + @offset
    end
   
    self.x = @character.screen_x
    self.y = @character.screen_y
    self.z = @character.screen_z

    if WATER_WAVE_EFFECT == true   
      self.wave_amp = 1
      self.wave_length = 1
      self.wave_speed = 3
    end     
  end
end


#==============================================================================
# ** Spriteset_Map
#------------------------------------------------------------------------------
#  This class brings together map screen sprites, tilemaps, etc. It's used
# within the Scene_Map class.
#==============================================================================

class Spriteset_Map
  #--------------------------------------------------------------------------
  # * Create Character Sprite
  #--------------------------------------------------------------------------
  alias tds_sprite_reflection_create_characters create_characters
  def create_characters
    tds_sprite_reflection_create_characters   
    @character_sprites = []
    @event_reflection_sprite = []
    @reflecting_events = []
    for i in $game_map.events.keys.sort
      sprite = Sprite_Character.new(@viewport1, $game_map.events[i])
      @character_sprites.push(sprite)
    end
    for vehicle in $game_map.vehicles
      sprite = Sprite_Character.new(@viewport1, vehicle)
      @character_sprites.push(sprite)
    end
    @character_sprites.push(Sprite_Character.new(@viewport1, $game_player))
    for i in $game_map.events.keys.sort   
    @event_name_offset = $game_map.events[i].name   
    @event_name_offset[ /\/OFFSET\[(.*?)\]/ ]
    sprite = Sprite_Reflect.new(@viewport1, $game_map.events[i], $1 != nil ? $1.to_i : 0)     
    if $game_map.events[i].name.include?("Reflect") 
      @event_reflection_sprite.push(sprite)     
      @reflecting_events.push($game_map.events[i])
      end
    end
    @reflection_sprite = Sprite_Reflect.new(@viewport1, $game_player, 0)           
  end
 
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  alias tds_sprite_reflection_update update 
  def update
    tds_sprite_reflection_update   
    if $game_player.current_area_name == "Reflect"
    if $game_player.moving? == false
      @reflection_sprite.visible = true       
    end
    else       
    @reflection_sprite.visible = false               
    end
   
    for i in 0...@reflecting_events.size
    if @reflecting_events[i].current_area_name == "Reflect"
      if @reflecting_events[i].moving? == false
        @event_reflection_sprite[i].visible = true       
      end
    else
      @event_reflection_sprite[i].visible = false     
    end   
    end
 
    if @reflection_sprite.visible == true         
      @reflection_sprite.update
    end
   
    for i in 0...@event_reflection_sprite.size
      if @event_reflection_sprite[i].visible == true
        @event_reflection_sprite[i].update         
      end
    end
   
    update_tilemap
    update_parallax
    update_characters
    update_shadow
    update_weather
    update_pictures
    update_timer
    update_viewports
  end 
end



#==============================================================================
# ** Game_Character
#------------------------------------------------------------------------------
#  This class deals with characters. It's used as a superclass of the
# Game_Player and Game_Event classes.
#==============================================================================

class Game_Character

  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor  :reflect_offset              # Character Reflection Offset 
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  alias tds_sprite_reflection_initialize initialize
  def initialize
    tds_sprite_reflection_initialize   
    @reflect_offset = 0
  end
 
  #--------------------------------------------------------------------------
  # * Current Area Name
  #--------------------------------------------------------------------------
  def current_area_name
    # Checks the areas in the maps
    for area in $data_areas.values
      # If the character is currently on an area
      if in_area?(area) == true
        # Give the value of the name of the area to the return variable
        return_area_name = area.name
        # Break loop
        break
      end   
    end   
    return return_area_name
  end
end


#==============================================================================
# ** Game_Event
#------------------------------------------------------------------------------
#  This class deals with events. It handles functions including event page
# switching via condition determinants, and running parallel process events.
# It's used within the Game_Map class.
#==============================================================================

class Game_Event < Game_Character
 
  #--------------------------------------------------------------------------
  # * Clear Starting Flag
  #--------------------------------------------------------------------------
  def name
    return @event.name
  end
   
  #--------------------------------------------------------------------------
  # * Determine if in Area
  #    area : Area data (RPG::Area)
  #--------------------------------------------------------------------------
  def in_area?(area)
    return false if area == nil
    return false if $game_map.map_id != area.map_id
    return false if @x < area.rect.x
    return false if @y < area.rect.y
    return false if @x >= area.rect.x + area.rect.width
    return false if @y >= area.rect.y + area.rect.height
    return true
  end
end
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 28
Inscrit le : 09/02/2008
Messages : 5357

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 19 Avr 2008 - 11:33

Merci beaucoup ^^.
Sur l'eau, l'effet est très sympa !
Revenir en haut Aller en bas
https://rpg-maker-vx.bbactif.com/
LOD
Illusionniste Lv.12
Illusionniste Lv.12
LOD


Masculin Age : 29
Inscrit le : 16/03/2008
Messages : 666

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 19 Avr 2008 - 12:32

Pas mal !!!!
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 28
Inscrit le : 09/02/2008
Messages : 5357

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 19 Avr 2008 - 12:38

Je viens de l'utilise, il marche mais attention !
La zone doit déborder de la zone (xD), c'est à dire que la zone de combat doit déborder du lac par ex ^^.
Revenir en haut Aller en bas
https://rpg-maker-vx.bbactif.com/
gaaoul13
Poulet carnivore Lv.2
Poulet carnivore Lv.2
gaaoul13


Inscrit le : 13/05/2008
Messages : 10

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 10:14

Je l'ai essayé et il fonctionne sauf qu'il y a un petit inconvénient. No
A chaque changement de carte, le jeu bug et j'ai droit à mon héros et à certains élements qui se dédoublent.
Je l'ai supprimé pour voir s'il était à l'origine du bug et il semblerait que oui. Suspect
Donc à vérifier, je dirais...
Revenir en haut Aller en bas
fabY
dYeu retraité prématurément
dYeu retraité prématurément
fabY


Masculin Age : 28
Inscrit le : 09/02/2008
Messages : 5357

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 14:29

Mmh ... Je vais tester. Si ça me le fait aussi je regarderai le script. Mais attention hein, je suis pas un scripteur donc c'est pas sur que je trouve Smile

Par contre je trouve un truc pas normal...

MIKO N'A PAS FAIT DE FAUTES ! C'est pas possible ! Il a du copier coller le texte de quelque part >< ...
Revenir en haut Aller en bas
https://rpg-maker-vx.bbactif.com/
Invité
Invité
avatar



[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 14:57

Bin oui c'est pas lui qui l'a fait puisqu'il met le nom de l'auteur nan ?
Revenir en haut Aller en bas
LOD
Illusionniste Lv.12
Illusionniste Lv.12
LOD


Masculin Age : 29
Inscrit le : 16/03/2008
Messages : 666

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 15:21

Tu parle dus script toi , nous du l'orthographe de son post.

Sinon t'es aussi un fan d'allienware ?
Revenir en haut Aller en bas
Invité
Invité
avatar



[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 15:24

Ah ok... j'sais pas il dit : "il n'a pas fait de faute" mais il ne dit pas d'orthographe ou pas alors bin moi je sais pas xD
Et sinon ouais j'adore le type de graphisme genre futur/abstrait ^^ j'ai 3 fond d'écrans et plein d'image Alienware
Revenir en haut Aller en bas
Invité
Invité
avatar



[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 16 Mai 2008 - 19:56

xD non je n'ai pas fait de copier/coller
Revenir en haut Aller en bas
Raitosan
† Fondateur du forum †
† Fondateur du forum †
Raitosan


Masculin Age : 31
Inscrit le : 09/02/2008
Messages : 1974

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 17 Mai 2008 - 7:24

Merci pour ce tuto! pourrait tu le mettre sur le site s' il te plait? Merci
Revenir en haut Aller en bas
http://www.zeforiu.fr
Gothor
Chevalier Lv.17
Chevalier Lv.17
Gothor


Masculin Age : 30
Inscrit le : 27/04/2008
Messages : 1835

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeSam 17 Mai 2008 - 9:40

J'ai toujours adoré ce script (il existait déjà sur XP) merci beaucoup ^^
Revenir en haut Aller en bas
Lumaxy
Vagabond Lv.5
Vagabond Lv.5
Lumaxy


Masculin Age : 29
Inscrit le : 23/01/2010
Messages : 88

[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitimeVen 18 Juin 2010 - 16:58

Désoler pour de soulver un vieux sujet mais apprement on a pas répondu à cette question parce j'ai le même bug à chaque teleportation ....
Citation :
A chaque changement de carte, le jeu bug et j'ai droit à mon héros et à certains élements qui se dédoublent.
Je l'ai supprimé pour voir s'il était à l'origine du bug et il semblerait que oui. Suspect
Donc à vérifier, je dirais...
Suspect
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Réflection du héros et des évènements Empty
MessageSujet: Re: [VX] Réflection du héros et des évènements   [VX] Réflection du héros et des évènements Icon_minitime

Revenir en haut Aller en bas
 

[VX] Réflection du héros et des évènements

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» [RESOLU]PHS de KGC, changer les héros de combat, mais garder le même héros sur la map
» [RESOLU] Afficher nom héros en message si l'ID du héros peut varier.
» [VX] Générateur d'événements.
» Les choix des événements
» Création d'évènements

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Carte et HUDs-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Forum gratuit