cybersquat Posté(e) le 20 avril 2015 Signaler Posté(e) le 20 avril 2015 re les boys, mdr serait bien de poster un code tout prêt lol, moi je fais que des conneries avec tout ca en tout cas merci de votre super taf !
pepite Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 yeah, toujours aussi super ;-) On apprend toujours et encore des anciens ;-) Alors optimisons un max ;-) Profitons profitons..;-) PS : on pourrait faire aussi créer la VG si elle n'existe pas ;-) à mprinfo : si tu mettais le code optimisé dans le 1er post ;-)
supermenteur Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 [DEBUG] 10:43:37: Lever Soleil : nil - Coucher Soleil : nil Voilà ce que j'ai dans le debug. Je suis en 4.042. mais les variables locales lever et coucher sont bonnes. C'est la fonction string qui ne marche pas/plus.
cybersquat Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 question ? le problème sur le truc, est que si on créer une scène par exemple en lui disant la nuit, éteint tel truc, il va se caler sur le coucher du soleil non ? sera pas en fonction d'un timing genre 23h quoi ? ou je sort ?
supermenteur Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 Non, la variable est bonne. Un fibaro:debug(lever) juste avant l'appel me donne la bonne valeur. C'est le String et %s qui ne marche pas. Update: J'ai trouvé. La variable pour le %S est "Lever" et pas "lever" mame chose pour coucher.
Steven Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 Ma faute, j'ai pas testé J'ai corrigé dans mon post, j'ai pas pensé que cela allait être repris tel quel.
jojo Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 Ca me rassure, Maître Steven est un homme (et pas une machine infaillible)
Steven Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 Je vais même te faire rigoler : Ma configuration de GEA ne tourne plus depuis 2 jours et je n'arrive pas trouver quel est la ligne en erreur. Je pense que je fatigue 2
pepite Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 faut prendre des vacs @Steven ;-)
cybersquat Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 pour ca que j'ai jamais voulu prog et jamais rien compris, ca chauffe trop le cerveau lol ! 1
Steven Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 P@#*@ ... chercher l'erreur : fibaro:setGlobal("Pushingbox") fibaro:call(290, "pressButton", 1) Dodo pépé ... dodo. 1
pepite Posté(e) le 21 avril 2015 Signaler Posté(e) le 21 avril 2015 Ah oui marche moins bien le setGlobal sur le Pushingbox ;-) comme ca hihi :60: 1
Steven Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 @mprinfo Heuu, non ... NomVG est déclaré en tant que variable Globale au script, tout en haut du code. Elle est donc visible de partout dans le script. L'erreur que je vois dans mon code est function traitement(lever, coucher, heure) local valeur = "Nuit" -- test si on est le jour ou la nuit if (heure >= lever) and (heure < coucher) then valeur = "Jour" end UpdateVG(nuit) -- mise a jour de la VG Jour_Nuit end nuit n'existe pas, c'est valeur qu'il faut mettre. Bien évidement, il peux y avoir d'autres erreurs. Ca vous ira ????? Moi je verrais bien un hystérésis
cybersquat Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 lol, salut les gars, vous avez pas ca de facon terminé, juste copier/coller
cybersquat Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 2ieme demande ca fait 2, je continu ? mdr Oui intéressant car il peut faire encore jour ou nuit, pour le déclenchement de certaines scènes, c'est top !
Steph11 Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 @mprinfo, comme tu le sais cela peut également m'intéresser Ça fait 3
Steven Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 Moi je m'en fou suis super intéressé .. mais ça fait 5
cybersquat Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 mprinfo mprinfo mprinfooooooooo, nous sommes laaaaa
pepite Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 allez fais pas la tete, je le suis aussi ;-) ..alors alors, on est combien ;-)
Steph11 Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 à‡a fait 12 !!! mprinfo, mprinfo, mprinfo, mprinfo !!!
cybersquat Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 mprinfo, mprinfo, mprinfo, mprinfo !!! ouinnnn nous sommes 50 ayé, c'est over la
Steven Posté(e) le 24 avril 2015 Signaler Posté(e) le 24 avril 2015 Pour vous faire patientez en attendant que sa fille le laisse se reposer un peu C'est un complément à ceci : Précis Sur Les Variables Locales/globales Pour la variable avec une portée globale et les passages de paramètres, voici une explication et un petit script pour bien comprendre son fonctionnement. Notion de base sur le passage de paramètre : Les paramètres d'une fonction peuvent être de 2 manières différentes (par référence ou par valeur) : - référence : la fonction reçoit l'adresse mémoire du paramètre. Un changement de valeur affectera TOUT le script - valeur : on reçoit la valeur du paramètre Ce dernier est copié dans une nouvelle référence propre à la fonction. Un changement de valeur n'affectera que la fonction. en LUA, chaque passage de paramètre ce fait en "valeur" SAUF pour les tables (c'est comme en français, il y a toujours une exception). Donc si je fais function maFonction(var) print(var) end maFonction("Coucou") j'envoi à ma fonction la valeur, soit une copie de "Coucou". Si a l'intérieur de maFonction je modifie la valeur, cela n'aura un impact QU'AU sein de maFonction. maFonction va donc créer une nouvelle variable "var" dans laquelle il va copier la valeur "Coucou" Si je fais local coucou = "Coucou" function maFonction() print(coucou) end et que dans maFonction je modifie coucou, alors coucou va être modifié pour tout le script puisque la modification aura eu lieu sur sa référence. En bref, si on est au sein d'un script ou d'une fonction, nous travaillons sur les références. Si nous passons les informations en tant que paramètre, nous travaillons sur une valeur. local coucou = "Coucou" function maFonction(variable) print(coucou) print(variable) end maFonction("Coucou") Plus compliqué car la référence coucou est envoyée en paramètre et devient donc une copie de valeur. local coucou = "Coucou" function maFonction(variable1, variable2) print(variable1) print(variable2) end maFonction("Coucou", coucou) Allez un bon script vaut mieux qu'un long discours : function scope1() -- la variable var n'existe pas print(var) --- nil (variable inexistante) end function scope2(var) -- la variable est passée en paramètres donc visible -- bien que déclarée après -- En sortant de cette méthode, var aura repris ça valeur -- initial car elle a été passée en paramètre soit par -- valeur print(var .. " dans scope2()") -- ______ var = "Scope2" print(var) -- Scope2 end local var = "-=init=-" function scope3() -- la variable est connue car déclarée avant. Elle est assignable -- par contre, si on déclare une variable du même nom au sein -- de cette même function, en sortant la variable aura repris sa valeur "Scope3" print(var .. " dans scope3()") var = "Scope3" print(var) local var = "Byebye" print(var) end function exception(unTableau) -- Les tableaux sont toujours traité comme une référence unTableau[1] = "Et voilà " end print(var .. " avant tout") scope1() print(var .. " après scope1()") scope2(var) print(var .. " après scope2()") scope3() print(var .. " après scope3()") -- Exception avec les table qui sont toujours envoyé en tant que référence. local table = {[1]="Humm"} print(table[1]) exception(table) print(table[1]) Debug : [DEBUG] 11:39:22: -=init=- avant tout [DEBUG] 11:39:22: nil [DEBUG] 11:39:22: --init=- après scope1() [DEBUG] 11:39:22: --init=- dans scope2() [DEBUG] 11:39:22: Scope2 [DEBUG] 11:39:22: -=init=- après scope2() [DEBUG] 11:39:22: -=init=- dans scope3() [DEBUG] 11:39:22: Scope3 [DEBUG] 11:39:22: Byebye [DEBUG] 11:39:22: Scope3 après scope3() [DEBUG] 11:39:22: Humm [DEBUG] 11:39:22: Et voilà . . Allez, dans combien de temps, notre mprinfo national va en faire un tuto avec des jolies couleurs ? 1
Messages recommandés