❤ 0 Auteur : Siefried
Logiciel : RPG Maker XP
Nombre de scripts : 1
Pendant un récent marathon de mapping sur mon projet, j'ai codé un petit script qui pourrait aider à résoudre un truc qui m'avait toujours agacé dans Rm.
Fonctionnalités
Situation : vous voulez par exemple créer un point de sauvegarde en event, avec un chara qui est assez grand (un cercle magique, etc...).
Problème : Rmxp le considère comme un personnage, et l'affiche comme un "mur" au lieu de l'aplatir au sol.
Conséquence : vous passez "derrière" le point de sauvegarde si son chara dépassé 32 pixels de hauter...
Ce script résout le problème.
Installation
Ajoutez-le tout simplement, au dessus de "Main".
Utilisation
Pour déterminer les charas concernés, j'ai opté pour une méthode par fichier, incluant les directions à aplatir.
Les explications à ce sujet sont dans le script, avec un exemple que vous pouvez remplacer.
Vous pouvez rajouter un fichier en insérant une ligne à la suite, comme ceci :
1
| "nom_du_fichier_chara" => [2, 4, 6, 8], |
(2 = bas, 4 = gauche, 6 = droite et 8 = haut)
Dites-moi s'il y a un bug ou des effets indésirables.
Version 1.1 éditée par Crystal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
| #==============================================================================
# ■ Flat_Characters 1.1
#------------------------------------------------------------------------------
# Par Siegfried (https://saleth.fr)
# Edité par Crystal
#==============================================================================
module Flat_Characters
LIST = {
# Ajouter ici la liste de vos charas et des directions concernées :
# "nom_du_fichier" => [2, 4, 6, 8],
# 2 : bas
# 4 : gauche
# 6 : droite
# 8 : haut
# Exemple : haut et bas => [2, 8]
"savepoint" => [4],
}
end
#==============================================================================
# □ Sprite_Character
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# ○ Update
#--------------------------------------------------------------------------
alias flat_update update
def update
flat_update
if @last_char != @character.character_name || @last_dir != @character.direction
@last_char = @character.character_name
@last_dir = @character.direction
@flat = Flat_Characters::LIST.has_key?(@character_name) &&
Flat_Characters::LIST[@character_name].include?(@character.direction)
end
self.z = 0 if @flat
end
end
end |
Version 1.0 (archive)
Spoiler (cliquez pour afficher)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| #==============================================================================
# ■ Flat_Characters 1.0
#------------------------------------------------------------------------------
# Par Siegfried (http://saleth.fr)
#==============================================================================
module Flat_Characters
LIST = {
# Ajouter ici la liste de vos charas et des directions concernées :
# "nom_du_fichier" => [2, 4, 6, 8],
# 2 : bas
# 4 : gauche
# 6 : droite
# 8 : haut
# Exemple : haut et bas => [2, 8]
"savepoint" => [4],
}
end
#==============================================================================
# □ Sprite_Character
#==============================================================================
class Sprite_Character < RPG::Sprite
#--------------------------------------------------------------------------
# ○ Update
#--------------------------------------------------------------------------
alias flat_update update
def update
flat_update
if Flat_Characters::LIST.keys.include?(@character_name) and
Flat_Characters::LIST[@character_name].include?(@character.direction)
self.z = 0
end
end
end |
Mis à jour le 22 octobre 2020.
|