{"id":13529168,"url":"https://github.com/glitchroy/textboxy","last_synced_at":"2025-04-01T15:30:40.158Z","repository":{"id":44445657,"uuid":"130561843","full_name":"glitchroy/textboxy","owner":"glitchroy","description":"Simple textboxes for Game Maker Studio 2","archived":false,"fork":false,"pushed_at":"2023-03-05T19:21:41.000Z","size":2193,"stargazers_count":64,"open_issues_count":9,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-11-02T15:36:33.214Z","etag":null,"topics":["gamemaker","gms2","library"],"latest_commit_sha":null,"homepage":null,"language":"Game Maker Language","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/glitchroy.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2018-04-22T11:40:53.000Z","updated_at":"2024-10-26T15:47:30.000Z","dependencies_parsed_at":"2024-04-12T18:57:34.347Z","dependency_job_id":null,"html_url":"https://github.com/glitchroy/textboxy","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glitchroy%2Ftextboxy","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glitchroy%2Ftextboxy/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glitchroy%2Ftextboxy/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/glitchroy%2Ftextboxy/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/glitchroy","download_url":"https://codeload.github.com/glitchroy/textboxy/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246662230,"owners_count":20813709,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["gamemaker","gms2","library"],"created_at":"2024-08-01T07:00:33.980Z","updated_at":"2025-04-01T15:30:39.262Z","avatar_url":"https://github.com/glitchroy.png","language":"Game Maker Language","readme":"# textboxy\r\n\r\n\u003cp align=\"center\"\u003e\r\n  \u003ca href=\"https://twitter.com/glitchroy\" target=\"_blank\"\u003e\u003cimg src=\"https://user-images.githubusercontent.com/31043192/90832595-6a5e4400-e346-11ea-982b-10745c5956cf.gif\"\u003e\u003c/a\u003e\u003cbr/\u003e\r\n  Twitter: \u003ca href=\"https://twitter.com/glitchroy\" target=\"_blank\"\u003e@glitchroy\u003c/a\u003e\r\n\u003c/p\u003e\r\n\r\n\r\n`textboxy` is using [scribble by @JujuAdams](https://github.com/JujuAdams/scribble). If you are looking for the old version, please see the [`textboxy-legacy`](https://github.com/glitchroy/textboxy-legacy) repo.\r\n\r\nIn short, `textboxy` is a **message box management system** for GameMaker Studio 2.3 and up. The goal of `textboxy` is to provide a simple system for RPG-styled message boxes, either as a classic \"textbox\" (think Dragon Quest or Final Fantasy) or a \"speech bubble\" (something like the Mario \u0026 Luigi series). The messages should use a \"typing\" effect with sound. \r\n\r\nCommands are defined in a simple queue, examples are pausing, setting and jumping to labels, changing message box properties and, of course, showing message boxes. Advanced features like flow control using conditionals are also implemented.\r\n\r\nFeatures:\r\n- Drop-in solution for RPG styled textbox systems, either as standalone message boxes or \"speech bubbles\"\r\n- Powerful text system with a lot of built-in effects and control codes, courtesy of [scribble by @JujuAdams](https://github.com/JujuAdams/scribble)\r\n- Easy to understand queue system, modeling the flow of the conversation\r\n- Management of line breaks and distribution of message boxes - you only need to focus on writing the content\r\n- Automatic linking of speech bubbles and speaker objects\r\n- Options to hook into the queue itself via callbacks\r\n- Global config script to manage defaults and input options\r\n- You can define your messages directly in GML, with support for external files planned\r\n\r\nDue to the new GMS 2.3 update, the syntax is once again a work in progress, too. This is an example of how it looks currently:\r\n\r\n```gml\r\nvar c = new TbyChain([\r\n\tnew TbyChunk().add.box(\"This will show a message box!\"),\r\n\tnew TbyChunk().add.label(\"label1\"),\r\n\tnew TbyChunk().add.bubble(\"This will show a speech bubble above obj_talker!\", instance_find(obj_talker, 0)),\r\n\tnew TbyChunk().add.execute(show_message, \"This executes a built-in script!\"),\r\n\tnew TbyChunk().add.branch(function() { return mouse_x \u003c room_width/2 },\r\n    [\r\n      new TbyChunk().add.box(\"This executes if your mouse cursor is on the left side of the screen!\"),\r\n    ],\r\n    [\r\n      new TbyChunk().add.box(\"This would execute if the mouse cursor is on the right.\")\r\n    ]\r\n\t),\r\n  new TbyChunk().add.box(\"Either way, you will resume the chain right here!\"),\r\n  new TbyChunk().add.pause(1),\r\n  new TbyChunk().add.config(\"instance\", instance_find(obj_talker, 0)),\r\n  new TbyChunk().add.bubble(\"Now I don't need to specify a speaker anymore, since I set the chains' config!\"),\r\n  new TbyChunk().add.box(\"Let's start from the beginning...\", \"middle\"),\r\n  new TbyChunk().add.goto(\"label1\")\r\n]);\r\n\r\nc.run();\r\n```\r\n\r\nIf you have feedback regarding the syntax, you can open an issue or message me.\r\nPlease excuse the lack of documentation or release builds. I'm trying to get to a working release as fast as possible!\r\n","funding_links":[],"categories":["User Interface"],"sub_categories":["Recommendations"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglitchroy%2Ftextboxy","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fglitchroy%2Ftextboxy","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fglitchroy%2Ftextboxy/lists"}