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

Crystal Melee

Projet A-RPG conçu par Crystal
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
Le Deal du moment : -29%
PC portable – MEDION 15,6″ FHD Intel i7 ...
Voir le deal
499.99 €

 

 [RMXP][Script] Dark_Area

Aller en bas 
AuteurMessage
Crystal
Administrateur
Crystal


Nombre de messages : 315
Date d'inscription : 03/08/2005

[RMXP][Script] Dark_Area Empty
MessageSujet: [RMXP][Script] Dark_Area   [RMXP][Script] Dark_Area EmptyMer 20 Aoû - 20:52

Tout d'abord, importez cette image dans le dossier Pictures de votre projet RMXP avec le blanc en couleur de transparence et renommez-la "dark-area":

https://2img.net/r/ihimizer/img208/8702/darkareajw9.png

Ensuite, ajoutez ce script nommé Dark_Area au-dessus du script Main:

Code:
#=====================================================
# Dark_Area
#=====================================================
# - Crée par Crystal le 22/04/08
# - Version 1.0
#=====================================================
=begin

Ce script permet dans l'idéal de noircir la zone autour d'un évènement ou
du héros, bien qu'on puisse en exploiter davantage de possibilités.

#=====================================================

Pour utiliser le script vous devez entrer la commande:

dark_area(a, b, [c, d, e], f, g, [h, i, j])
 
● a est l'opacité de la zone obscurcie. (0-255)
● b est le pourcentage du champ de vision par rapport à l'image utilisée. (100-infini)
● c est le pourcentage de variations constantes de la taille de l'image. (toute valeur)
● d est le temps de transition entre ces variations en frames.
● e est la variation d'opacité lors de la transition.
● f est l'image utilisée si vous en prenez une particulière. ("mon_image.ext")
● g est l'ID de l'évènement cible de l'image. Si non précisé, c'est le héros.
● h, i et j sont respectivement les valeurs de couleur rouge, vert et bleu de l'image. (0-255)

#=====================================================

Vous pouvez utiliser Dark_Area::Set[p] pour choisir un élément qui
revient fréquemment, où p représente une position du tableau Set.

#=====================================================

La commande doit être dans un évènement en processus parallèle suivie d'une attente
d'une frame pour éviter le ralentissement du jeu.

● Si vous omettez des paramètres, des valeurs sont définies.
● Il faut utiliser "erase_dark_area" ou "dark_area_off" pour effacer l'image.
● L'image doit être dans "Graphics/Pictures/".

=end
#=====================================================

module Dark_Area
  Base_Opacity = 255
  Base_Percent = 100
  Base_Image = "dark-area"
  Base_Target = 0
  Base_Tone = 0
  Set = [
 
  ]
end

#===================================================
# Fonction d'initialisation
#===================================================

def dark_area(opacity = Dark_Area::Base_Opacity, percent = Dark_Area::Base_Percent,
  variations = [0, 0, 0], image = Dark_Area::Base_Image, target = Dark_Area::Base_Target,
  tone = Dark_Area::Base_Tone)
  @dark_area.dispose if @dark_area != nil
  # Initialisation de l'image
  @dark_area = RPG::Sprite.new
  @dark_area.bitmap = RPG::Cache.picture(image)
  if target != 0
    @dark_area.x, @dark_area.y = $game_map.events[target].screen_x,
    $game_map.events[target].screen_y - 32
  else
    @dark_area.x, @dark_area.y = $game_player.screen_x,
    $game_player.screen_y - 32
  end
  @dark_area.ox, @dark_area.oy = @dark_area.bitmap.width / 2,
  @dark_area.bitmap.height / 2
  if variations[1] != 0
    @a = -1 if @a == nil
    @count = 1 if @count == nil
    if @count > variations[1]
      @inverse_var = true
    end
    if @inverse_var
      @count -= 1
      if @count <= 0
        @a = -@a; @count = 1; @inverse_var = false
      end
    else
      @count += 1
    end
    percent += variations[0] * @count / variations[1] * @a
    opacity += variations[2] * @count / variations[1] * @a
  end
  @dark_area.tone = Tone.new(tone[0], tone[1], tone[2], 255) if tone.is_a?(Array)
  @dark_area.zoom_x, @dark_area.zoom_y = percent / 100.0, percent / 100.0
  @dark_area.opacity = opacity
  # Fin de l'initialisation
end

#===================================================
# Fonction d'effacement
#===================================================

def erase_dark_area
  return if @dark_area == nil
  @dark_area.dispose
end
alias dark_area_off erase_dark_area

Donc en gros pour l'utiliser, lisez les lignes en haut dans le script.

Brièvement, il suffit de mettre un évènement en processus parallèle sur les cartes voulues:

Code:
Script: dark_area()
Attendre 1 frame

Et le héros aura un effet lampe de poche autour de lui. Si vous utilisez bien le script, vous devriez avoir des résultats convaincants.

Essayez de changer des paramètres, de changer l'image, etc... Vous pourrez probablement y trouver votre compte. =P

Note: Note: pour l'instant, l'image est coupée à l'extrémité de la map quand elle est réduite à moins de 100 % de zoom, rien de grave. Pour y remédier:

- Faire votre effet sur une image de la même taille que celle plus haut.

Ou

- Faire une plus grande zone noire.


Exemples:

[RMXP][Script] Dark_Area Exax7

[RMXP][Script] Dark_Area Exbk7

[RMXP][Script] Dark_Area Exib8
Revenir en haut Aller en bas
 
[RMXP][Script] Dark_Area
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Crystal Melee :: Coin RPG Maker :: Scripts et tutoriels-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser