Search Unity

LDC (Localized Dialogs & Cutscenes) - Powerful and intuitive Dialog System with tons of features!

Discussion in 'Assets and Asset Store' started by melgeorgiou, Nov 3, 2012.

  1. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    No problem! :)

    Resolution independent means that it dynamically scales up (or down) the UI. This is especially good for mobile platforms such as Android where there are many different screen resolutions! With LDC you build once, and it will scale the UI to fit any screen resolution! :)

    Haha you know what, you made me realize that I haven't posted the docs up yet! It was usually only available when you purchase the plugin. Anyway here it is (I'll upload the main page too when the next version of LDC is approved in the next few days!)

    NOTE: This is documentation for LDC v2.7 which is due to be approved soon!
    LDC DOCUMENTATION (v2.7)

    Hope that helps! :)

    - Mel
     
  2. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Ok, one last question (besides that i edited my last post before you post the answer) ;)

    Will you implement some kind of an animated icon/movie or 3D object in a future update instead of the steady picture for talking peoples?
     
  3. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Haha no problem.

    Yes, there will be an "Action" available to trigger saves on any Dialog Screen, as well as an API call. :)

    Animated portraits (I think thats what you mean! :) ) is on the wish-list for v3 - so hopefully yes! :)

    - Mel
     
  4. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Ok, i just look at your youtube videos and put this on my to buy list :)
    Sound like a great asset.

    I am also inspired to use this on an interactive story.
     
  5. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    haha glad to hear it! :)

    - Mel
     
  6. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  7. CloudCruzer

    CloudCruzer

    Joined:
    Apr 11, 2013
    Posts:
    3
    I'm loving this package. It took me from Concept Doc to Proof of Concept App in a matter of hours. Thank you!.

    Now that i've used it for a while, I do have a couple questions tho:

    First: The Asset Store says i need Unity 4.1 to download. I'm confused since your Asset Store description says it's compatible with 3.5 and 4. I got this package around the 2.0 release and am using Unity3.5. After reading about all the great upgrades, i was hoping to upgrade to the latest version :(

    Second (more for other users i guess): Is it possible to get a Token from the system using a C# script? Has anyone successfully done this? I've tried using this:

    Code (csharp):
    1. float value = (float)DialogUI.GetTokenAsFloat("tokenValue");
    Sadly, I keep getting an internal compiler error ($AudioFadeOut$223)

    Thanks in advance
     
  8. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi CloudCruzer,

    thanks for getting in touch!

    Flash compatibility requires Unity 4.1 to work correctly ( it should still compile fine on 3.5, but Unity's Flash export in that version was flakey to say the least so I cant officially support it for Flash ).

    In saying that, all the new features work fine on Unity 3.5. It's just a limitation about the Asset Store that doesn't allow us to set compatibility for older Unity versions even though we know they are compatible. If you want to email me your Unity receipt when you purchased LDC ( I'll PM you the email address ), I'll set up an account for you over at my new website, http://www.unitygamesdevelopment.co.uk" which will give you access to the latest LDC updates - sometimes up to 2 weeks before they get approved on the Asset Store! ;)

    As for your second question, C# isnt my language of preference, but I just checked and you should be able to do this:

    Code (csharp):
    1.  
    2. // Assuming you had a token called "MyFirstToken" ....
    3.  
    4. float test = DialogUI.GetTokenAsFloat("MyFirstToken");
    5. print(test); // Check to make sure it worked!
    6.  
    Hope that helps! :)

    - Mel
     
    Last edited: Apr 11, 2013
  9. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    NOTE TO ALL

    For existing Unity 3.5 users who would like a duplicate account for LDC at my site as well as the Asset Store ( for faster updates and Unity 3.5 compatible versions) feel free to PM me! Soon, I'll be adding a support forum at my website which will have an organised place to find LDC tips and tricks! :)

    For new users of Unity who are still on v3.5 (or v4+), you may also wish to create an account and purchase LDC directly at http://www.mel-georgiou.co.uk, it offers a few obvious benefits when doing so! Feel free to check it out! ;)

    Thanks!

    - Mel
     
    Last edited: Apr 12, 2013
  10. CloudCruzer

    CloudCruzer

    Joined:
    Apr 11, 2013
    Posts:
    3
    Wow! Awesome news. Yes please PM me the email addy you want me to send the receipt to. I can't wait to play with some of these new features.

    As for the suggested code: That solution was exactly what i had thought at first too. That should have worked, but i get the same error, plus an extra about converting an object to a float (thus my extra float cast). ...Soooo, anyway, i'm really thinking it's down to an order of operations issue between C# and JS. I'm pretty sure i can get this working eventually, but was hoping someone else might have come across it before me. Thanks for looking into it.

    Thanks for your response...and for this amazing tool!
    -Will
     
  11. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi CloudCruzer,

    Thanks for the kind words! :)

    I've already sent you a PM, I'm on american time right now but I'll be sure to help you with your account first thing tomorrow morning! :)

    As for the code, thats really strange - it worked on my side.

    Just a few things that come to mind, make sure that LDC is in the default directory it was installed in ( the Plugins Folder ). I tested it with a C# script that was outside of the "Plugins" directory with the same code and it worked fine! Another thing, not sure if the variable name "value" that you are trying to use is valid or not, I may be wrong about that but its worth trying to change that too! If that doesn't work, you can try right clicking on your Plugins folder and selecting "Reimport". That's been known to fix weird issues from time to time!

    Hope that helps! :)

    - Mel
     
    Last edited: Apr 12, 2013
  12. CloudCruzer

    CloudCruzer

    Joined:
    Apr 11, 2013
    Posts:
    3
    Mel, you are awesome!

    Thanks for the help today. The new 2.7 version works GREAT in Unity 3.5 ...AND thru all the updating process, somehow that C# code compiles fine now. Looks like we were right on the C# syntax since it's working like a charm now!
     
  13. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi Will,

    My pleasure! Glad to hear everything worked out! :)

    - Mel
     
  14. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    LDC v2.8 is now released! Coming to the Asset Store soon! :)

    v2.8 of LDC is now released and offers great new File Management features to save, load and delete your tokens! .. It even supports multiple save slots!

    $filemanagement.png


    You can set it up to automatically handle loading your tokens at the beginning of each level, to save on destroy ( which is essentially save at the end of every level), and even to save on pause which is handy specifically for mobile!

    You can also use Save Prefixes to create new save slots! Each prefix essentially becomes a unique save key that you can use to save multiple slots! ( Easily done with a single call of the all new File Management API! ) If you only need one slot, you can leave this field blank and ignore it! ;)

    Or, you can go totally custom, and turn off the automatic save and load features and use the Token saving functions alongside your own custom save and load routines! The system is fully open and makes it incredibly easy to handle multiple save points! :)

    On top of that, File Management Actions have been added to every dialog screen in the Token Actions section!

    $TokenFileManagementActions.png

    Read more about LDC and what's new in the updated documentation and info here:
    http://www.mel-georgiou.co.uk/downloads/ldc-localized-dialogs-cutscene-plugin-for-unity/


    You can download v2.8 right now if you purchased LDC from my site, otherwise it should be coming to the Asset store in the next week or 2!

    If you guys have already purchased LDC on the Asset Store and want to download the new updates right away - as I did with CloudCruzer, pm me and I'll help you setup an account at my site for instantaneous LDC updates, dedicated forum and more!

    As always, thanks for the continued support! I really appreciate it! :)

    - Mel
     
  15. PabloCA

    PabloCA

    Joined:
    Apr 5, 2013
    Posts:
    3
    Hi again!
    Awesome work on your new update.

    Sorry I have a question that might have a simple answer yet I can't figure out how to do so.
    I'm creating all dialogs completly from the API's, not using the inspector at all. Is there a way to create, per say, an action that triggers after the last dialog is shown or after a "next" button is clicked? I want my scene to load another scene after a dialog is finished and it does but it doesn't wait for the dialog to finish.
     
  16. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi Pablo,

    As you know creating dialogs via the API doesn't work with the actions, tokens, etc as that is for totally custom implementations. I'd love to know what you're using it for actually! :)

    Anyway, heres your solution:

    1) Create a new gameObject called "LoadLevelWhenDialogIsOver" ( or something like that).
    2) Add this script to the object:

    Code (csharp):
    1.  
    2.  
    3. // LoadLevelWhenDialogEnds.js
    4. #pragma strict
    5.  
    6. var levelToLoad : String = "TheNextLevel"; // you can rename this in the inspector!
    7.  
    8. function Update () {
    9.    if(DialogUI!=null  DialogUI.ended){
    10.       Application.LoadLevel(levelToLoad);
    11.    }
    12. }
    13.  
    14.  
    3) Save this to a prefab and rename "levelToLoad" to the name of the level you want to change to. Delete original gameObject from the scene.

    4) in your code, instantiate this prefab after you launch your dialog!

    Explanation

    Using the method above, an object is created and just waits for the current dialog thread to finish. As soon as its over, it will load the desired level which you can easily change on the prefab. You can also modify the code above to the do the same thing in your own code - the important part of the code here is "DialogUI.ended == true" which means that there are no dialogs being played and the UI has fully faded out!

    Hope that helps! =)

    - Mel
     
    Last edited: Apr 25, 2013
  17. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  18. AlexanderInfo

    AlexanderInfo

    Joined:
    Jun 3, 2013
    Posts:
    8
    How and where can I add Russian fonts? :confused:
     
  19. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi AlexRabbit,

    there is a GUISkin located at:

    Plugins > Black Zombie > Localized Dialogs > Resources > UI > DialogSkin - Russian

    It should already have some russian fonts by default, but make sure the GUI Styles have the russian fonts you want instead of the default ones.

    Also, you need to make sure that Russian localization is active by clicking on the DialogUI gameObject, and in the DialogLocalization component, make sure Languages > Russian is checked. Then to test it live in the editor you can use debugLanguage > Russian in the same component!

    Hope that helps! =)

    - Mel
     
  20. AlexanderInfo

    AlexanderInfo

    Joined:
    Jun 3, 2013
    Posts:
    8
    Need I copy/setup it in any place?

    I do it, but in status (console) ( in left-down corner)I see "LDC Current Language = English"
    Here is a screenshot. $LD.jpg
    where I made ​​a mistake?
     
  21. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi AlexRabbit,you're totally right, there's a bug with both russian and portuguese in the dialog localization settings - I believe I've just fixed it. I'll send it to you via PM, and I'll be updating it to the assetstore once AlexRabbit confirms the fix! =)Take a look at you messages in a few moments and let me know if it worked!- Mel
     
  22. truefx001

    truefx001

    Joined:
    Jan 30, 2013
    Posts:
    132
    Hi I bought your UI system and didn't have the time to dig deep into it but a question which came up is , is there a possibility to adjust the size of the UI / 2D character icons/buttons and font because I would like to use it for a desktop game not mobile and the demo scenes are way to big .
     
  23. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi truefx001,

    Firstly, thanks for investing in LDC! :)

    And yes, even though the scaling is optimized for mobile, you can override pretty much all of the layout options using the included GUIskins. You can modify them in the inspector to modify the values in real time while playing a dialog - if you are targeting a specific resolution, this is very useful. You can find these GUISkins at:

    Plugins > Black Zombie > Localized Dialogs > Resources > UI > Dialog Skin <language>

    NOTE: Duplicate the "Dialog Skin - English" skin so you have a backup of the default skin - if you are using multiple localizations, you can customize each language differently ( primarily for fonts, but you can also make style changes too! ).

    Hope that helps!

    - Mel
     
  24. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi All,

    just a quick update to let you know that a new version of LDC has been submitted to the Asset Store! This is a maintenance update bringing some fixes to Russian and Portuguese localizations. I'll post the link once it has been approved!

    This update is already live at my site, www.mel-georgiou.co.uk !

    I'd like to take this opportunity to thank everyone for their support, I never imagined LDC would become as popular as it has. I'm very grateful!

    Cheers!

    - Mel
     
  25. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  26. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi All,

    Just thought I'd let you guys know about the upcoming LDC v2.9 which will bring some cool new (highly-requested) features, as well as a UI refresh for GameObject Actions!

    The New UI

    Firstly, we have the new UI and features for "GameObject Actions", which can be run at the beginning of each individual dialog screen, or at the end of it:

    $LDCGameObjectActionsUI.png

    Send Message

    In the new GameObject Actions system, you can now use "Send Message" visually without scripting - this allows you to use LDC to easily trigger functions in other scripts! =) This was the most requested feature via email support!

    $SendMessage.png

    First you choose which GameObject you want to send the message to, you can use a direct reference or search for it by name ( recommended if you are using prefabs ). Then, you simply type in the name of the function you want to trigger, as well as any optional arguments - LDC currently supports No arguments, String, int, float, GameObject, and Transform!

    De-Activation

    Another new feature is "De-Activation". It was previously possible to activate objects, but now it is also possible to de-activate them by reference or by name using this incredibly simple interface:

    $Deactivate.png

    UI Refresh

    All existing actions have been refreshed with the new UI, making it even easier to visually script and sequence the progression of your games!

    $Create-Prefabs.png

    Notes

    Another thing many of you will notice is that the Activation, De-activation, and Destroy functions have both "Direct Reference" and "Find By Name" versions of the action. This is so that you can make the most of LDC in your setup. For example, if your dialogs are saved as prefabs, Unity can't save direct references to external objects so "Find By Name" is perfect for that setup. Alternatively, you can keep everything local in the scene which will work fine with direct references.

    My personal preference is to keep dialogs centralized with prefabs, but I know some of you prefer the local way of setting everything up - the choice is yours, LDC now supports both equally! =)

    Input Button Skipping

    There is now a new option in DialogUI where you can setup input buttons to skip "Next" and "One-Button" dialogs. for example, if you type "space" in this field, pressing the space bar would skip the dialog!

    Fixes

    I've also fixed an issue where One-Button dialogs would ignore timer duration.

    Updating

    If you are updating LDC, you should backup your project before doing so! I've designed everything to update without issue, so it *SHOULD* be fine, but better safe than sorry! lol

    I'm hoping to submit it in the next few days! =)

    Cheers,

    - Mel
     
  27. harribionic

    harribionic

    Joined:
    Jun 28, 2013
    Posts:
    1
    Hi Mel,

    Look forward to trying out the update. We're in the middle of a project using the plugin so we'll wait until we're finished in case of any issues ;)

    From using the plugin, we've come across a few things that we'd like to put out there. Not sure if this stuff has been covered or there's a work round.

    1. Can we have a 'preview from dialog id X' kind of function? mainly for long complicated dialogs where it takes ages to work through on testing.

    2. how about an "insert dialog" function. A number of times we have had to hack a finished dialog because we wanted an extra scene in there. The only way to do it was to add it at the end and reroute loads. Also a drag and drop function to re-order the dialogs would be a huge time saver.

    3. I see you've implemented a 'spacebar to quickly move onto next dialog'. Could this be extended so that user defined buttons could trigger 'next' dialogs and also multiple choices? (example: press 1 for choice 1, press 2 for choice 2 etc)

    4. When designing big dialogs, it might be handy to have an additional dialog name as well as ID? So I could name dialogs like "LAST DIALOG WIN" or "LAST DIALOG FAIL" < not sure how useful this could be though

    5. An option to fade background layers / actors on last dialog. Currently they only disappear quite abruptly and takes away from the flow of the dialogs embedded in a game. A workround here has been to add an additional 'last dialog' so that any background / actor fades happen in the last but one dialog.

    6. Something in the dialog UI which allows us to set audio levels. For instance, I want to fade all my audio FX from channel 1 at .2 not at the predefined 2. I have to manually change every parameter when A quick fix in the UI could again, save lots of time.

    7. Save current view in inspector. When I click in the hierachy or project windows, The inspector defaults back to the top of the dialogs so I lose where I had got to. Causing wrong data entry and again, taking up more time.

    I have not had chance to look at the how the logic trees etc work as yet, but as we develop more complicated dialog trees, it would be great to have a visual representation of that. Currently, I am designing dialogs using Google documents and sharing them with staff, then numbering each dialog box which allows a pretty smooth transition into the plugin. Have you considered how users are designing their dialogs before using the plugin?

    Well, again - There's a good chance some of these issues have been addressed or have workarounds but it's been constructive to work alongside as you evolve the plugin.

    Cheers

    Stuart
     
  28. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  29. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    @stuart, sorry for the delay, just got back from vacation! =)

    Lot's of points! =)

    Glad to see you've been using LDC extensively! OK, let's work through them:

    1) Well, in the DialogController component theres a field called "Start ID". Change that from 1 to anything else and the starting dialog will be that number! =)

    2) Drag and drop is a little difficult in Unity3 (if not impossible? Not sure.). However, I believe this is already possible in Unity4 as standard now. Also, you can resort the dialogs by changing the IDs on the different dialog screens, and then clicking the "Sort All Dialogs By ID" button thats in the DialogController - next to the green + sign. I think this requires dialogs to be saved as prefabs first though.

    3) It already supports any key for next buttons (not just space bar), but the multiple choice shortcuts would be a cool addition - Added to the wish list!

    4) I'm assuming you mean for reference purposes. just to give yourself notes about what each one does? Sounds good, added to wishlist!

    5) Hmm good point. I'll have a think about this one and see what I can do!

    6) Not sure I fully understand here, do you mean you want to change the default value of the fade value so its always 0.2 instead of 2?

    7) Yeah that one is a tricky one, its part of how Unity displays components in the editor ( in LDC, each dialog screen is a real component in the Unity Editor, and it always defaults back up to the top when selecting a new object ). Not sure if theres a way to do this I'm afraid.

    If you have any more suggestions or ideas feel free to send me a PM or post, etc!

    Hope the above helps! =)

    - Mel
     
  30. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi All,

    just released LDC update v2.9.1, which fixes a problem with building to Flash.

    You can already grab it over at my site:

    LDC Direct Website Link
    http://www.mel-georgiou.co.uk


    The AssetStore version is in queue to be approved by the Unity team, I'll re-post the link when its available! =)

    - Mel
     
  31. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  32. pdsoft

    pdsoft

    Joined:
    Oct 31, 2012
    Posts:
    3
    Hi Mel,

    Im currently thinking of purchasing LDC for a project Im working on that involves lots of Dialogue. LDC seems like the perfect solution! Im a Playmaker user and not very advanced with scripting yet, but from what Ive seen so far I could quite easily use this plugin at my current level.

    My Question is this, can dialogues have multiple colors when displayed?
    For example if something like this were to come up during a scene:

    "You received a Potion."

    Is LDC able to switch text color on the fly?

    Thanks
     
  33. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi pdsoft,

    Thanks for your interest in LDC! =)

    Yes, LDC is designed to be incredibly easy to use and is equally as powerful! :)

    ... And yes! You can use colors inside of dialogs as long as you're using Unity 4 or higher, just type something like this:

    "We are <color=green>green</color> with envy"

    ... and then the "green" will actually be that colour!

    Hope that helps! :)

    - Mel
     
    Last edited: Aug 2, 2013
  34. pdsoft

    pdsoft

    Joined:
    Oct 31, 2012
    Posts:
    3
    Wow, its just as simple as I hoped. :D
    I think Im sold on this product of yours. It will most definitely be an addition to my upcoming project.

    Thanks!
     
  35. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi pdsoft,

    Glad to hear it! :)

    All the best,

    - Mel
     
  36. RandAlThor

    RandAlThor

    Joined:
    Dec 2, 2007
    Posts:
    1,293
    Hi again,

    I bought your nice asset some Time ago After you answered me about the Quest Solution with your asset and now i have a New question about quests.

    What i want to know is when everything is saved in tokens, i normaly can do some Kind of Quest Log with it or do i think wrong?

    I mean can i use your asset to let the Player know what quests he has accepted or denied and wich One he has fullfilled and which One he has to?
     
  37. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi RandalThor,

    You can use Tokens and LDC easily to set up quests, track them, and show specific dialogs based on the quests, etc.

    If you are trying to show an actual "Quest Log UI", that would have to be manually coded, but you can easily pull information about tokens to create your own.

    In the JS Example below I have created a basic version to get you started. In this example, we assume you have already setup some tokens called "Quest1", "Quest2" and "Quest3".

    These quest tokens are tracking the progress of the first three quests in the game. For example, a value of 0 means the quest hasn't been accepted yet, 1 could mean the quest was accepted but not yet completed, 2 could mean the quest was completed (You can set it up anyway you want, this is just an example! :) ).

    The UI part would look a little like this (You'd have to work on the appearance of the UI by creating a GUIStyle, etc but this is a pretty good starting point for beginners! ):

    Code (csharp):
    1.  
    2.  
    3. #pragma strict
    4.  
    5. // QuickExampleQuestLog.js
    6.  
    7. var questTokens : String[] = ["Quest1","Quest2","Quest3"];    // <- In the inspector, add the names of Tokens acting like quests! =)
    8.  
    9. // ============
    10. // GUI FUNCTION
    11. // ============
    12.  
    13. function OnGUI(){
    14.  
    15.     // Create a box
    16.     GUILayout.BeginVertical ("box");
    17.    
    18.     // Create Title
    19.     GUILayout.Label("QUEST LOG");
    20.    
    21.     // ==============
    22.     // CHECK QUESTS
    23.     // ==============
    24.    
    25.     for( var quest : String in questTokens){
    26.         // Make sure the token isn't empty before we check it...
    27.         if(quest!=""){
    28.            
    29.             // Check the status of of the token (Note: If it is 0, it is not shown because it hasn't been accepted yet.)
    30.             if( DialogUI.API_GetTokenAsFloat(quest) == 1 ){
    31.                 GUILayout.Label( quest +" is in progress");
    32.    
    33.             // If the value is 2, we have completed this quest.    
    34.             } else if( DialogUI.API_GetTokenAsFloat(quest) == 2 ){
    35.                 GUILayout.Label( quest +" is complete.");
    36.             }
    37.         }
    38.     }
    39.    
    40.     // End Box
    41.     GUILayout.EndVertical();
    42. }
    43.  
    44.  

    If you add more than 3 quests, simply add the new tokens to the QuestTokens array in the inspector and it will be checked and displayed during the loop. This will provide basic functionality for a quest log. Like I said, this is the core stuff, you'd need to improve the look of it by adding a GUISkin, etc.

    Hope that helps! :)

    - Mel
     
  38. kevmaster2000

    kevmaster2000

    Joined:
    Aug 27, 2013
    Posts:
    2
    Hi Mel! I recently purchased your Dialog system, and I've spent the afternoon familiarizing myself with it. I think it's an excellent package. :)

    I'm currently working on a 2D game for iOS using NGUI. We'd like to install a tutorial system using LDC. Please forgive me, I am rather new to Unity, and I have little-to-no familiarity with UnityGUI, and found the documentation unable to answer my questions, so I figured I'd come here with my question.

    By editing the DialogSkin, I managed to change the background object to our pre-made Dialog box, and to change it to the proper shape and size, and have successfully implemented the font that we intend to use. The only issue I'm running into here, as far as the appearance of the Dialog goes, is that I would like to move my dialog box to a different location on the game screen. I've currently got the Dialog Controller nested under a panel under an NGUI Camera Anchor in my hierarchy. I've tried changing it to be anchored to different locations under my NGUI UI camera, but it hasn't had any effect. Is there a way I can edit the GUISkin to reposition the dialog box? Or perhaps even a simpler option that I have somehow overlooked? I'm not sure how familiar you are with NGUI, but I do submit that it's possible my issue may arise from working so closely with the NGUI engine. Or from my huge lack of knowledge about certain aspects of working with Unity. ;)

    Thanks again for creating this excellent package, and thanks for your help!
     
  39. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi Kevmaster2000,

    Thanks for investing in LDC, I'll certainly do my best to help you solve this! :)

    Setup

    Firstly, I'm not a NGUI user so I'm not sure about the ins and outs of it, but I'm pretty sure that LDC will completely ignore it as it uses the built-in Unity GUI system to work.

    As for re-positioning elements in LDC, you should be able to accomplish this using the GUISkins in the inspector! =)

    Locating The GUISkins

    In case you (or others) aren't sure where to find them, you can find the default skins at:
    Plugins > Black Zombie > Localized Dialogs > Resources > UI

    (You should duplicate a copy of the "DialogSkin - English" one so you can use as a backup .)

    Modifying The GUISkins

    For example, if you are trying to reposition the DialogText, you can find this in the inspector when you click on to the GUISkin, and opening Custom Styles > Dialog Text. In there, you'll find a group called "Content Offset", which you can use to reposition the X and Y coordinates of the text in realtime while the game is playing - these changes will be saved as you apply them! You can also override the width and height by changing "Fixed Width" and "Fixed Height".

    The same can be achieved with the other elements too!

    Hope that helps! :)

    - Mel
     
  40. kevmaster2000

    kevmaster2000

    Joined:
    Aug 27, 2013
    Posts:
    2
    Thanks so much for your quick response! :)

    I managed to move the text on my buttons and in my dialog box, but Content Offset didn't seem to affect the actual box itself. Is there a different method that has to be used to reposition it?

    Thanks again for all your help.
     
  41. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi kevmaster2000,

    No problem at all!

    Ah yes you're quite right. With the Background box, you should use the "Overflow" group in the GUIStyle instead of ContentOffset. It works in a slightly different way, but you should be able to get the exact position you want by playing around with those values!

    You can also balance it with "Fixed Width" and "Fixed Height" in the inspector for extra control if you need it (although it should work without needing to use those!)

    Hope that helps! :)

    - Mel
     
  42. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi Everyone,

    thought I'd share some progress I'm making with LDC v3.0! :)

    The most requested feature so far has been animated graphics in the system, and I'm excited to let you guys know that in LDC v3.0 you'll be able to easily animate portraits, Actor layers and even background layers too!

    Here's an early flash build of things working and also I still need to build the UI side to make setting up animations super easy!

    I'm pretty sure other people / companies would charge for extra features like this - but as always, all upgrades to LDC are completely free!

    Thanks to all of you who are supporting LDC, more awesome stuff to come! :)

    - Mel

    Flash Link:
    >> LDC v3.0 - ALPHA FLASH DEMO

    $LDCv3AlphaScreenshot.png

    TechNotes:
    the soldier seems to be jumping up and down but that is actually a quick 8-frame animation I made ( 5 different textures, 3 re-used )
    The background layer is also an 8 frame animation making use of 3 frames (6 of them use the same Texture to save resources! )
     
    Last edited: Nov 1, 2013
  43. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    MORE LDC v3 INFO

    This is how new animations will be setup:

    $DialogCastV3b.png

    Now, the DialogLibrary is a more integral part of LDC. If you want to setup animations you can do so in both the Dialog Cast (as shown above) and the Dialog Scenes, which are both part of the "Dialog Library". Simply make this a prefab, put it in every scene where you need animations and you're good to go! :)

    You can group up sets of graphics / animations, and organise them in any way you want. For example, you can have a group for portraits, for the good guys, for enemies, etc.

    Animations can be ANY size, and you have control over the playback speed and which frame to loop back to.

    MORE COOL TOUCHES

    Another really cool feature is that I've managed to get the animations to update in the inspectors! That allows you to preview them in your Dialog Screens, Library browsers, etc.

    Also, as you can see from the Flash demo above, these features should work on all Unity platforms! =)

    TIMEFRAME

    I'm hoping to add a few more small features into v3, but everything is looking good and so hoping to release it in the next week or so! :)


    - Mel
     
    Last edited: Aug 30, 2013
  44. ocimpean

    ocimpean

    Joined:
    Aug 10, 2013
    Posts:
    128
    Looks excellent!
     
  45. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    @ ocimpean: Glad you like the features! :)

    More LDC v3 Features - Notes!

    One last feature has been added to v3.0, which are dialog notes! Quite a few people have asked for a way to easily keep track of long dialog threads, and I believe this is a great way to do it, here's what it looks like (the yellow edit box):

    $DialogNotes.png

    It's a really quick and easy way to add a label to each dialog (if you want to!) and is now available on every tab. So no matter if you're setting up dialogs, actions, navigation, localization, layer, etc. You'll be able to quickly see that tab and be reminded of which dialog screen is which!

    LDC will be released in the next few minutes! =)

    - Mel
     
  46. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    LDC v3 IS NOW AVAILABLE!

    LDC v3 is now released and available at my site ( if you have setup an account there you'll be able to upgrade to the latest version at no cost! ). Hopefully the Unity Asset Store team should approve it in the coming week!

    IMPORTANT: Remember to backup your existing projects before upgrading!

    LDC Direct Website Link
    http://www.mel-georgiou.co.uk

    ... I'll update the Asset Store link when it is finally approved! =)

    Thanks to all who have supported LDC so far and I hope you make use of the new features! :)

    - Mel
     
    Last edited: Sep 1, 2013
  47. Guideborn

    Guideborn

    Joined:
    Jun 15, 2013
    Posts:
    231
    Been waiting for the animations! YEA
     
  48. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
    Hi Morris,

    Glad you're looking forward to the new features! =)

    - Mel
     
  49. melgeorgiou

    melgeorgiou

    Joined:
    Nov 3, 2012
    Posts:
    772
  50. dittt

    dittt

    Joined:
    May 29, 2013
    Posts:
    20
    Hi. I'm a new unity developer. Firstly, thanks for this great plugin, this is exactly what I wanted. but I have a question. Is there a way to use dialog button in other script as variable? For example, if user click "HP UP" button , then a charactor's HP rises.
     
    Last edited: Sep 10, 2013