Bonjour, bonjour
Il n'y a pas si longtemps, j'ai posté une demande d'aide dans la section ... aide :mrgreen:
Il s'agissait de faire en sorte que lorsque le joueur lançait le jeu en hiver ... le paysage devenait aussi blanc que les Noël de il y a plus de 10 ans :mrgreen:
Krosk m'a donné la réponse dont j'avais besoin et ni une ni deux mon problème a été résolu
Plusieurs personnes m'ont demandé de décrire le fonctionnement de la chose ici, sous la forme d'un tuto ; j'ai accepté ma mission et je me lance alors qu'il est 1h 37 du matin :mdr:
Nota : ce tuto demande quelque compétence en évent et paramétrage d'un tileset (via la BDD)Premièrement : Choisissez la carte que vous voulez enneiger
La partie suivante dans le spoiler doit être appliqué si vous utilisez le mapLink
Amis Maplinkois vous en avez sué pour faire une carte propre dans votre jeu ?
Et bien ce n'est qu'un début ! ^^
Ce que je vous propose plus bas est obligatoire si vous ne voulez pas avoir de la neige seulement sur la carte où se déplace le joueur Copiez une certaine partie des cartes adjacente à celle en cour (5 - 6 carreaux, assez pour donner l'illusion que toute votre carte est enneigée)
Prenez votre tileset enneigé (si vous en avez pas prenez celui la :
./1590.htmlfaites propriété sur votre morceaux de carte et changé le tileset par le nouveau venu
Attention ! Si votre tileset enneigé ne respecte pas la structuration du tileset de base vous devrez tout faire à la main !
Faites de même pour toutes les maps adjacentes
k:
Puis allé voir l'évent qui gère la jonction de votre map
Crée une condition (elle dit a quelle moment vous voulez que le tileset change)
Par exemple : Si Time.now().month > 11 and Time.now().month < 3
Si la condition se vérifie faites une nouvelle jonction de map avec les maps enneigées
Sinon, inséré la jonction de map que vous aviez faite avant le tuto
Allez dans le gestionnaire de script
Ajouté en un nouveau juste en dessus du main (appelez le comme vous voulez)
Copiez ce code à l'intérieur
Code: |
class Game_Temp attr_accessor :tileset_id_change end class Game_Map def setup(map_id) @map_id = map_id @map = load_data(sprintf("Data/Map%03d.rxdata", @map_id)) if $game_temp.tileset_id_change != nil and $game_temp.tileset_id_change > 0 tileset = $data_tilesets[$game_temp.tileset_id_change] $game_temp.tileset_id_change = 0 else tileset = $data_tilesets[@map.tileset_id] end @tileset_name = tileset.tileset_name @autotile_names = tileset.autotile_names @panorama_name = tileset.panorama_name @panorama_hue = tileset.panorama_hue @fog_name = tileset.fog_name @fog_hue = tileset.fog_hue @fog_opacity = tileset.fog_opacity @fog_blend_type = tileset.fog_blend_type @fog_zoom = tileset.fog_zoom @fog_sx = tileset.fog_sx @fog_sy = tileset.fog_sy @battleback_name = tileset.battleback_name @passages = tileset.passages @priorities = tileset.priorities @terrain_tags = tileset.terrain_tags @display_x = 0 @display_y = 0 @need_refresh = false @events = {} for i in @map.events.keys @events[i] = Game_Event.new(@map_id, @map.events[i]) end @common_events = {} for i in 1...$data_common_events.size @common_events[i] = Game_CommonEvent.new(i) end @fog_ox = 0 @fog_oy = 0 @fog_tone = Tone.new(0, 0, 0, 0) @fog_tone_target = Tone.new(0, 0, 0, 0) @fog_tone_duration = 0 @fog_opacity_duration = 0 @fog_opacity_target = 0 @scroll_direction = 2 @scroll_rest = 0 @scroll_speed = 4 end end
|
Cherchez tous les télé-porteurs connecté à votre map
une foi qu'ils sont localisés, avant chaque téléportation, faites la commande "insérer un script" et notez ceci
Code: |
$game_temp.tileset_id_change = id_du_tileset_enneigé
|
id_du_tileset_enneigé doit être remplacé par un chiffre (si vous ne savez pas l'ID du tileset allez voir dans la BDD )
Ressources :
Tileset de nuit : ./1799.html Merci Suicune31 k:
Tileset enneigé : ./1590.html?vote=v… Merci Mortenkein k:
Conclusion : Ce tuto n'est pas parfait, il reste encore quelques trucs en plus pour ceux qui voudraient chercher de nouvelles fonctions k:
Astalavista Baby !