Kingdom maker : Le royaume du Making

Le site du making avec les meilleurs ressources, scripts, download et tutoriels
 
AccueilLe sitePortailFAQRechercherS'enregistrerGroupesMembresConnexion

Partagez | 
 

 [Script] Reflet dans l'eau

Aller en bas 
AuteurMessage
[DoE] Cylosis
Administrateur fondateur
Administrateur fondateur
avatar

Masculin Nombre de messages : 281
Age : 23
Date d'inscription : 09/06/2007

Mon niveau de Making
Niveau Script:
14/20  (14/20)
Niveau construction de MAP:
15/20  (15/20)
Niveau Base de donnée:
19/20  (19/20)

MessageSujet: [Script] Reflet dans l'eau   Dim 10 Juin - 15:27

Je remercie l'auteur car ce script n'est pas de moi !!!!

Mettre le reflet du héros ou évènement

Auteur : Modifié par JmsPlDnl, réécrit entièrement par Rataime

Fonction : Permet de mettre le reflet d'un évènement ou du héros sur un décor (l'eau par exemple)

Remarque : Testé et fonctionnel.

Nombre de scripts : 1

Installation : Ouvrez l'éditeur de scripts (F11) et créez un nouveau script au dessus de "Main" et nommez le "Sprite_Reflection" et collez le code ci-dessous.

Utilisation :

Faites un évènement ayant comme commentaire :

- hero_r pour mettre le reflet du héros

- r pour mettre le reflet d'un évènement quelconque.

Pour afficher le reflet, allez dans la base de données et ensuite dans "gestion de chipset". Sélectionnez le tileset, cliquez sur "Terrain" et mettez "7" pour le carreau où vous voulez qu'il y est un reflet. Par exemple, mettez "7" sur le carreau représentant l'eau pour avoir un reflet dans l'eau dessus)

Code:
#==============================================================================
# ■ 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 = 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 script
#===================================================
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
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://kingdommaker.1fr1.net
 
[Script] Reflet dans l'eau
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Codes java script validé dans le PA mais n'apparaît pas
» Ajout du script tournepage dans la gestion Java, mais rien ne se passe
» Problème avec le script donné dans le tuto "créer une pluie d'image"
» ce-script-affiche-dans-la-barre-de-statut-le-temps-passe-sur-la-page-et-une-alerte-au-moment-ou-la-page-se-ferme
» Ajouté Script Noël dans déscription du site

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Kingdom maker : Le royaume du Making :: A propos de RPG Maker :: Les scripts-
Sauter vers: