RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 
Auteur Message
 Sujet du message: [MAP] Réflexion dans l'eau
MessagePublié: 14 Avr 2007, 23:39 
Bourgeois (Nv 3)
Avatar de l’utilisateur

Inscrit le: 25 Aoû 2006, 00:00
Messages: 247
Niveau RPG Maker: Plutôt pas mal! ^^
Logiciel(s) préféré(s): RPGMXP
Point(s) Fort(s): Eventing à fond! ^^
Sexe: Masculin
Points d'aide: 1/60

Créations :

Voir ses créations

Un script que j'ai longtemps cherché et enfin trouvé!

Auteur : rataime

Screens:
Image
Image

Utilité :
Voila le scrîpt de rataime qui permet d'ajouter des reflexions.
- Reflexion automatique sur des terrains specifiques
- Reflechit tous les events

Installation :
_Pour ceux qui n' ont pas RPG Maker XP en français :
très important mettre l'extension de l'application RGSS100J.dll dans votre projet .
Pour celà , Allez sur votre ordinateur , là où vous avez votre projet ... ouvrez le dossier de votre projet , et double-cliquez sur l' icone " bloc-note" portant le nom de game ( je sais y en à 3 , mais c' est pas celui orange , ni le bleu , mais le 3eme ) .
Une fois que vous avez ouvert le bloc-note , coupez-le :
RGSS102J.dll
Et remplacez le par :
RGSS100J.dll
_ Ensuite, créez un nouveau scrîpt au dessus de Main, nommez le Sprite_Reflection et copiez-y le code suivant:

Code: Tout sélectionner
#==============================================================================
# ? Sprite_Reflection
# Based on Sprite_Mirror, Modified By: JmsPlDnl, rewritten entirely by Rataime
#==============================================================================
CATERPILLAR_COMPATIBLE = true

class Game_Party
 attr_reader :characters
end

class Sprite_Reflection < RPG::Sprite

attr_accessor :character

def initialize(viewport=nil, character=nil,self_angle = 180)
  super(viewport)
  @character = character
  @self_angle=self_angle
  self.opacity=0
  @reflected=false
  @former=false
  @moving=false
  if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
    @reflected=true
    @former=true
  end
  update
end

def update
  super
  if @tile_id != @character.tile_id or
     @character_name != @character.character_name or
     @character_hue != @character.character_hue
    @tile_id = @character.tile_id
    @character_name = @character.character_name
    @character_hue = @character.character_hue
    if @tile_id >= 384
      self.bitmap = RPG::Cache.tile($game_map.tileset_name,
        @tile_id, @character.character_hue)
      self.src_rect.set(0, 0, 32, 32)
      self.ox = 16
      self.oy = 32
    else
      self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
      @cw = bitmap.width / 4
      @ch = bitmap.height / 4
      self.ox = @cw / 2
      self.oy = @ch
    end
  end
 
  self.visible = (not @character.transparent)
  if @tile_id == 0
    sx = (@character.pattern) * @cw
    sy = (@character.direction - 2) / 2 * @ch
    if @character.direction== 6
          sy = ( 4- 2) / 2 * @ch
    end
    if @character.direction== 4
          sy = ( 6- 2) / 2 * @ch
   end
   if @character.direction != 4 and @character.direction != 6
         sy = (@character.direction - 2) / 2 * @ch
   end
  end
 
  self.x = @character.screen_x
  self.y = @character.screen_y-5
  @moving=!(@character.real_x%128==0 and @character.real_y%128==0)
  @d=@character.direction
  @rect=[sx, sy, @cw, @ch]
  if !(@moving)
    if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
      @reflected=true
      @former=true
    else
      @reflected=false
      @former=false
    end
  
  else
      case @d
    
      when 2
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if @former==false
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
          self.y=@character.screen_y-5
        end
      else
        @reflected=false
      end
    
      when 4
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx, sy, @offset, @ch]
        self.x=@character.screen_x
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx+@offset, sy, @cw-@offset, @ch]
          self.x=@character.screen_x-@offset
        end
      end
    
      when 6
      if $game_map.terrain_tag(@character.real_x/128+1,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx+@offset, sy, @cw-@offset, @ch]
        self.x=@character.screen_x-@offset
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx, sy, @offset, @ch]
          self.x=@character.screen_x
        end
      end
    
      when 8
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
          self.y=@character.screen_y-5
        end
      else
        @reflected=false
      end
    
      end

  end
  if @reflected
    self.opacity=128
  else
   @rect=[sx, sy, @cw, @ch]
   self.opacity=0
  end
 
  if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
    if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
      @rect[1]= @rect[1]+@ch/2
      @rect[3]= @rect[3]/2
      self.y = self.y - @ch/2
    else
      @reflected=false
    end
  end
  
  self.src_rect.set(@rect[0],@rect[1],@rect[2],@rect[3])
 
  @character.is_a?(Game_Player) ? self.z = 9 : self.z = 5
  self.blend_type = @character.blend_type
  self.bush_depth = @character.bush_depth
  if @character.animation_id != 0
    animation = $data_animations[@character.animation_id]
    animation(animation, true)
    @character.animation_id = 0
  end

  self.angle = @self_angle
end
end

#===================================================
# ? CLASS Sprite_Character edit
#===================================================

class Sprite_Character < RPG::Sprite
 alias reflect_initialize initialize
 
 def initialize(viewport, character = nil)
   @character = character
   @reflection = []
   super(viewport)
   if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["r"])
    @reflection.push(Sprite_Reflection.new(viewport,@character))
   end
   if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["hero_r"])
    @reflection.push(Sprite_Reflection.new(viewport,$game_player))
#===================================================
# ? Compatibility with fukuyama's caterpillar scrîpt
#===================================================
if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil

 for member in $game_party.characters
   @reflection.push(Sprite_Reflection.new(viewport,member))
 end

end
#===================================================
# ? End of the compatibility
#===================================================
   end
   reflect_initialize(viewport, @character)
 end
 
 alias reflect_update update
 
 def update
  reflect_update
  if @reflection!=nil
    for reflect in @reflection
      reflect.update
    end
  end
 end
 
end


C'est bien beau ce copié collé, mais maintenant faudrait peut être lui donner du boulot au scrîpt...
Pour qu'un autotile (ou même un tile quelconque) devienne réflechissant, rendez vous dans la base de données, dans le tileset concerné et changez le numéro de terrain en 7.
Maintenant que le tile est réfléchissant, faudrait lui donner l'ordre de réfléchir, non ?
Pour cela :
- Si vous désirez que ce soit votre héros qui soit réfléchi, mettez un event sur la map, avec juste un commentaire contenant "hero_r".
- Si vous désirez qu'un event en particulier soit réfléchi, mettez en première commande un commentaire avec juste "r" (peut on faire plus simple ?)

_________________
Ce message ne comportant aucune faute involontaire d'orthographe vous a été présenté par Ewinnol (ou Magnagnananabobomichoux pour les intimes).

Sachez que je suis un très bon event-maker en particulier pour les systèmes marrants (Heures, cuisine, ou toute bizarrerie que votre esprit dément aura pu imaginer).

Actuellement, j'aide:

    -Shaolan66


Haut
 Profil  
 
 Sujet du message: Re: [MAP] Réflexion dans l'eau
MessagePublié: 16 Avr 2007, 00:25 
Bourgeois (Nv 3)
Avatar de l’utilisateur

Inscrit le: 25 Aoû 2006, 00:00
Messages: 247
Niveau RPG Maker: Plutôt pas mal! ^^
Logiciel(s) préféré(s): RPGMXP
Point(s) Fort(s): Eventing à fond! ^^
Sexe: Masculin
Points d'aide: 1/60

Créations :

Voir ses créations

Malheureusement... Je ne vois pas comment remédier à ça... (et pourtant j'ai cherché...)

_________________
Ce message ne comportant aucune faute involontaire d'orthographe vous a été présenté par Ewinnol (ou Magnagnananabobomichoux pour les intimes).

Sachez que je suis un très bon event-maker en particulier pour les systèmes marrants (Heures, cuisine, ou toute bizarrerie que votre esprit dément aura pu imaginer).

Actuellement, j'aide:

    -Shaolan66


Haut
 Profil  
 
 Sujet du message: Re: [MAP] Réflexion dans l'eau
MessagePublié: 16 Avr 2007, 11:28 
Villageois (Nv 3)

Inscrit le: 26 Fév 2007, 01:00
Messages: 51
Points d'aide: 0/60

Créations :

Voir ses créations

Il y a toujours l'éternel problème :
le héros se reflète même sur la terre dans le screen 2.


Haut
 Profil  
 
 Sujet du message: Re: [MAP] Réflexion dans l'eau
MessagePublié: 18 Avr 2007, 10:40 
Villageois (Nv 4)

Inscrit le: 17 Aoû 2006, 00:00
Messages: 66
Localisation: Orléans
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): RGSS
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Après avoir effectué quelques corrections du script (en frame par frame il y avait pas mal d'erreurs), j'ai essayé d'améliorer son rendu pour l'autotile "Water_01".
Pour avoir une réflexion sur toute la case : mettre un numéro de terrain de 7.
Et pour avoir une réflexion compatible avec l'autotile "Water_01" : mettre un numéro de terrain de 6.

Voilà le script :
[spolier]
Code: Tout sélectionner
#==============================================================================
# ? Sprite_Reflection
# Based on Sprite_Mirror, Modified By: JmsPlDnl, rewritten entirely by Rataime
# 18/04/07 : Script modifié par MGCaladtogel pour améliorer le rendu visuel
#            sur l'autotile RTP : "Water01" : le mettre en ID de terrain = 6
#==============================================================================
CATERPILLAR_COMPATIBLE = true
#----------------------------------------------------------------------------
class Game_Party
 attr_reader :characters
end
#----------------------------------------------------------------------------
class Sprite_Reflection < RPG::Sprite
  attr_accessor :character
  #--------------------------------------------------------------------------
  def initialize(viewport=nil, character=nil,self_angle = 180)
    super(viewport)
    @character = character
    @self_angle=self_angle
    self.opacity=0
    @reflected=false
    @former=false
    @moving=false
    @c_h = false
    @c_g = 0
    @c_d = 0
    if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)>=6
      corr_auto(@character.real_x/128,@character.real_y/128+1)
      @reflected=true
      @former=true
    end
    update
  end
  #--------------------------------------------------------------------------
  def type_auto(x, y)
    val = $game_map.terrain_tag(x, y)
    return (val != 6 ? false : true)
  end
  #--------------------------------------------------------------------------
  def corr_auto(x, y)
    val0 = $game_map.terrain_tag(x,y)
    val1 = $game_map.terrain_tag(x-1,y)
    val2 = $game_map.terrain_tag(x+1,y)
    if val1 < 6
      @c_g = (@cw-32)/2
      @c_g += 8 if val0 == 6
    end
    if val2 < 6
      @c_d = (@cw-32)/2
      @c_d += 8 if val0 == 6
    end
  end
  #--------------------------------------------------------------------------
  def update
    @c_h = false
    @c_g = 0
    @c_d = 0
    @m = false
    super
    if @tile_id != @character.tile_id or
      @character_name != @character.character_name or
      @character_hue != @character.character_hue
      @tile_id = @character.tile_id
      @character_name = @character.character_name
      @character_hue = @character.character_hue
      if @tile_id >= 384
        self.bitmap = RPG::Cache.tile($game_map.tileset_name,
        @tile_id, @character.character_hue)
        self.src_rect.set(0, 0, 32, 32)
        self.ox = 16
        self.oy = 32
      else
        self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
        @cw = bitmap.width / 4
        @ch = bitmap.height / 4
        self.ox = @cw / 2
        self.oy = @ch
      end
    end
    self.visible = (not @character.transparent)
    if @tile_id == 0
      sx = (@character.pattern) * @cw
      sy = (@character.direction - 2) / 2 * @ch
      if @character.direction== 6
        sy = ( 4- 2) / 2 * @ch
      end
      if @character.direction== 4
        sy = ( 6- 2) / 2 * @ch
      end
      if @character.direction != 4 and @character.direction != 6
        sy = (@character.direction - 2) / 2 * @ch
      end
    end
    self.x = @character.screen_x
    self.y = @character.screen_y-5
    @moving=!(@character.real_x%128==0 and @character.real_y%128==0)
    @d=@character.direction
    @rect=[sx, sy, @cw, @ch]
    if !(@moving)
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)>=6
        corr_auto(@character.real_x/128,@character.real_y/128+1)
        @reflected=true
        @former=true
      else
        @reflected=false
        @former=false
      end
    else
      case @d
      when 2
        if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)>=6
          corr_auto(@character.real_x/128,@character.real_y/128+2)
          @reflected=true
          if @former==false
            @offset = @ch - (32 - ((@character.real_y/4)%32))
            @rect=[sx, sy, @cw, @offset]
          end
        else
          @reflected = ($game_map.terrain_tag(@character.real_x/128,
          @character.real_y/128+1)>=6 ? true : false)
          if @reflected
            @offset = @ch - ((32+5) - (@character.real_y/4)%32)
            @rect=[sx, sy + @offset, @cw, @ch - @offset]
            self.y -= @offset
          end
        end
      when 4
        if $game_map.terrain_tag((@character.real_x+127)/128 - 1,@character.real_y/128+1)<6
          if $game_map.terrain_tag((@character.real_x+127)/128,@character.real_y/128+1)>=6
            @offset = (@character.real_x/4)%32 + (@cw-32)/2
            @offset -= 8 if type_auto((@character.real_x+127)/128,@character.real_y/128+1)
            @rect=[sx, sy, @offset, @ch]
            @reflected=true
            @c_h = true
          end
        else
          @reflected=true
          if @former==false
            @offset = (@character.real_x/4)%32 + (@cw-32)/2
            @offset += 8 if type_auto((@character.real_x)/128,@character.real_y/128+1)
            @rect=[sx+@offset, sy, @cw-@offset, @ch]
            self.x -= @offset
          end
        end
      when 6
        if $game_map.terrain_tag(@character.real_x/128+1,@character.real_y/128+1)<6
          if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)>=6
            @offset = (@character.real_x/4)%32 + (@cw-32)/2
            @offset += 8 if type_auto(@character.real_x/128,@character.real_y/128+1)
            @rect=[sx+@offset, sy, @cw-@offset, @ch]
            self.x -= @offset
            @reflected=true
          end
        else
          @reflected=true
          if @former==false
            @offset = (@character.real_x / 4)%32 + (@cw-32)/2
            @offset -= 8 if type_auto((@character.real_x+127)/128,@character.real_y/128+1)
            @rect=[sx, sy, @offset, @ch]
            @c_h = true
          end
        end
      when 8
        if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)>=6
          corr_auto(@character.real_x/128,@character.real_y/128+2)
          @reflected=true
          if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)<6
            @offset = @ch - (32 - ((@character.real_y/4)%32))
            @rect=[sx, sy, @cw, @offset]
          end
        else
          @reflected = ($game_map.terrain_tag(@character.real_x/128,
          @character.real_y/128+1)>=6 ? true : false)
          if @reflected
            @offset = @ch - ((32+5) - (@character.real_y/4)%32)
            @rect=[sx, sy + @offset, @cw, @ch - @offset]
            self.y -= @offset
          end
        end
      end
    end
    if @reflected
      self.opacity=128
    else
     @rect=[sx, sy, @cw, @ch]
     self.opacity=0
    end
    if @reflected and $game_map.terrain_tag((@character.real_x+64)/128,
      (@character.real_y+127)/128+2)<6
      if $game_map.terrain_tag((@character.real_x+64)/128,
      (@character.real_y+127)/128)>=6 and
      $game_map.terrain_tag((@character.real_x+64)/128,
      (@character.real_y+127)/128+1)>=6
        @offset = [(@ch - (32+5)) - (32 - (@character.real_y/4)%32)%32, 0].max
        @rect[1] += @offset
        @rect[3] -= @offset
        self.y -= @offset
      else
        lim = (type_auto((@character.real_x+64)/128,
        (@character.real_y+127)/128+1) ? (32-8) : (32+5))
        if @rect[3] > lim
          diff = @rect[3] - lim
          @rect[1] += diff
          @rect[3] = lim
          self.y -= diff
        end
      end
    else
      @reflected=false
    end
    corr_h = 0
    if @c_h or ($game_map.terrain_tag((@character.real_x)/128,
      (@character.real_y+127)/128)<6 and
      $game_map.terrain_tag((@character.real_x)/128,
      (@character.real_y+127)/128+1)>=6)
      if type_auto((@character.real_x)/128, (@character.real_y+127)/128+1) or
        type_auto((@character.real_x+127)/128, (@character.real_y+127)/128+1)
        corr_h = 13
      else
        corr_h = 4
      end
    end
    self.x -= @c_d
    self.src_rect.set(@rect[0] + @c_d, @rect[1], @rect[2] - @c_g - @c_d,
    @rect[3] - corr_h)
    @character.is_a?(Game_Player) ? self.z = 9 : self.z = 5
    self.blend_type = @character.blend_type
    self.bush_depth = @character.bush_depth
    if @character.animation_id != 0
      animation = $data_animations[@character.animation_id]
      animation(animation, true)
      @character.animation_id = 0
    end
    self.angle = @self_angle
  end
end

#===================================================
# ? CLASS Sprite_Character edit
#===================================================

class Sprite_Character < RPG::Sprite
  alias reflect_initialize initialize
  #--------------------------------------------------------------------------
  def initialize(viewport, character = nil)
    @character = character
    @reflection = []
    super(viewport)
    if (character.is_a?(Game_Event) and character.list!=nil and
     character.list[0].code == 108 and character.list[0].parameters == ["r"])
      @reflection.push(Sprite_Reflection.new(viewport,@character))
    end
    if (character.is_a?(Game_Event) and character.list!=nil and
     character.list[0].code == 108 and character.list[0].parameters == ["hero_r"])
      @reflection.push(Sprite_Reflection.new(viewport,$game_player))
#===================================================
# ? Compatibility with fukuyama's caterpillar scrîpt
#===================================================
      if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil
        for member in $game_party.characters
          @reflection.push(Sprite_Reflection.new(viewport,member))
        end
      end
#===================================================
# ? End of the compatibility
#===================================================
    end
    reflect_initialize(viewport, @character)
  end
  #--------------------------------------------------------------------------
  alias reflect_update update
  #--------------------------------------------------------------------------
  def update
    reflect_update
    if @reflection!=nil
      for reflect in @reflection
        reflect.update
      end
    end
  end
end
[/spoiler]


Haut
 Profil  
 
 Sujet du message: Le Script Reflet (ENTIEREMENT REVU ET CORRIGé)
MessagePublié: 23 Aoû 2008, 11:48 
Artisan (Nv 4)

Inscrit le: 03 Déc 2007, 01:00
Messages: 173
Points d'aide: 1/60

Créations :

Voir ses créations

Bonjour à tous !

Depuis quelque temps j'avais beaucoup de problème à faire marcher ce script : le script reflet.

[]Les auteurs :

JmsPlDnl ; Rataime ; Sh4k4

Puis je me suis aperçu qu'il y avait quelques bug dans ce script et que l'image était dans le mauvais sens horizontale.
Alors grâce à SH4K4, qui l'a corrigé, ce script est maintenant fonctionnel !

[]Voici un screen pour exemple :
(à noter que ce screen est de mon projet donc pas vol ni quoi que ce soit)

[spolier]
Image
[/spoiler]

[]Voici l'explication :

[spolier]Pour qu'un autotile ou un élément du tileset puissent "réfléchir" :

Allez dans la base de donnée, puis dans la gestion du chipset, puis dans Terrain, et placez a chaque fois le []chiffre sept sur l'objet réfléchissant.

Mais pour que le reflet du héros et des PNJ s'activent, il faut OBLIGATOIREMENT :

- Pour le reflet du héro, que vous créé un nouvel evennement, puis que vous y inséré un commentaire où il y a écrit []hero_r

- Pour les Pnj, vous devez inserer le commentaire []r (un r tout simple) dans chaque evennement de Pnj.[/spoiler]
[]Et maintenant, voici le script :

[spolier]
Code: Tout sélectionner
#==============================================================================
# ■ Sprite_Reflection
# Based on Sprite_Mirror, Modified By: JmsPlDnl, rewritten entirely by Rataime
# MODIFIED BY Sh4k4.
#==============================================================================
CATERPILLAR_COMPATIBLE = true

class Game_Party
 attr_reader :characters
end

class Sprite_Reflection < RPG::Sprite

attr_accessor :character

def initialize(viewport=nil, character=nil,self_angle = 180)
  super(viewport)
  @character = character
  @self_angle=self_angle
  self.opacity=0
  @reflected=false
  @former=false
  @moving=false
  if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
    @reflected=true
    @former=true
  end
  update
end

def update
  super
  if @tile_id != @character.tile_id or
    @character_name != @character.character_name or
    @character_hue != @character.character_hue
    @tile_id = @character.tile_id
    @character_name = @character.character_name
    @character_hue = @character.character_hue
    if @tile_id >= 384
      self.bitmap = RPG::Cache.tile($game_map.tileset_name,
        @tile_id, @character.character_hue)
      self.src_rect.set(0, 0, 32, 32)
      self.ox = 16
      self.oy = 32
    else
      self.bitmap = RPG::Cache.character(@character.character_name,
        @character.character_hue)
      @cw = bitmap.width / 4
      @ch = bitmap.height / 4
      self.ox = @cw / 2
      self.oy = @ch
    end
  end
 
self.visible = (not @character.transparent)
  if @tile_id == 0
    sx = (@character.pattern) * @cw
    sy = (@character.direction - 2) / 2 * @ch
    if @character.direction == 6
          sy =  2 * @ch
        end
        if @character.direction == 4
          sy =  1 * @ch
    end
  if @character.direction != 4 and @character.direction != 6
        sy = (@character.direction - 2) / 2 * @ch
  end
end
 
  self.x = @character.screen_x
  self.y = @character.screen_y-5
  @moving=!(@character.real_x%128==0 and @character.real_y%128==0)
  @d=@character.direction
  @rect=[sx, sy, @cw, @ch]
  if !(@moving)
    if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)==7
      @reflected=true
      @former=true
    else
      @reflected=false 
      @former=false
    end
   
  else
      case @d
     
      when 2
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if @former==false
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
          self.y=@character.screen_y-5
        end
      else
        @reflected=false 
      end
     
      when 4
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx, sy, @offset, @ch-@ch]
        self.x=@character.screen_x
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx+@offset, sy, @cw-@offset, @ch] if $game_map.terrain_tag(@character.real_x/128, @character.real_y/128) == 7
          @rect=[sx+@offset, sy, @cw-@offset, @ch-@ch] if $game_map.terrain_tag(@character.real_x/128+1, @character.real_y/128) != 7
          self.x=@character.screen_x-@offset
        end
      end
     
      when 6
      if $game_map.terrain_tag(@character.real_x/128+1,@character.real_y/128+1)!=7
        @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
        @rect=[sx+@offset, sy, @cw-@offset, @ch-@ch]
        self.x=@character.screen_x-@offset
      else
        @reflected=true
        if @former==false
          @offset = ((@character.screen_x-@cw/2)%32)*@cw/32
          @rect=[sx, sy, @offset, @ch] if $game_map.terrain_tag(@character.real_x/128, @character.real_y/128) == 7
          @rect=[sx, sy, @offset, @ch-@ch] if $game_map.terrain_tag(@character.real_x/128-1, @character.real_y/128) != 7
          self.x=@character.screen_x
        end
      end
     
      when 8
      if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+2)==7
        @reflected=true
        if $game_map.terrain_tag(@character.real_x/128,@character.real_y/128+1)!=7
          @offset = (@character.screen_y%32)*@ch/32
          @rect=[sx, sy, @cw, @offset]
          self.y=@character.screen_y-5
        end
      else
        @reflected=false 
      end
     
      end

  end
  if @reflected
    self.opacity=200
  else
  @rect=[sx, sy, @cw, @ch]
  self.opacity=0
  end
 
  if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
    if $game_map.terrain_tag((@character.real_x+64)/128,@character.real_y/128+2)!=7
      @rect[1]= @rect[1]+@ch/2
      @rect[3]= @rect[3]/2
      self.y = self.y - @ch/2
    else
      @reflected=false
    end
  end
   
  self.src_rect.set(@rect[0],@rect[1],@rect[2],@rect[3])
 
  @character.is_a?(Game_Player) ? self.z = 9 : self.z = 5
  self.blend_type = @character.blend_type
  self.bush_depth = @character.bush_depth
  if @character.animation_id != 0
    animation = $data_animations[@character.animation_id]
    animation(animation, true)
    @character.animation_id = 0
  end

  self.angle = @self_angle
  self.mirror = true
end
end

#===================================================
# ▼ CLASS Sprite_Character edit
#===================================================

class Sprite_Character < RPG::Sprite
 alias reflect_initialize initialize
 
 def initialize(viewport, character = nil)
  @character = character
  @reflection = []
  super(viewport)
  if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["r"])
    @reflection.push(Sprite_Reflection.new(viewport,@character))
  end
  if (character.is_a?(Game_Event) and character.list!=nil and character.list[0].code == 108 and character.list[0].parameters == ["hero_r"])
    @reflection.push(Sprite_Reflection.new(viewport,$game_player))
#===================================================
# ● Compatibility with fukuyama's caterpillar script-x
#===================================================
if CATERPILLAR_COMPATIBLE and $game_party.characters!=nil

 for member in $game_party.characters
  @reflection.push(Sprite_Reflection.new(viewport,member))
 end

end
#===================================================
# ● End of the compatibility
#===================================================
  end
  reflect_initialize(viewport, @character)
 end
 
 alias reflect_update update
 
 def update
  reflect_update
  if @reflection!=nil
    for reflect in @reflection
      reflect.update
    end
  end
 end
 
end
[/spoiler]

AVIS A LA POPULATION : Si vous avez suivi toute les instructions sur ce topics et que le reflet n'apparait pas, c'est que vous avez un problème lié au DLL.
Donc rechercher des solutions à ce problème grâce à la fonction "CHERCHER" du forum.


Merci de votre attention.
Et bonne continuation ! 863324


Haut
 Profil  
 
 Sujet du message: Re: [MAP] Réflexion dans l'eau
MessagePublié: 01 Oct 2011, 11:44 
Villageois (Nv 1)
Avatar de l’utilisateur

Inscrit le: 25 Juin 2011, 13:47
Messages: 13
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

peut-on baisser l'opacité?


Haut
 Profil  
 
 Sujet du message: Re: [MAP] Réflexion dans l'eau
MessagePublié: 01 Oct 2011, 15:00 
Garde
Garde
Avatar de l’utilisateur

Inscrit le: 27 Fév 2007, 01:00
Messages: 1442
Localisation: France
Niveau RPG Maker: Plutôt bon
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Event Making
Sexe: Masculin
Points d'aide: Illimité

Créations :

Voir ses créations

A la ligne 145, modifie le 200 par un chiffre entre 0 (totalement invisible) et 255 (totalement opaque).

_________________
« Travailler en collaboration, cela veut dire prendre la moitié de son temps à expliquer aux autres que leurs idées sont stupides. »
- Georges Molinski

« J'adore aider les gens mais je deteste aider des personnes qui n'en valent pas la peine. »
- Lidenvice


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 7 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728