Nunatak RTP de base Lv 1
Nombre de messages : 2 Age : 35
| Sujet: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 11:19 | |
| Bonjour a tous! J'ai besoin de votre expérience, quelle est la partie de code à insérer pour activer un interrupteur (switch) depuis un script? Par exemple, avec le script Jour_Nuit j'aimerais qu'à 22h il y aie des évènements qui apparaissent sur la Map. Pour l'instant, j'ai jonglé avec ces morceaux de code trouvés dans le script Game_Switches mais sans succès... - Code:
-
def []=(switch_id, value) if switch_id <= 5000 @data[switch_id] = value end end Sur un autre forum on m'a dit qu'il fallait placer $game_switches[switch_id] = value mais ça ne fonctionne toujours pas... Peut-être manque t-il une ligne de code? Voici le script Jour_Nuit, code à placer ligne 119 (when 22): - Code:
-
class Jour_heure < Window_Base def initialize super(440, 420, 200, 60) self.contents = Bitmap.new(width - 32, height - 32) self.contents.font.name = $fontface self.contents.font.size = $fontsize self.opacity = 150 @heure = 0 @ext_ton = true self.visible = true $exterieur = true refresh end def refresh if Input.trigger?(Input::L) self.visible = ! self.visible end @horloge = Time.new @seconde = @horloge.sec * Graphics.frame_rate self.contents.clear case @horloge.strftime("%A") when "Monday" jour = "Lundi" when "Tuesday" jour = "Mardi" when "Wednesday" jour = "Mercredi" when "Thursday" jour = "Jeudi" when "Friday" jour = "Vendredi" when "Saturday" jour = "Samedi" when "Sunday" jour = "Dimanche" end text = sprintf("%02d:%02d:%02d ",@horloge.hour, @horloge.min, @horloge.sec) self.contents.draw_text(0, 0, 200, 24,text + jour) @map = load_data(sprintf("Data/Map%03d.rxdata", $game_map.map_id)) end def update refresh if @heure != @horloge.hour or @ext_ton != $exterieur @ext_ton = $exterieur @heure = @horloge.hour changement_ton end end def changement_ton if $exterieur case @horloge.hour when 0 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,10) when 1 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,10) when 2 @tone = Tone.new(-100, -100, -100, 0) $game_screen.start_tone_change(@tone,10) when 3 @tone = Tone.new(-90, -90, -90, 0) $game_screen.start_tone_change(@tone,10) when 4 @tone = Tone.new(-80, -80, -80, 0) $game_screen.start_tone_change(@tone,10) when 5 @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,10) when 6 @tone = Tone.new(-30, -30, -30, 0) $game_screen.start_tone_change(@tone,10) when 7 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,10) when 8 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,10) when 9 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,10) when 10 @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,10) when 11 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,10) when 12 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,10) when 13 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,10) when 14 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,10) when 15 @tone = Tone.new(10, 10, 10, 0) $game_screen.start_tone_change(@tone,10) when 16 @tone = Tone.new(50, 20, 10, 0) $game_screen.start_tone_change(@tone,10) when 17 @tone = Tone.new(50, 30, 10, 0) $game_screen.start_tone_change(@tone,10) when 18 @tone = Tone.new(50, 40, 10, 0) $game_screen.start_tone_change(@tone,10) when 19 @tone = Tone.new(-5, -5, -5, 0) $game_screen.start_tone_change(@tone,10) when 20 @tone = Tone.new(-20, -20, -20, 0) $game_screen.start_tone_change(@tone,10) when 21 @tone = Tone.new(-40, -40, -40, 0) $game_screen.start_tone_change(@tone,10) when 22 [color=cyan]$game_switches[0001] = true [/color] @tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,10) when 23 @tone = Tone.new(-80, -80, -80, 0) $game_screen.start_tone_change(@tone,10) end else @tone = Tone.new(0, 0, 0, 0) $game_screen.start_tone_change(@tone,10) end end end
class Scene_Save
alias old_write_save_data write_save_data
def write_save_data(file)
old_write_save_data(file) Marshal.dump($exterieur, file) end
end
class Scene_Load
alias old_read_save_data read_save_data
def read_save_data(file) old_read_save_data(file) $exterieur = Marshal.load(file) end
end class Scene_Map
alias old_main main def main @jh = Jour_heure.new old_main @jh.dispose end
alias old_update update def update @jh.update old_update end end
Merci de votre aide | |
|
Dragongaze13 Maker de Légende Lv 49
Nombre de messages : 3897 Age : 27
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 17:18 | |
| J'en ai aucune idée.. Par contre ce serait mieux que tu ailles te présenter. | |
|
Relm ---Fantôme--- Lv 0
Nombre de messages : 40942 Age : 33
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 17:19 | |
| Nunatak, mets ton script dans une balise "code" pour que ça reste lisible. Merci. ____________ - Alex RE a écrit:
- C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
| |
|
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 17:28 | |
| Je dis ça à tout hasard car je ne connais pas plus que ça ce langage mais, as-tu pensé à remplacer le "value" par " on / off" ou " 1 / 0", " true / false " ? On sait jamais ^^ Pense aussi à virer le "id" et mettre l'emplacement de l'interrupteur à la place... Bon j'arrête là parce que si tu avais mis - Code:
-
$game_switches[switch_id] = value juste à titre d'exemple, je risque de passer pour un con EDIT: Exemple -> - Code:
-
$game_switches[0013] = true
Dernière édition par KoZzY le Lun 06 Déc 2010, 17:32, édité 1 fois | |
|
Chaotique Blue Maker accro Lv 13
Nombre de messages : 441 Age : 36
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 17:32 | |
| - Code:
-
$game_switches[1] = true $game_switches[2] = false Comme ça! (cet exemple active l'interrupteur 1 et désactive l'interrupteur 2) ____________ Miaou miaou, motherf\o/cker.
| |
|
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 17:32 | |
| Bon ok t'as fait plus clair que moi en seulement deux lignes ^^ | |
|
AlexRE Admin trop trizo Lv 65
Nombre de messages : 29934 Age : 37
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Lun 06 Déc 2010, 19:00 | |
| Merci Chaotique Blue. ^^ Nunatak, bienvenue sur E-magination ! N'hésite pas à te présenter dans le topic approprié. ____________ - Relm a écrit:
- Merci pour la confirmation Gary et fuck my life.
| |
|
Nunatak RTP de base Lv 1
Nombre de messages : 2 Age : 35
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Mar 07 Déc 2010, 20:14 | |
| Problème résolu! En fait il manquait une ligne de code... Zeus81 a bien voulu m'aider (il est super balèze) il m'a dit ''pour que ça marche il faut mettre $game_map.need_refresh = true avant $game_switches[1] = true '' Exemple: ... when 22 $game_map.need_refresh = true $game_switches[1] = true@tone = Tone.new(-60, -60, -60, 0) $game_screen.start_tone_change(@tone,10) when 23 $game_map.need_refresh = true $game_switches[1] = false@tone = Tone.new(-80, -80, -80, 0) $game_screen.start_tone_change(@tone,10) ... A 22h00, l'interrupteur 1 s'active et à 23h00 il se désactive! Merci à vous tous de votre aide | |
|
Empty Mangeur de manettes Lv 65
Nombre de messages : 16363 Age : 38
| Sujet: Re: [résolu]Comment activer un interrupteur depuis un script Mar 07 Déc 2010, 22:31 | |
| Pas de quoi.
Je clos le sujet alors =]
| |
|