Saluti ! Aujourd'hui j'ai ENFIN fini la documentation (DRAFT 1) du nouvel Event Extender ! Je vous le partage ! L'objectif de ce script est d'offrir une multitude de commandes complémentaires pour la création de systèmes via l'event-making, qui est, selon moi, une pratique ingrate et compliquée. C'est pour ça que j'ai écrit ce script, dans la même veine que l'Event-language (devenu GeeX Make) de Roys et Avygeil. L'event extender est une collection d'outils facile à utiliser qui permettent de s'affranchir de certaines règles et de certaines obligations dans l'event-making en règle générale. De plus, étant principalement basé sur des appels de scripts, chaque argument peut être substitué par une variable, chose impossible avec l'interface actuelle de RPG Maker VX Ace. L'objectif de ce document est d'offrir une base de travail. Soit une documentation. L'Event Extender est un script qui a été prévu pour être étendu, donc n'importe qui peut suggérer/implémenter sa propre commande (la notion de commande sera expliquée plus tard dans ce même document). Ce document peut paraître un peu abrupte à lire mais une fois que les différents concepts du script sont appréhendés, je vous assure qu'il est possible de gagner énormément de temps dans la création de vos systèmes. De plus, nous verrons, plus tard, que les « apprentis scripteurs » pourront se servir de plusieurs composantes de l'Event Extender pour la création de script, de manière transparente.
Remerciements L'Event Extender est un gros projet, je n'aurai jamais pu le terminer sans l'aide inestimable de Zeus81 et de Nuki que je remercie tout particulièrement pour leurs conseils, leurs solutions. Et aussi parce qu'ils ont tous les deux été une source d'inspiration (comme beaucoup d'autres). Je remercie aussi chaleureusement Magi, Hiino, XHTMLBoy, Zangther, Lidenvice, Raho, Joke, Al Rind, Testament, Heos, S4suk3, Avygeil, Tonyryu, Siegfried, Berka, Nagato Yuki, Fabien, Roys, Raymo, Ypsoriama, Amalrich Von Monesser, Ulis, ParadoxII, Loly74, 2cri, Kmkzy pour leurs conseils techniques comme moraux ainsi que pour des suggestions de commandes, de concepts.J'espère n'avoir oublié personne et si c'est le cas, je vous présente mes plus sincères excuses ! L'origine du script est de Nuki, auteur des variables locales. Zeus81 aura été d'une titanesque aide pour la réalisation de pleins de commandes (la gestion clavier/souris, les variables locales). La commande Buzz a été initialement créée par Fabien.
Fonctionnalités
Concrètement (et dans les grandes lignes), l'EE offre :
Interface d'accès rapide aux variables/switches (via V[id], S[id])
Support des variables locales
Interface d'accès rapide aux variables locales et interrupteurs locaux (via SV[id...etc] et SS[id...etc])
Comme les commandes sont écrites via des appels de scripts, il est possible de passer des variables à chaque argument.
Support puissant de la souris (coordonnées, cliques, pression, relachement, rectangle de selection)
Support du clavier (pression, trigger, relachement, combinaison alt_gr, verrouillage maj/scroll/num, chiffre pressé, caractère généré par le clavier)
Des outils de calculs automatisé (pourcents, règles de trois)
La possibilité de lire la base de données (impossible nativement)
Un outil d'extension sans limite (et typé) de la base de données
Des outils de test sur les évènements (collisions, distances)
Des outils sur la map (flasher des cases, informations sur la map)
Des outils sur les évènements (Tressaillir, l'evenement, vérification du survol de la souris, du clique)
Un Pathfinder d'évènement (qui gère la route et le saut)
Des outils d'invocations d'évènements.
Inclusion d'une autre page d'un autre évènement.
Un controle total sur les Pictures du jeu (changement de toutes les données, y comprit l'origine)
Affichage de texte sous forme de pictures.
Affichage des monstres de la base de données (à leur position définie dans la BDD)
Un multi-panorama (ajoute 20 panoramas manipulables)
Récupères des informations sur le temps (date,heure) IRL
Un module Quicksave (sauvegarde, chargement, existence de sauvegarde, suppression de sauvegarde)
Importateur de variables/switch d'autres sauvegardes
Gestion de zones virtuelles (rectangles, cercles, ellipses, polygonales et possibilité de vérifier si un point est dedans ou pas, si la souris le survol, si la souris le clique).
Création de champs de textes modifiables au clavier
Outil de connexion à un serveur distant (envoi de données/réception de données)
Possibilité de récuper le nom de la session windows.
L'Event Extender possède aussi des outils "plus masqués". Premièrement. Si une fautes de frappe est effectuée lors de l'appelle d'une méthode, il suggere, sous forme d'erreur, le bon nom de méthode, par exemple :
De même qu'InGame, il est possible de tester ses teintes d'écrans (chose qui est souvent très dur à tester dans l'éditeur) :
Il est donc possible de tester la teinte InGame, sa transition et le clique de Make Command, copiera la commande Event (telle que formée dans la petite fenêtre) et il suffira de la collée dans un évènement de l'éditeur. Cette fenêtre de test ne s'affiche évidemment qu'en mode de "test", donc uniquement si la touche F3 (cette touche est modifiable) est enfoncée durant une session de jeu lancée depuis l'éditeur.
Testeur de script InGame:
Globalement vous pouvez, ingame, exécuter n'importe quelle ligne de script (et de l'EE) et en appuyant sur enter, elle sera évaluée. (le p dans l'exemple sert à afficher le résultat dans la console). Le boutton "make command" crée la commande de script dans le presse papier.
L'Event Extender et son évolution Le script a été pensé pour être patchable facilement (et pour se voir doté de nouvelles fonctions). Donc il est possible qu'il évolue au fil des mois.
Conditions d'utilisations Ce script est entièrement libre, aucune créditation obligatoire, peut être utilisé dans un projet commercial sans aucune limite. Le script peut être partagé partout sans limite. L'auteur ne doit pas être respécifié. Bonne utilisation.
N HESITEZ PAS A LE PARTAGER PARTOUT !!!
Liens Télécharger l'Event Extender : https://github.com/Funkywork/Scripts-rm/blob/master/VXAce/EE4/EE.rb Documentation (draft 1) de l'Event Extender : http://eventextender.gri.im/doc.pdf
Merci.
Dernière édition par Grim le Ven 29 Mar 2013 - 11:38, édité 3 fois
Superbe script, je l'utiliserais à coup sur si je veux faire un projet mais que je n'ai pas envie de me prendre la tête avec les events qui sont trop resteints.
class Object #-------------------------------------------------------------------------- # * check type : bool #-------------------------------------------------------------------------- def boolean? self.is_a?(TrueClass) || self.is_a?(FalseClass) end #-------------------------------------------------------------------------- # * Convert in Bool #-------------------------------------------------------------------------- def to_bool return self if boolean? return (self != 0) if self.is_a?(Numeric) return !(self == "false") if self.is_a?(String) return !(self == :false) if self.is_a?(Symbol) return !(self.empty?) if self.respond_to?(:empty?) return true end end
C'est pas très standard comme façon de faire, normalement on aurait plutôt un truc du genre :
Code:
class Object def boolean?() false end end class TrueClass def boolean?() true end end class FalseClass def boolean?() true end end
Et idem pour to_bool, d'ailleurs pour les string tu tiens même pas compte de la casse c'est nul, et la relation avec empty? est douteuse. Sinon pas lu plus loin, trop long. =>[]
Nusenism
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 17:05
Merci du partage Grim! =) Je t'ajoute 20 points script pour cette compilation de systèmes qui vont considérablement améliorer la base du logiciel.
Kouett
Mage Lv.11
Age : 26 Inscrit le : 22/08/2010 Messages : 521
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 18:22
Enorme Gg.
Spoiler:
[size=72]GG[/size]
----Roxxor----
Voyageur Lv.10
Age : 27 Inscrit le : 08/05/2010 Messages : 383
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 18:24
Tu peux faire le même sur VX stp ? (à moins qu'il n'existe déjà)
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 18:54
Comme ça il pourra avoir 20 points de plus lol.
Joke
Va-nu-pieds Lv.4
Inscrit le : 04/05/2011 Messages : 57
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 18:59
Si je peux me permettre... Comme ça fait depuis six mois plus ou moins qu'il travaille dessus, et qu'il a écrit au total 4337 lignes de codes... Je trouve que 20 points ce n'est pas grand chose, mes amours ! = D
Nusenism
Age : 33 Inscrit le : 02/02/2010 Messages : 4692
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 19:31
Certes, mais c'est 20 sur une barre pleine à 100 points, et n'oublions pas qu'il a déjà reçu des points pour certains composants de cet event extender publiés indépendamment. Je peux mettre la barre de Grim au max aussi. Mais est-ce le remplissage instantané de cette barre qui l'intéresse, ou le fait de scripter? :p
Olowynd
Voyageur Lv.10
Age : 28 Inscrit le : 30/12/2012 Messages : 390
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 19:40
*Le débat est lancé: *Scripter pour avoir des points, ou scripter pour faire de grandes choses ? *Réponse : -> Scripter pour faire de grandes choses, les points servent à rien si ce n'est montrer que tu sais scripter et pouvoir ensuite te la peter un peu *Débat clos.
Super script Grimimi, mais je plussoie la question de ---Roxxor---, il y a une version VX ? Il me semble que durant un temps il y en avait une, mais elle est peut-être pas à jour. En tout cas bravo à toi, il a l'air très utile, et finalement, pas si compliqué à utiliser ( m'enfin j'ai pas encore testé ^^ ). Bon boulot
okinaterbo
Poulet carnivore Lv.2
Inscrit le : 10/03/2013 Messages : 13
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 19:41
Je répond à sa place : Non, il n y aura pas de version pour VX.
Zangther
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 19:42
Non c'était juste histoire de signifier que ce système de point n'était en aucun cas pertinent.
Pour la version VX, je doute quelle voie le jour. C'est bien trop lourd à gérer.
Raph
Age : 25 Inscrit le : 09/07/2010 Messages : 387
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mar 12 Mar 2013 - 20:36
Heureusement qu'il y a des gens volontaires pour enrichir Vx ace ! Merci beaucoup à toi Grim et à tous les scripteurs qui partages leurs créations et qui les gardent pas que pour eux x) C'est génial ! Encore merci.
Invité
Invité
Sujet: Re: [VXAce] L'Event Extender 4 (Le grimimimator) Mer 13 Mar 2013 - 4:33
Personnellement j'en ai rien à faire des points ^^' Premièrement merci beaucoup pour votre soutient et vos encouragements ! Zeus > Tu as raison J'ai modifié, merci. Pour la relation sur [] tu as sans doute raison. Merci pour ton retour. Le code doit être encore criblé de "petites" coquilles comme celle ci. Merci d'avoir prit le temps de lire début et pour toute ton aide au cours de la rédaction de ce script !
Script maintenu à jour sur biloucorp.com ! Pour demander de l'aide, c'est par ici ! Retrouvez tous les articles référents à l'Event Extender ici ! Trouvez tout nos scripts et tutoriels sur biloucorp.com !
Ce script est tous simplement superbe mais il manque quelque fonction qui me serai bien utile... Je me permet de les décrire ici, puisqu'elle se peu qu'elle soit utile a tous et donc intéressent à rajouter.
- Une commande qui permet de connaitre la distance en 4 parcourue grâce a la commande "move_to", afin de pouvoir limiter les déplacement sur la distance, si celle ci passe a travers un obstacle (puisque la fonction existante ne prend pas en compte les zone non passable dans la distance : distance_between(move_to, x1, y1, x2, y2)
- Un ajout sur la commande "move_to" qui permet justement de bloquer les évènements a X pas, X étant une valeur : move_to(ID,x,y,wait,nbcasemax)
- Un ajout sur la commande "squares_between" qui lui permet d'utiliser des coordonner X et Y de la map plutôt qu'un évent physique : squares_between( x1, y1, x2, y2)
C'est les 3er exemple qui me sont venue a l'esprit, mais si je trouve d'autre commande qui pourrait être utile j'éditerai pour les expliquer
Pourquoi il n'y a pas la commande éditer ? --' donc tan pis, je double poste, la commande flash_square, ce serai pas mal d'y ajouter une limite sur le nombre de case colorer simultanément par la même fonctions...
Sa permettrai d'éviter la commande "unflash ((0..17),(0..13))" qui annule donc le clignotent, et tous les autre évent utilisant aussi cette fonctions...