E-magination
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
E-magination

~ S'évader de la banalité... Et entrer dans l'imaginaire ! ~
 
AccueilGuelnika, le site de E-m !ChatS'enregistrerConnexion
Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

 

 [résolu]Comment activer un interrupteur depuis un script

Aller en bas 
+2
Dragongaze13
Nunatak
6 participants
AuteurMessage
Nunatak
RTP de base Lv 1
RTP de base Lv 1
Nunatak


Nombre de messages : 2
Age : 35

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 06 Déc 2010, 11:19

Bonjour a tous!

Smile

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

Revenir en haut Aller en bas
Dragongaze13
Maker de Légende Lv 49
Maker de Légende Lv 49
Dragongaze13


Nombre de messages : 3897
Age : 27

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 06 Déc 2010, 17:18

J'en ai aucune idée.. Oscar a les boules
Par contre ce serait mieux que tu ailles te présenter. Wink
Revenir en haut Aller en bas
Relm
---Fantôme--- Lv 0
Relm


Nombre de messages : 40942
Age : 33

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 06 Déc 2010, 17:19

Nunatak, mets ton script dans une balise "code" pour que ça reste lisible. Merci. cactus smile

____________
Alex RE a écrit:
C'est comme utiliser une hache pour trancher du pain. Je suis peut-être trop vieux pour ça.
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 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 " ? Very Happy 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 Nerd Sang

EDIT: Exemple ->
Code:
$game_switches[0013] = true

____________
[résolu]Comment activer un interrupteur depuis un script 206168MMCBan


Dernière édition par KoZzY le Lun 06 Déc 2010, 17:32, édité 1 fois
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Chaotique Blue
Maker accro Lv 13
Maker accro Lv 13
Chaotique Blue


Nombre de messages : 441
Age : 36

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 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.
Revenir en haut Aller en bas
http://www.google.fr/
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 06 Déc 2010, 17:32

Bon ok t'as fait plus clair que moi en seulement deux lignes ^^

____________
[résolu]Comment activer un interrupteur depuis un script 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
AlexRE
Admin trop trizo Lv 65
Admin trop trizo Lv 65
AlexRE


Nombre de messages : 29934
Age : 37

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeLun 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é. cactus smile

____________
Relm a écrit:
Merci pour la confirmation Gary et fuck my life.
Revenir en haut Aller en bas
http://www.alexzone.net
Nunatak
RTP de base Lv 1
RTP de base Lv 1
Nunatak


Nombre de messages : 2
Age : 35

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeMar 07 Déc 2010, 20:14

Problème résolu! fufu

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

hello
Revenir en haut Aller en bas
Empty
Mangeur de manettes Lv 65
Mangeur de manettes Lv 65
Empty


Nombre de messages : 16363
Age : 38

[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitimeMar 07 Déc 2010, 22:31

Pas de quoi.

Je clos le sujet alors =]


____________
[résolu]Comment activer un interrupteur depuis un script 206168MMCBan
Revenir en haut Aller en bas
https://e-magination.jeun.fr
Contenu sponsorisé





[résolu]Comment activer un interrupteur depuis un script Empty
MessageSujet: Re: [résolu]Comment activer un interrupteur depuis un script   [résolu]Comment activer un interrupteur depuis un script Icon_minitime

Revenir en haut Aller en bas
 
[résolu]Comment activer un interrupteur depuis un script
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [Résolu] Comment utiliser un script?
» [Résolu] Script: Comment combiner ces deux scripts de menu?
» Comment afficher une fenêtre et des variables en script
» [Résolu] interrupteur et plier
» [résolu] Problème avec interrupteur local

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
E-magination :: ~ Forums d'enrichissement ~ :: Apprentissage et partage :: RPG Maker XP :: Entre aides-
Sauter vers: