RPG Fusion
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.



 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
-20%
Le deal à ne pas rater :
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, 144 Hz, FreeSync ...
399 € 499 €
Voir le deal

 

 Lanterne

Aller en bas 
AuteurMessage
arshes
Jongleur Itinérant
Jongleur Itinérant
arshes


Masculin
Nombre de messages : 81
Age : 29
Date d'inscription : 23/06/2007

Lanterne Empty
MessageSujet: Lanterne   Lanterne EmptyVen 06 Juil 2007, 12:02

Permet de mettre un cercle de lumière autour du héros ou de seulement l'éclairage selon la direction du héros.

- Auteur : SephirothSpawn

- Ressource(s) : Télécharger ici (Fichier Zip ; 25,3 Ko).
9 images à mettre dans le dossier Graphics/Fogs de votre projet.

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


Code:
#==============================================================================
# Circle Of Light (Adds Circle Around your character
#--------------------------------------------------------------------------
#  Created By SephirothSpawn (12.08.05)
#    Thanks to Nick for Coordinates Help
#  Last Updated: 12.05.05
#==============================================================================

#==============================================================================
# ** Game_Temp
#==============================================================================
class Game_Temp
  #--------------------------------------------------------------------------
  # * Public Instance Variables
  #--------------------------------------------------------------------------
  attr_accessor :cover_on, :col_on, :col_level, :col_flashlight
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias col_int initialize
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    col_int
    @cover_on, @col_on, @col_level, @col_flashlight = false, false, 1, false
  end
end

#==============================================================================
# ** Scene_Map
#==============================================================================
class Scene_Map
  #--------------------------------------------------------------------------
  # * Alias Listings
  #--------------------------------------------------------------------------
  alias col_main main
  alias col_update update
  #--------------------------------------------------------------------------
  # * Main Processing
  #--------------------------------------------------------------------------
  def main
    # Cover
    @cover = Sprite.new
      @cover.bitmap = RPG::Cache.fog("Cover", 0)
      @cover.z, @cover.opacity = 9999, 200
      @cover.visible = $game_temp.cover_on ? true : false
    # Creates Circle Of Light Sprite
    @circle_of_light = Sprite.new
      if $game_temp.col_flashlight
        file = "Flash Light_"
        file += "D" if $game_player.direction == 2
        file += "L" if $game_player.direction == 4
        file += "R" if $game_player.direction == 6
        file += "U" if $game_player.direction == 8
      else
        file = "Circle of Light_#{$game_temp.col_level}"
      end
      @circle_of_light.bitmap = RPG::Cache.fog(file, 0)
      @circle_of_light.x = ($game_player.real_x / 4) - 624 - $game_map.display_x / 4
      @circle_of_light.y = ($game_player.real_y / 4) + 32 - 480 - $game_map.display_y / 4
      @circle_of_light.z, @circle_of_light.opacity = 9999, 200
      @circle_of_light.visible = $game_temp.col_on ? true : false
    # Orignal Scene_Map Main
    col_main
    # Disposes Circle Of Light Sprite
    @circle_of_light.dispose
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    # Updates Cover Visiblity
    @cover.visible = $game_temp.cover_on ? true : false
    # Updates Circle of Light Visibility
    @circle_of_light.visible = $game_temp.col_on ? true : false
    # Updates Circle Of Light Bitmap
    if $game_temp.col_flashlight
      file = "Flash Light_"
      file += "D" if $game_player.direction == 2
      file += "L" if $game_player.direction == 4
      file += "R" if $game_player.direction == 6
      file += "U" if $game_player.direction == 8
    else
      file = "Circle of Light_#{$game_temp.col_level}"
    end
    @circle_of_light.bitmap = RPG::Cache.fog(file, 0)
    # Moves Sprite X
    desired_x = ($game_player.real_x / 4) - 624 - $game_map.display_x / 4
    if desired_x > @circle_of_light.x
      @circle_of_light.x += 4
    elsif desired_x < @circle_of_light.x
      @circle_of_light.x -= 4
    end
    # Moves Sprite Y
    desired_y = ($game_player.real_y / 4) - 472 - $game_map.display_y / 4
    if desired_y > @circle_of_light.y
      @circle_of_light.y += 4
    elsif desired_y < @circle_of_light.y
      @circle_of_light.y -= 4
    end
    # Orginal Scene_Map Update
    col_update
  end
end

- Utilisation :

- Faites un évènement

Par la commande d'évènement "Insérer un script", mettez le code selon votre envie :

1) Pour allumer la lanterne selon la direction du héros :

Code:
$game_temp.cover_on = false
$game_temp.col_on = true
$game_temp.col_flashlight = true 

2) Pour le cercle de lumière :

Code:
$game_temp.cover_on = false
$game_temp.col_on = true
$game_temp.col_flashlight = false

Choisir la grandeur du cercle :

Code:
$game_temp.col_level = 1

Remplacez "1" par 2 ou 3 pour une plus grande grandeur.

3) Mettre le noir complet :

Code:
$game_temp.cover_on = true
$game_temp.col_on = false
$game_temp.col_flashlight = false 

4) Remettre normalement :

Code:
$game_temp.cover_on = false
$game_temp.col_on = false
$game_temp.col_flashlight = false
Revenir en haut Aller en bas
 
Lanterne
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Fusion :: BANQUE DU CODE :: Antre des Scripts :: Map-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser