Sujet n°8754
Posté par
FinalArt le
19 Déc - 13:56 (2010)Titre :
[Résolu] Bug sur DS Résolution [PSPDS 5g ]Salut, j'ai un bug avec DS Résolution de PSP DS 5G. En premier lieu j'ai eu le bug comme quoi c'était impossible de diviser par 0, ect.J'ai alors mis juste au dessus de la ligne qui bug : if frame == 0 frame = 1 end Code: |
def draw_autotile(x, y, z, tile_id) autotile = @autotiles[tile_id / 48 - 1] tile_id %= 48 bitmap = Bitmap.new(32, 32) tiles = Autotiles[tile_id / 8][tile_id % 8] frames = autotile.width / 96 if frames == 0 frames = 1 end anim = (Graphics.frame_count / Animated_Autotiles_Frames) % frames * 96 for i in 0...4 tile_position = tiles[i] - 1 src_rect = Rect.new(tile_position % 6 * 16 + anim, tile_position / 6 * 16, 16, 16) bitmap.blt(i % 2 * 16, i / 2 * 16, autotile, src_rect) end
|
Mais nouveau bug :
Rapport log :
Citation: |
---------- Erreur de script : DS Résolution ---------- ----- Type NameError
----- Message undefined local variable or method ` 1' for #<Tilemap:0x47c07a0>
----- Position dans DS Résolution Ligne 322
----- Backtrace Script : DS Résolution | Ligne : 322 | Méthode : in `draw_autotile' Script : DS Résolution | Ligne : 270 | Méthode : in `refresh' Script : DS Résolution | Ligne : 265 | Méthode : in `each' Script : DS Résolution | Ligne : 265 | Méthode : in `refresh' Script : DS Résolution | Ligne : 264 | Méthode : in `each' Script : DS Résolution | Ligne : 264 | Méthode : in `refresh' Script : DS Résolution | Ligne : 263 | Méthode : in `each' Script : DS Résolution | Ligne : 263 | Méthode : in `refresh' Script : DS Résolution | Ligne : 262 | Méthode : in `each' Script : DS Résolution | Ligne : 262 | Méthode : in `refresh' Script : DS Résolution | Ligne : 227 | Méthode : in `update' Script : MAPLINK | Ligne : 217 | Méthode : in `update' Script : MAPLINK | Ligne : 146 | Méthode : in `initialize' Script : Scene_Map | Ligne : 192 | Méthode : in `new' Script : Scene_Map | Ligne : 192 | Méthode : in `transfer_player' Script : Scene_Map | Ligne : 55 | Méthode : in `alias_update' Script : Scene_Map | Ligne : 46 | Méthode : in `loop' Script : Scene_Map | Ligne : 59 | Méthode : in `alias_update' Script : MAPPANEL* | Ligne : 89 | Méthode : in `oldUpdate' Script : Bouton_Rouge* | Ligne : 54 | Méthode : in `update' Script : Scene_Map | Ligne : 26 | Méthode : in `main' Script : Scene_Map | Ligne : 21 | Méthode : in `loop' Script : Scene_Map | Ligne : 33 | Méthode : in `main' Script : Main | Ligne : 58
|
Merci d'avance =)
Posté par
Jessy le
19 Déc - 14:39 (2010)
Posté par
FinalArt le
19 Déc - 15:02 (2010)...
Si tu avais lu bien mon message tu aurais vu que j'e l'ai déjà fait =/
Posté par
Nuri Yuri le
19 Déc - 15:42 (2010)Tu n'aurais pas mis un caractère spécial genre alt+0160 ?
Normalement il ne peut pas prendre un espace et un nombre pour une variable locale ...
Fin je ne comprend pas pourquoi ce script bug ... Je sens que vous allez devoir attendre la nouvelle version de PSP DS
Posté par
Pαlвσlѕку le
19 Déc - 15:51 (2010)Ce script est instable.
Vivement que je sorte la prochaine version avec un script DS Résolution 100 % fonctionnel.
Et je ne peux pas le poster ici car il faut modifier d'autres choses dans PSP DS pour qu'il fonctionne correctement.
Sinon, je ne sais pas d'où vient ce bug.
Posté par
FinalArt le
19 Déc - 16:15 (2010)Merci.
J'ai le début de quelque chose : Après l'intro, quand j'envoie le héros sur " 1/Maison du héros $2 ", rien ne plante. Quand je l'envoie sur un nouvelle carte dont le nom compte est " Bourg-Azur ", cela plante.
Je pense que cela a un lien avec le nom qui est donné, enfin les symbole. Car qaund je fais sortir le héros de la maison dans le bourg de psp, pas de problème, quand je l'envoie dans Bourg-Azur, il y a le bug.
En espérant que cela peut aider...
Posté par
Elric le
19 Déc - 16:44 (2010) Azur, moi aussi cela m'a fait la même chose j'ai du essayer genre 5 fois avec if frames == 0 frames = 1 end j'ai failli perdre espoir mais en réessayant une nouvelle fois ça a miraculeusement fonctionné ! Je te conseille d'insister comme je l'ai fait passe voir mon sujet plus bas que le tien.
EDIT: J'ai compris pourquoi cela ne marche pas ! Il faut mettre ça JUSTE au dessus de "for i in 0...4" un truc dans le genre ! Réessaye un peu pour voir ?
Posté par
FinalArt le
19 Déc - 17:05 (2010)Grace à Brendan, le bug s'est résolu !
En effet, en plus des trois lignes de codes cités dans mon post, il faut veiller à ce que les autotiles des tilesets ne soient pas vide.
Pour cela il faut aller dans la BDD, puis sur le tileset de votre map. La vous lui remplissez toute ça catégorie Autotiles. Valider.
A ce moment, votre map va avoir un petit soucis. Des autotiles vont apparaître sur votre carte. Suivant les couches, effacez-les pour retrouver la map habituelle. Et c'est terminé =)
Encore merci a Brendan !