[CUSTOM] dialog system (working/tutorial pending)

  • #50, z sebastianSunday, 09. October 2016, 19:44 hodinky 8 years ago
    You mean inside the ininv function? Yeah it was frankensteined together from pieces I found in the wiki and own stuff (the for loop).

    Sometimes I can't get the shorthand version to work for some reason and end up to use a mixture of long and short... The wiki itself is not straight when I search up things I need. So it ends up quite funky.

    Kapitán

    2346 Posts


  • #51, z afrlmeSunday, 09. October 2016, 21:12 hodinky 8 years ago
    Yeah shorthand is impossible to document because sometimes you can get away with only typing part of a data structure field / table name, sometimes only 1 word from it is needed & sometimes you need to type the name out in full. It's all down to experimentation for the most part.

    Example:
    print(Values["name"].Int) -- works
    print(Values["name"].ValueInt -- doesn't seem to work
    

    Imperátor

    7285 Posts

  • #52, z sebastianSaturday, 04. March 2017, 18:44 hodinky 8 years ago
    Finally in the development of this custom dialog system I reached a point where everything seems to work as expected.
    I made a small gif for comparsion:

    classic: shows a maximum of 4 lines/choosable options and scrolls 1 item when clicking on the arrow. If there are less than 4 lines, the dialog box is shown deeper, so that there is no white space below the choosable options. So when only one option is available, it appears nevertheless on the most bottom point.

    gamepad optimized: shows a maximum of 4 lines/choosable options at directon of your D-PAD. It scrolls 4 items when selecting the arrow (or pressing L/R button on gamepad). If there are less than 4 items on each page of selectable options, the direction is (of course) not selectable. Using the D-PAD lets the mousecursor disappear until it gets moved again or the dialog ends.

    both styles have a nice move-in animation from the button and have autoselect of an option if only one option is available (like in MI3).

    Now im waiting for the VS5 engine to start the tutorial series which also will cover the custom dialog system ;P 
    *go simon* *go bigstans* *go marvel* 
    (why isnt there a team site? i guess i missed someone)


    kind regards

        Sebastian

    Kapitán

    2346 Posts

  • #53, z SimonSSaturday, 04. March 2017, 18:59 hodinky 8 years ago
    Currently that can only done via scripting as Daedalic does it. But some time in the future it might be possible via the builtin system.

    Kapitán

    1582 Posts

  • #54, z sebastianSaturday, 04. March 2017, 19:32 hodinky 8 years ago
    Currently that can only done via scripting as Daedalic does it. But some time in the future it might be possible via the builtin system.
    yeah, i know... I did it completely with LUA and actions in an interface. Text lines which get displayed are read from an internal script inside the game (custom formatted):
    [feigling1]
        text_de: 'Niemand nennt mich einen Feigling!'
        text_en: 'Noone calls me a coward'
        action: 'dp_feigling'
        conditions: ' '
        pointers: 'tempelschaenderfeind|wiesoknochenuebrig|wasunheil|unheilvortor|feind|zurueck1'
    [end]
    
    [feigling2]
        text_de: 'Hey, das Stimmt nicht!'
        text_en: 'Hey, thats not true!'
        action: 'dp_feigling'
        conditions: ' '
        pointers: 'tempelschaenderfeind|wiesoknochenuebrig|wasunheil|unheilvortor|feind|zurueck1'
    [end]
    
    [feigling3]
        text_de: 'Zweifelst du etwa meinen Mut an?'
        text_en: 'Do you doubt my courage?'
        action: 'dp_feigling'
        conditions: ' '
        pointers: 'tempelschaenderfeind|wiesoknochenuebrig|wasunheil|unheilvortor|feind|zurueck1'
    [end]
    
    [feigling4]
        text_de: 'Feige kenne ich nicht in meinem Wortschatz!'
        text_en: 'The word coward is not in my vocabulary!'
        action: 'dp_feigling'
        conditions: ' '
        pointers: 'tempelschaenderfeind|wiesoknochenuebrig|wasunheil|unheilvortor|feind|zurueck1'
    [end]
    
    [feigling5]
        text_de: 'Sag das nochmal...!'
        text_en: 'Say that again...!'
        action: 'dp_feigling'
        conditions: ' '
        pointers: 'tempelschaenderfeind|wiesoknochenuebrig|wasunheil|unheilvortor|feind|zurueck1'
    [end]

    (this is the script "file" part shown in the screenshot. In this case all selectable options result in the same action which lets the hero say the total opposite and mess up^^)


    Result is shown in the screenshot wink


    Kapitán

    2346 Posts

  • #55, z afrlmeSaturday, 04. March 2017, 19:35 hodinky 8 years ago
    *go simon* *go bigstans* *go marvel* 
    (why isnt there a team site? i guess i missed someone)


    kind regards

        Sebastian
    Everyone is listed in the wiki in the manual section under "about the visionaire team" bit near the top of the manual page...

    https://wiki.visionaire-tracker.net/wiki/Meet_The_Team

    Anyway, nice work mate. wink

    Imperátor

    7285 Posts

  • #56, z sebastianSaturday, 04. March 2017, 19:43 hodinky 8 years ago
    *go simon* *go bigstans* *go marvel* 
    (why isnt there a team site? i guess i missed someone)


    kind regards

        Sebastian
    Everyone is listed in the wiki in the manual section under "about the visionaire team" bit near the top of the manual page...

    https://wiki.visionaire-tracker.net/wiki/Meet_The_Team

    Anyway, nice work mate. wink


    Thanks for the link =) Forgot about the wiki while i wrote the post ^^
    "BOSS MAN" is the best job title i ever heard of...

    I also edited my post to show what kind of "scripting" is left over to do for the programmers who want to use the system in the future. 
    Just write what text should be shown and what action gets startet when clicking on the text. Also pointing to the next possible dialog options after the declared action finished.

    Kapitán

    2346 Posts

  • #57, z afrlmeSaturday, 04. March 2017, 19:50 hodinky 8 years ago
    Well his category needed to be called something & Thomas doesn't seem to like the title of CEO, & founder just doesn't seem like the correct title either.

    I guess it sounds better than "<strike>that</strike> the idea guy" razz

    * edit: the wysiwyg box actually shows the strike-through text. How queer!

    https://www.youtube.com/watch?v=nTEyhkPB1FA

    Imperátor

    7285 Posts