Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 14:23 | |
| Bonjour bonsoir, je travaille actuellement sur l'immersion dans mon projet "Le Dernier Voyage", mais je n'arrive pas à implanter des effets de brouillard. Voici l'erreur qui s'affiche : Script "Brouillard" line 149 : TypeError Occured. nil can't be coerced into FixnumCela fait plusieurs années que je make, même si j'ai jamais été très actif, et je n'ai jamais réussi à intergrer du brouillard dans un jeu ! >.< ! Je tiens à préciser que j'ai copier ce script du jeu "Riisenguard" dans lequel il fonctionnait, car je me suis dit qu'ainsi il ne devrait pas buger s'il ne bug pas dans un autre jeu, mais non. Ca ne marche pas quand même :/ . Bref, voici le script en entier : - Spoiler:
#============================================================================== # ** Brouillard d'RMXP pou RMVX #------------------------------------------------------------------------------ # Ce script crée un effet de brouillard comme dans RPG maker XP. Utiliser les brouillard proposés dans # RPG Maker XP. # 08-03-2008 (dd-mm-aaaa) © Hevendor de rmxp.org # 09-03-2008 Edits/additions by Jirbytaylor # 09-03-2008 (dd-mm-aaaa) Edité par Hevendor # 31/07/2008 (dd-mm-aaaa) Traduit par Blockade # Version 1.2.3 #==============================================================================
module Fog_Map_Settings #============================================================================ # * Comfigure le lien vers le(s) fichier(s) de brouillard. Format: # {numéro_du_brouillard => 'nom_du_fichier.extension', ...} # Ou nom_du_fichier.extension doit être un fichier de brouillard et son extention # DANS le dossier pictures du jeu. #============================================================================ Fog_names = {1 => 'Fog01.png', 2 => 'Fog02.png', 3 => 'Fog03.png', 4 => 'Fog01.png', 5 => 'Fog01.png', 6 => 'Fog01.png', } #============================================================================ # * Les maps ou vous voulez afficher le brouillard. Format: # Fog_maps = {mapID => numéro_du_brouillard , mapID2 => numéro_du_brouillard, ...} #============================================================================ Fog_maps = {25 => 1, 26 => 1, 2 => 1, 30 => 1, 31 => 1, 32 =>1, 33 =>1, 34 =>1, 35 => 1, 36 => 1, 37 => 1, 38 => 1, 39 => 1, 113=> 1, 274 => 6, 275 => 6, 276 => 6, 277 => 6,} #============================================================================ # * Options d'affichage du brouillard. Utiliser (numéro_du_brouillard => paramètre , ...) format # - Opacity - Opacitée du brouillard, comprise entre 0 (invisible) et 255 (opaque) # - Zoom - Taille du brouillard '1' est normal, pas '100' # - Blend - Si : 0 - Normal # 1 - Clair # 2 - Sombre # - SxSy - Paramètre des défilements (numéro_du_brouillard => [sx,sy], ...) #============================================================================ Fog_opacity = {1 => 90, 2 => 100, 3 => 100, 4 => 100, 5 => 25, 6 => 75,} Fog_zoom = {1 => 3, 2 => 3, 3 => 3, 4 => 3, 5 => 3, 6 => 3,} Fog_blend = {1 => 0, 2 => 0, 3 => 0, 4 => 0, 5 => 0, 6 => 0,} Fog_sxsy = {1 => [1, 1], 2 => [6, 6], 3 => [4,4], 4 => [13,8], 5 => [1,1], 6 => [1, 1],} end
class Game_Map #-------------------------------------------------------------------------- # * Public Instance Variables #-------------------------------------------------------------------------- attr_reader :map_id # map ID attr_reader :fog_ox # fog oX attr_reader :fog_oy # fog oY #-------------------------------------------------------------------------- # * Alias Definitions #-------------------------------------------------------------------------- alias hev_fog_feature_map_update update alias hev_fog_feature_map_initialize initialize #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize @fog_ox = 0 @fog_oy = 0 hev_fog_feature_map_initialize end #-------------------------------------------------------------------------- # * Update Fog #-------------------------------------------------------------------------- def update_fog if Fog_Map_Settings::Fog_maps.include?($game_map.map_id) @fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][0] / 8.0 @fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][1] / 8.0 end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update hev_fog_feature_map_update update_fog end end
class Spriteset_Map #-------------------------------------------------------------------------- # * Alias Definitions #-------------------------------------------------------------------------- alias hev_fog_feature_initialize initialize alias hev_fog_feature_create_viewports create_viewports alias hev_fog_feature_dispose dispose alias hev_fog_feature_update_viewports update_viewports alias hev_fog_feature_update update #-------------------------------------------------------------------------- # * Object Initialization #-------------------------------------------------------------------------- def initialize hev_fog_feature_initialize create_fog end #-------------------------------------------------------------------------- # * Create Viewport #-------------------------------------------------------------------------- def create_viewports @viewport4 = Viewport.new(0, 0, 544, 416) @viewport4.z = 9 hev_fog_feature_create_viewports end #-------------------------------------------------------------------------- # * Create Fog #-------------------------------------------------------------------------- def create_fog @fog = Plane.new(@viewport4) if Fog_Map_Settings::Fog_maps.include?($game_map.map_id) fog_number = Fog_Map_Settings::Fog_maps[$game_map.map_id] update_fog @fog.bitmap = Cache.picture(Fog_Map_Settings::Fog_names[fog_number]) @fog.opacity = Fog_Map_Settings::Fog_opacity[fog_number] @fog.zoom_x = @fog.zoom_y = Fog_Map_Settings::Fog_zoom[fog_number] @fog.blend_type = Fog_Map_Settings::Fog_blend[fog_number] end end #-------------------------------------------------------------------------- # * Update Fog Sprite #-------------------------------------------------------------------------- def update_fog if @fog != nil @fog.ox = $game_map.display_x / 8 + $game_map.fog_ox @fog.oy = $game_map.display_y / 8 + $game_map.fog_oy end end #-------------------------------------------------------------------------- # * Frame Update #-------------------------------------------------------------------------- def update hev_fog_feature_update update_fog end #-------------------------------------------------------------------------- # * Dispose of Fog Sprite #-------------------------------------------------------------------------- def dispose_fog @fog.dispose end #-------------------------------------------------------------------------- # * Dispose #-------------------------------------------------------------------------- def dispose dispose_fog hev_fog_feature_dispose end end
Et voici la ligne 149 : - Spoiler:
@fog.ox = $game_map.display_x / 8 + $game_map.fog_ox
La liste de mes scripts : -SBS avec ATB donc, tout les scripts qui vont avec. ( c'est le SBS tankentai ) -Effets de Lumières de Kylock -Pas d'intro en combat pas Maxhack -Rapport de combat V3 de Blockade -Battle Background par Synthetise -Targetting extended par CrimsonSeas -Ecran Titre amélioré par Deadly dan et traduit par Makhack Hé bien j'espère que quelqu'un a une idée de ce qui cloche. Même dans un projet vide d'autres script ça ne marche pas, c'est incompréhensible ! Merci d'avance à toute personne proposant son aide.
Dernière édition par Olowynd le Mer 30 Jan 2013 - 13:08, édité 1 fois |
|
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 14:26 | |
| Tu as lu les instructions ? Tu as essayé de voir si il marchait en faisant une nouvelle partie ? |
|
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 15:30 | |
| Super, j'ai cru que tu avais résolu mon problème et que j'étais juste un boulet, mais quand je rentre sur une des maps ou il doit avoir du brouillard : Script "Brouillard" line 93 : NameError Occured Uninitialized constant Game_map::Fog_Map_SettingsFog_mapsLa ligne 93 en question : - Spoiler:
@fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][0] / 8.0
C'était trop beau pour être vrai... dommage :/ j'ai faillit mettre un résolu dans le titre, merci quand même en tout cas. |
|
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 15:42 | |
| Tu as essayé en faisant une nouvelle partie ? Tu as bien tout réglé dans les paramètre de ton fog ? |
|
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 16:06 | |
| Oui j'ai fait une nouvelle partie, et j'ai tout réglé dans les paramètres de fog selon moi. En tout cas je ne repére pas d'erreurs. |
|
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 16:10 | |
| Qu'as-tu paramétré dans cette catégorie ? - Code:
-
Fog_sxsy = {1 => [1, 1], 2 => [6, 6], 3 => [4,4], 4 => [13,8], 5 => [1,1], 6 => [1, 1],} |
|
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 23 Jan 2013 - 19:41 | |
| Eh bien la même chose que ce que tu vient de copier vu que ça vient du script que j'ai posté x) |
|
Citadin Lv.7
Inscrit le : 07/09/2011 Messages : 186
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Sam 26 Jan 2013 - 0:23 | |
| remplace - Code:
-
@fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][0] / 8.0 (la ligne 93) par - Code:
-
@fog_ox -= Fog_Map_Settings::Fog_sxsy[Fog_Map_Settings::Fog_maps[@map_id]][0] / 8.0 C'est encore mieux de lire les messages d'erreurs plutot que de suggerer des solutions qui ne règlent absolument pas le soucis. |
|
Age : 30 Inscrit le : 22/12/2011 Messages : 1600
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Sam 26 Jan 2013 - 0:45 | |
| J'utilise le même script et je n'ai jamais eu d'erreur c'est pour ça. x) Enfin, merci pour ton aide S4suk3. J'attends la réponse d'Olowynd et je déplacerais après. |
|
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Dim 27 Jan 2013 - 14:19 | |
| J'ai remplacé la ligne 93 par le bout de code que tu as posté S4suk3, mais maintenant j'ai le même message d'erreur pour la ligne suivante, la 94 : Script "Brouillard" line 94 : NameError Occured Uninitialized constant Game_map::Fog_Map_SettingsFog_mapsLa ligne 94 en cause : @fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][1] / 8.0 Je sais pas ce qui cloche, dommage que je sois si nul en script Merci à vous de proposer des solutions tout de même ! |
|
Invité
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Dim 27 Jan 2013 - 14:22 | |
| remplace @fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_SettingsFog_maps[@map_id]][1] / 8.0 par @fog_oy -= Fog_Map_Settings::Fog_sxsy[Fog_Map_Settings::Fog_maps[@map_id]][1] / 8.0
Le problème vient du fait que Fog_Map_SettingsFog_maps n'existe pas. Il faut donc le remplacer par Fog_Map_Settings::Fog_maps |
|
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Dim 27 Jan 2013 - 14:34 | |
| Je me demande comment tu as fais quand même, si tu as copié-collé le script de Riïsenguard directement, car j'ai vérifié dans mon projet, et la syntaxe y est correcte (d'où le fait que ça marche). ^^' |
|
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard Mer 30 Jan 2013 - 13:07 | |
| Justement oui, c'est plutôt bizarre, j'essaye avec le script copié sur internet -> ça ne marche pas. Tiens, dans les scripts de Riisenguard il y a le script de brouillard qui est fonctionnel en jeu. Si je le copiais ? -> ça ne marche pas. :O ?! Are you kidding me RPG Maker ? Mais sinon j'ai fait les modifications que tu m'as dit Grim et ça marche !! Même si c'est incompréhensible de savoir pourquoi ça marche chez Nus' dans ce cas. En tout cas merci à vous s4suk3 et Grim !! En passant, la démo de mon jeu ne sortira pas aujourd'hui finalement. Cela fait presque deux semaines que j'ai pas avancé et je compte la faire tester à un ami avant. Voilou et encore merci ! J'édite le titre en résolu pour qu'un modo puisse le déplacer ! |
|
| Sujet: Re: [Resolu] Problème avec le Script de Brouillard | |
| |
|