Crystalwarrior / Godot-DialogPlugin

πŸ‘β€πŸ—¨A tool that will help you create dialogues and timelines with characters for your games.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Textalog - A DialogSystem Plugin for Godot Engine

Godot Engine GitHub license GitHub issues Godot Engine


Twitter: @AnidemDex

An user-friendly dialog system for Godot Engine with characters, text boxes, dialog bubbles and many more (planned) features for your games.

Note: If you find a bug, or want a feature to be included, feel free to open a new issue. You can also send me a message on twitter or join us on Discord.

Features

πŸͺ§ DialogNode and πŸ—¨οΈ DialogBubble

A node implementation for dialog box and dialog bubble, fully customizable and build with common dialog commands to improve your game development in the dialogue interaction.

  • DialogNode DialogNode

  • DialogBubble

πŸ±β€πŸ‘€ Characters and πŸ–ΌοΈ Portraits

Characters are data containers to describe what expressions (portraits) are going to be used in dialogue and what properties of the dialogue will be overriden during the gameplay.

character editor

🎨 Customization through Godot's Themes

Modify the DialogNode through themes!

Theme Customization

Use it as a Dialog System!

The plugin can help you creating sequences of dialogs and dialog branches to certain conditions, all in the editor, thanks to its integration with EventSystem.

You can create the entire dialog sequence through code too!

See more about this implementation on the documentation.

🚩 Installation

Download the lastest release and extract the ZIP file. Move the addons folders to the root of your project. Finally, enable the plugin in your project settings, under plugins tab. It's that easy!

You can take a look in a more detailed tutorial in the plugin's documentation. If you want more information about installing plugins in Godot, please refer to official documentation page.

If you're downloading the repository instead, make sure to move only textalog to your addons folder. Extra files and folders are for debug purposes.

🧡 Usage

Quick example to try the most simple functionality: showing text on the screen.

extends Node

func _ready() -> void:
  # Creates a new DialogNode instance
  var dialog_node = DialogNode.instance()
  # Add the node as child
  add_child(dialog_node)

  # Show an string. BBCode works too!
  dialog_node.show_text("Hello world!")

⚠️ Control node and Node2D node types are incompatible. If you want to add the DialogNode as child of a Node2D type, make sure to give it a proper rect_size, add it as child of a CanvasLayer or add it in the scene, not in code.

πŸ“š Documentation

Now we have an official documentation! All the information about the plugin you will find it organized in the documentation page. Tutorials, class information, FAQ and more will be added there, eventually.

Want to see the whole changelog? Take a look on the documentation, the Changelog section.

About

πŸ‘β€πŸ—¨A tool that will help you create dialogues and timelines with characters for your games.

License:MIT License


Languages

Language:GDScript 100.0%