Bienvenue visiteur !
|
Désactiver la neige
Statistiques
Liste des membres
Contact
Mentions légales
345 connectés actuellement
30912553 visiteurs depuis l'ouverture
2189 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Mononc Pirate -
posté le 14/05/2023 à 21:44:16 (16 messages postés)
| | Domaine concerné: script
Logiciel utilisé: RM-MZ
Bonjour !
Me voilà avec mes premières questions ! Je prépare les mécaniques du jeux, je commence donc par me faire la dent sur le plus complexe.
Première question !
J'ai intégré le cycle jour/nuit à l'aide du plugin community_lights-master. Deux pichets de café plus tard je commence à comprendre le truc.
Je veux intégré un item, une lanterne à utilisé pour éclairé le personnage. Dans les ajustements du plugin, j'ai configuré "Player radius" à 100, pour qu'on sache un minimum où on se trouve dans un environnement sombre, la lanterne devrais offrir un radius de 300.
J'ai créé l'Item et incéré le script
1
| <cl: fire 80 #e87407 B5 D9> |
qui fonctionne sur mon feu de foyer.
L'item reste non consommable
Edit:
J'ai essayé de créé un "état" où "effet" lanterne. Donc l'item se consomme et donne l'effet. Sur la page des effet, j'ai essayé d'utilisé
1
| <cl:Flashlight r300 #e87407 B5> |
Théoriquement ça devrais faire une lueur de feu autour du personnage... mais ça ne fonctionne pas
Edit 2: J'ai lié le retrait de l'effet au nombre de pas (300 pour l'instant)
Et remplacé le code dans la case "effet" par
1
| <cl:fire r50 #ff8800 B5> |
qui est le code de mes chandelles. Théoriquement ça devrais faire un effet de lumière autour du membre qui à consommé la lanterne... mais ça ne fonctionne pas non plus...
Deuxièmes question !
J'ai créé un event, une lanterne posé sur la table. Lorsqu'on clique dessus, on obtient notre première lanterne.
1
| $gameParty.gainItem($dataItems [2],1); |
et j'efface l'évènement
1
| $gameMap.eraseEvent(3); |
Ça fonctionne mais si on sort de la carte et qu'on y retourne la lanterne réapparait sur la table et peut être prise à nouveau
Troisième question
Je veux donné une durée d'utilisation à la lanterne, ça pourrait être un chronomètre, une durée calculé en secondes peu importe. A la fin de celle-ci la lumière doit s'éteindre jusqu'à la prochaine utilisation.
Quelqu'un à une piste ? J'aurais besoin d'un indice sur où cherché.
Quatrième question
Je voulais vous intégré des captures d'écran mais ça fait tellement longtemps que je n'ai pas été sur un forum que je ne trouve plus comment faire
Merci d'avance !
|
Kisth -
posté le 15/05/2023 à 07:16:18 (1004 messages postés)
| Yeoun, mage-archère-louve | Pourquoi tu passes par du code pour ton event lanterne ?
Les blocs commande pour donner un objet à l'équipe, effacer l'event et activer un self-switch (c'est ce qu'il te manque pour ta deuxième question, avec l'ajout d'une page vide) existent.
erase event ne fonctionne pas tout à fait comme on pourrait le penser : cela ne fonctionne que lorsqu'on ne quitte pas la map. Quand on revient sur la map, l'event se réinitialise.
Pour la troisième question, event parallèle, incrémentation de variable, dès que la variable dépasse une valeur, désactivation de la lumière, a priori.
Regarde du côté des tutos de minage ou de jardinage.
T'utilises quoi d'autre comme plugins ?
Quatrième question ; faut déjà trouver un hébergeur fiable...
Puis tu mets l'adresse de ton image entre les balises
Pour la première question, ça fait super longtemps que j'ai pas touché à Terrax Lighting sur MV, et pas du tout touché à son successeur sur MZ. En revanche, certains notetags, selon la façon dont ils sont parsés, sont sensibles aux espaces.
Du coup cl: fire peut fonctionner, mais cl:fire non.
Si ce n'est pas ça, pas d'idée, je ne me souviens plus de la documentation.
|
M.V. |
Mononc Pirate -
posté le 15/05/2023 à 23:17:58 (16 messages postés)
| | Ok merci des conseils !
Présentement je n'utilise que le plugin community_lights-master. Lorsque celui-ci seras bien maitrisé je passerai au suivant. Les prochains sur la liste seront "Visual Fogs" et "Quest journal system". Je veux monté les mécanique avant de trop m'avancé sur la composition des quêtes.
Pour l'instant je fait beaucoup de lecture
|
| Chanter l'hyperchleuasme | Question 1
Citation: L'item reste non consommable |
Qu'un item soit consommable ou non, ça se règle dans l'onglet Items (Objets) de la base de données. Il y a une case à cocher généralement.
Comme dit Kitsch, quand tu peux utiliser une commande évènementielle plutôt qu'une ligne de script, préfère ça (quand c'est possible), par exemple la commande pour ajouter un objet à l'équipe.
Question 2
Pour qu'un évènement ne réapparaisse plus jamais sur la carte, il faut faire ainsi :
page 1 de l'évènement (déclenchement par la touche action) :
ajouter l'objet
activer l'interrupteur local A
page 2 de l'évènement (se déclenche par l'interrupteur local A, en processus parallèle) :
supprimer cet évènement
Quand tu reviendras sur la map, l'évent sera à sa page 2, donc l'objet ne sera pas ajouté à nouveau.
Question 3
Tu peux obtenir le temps en script en utilisant :
mais attention : c'est potentiellement un nombre très grand, et tes variables sont peut-être limitées à 999 ! Tu devras donc probablement diviser le frameCount par 60 (le taux FPS de RPG Maker MZ, il me semble) pour travailler avec des nombres moins grands. Peut-être que tu devras faire un modulo 999 aussi, mais il faudra gérer les cas particulier où le chronomètre franchit le modulo ! durée négative d'utilisation de la torche => lui ajouter 999 pour avoir une durée positive.
Ne pas oublier de stocker dans une autre variable le frameCount auquel la torche est allumé, et faire la soustraction pour avoir la durée d'utilisation de la torche (en secondes).
Sur RPG Maker MZ, tu peux accéder à la valeur d'une variable / modifier la valeur d'une variable avec les commandes javascript suivantes :
1
2
| $gameVariables.value(id);
$gameVariables.setValue(id, value); |
Sinon comme dit Kitsch, un évènement commun en parallèle qui incrémente une variable à chaque frame, qui se réinitialise à 0 au moment où la torche est allumée.
Si mes histoires de modulo ne t'évoquent rien du tout, c'est peut-être la solution la plus simple.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Mononc Pirate -
posté le 17/05/2023 à 00:37:59 (16 messages postés)
| | Merci de vos réponses ! J'en ai encore beaucoup à apprendre mais y'à du progrès !
Pourquoi je n'y avais pas pensé, j'ai pris le démo du plugin et fait un peu d'ingénierie inversé Ça m'à permis de mieux comprendre comment utilisé le plugin et en même temps j'ai pu mettre la main sur des codes qui fonctionnent que je peut étudier.
J'ai réussi à faire fonctionné la lanterne, me reste plus qu'à trouvé comment l'éteindre. Je vais voir si je peut codé pour compté le nombre de pas, quitte à sortir notepad et ajouté la fonction directement dans le plugin
Citation: Pour qu'un évènement ne réapparaisse plus jamais sur la carte, il faut faire ainsi :
page 1 de l'évènement (déclenchement par la touche action) :
ajouter l'objet
activer l'interrupteur local A
page 2 de l'évènement (se déclenche par l'interrupteur local A, en processus parallèle) :
supprimer cet évènement |
Lorsque je crée une seconde page, la fonction "modifié objet" cesse de fonctionné, y'à une case que je doit oublié de coché
Citation: Si mes histoires de modulo ne t'évoquent rien du tout, c'est peut-être la solution la plus simple. |
Pour l'instant, c'est du chinois Mais j'ai fait du modding en C++ et un peu de codage en visual Basic, côté patience je suis bon ! Je commence sur RM et sur Java. C'est pour ça que je travaille vraiment un seul élément à la fois. Lorsque je serais satisfait de ma lanterne, là je passerai au défi suivant
Edit: Bon... je viens de réalisé que mon évènement s'efface le jour et réapparait à la tombé de la nuit Avant de corrigé ça, il faut que je trouve comment j'ai fait, ça pourrais être utile
|
Kisth -
posté le 17/05/2023 à 06:57:58 (1004 messages postés)
| Yeoun, mage-archère-louve | Tu le sais probablement déjà si tu codes un peu, mais modulo (ou %) c'est juste un mot compliqué pour dire reste de la division euclidienne.
Exemple : 152 ÷ 10 ne tombe pas juste
152 = 10 x 15 + 2
Du coup, 152 % 10 = 2
(et au passage, 152 / 10 = 15)
En général, on s'en sert pour les compteurs (de frames entre autres) pour faire des actions à intervalle précis.
Là il s'en sert pour comparer les restes directement, ce qui ne change (presque) rien à la méthode.
La suite quand j'ai fini de bosser, je ne suis pas sur le bon ordi. Je ne vois pas trop dans quoi Rots s'embarque avec ses précautions, mais c'est sans doute parce que j'ai un truc à vérifier en tête.
|
M.V. |
| Chanter l'hyperchleuasme | Mononc Pirate a dit:
Citation: Pour qu'un évènement ne réapparaisse plus jamais sur la carte, il faut faire ainsi :
page 1 de l'évènement (déclenchement par la touche action) :
ajouter l'objet
activer l'interrupteur local A
page 2 de l'évènement (se déclenche par l'interrupteur local A, en processus parallèle) :
supprimer cet évènement |
Lorsque je crée une seconde page, la fonction "modifié objet" cesse de fonctionné, y'à une case que je doit oublié de coché |
T'as sûrement oublié l'interrupteur local A nécessaire pour activer la page 2. Tant que l'interrupteur local A est désactivé, il se contentera de la page 1, et ajoutera l'objet.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Mononc Pirate -
posté le 17/05/2023 à 12:29:22 (16 messages postés)
| | C'est résolut !
J'allume la lanterne avec le module complémentaire et j'y démarre un chronomètre
Ensuite dans un coin discret de chaque carte, je cache un évènement en parallèle qui éteint la lanterne si le chronomètre est à 0.
Pour le coffre, c'était bien moi qui avait mal compris la différence entre les interrupteurs et les interrupteurs local.
Merci de votre aide !
|
| Chanter l'hyperchleuasme | L'interrupteur local est propre à l'évènement. Chaque évènement a ses interrupteurs locaux A B C D.
Les interrupteurs normaux (numérotés) sont communs à tous les évènements.
|
Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte |
Index du forum > Entraide > [RESOLU] [RM-MZ] Script pour une lanterne
|
|
|