Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: smoothIRC Lun 7 Juil 2014 - 18:47 | |
| smoothIRC est un client IRC en cours de développement qui se voudra léger (Moins de 3Mo, portable) et puissant. Sa source sera disponible au public (GM8) et est basée sur Faucet Networking, une extension de networking pour GameMaker. Le logiciel pourra se connecter à plusieurs serveurs en même temps, avec une UI agréable, fluide et douce (D'où le nom smoothIRC), pouvant être personnalisée par des thèmes de couleurs (Et peut être de vrais thèmes plus tard), comme clair, classique et sombre, selon votre style. Il y aura un système de script simple qui permettera de réaliser des bots IRC très facilement, ou bien de rendre certaines tâches plus rapides, d'une syntaxe ressemblant à cela, avec une possibilité d'incorporer du code GML, directement dans un éditeur intégré au programme : - Spoiler:
Déjà, ne me tapez pas, un interpréteur dans un langage interprété - Code:
-
onReceiveMessage : if input equals "/off" or "/shutup" : set bot_can_send false gm "show_message("The bot has been disabled!");" stop #ne pas répéter /off else if input equals "/on" or "/talkagain" : set bot_can_send true stop #ne pas répéter /on else sendMessage inputserver input end #les fins de hooks ont toujours besoin de end Vous pouvez voir que le code est plutôt différent de ce que l'on peut voir d'habitude, c'est une syntaxe très simple. Ceci permettera de renvoyer n'importe quel message reçu (Comme un perroquet). On peut également lui dire de ne plus envoyer de message avec /off ou /shutup, ou de le réactiver avec /on ou /talkagain Utiliser cette méthode est tout aussi puissant que d'ajouter du code dans la source, étant donné qu'on peut appeller du code GML. Cependant cela utilise execute_string() donc c'est très lent! Pour l'instant, ce n'est qu'un test et l'interpréteur n'est pas encore prêt. PS : voici l'équivalent en pur GML du code ci-dessus - Code:
-
// Dans un code appellé par la fonction OnReceiveMessage(); // global.bot_do_repeat doit être défini if (argument0 == "/off") || (argument0 == "/shutup") { global.bot_do_repeat = false; exit; // ne pas répéter /off } else if (argument0 == "/on") || (argument0 == "/talkgain") { global.bot_do_repeat == true; show_message("The bot has been disabled!"); exit; // ne pas répéter /on } else { if (global.bot_do_repeat == true) { send_message(argument0, argument1); // Message, socket } } Bref, un gain de temps considérable et une incroyable simplicité.
De plus vous pourrez mettre en place des sons personnalisés (Par exemple quand vous recevez un message privé, ou qu'un nouveau message apparaît dans un channel, ou encore quand une personne ou certaines personnes désignées postent un message dans un certain channel ou n'importe quel channel). En bref, un logiciel qui se voudra très complet. Avancement :Echange de données : 100% UI : 5% Fonctions : 5% (Interpréteur : 0%) Si vous avez des idées, n'hésitez pas! Edit : Au passage, j'essayerais de finir l'interpréteur rapido, ça pourra servir à certains pour leurs bots IRC _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|
Térence Utilisateur confirmé: Rang *****
Messages : 2213 Localisation : Oui
| Sujet: Re: smoothIRC Lun 7 Juil 2014 - 19:11 | |
| J'y connais sans doute pas grand chose, mais qui dit interpréteur dit coloration syntaxique, dit débogueur, etc... Avec GM sachant que t'as meme pas de textarea et que tu va devoir le coder, ca va etre chaud, et surement peser plus que 3mo, nan ? Et je parle meme pas des différents thèmes et sons qui sont incroyablement lourd... :/
_________________ Je suis partie sur les ailes du vent et la tempête m'a ramenée.
|
|
Asu Utilisateur confirmé: Rang ****
Messages : 895
| Sujet: Re: smoothIRC Lun 7 Juil 2014 - 19:28 | |
| - Térence68 a écrit:
- J'y connais sans doute pas grand chose, mais qui dit interpréteur dit coloration syntaxique, dit débogueur, etc... Avec GM sachant que t'as meme pas de textarea et que tu va devoir le coder, ca va etre chaud, et surement peser plus que 3mo, nan ? Et je parle meme pas des différents thèmes et sons qui sont incroyablement lourd... :/
La coloration syntaxique n'est pas forcément très dure à faire, si l'on suit la logique de l'intérpréteur ^^' Elle n'est pas obligatoire non plus, je m'occuperais de ce genre de choses plus tard. Vu la simplicité du langage, le debugger ne sera pas très complexe non plus, ça se limitera a des messages du style "ERROR at line 5 : string never closed up" si l'on oublie un " par exemple, "Missing 'end' for function onReceiveMessage" si l'on oublie le end à la fin du hook, etc. Le textarea n'a pas l'air très complexe à faire non plus, les sélections vont éventuellement me donner du fil à retordre... mais c'est pas le pire :p Oui c'est vrai que pour tout ça 3Mo fera limite peut être. Disons, 5-6Mo? Le code, c'est pas très lourd (Surtout que GM doit un peu "compacter" le code). Les thèmes de couleurs n'auront aucun sprite, ce seront juste une dizaine de variables de couleurs en RGB(A). Il n'y aura qu'un son d'inclus par défaut, mais ça n'empêche pas l'utilisateur d'en ajouter à souhait! _________________ <Cysteine> nON mais la touche maj s'active/se désactive toute seule <Cysteine> et a du mal à réponDRE QUANd j'appuie dessus <Cysteine> et je l'ai démont2? IL Ny a rien DEDANs
|
|