Le Deal du moment :
Code promo Nike : -25% dès 50€ ...
Voir le deal

Aller en bas
bascolo
bascolo
Membre

Nombre de messages : 17
Localisation : Québec
Distinction : aucune
Date d'inscription : 25/04/2008

Reflet / Réflexion Empty Reflet / Réflexion

Jeu 8 Mai 2008 - 20:03
Script REFLET pour RPG Maker VX


Fonction : Permet de réfléchir votre personnage sur une case plus bas.
Exemple : Lorque votre personnage s'approche d'un cours d'eau, il percois sont reflet sur l'eau.

Voir Photo ;
Spoiler:

Instructions :
1. Copier le script au-dessus de "Main" dans la section "Materials" sous n'importe quel nom. Ensuite créez-vous une carte.
Code:
#==============================================================================
# Réflexion Sprite - Version 1.0
# par Bascolo
#------------------------------------------------------------------------------
# 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.
#==============================================================================

#===============================================================
#                           
#                rpgmakervx.1fr1.net                                           
#       
#===============================================================

  #--------------------------------------------------------------------------
  # * 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
2. Ensuite créer un "Area" sous le nom de "Reflect".
Dans l'exemple de ma photo, j'ai besoin de créer deux "Area" sous le nom de "Reflect" - un pour chaque cours d'eau.
Spoiler:
3. Maintenant, vous devez déterminer la position du "Area" selon la région où vous voulez avoir de la réflexion. Pour faire ainsi, cliquer sur l' "Area" désirer puis cliquer sur "Espace" sur votre clavier. Vous devriez voir cette boite ;
Spoiler:
Puis cliquer sur "Area Position".
4. Ensuite, sélectionner la zone d'où lorsqu'un personnage s'approche, sont reflet s'affiche.
Spoiler:
5. Maintenant, créer un "EVENT" afin de créer un "NPC" sur la carte. Il est important de nommer cet "EVENT" sous le nom de "REFLECT". Puis lorsque cet "EVENT" passe dans la zone déterminer au numéro 4, sont "SPRITE" est réfléchie sur la case juste en dessous.
Spoiler:

TERMINER


NOTE : Si vous voulez que le reflet soit plus loin, changer simplement le nom de l' "EVENT" pour "Reflect /OFFSET[40]" au lieu de juste "REFLECT" comme mentionné au numéro 5 ci-haut.
Spoiler:
NOTE2 : Votre personnage est automatiquement réfléchie dans les ZONE "REFLECT" désignée. Seul les "NPC" doivent avoir le nom de leur "EVENT" appeler "REFLECT".

QUESTIONS ?
bascolo
bascolo
Membre

Nombre de messages : 17
Localisation : Québec
Distinction : aucune
Date d'inscription : 25/04/2008

Reflet / Réflexion Empty Oups !

Jeu 8 Mai 2008 - 20:07
Désolé, je viens de voir que j'ai oublier de traduire mon script en francais. Je l'avais préparer pour un autre site mais si vous avez des questions ou besoin d'une petite traduction, hésitez pas à me le demander.

Nick
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 20:25
Ce script va donner plus de réalisme au jeu, très bon script !!!
freezia
freezia
Staffeux retraité

Nombre de messages : 1734
Distinction : Elu membre de l'année 2009 haut la main.
Inventeur du Mapping Show.

caricaturatationeur de la comu'
[ Dudu']
Date d'inscription : 18/02/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 20:47
Je l'es déjà vue auparavant sur ce forum même .
Exactement la même chose mais je ne sais plus où il se trouve .
Korndor
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 111
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 21:43
Oui, mais je laisse ce topic plus détaillé ^^^
Excellent travail, bascolo! Very Happy
Hop, re+5
Korndor
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 111
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 21:51
Hum, il y a un problème de plagiat, là:

Spoiler:

Source: RM Love


Dernière édition par Tretian le Jeu 8 Mai 2008 - 21:55, édité 2 fois
Berka
Berka
Staffeux retraité

Nombre de messages : 1832
Age : 34
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 21:53
pareil pour le script d'anti lag.... et, en tant que scripteur, je n'aime pas du tout, mais alors pas du tout ca... Evil or Very Mad

ça veut dire quoi, ça ?
tu es frustré parce que tu ne sais pas scripter ? t'en fais pas je suis en train d'ouvrir un site pour apprendre le ruby... (d'ou ma petite absence... Laughing)

tu sais que l'on peut passer plus de 10 heures sur un script ? Evil or Very Mad
je ne sais pas quoi rajouter, tant tu me degoutes...


Dernière édition par berka le Jeu 8 Mai 2008 - 21:56, édité 1 fois
Korndor
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 111
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 21:54
Version 1.7 du script, pour les interressés:


Spoiler:

Qu'as-tu à y répondre, Bascolo?
bascolo
bascolo
Membre

Nombre de messages : 17
Localisation : Québec
Distinction : aucune
Date d'inscription : 25/04/2008

Reflet / Réflexion Empty ???

Jeu 8 Mai 2008 - 22:08
Mais j'ai jamais dit que c'est moi qui l'ai faite. Je comprends pas là...

J'pensais que c'était celui qui l'affiche sur le forum de quoi.

Désolé...
Korndor
Korndor
Staffeux retraité

Nombre de messages : 4959
Age : 111
Localisation : Erem Vehyx
Distinction : Champion de boxe et au lit ! :O [Wax]
Être Mythique [Mister]
Papi Korndor qui a l'ostéoporose [Skillo]
Soldat Ikéa [Coco']
Un bonhomme, un vrai ! [Neresis]
Vieillard acariâtre [Didier Gustin]
Date d'inscription : 16/12/2007
http://www.rpgmakervx-fr.com/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 22:10
#==============================================================================
# Réflexion Sprite - Version 1.0
# par Bascolo
#------------------------------------------------------------------------------


bascolo a écrit:Désolé, je viens de voir que j'ai oublier de traduire mon script en francais. Je l'avais préparer pour un autre site

#==============================================================================
# Anti-Lag pour RPGMAKER VX (par Bascolo)


...


Dernière édition par Tretian le Jeu 8 Mai 2008 - 22:14, édité 4 fois
Berka
Berka
Staffeux retraité

Nombre de messages : 1832
Age : 34
Localisation : Paris
Distinction : rubyste déglingué
9ème dan en scripting-no-jutsu

Nouveau Justine Beber ;P
Date d'inscription : 16/12/2007
http://rpgruby.olympe-network.com

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 22:10
c'est ca qui me derange....

# Réflexion Sprite - Version 1.0
# par Bascolo

arf trop tard... tretian tu m'as doublé


Imagine un gars qui a planché pendant des heures sur ce script, meme si ce ne sont que quelques lignes de code, ca peut etre plus compliqué, notamment avec les apis, dont "ton" antilag etait rempli... Ce gars, qui pourrait tres bien garder ce script pour lui decide de le partager... ce que je fais, personnellement a chaque fois... la moindre c'est de ne pas lui piquer son travail...

ne fais pas celui qui ne savait pas... tu as pu lire le nom de l'auteur avant de l'effacer et de le remplacer par ton pseudo...
Tu as voulu jouer au plus malin, ca a louppé...
t'as meme pas pensé a changer le nom des variables, en gardant des noms espagnols... "valor"


Dernière édition par berka le Jeu 8 Mai 2008 - 22:20, édité 1 fois
freezia
freezia
Staffeux retraité

Nombre de messages : 1734
Distinction : Elu membre de l'année 2009 haut la main.
Inventeur du Mapping Show.

caricaturatationeur de la comu'
[ Dudu']
Date d'inscription : 18/02/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Jeu 8 Mai 2008 - 22:19
Je m'en doutais depuis le début . C'était pas net .
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Ven 9 Mai 2008 - 19:03
Bon... , sur mon jeu, le script bug lors d'une téléportation, alors... si quelqu'un pouvais voir où est le problème .
Thierry T.
Thierry T.
Membre

Nombre de messages : 664
Age : 29
Localisation : Marseille (13).
Distinction : questionneur à répétition
Date d'inscription : 01/03/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Ven 9 Mai 2008 - 19:20
Salut !! Je trouve se script super utile !! C'est tout bête mais il fallait y penser !! En tout cas merci à toi !! Very Happy
Mister Geek
Mister Geek
Staffeux retraité

Nombre de messages : 719
Age : 30
Localisation : Vosges
Distinction : aucune
Date d'inscription : 20/12/2007

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 17:06
Bascolo, tu mériterais un avertoch' pour ce plagiat....

A l'avenir, évite ce genre d'ânerie, ou la sanction tombera !
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 17:33
Le script bug lorsque je me téléporte !
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 33
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 17:38
Wahou cool.

Apprends à nous détailler tes erreurs parce que dire "Mon script bug" nous aidera pas à résoudre ton problème. Dis plutôt "Mon script bug : il affiche [tel message d'erreur] lorsque je [fais telle action] et quand j'ouvre l'éditeur de script il est positionné à la ligne buguée [XXX]"
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 17:40
C'est très bizard, lorque je me téléporte et que je me déplace sur le nouveau lieu, tout les evènement bouge aussi, et ça fini par bugger et tout fermer !
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 33
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 18:00
Y'a pas de message d'erreur? Suspect
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 18:02
Si mais après la téléportation, mais ce n'est pas un message d'erreur du logiciel, mais de l'ordinateur, selon quoi le programme a rencontré un problème et doit fermer !
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 33
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 18:06
Ouvre un nouveau projet, installe le script et réessaie une téléportation. Si ça marche, recopie tes données sur ce projet, sinon ben tant pis xD
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 18:17
Le programme ne se ferme plus, mais il y a toujours le problème des évènements !
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 33
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 19:28
Alors essaie de décrire précisément ce qu'il se passe avec les évènements.
claire
claire
Membre

Nombre de messages : 459
Age : 29
Localisation : Pardies
Distinction : aucune
Date d'inscription : 28/02/2008
http://wyzigoth.site.voila.fr/

Reflet / Réflexion Empty Re: Reflet / Réflexion

Dim 11 Mai 2008 - 19:59
Je crois que c'est du au jeu en fa^^ite, je vais apronfondir mes recherche à l'interieur du jeu, sinon, c'est bon !
bascolo
bascolo
Membre

Nombre de messages : 17
Localisation : Québec
Distinction : aucune
Date d'inscription : 25/04/2008

Reflet / Réflexion Empty Re: Reflet / Réflexion

Mar 13 Mai 2008 - 3:19
Vous pouvez utiliser la version 1.7 aussi poster par Tretian un peu plus haut. Il est possible que ca règle les problèmes que vous avez.
Contenu sponsorisé

Reflet / Réflexion Empty Re: Reflet / Réflexion

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum