I want to create an interactive dialogue system for a multiplayer rpg, with a hero creation aspect where each player can create their own hero or import from their bank, and a player character to non-player character dialogue aspect controlled by the main character (player 1); I have some experience with C programming but limited experience with the editor, how should I go about this?
This would be a watered down version of the hero creation aspect:
Create New Hero? Y/N
Y: Start Hero Creation
N: Go to Import Dialogue
Import? Y/N
Y: Look in bank for code(s) or wait for a text line from the player like -create or -load
N: Go back to the first dialogue
Here's a example of dialogue the player might encounter in the game world:
Player right clicks on non-player character within a certain distance.
Game pauses itself, dialogue initiates.
Non-Player Character: Please help me!
Choices:
1. Who are you?
2. Why would the voice of a sweet maiden come from a creature so foul?
3. Stay back ogre!
4. A monster, here?! I shall slay you quickly! (attack)
Consequences:
1 > NPC responds and brings up the previous choices.
2 > NPC responds and brings up an entirely new set of choices.
3 > Breaks conversation, game resumes.
4 > Breaks conversation, game resumes and NPC turns hostile.
I believe that Starcraft 2 actually has a built in Conversation system, unfortuneately I havenèt looked at it much myself yet, but there are trigger actions and data editor objects for just that purpose.
As for the character creation, you can now create dialogs with GUI, it is much much easier than Wc3 in my experience. And for simple Yes/No dialogs it is even easier
Interesting, let's say I wanted something more complex than Yes/No and the dialog had several options that resembled something like this:
___________________________
|Strength {Amount} [+] [-] |
|Dexterity {Amount} [+] [-] |
|Constitution {Amount} [+] [-] |
|Intelligence {Amount} [+] [-] |
|Wisdom {Amount} [+] [-] |
|Charisma {Amount} [+] [-] |
|-------------------------------------|
|Points Left : {Amount} |
| |
|[Finish] |
---------------------------------------
The + and - buttons would be click-able and either take one point from the Points Left Amount and give it to their respective statistic or remove a point from a statistic and give it to the Points Left Amount.
And they can't click finish until they use all their points.
I assume all these dialog items would all be in one big dialog box, how do I make these buttons click-able where clicking them causes local/global variables to change (which would then affect the player's hero) and that Finish button to be greyed out until they use all their points (and greys out again if they add back to the Points Left amount).
Search is your friend. :) This Tutorial here is about race/class selection but it covers all the basics of creating a working Dialog.
The basic components of a Dialog are the Dialog Items (such as buttons) attached to it. You will want to make Global Variables for each one you create so you can refer to them in various Triggers. For changing the buttons of a Dialog that is already being Shown to the Player, I would think you could simply use the Show/Hide Dialog Item action. For changing the text/appearance of individual Dialog Items, you can use Set Dialog Item Text.
At the base of these interactions, of course, is the event "Dialog Item Is Used". You can save Last Used Dialog Item to a local variable and run comparisons on it, then run the appropriate Triggers for making those Dialog state changes.
Yeah for more complex dialogs you need to use the Dialog type Triggers, but it's pretty intuitive, take a look at the triggers and fiddle around with it.
I glanced at some other maps with dialog and didn't really care to look through it, there are a lot of actions involved, so I just went ahead and tried to work it out myself, and low and behold I already have this Character Creation screen;
Like what you want to make, you can select attributes (Among other things) and the Ready button is disabled until you have spent all your points and selected all your skills/upgrades.
I want to create an interactive dialogue system for a multiplayer rpg, with a hero creation aspect where each player can create their own hero or import from their bank, and a player character to non-player character dialogue aspect controlled by the main character (player 1); I have some experience with C programming but limited experience with the editor, how should I go about this?
This would be a watered down version of the hero creation aspect:
Create New Hero? Y/N
Y: Start Hero Creation
N: Go to Import Dialogue
Import? Y/N
Y: Look in bank for code(s) or wait for a text line from the player like -create or -load
N: Go back to the first dialogue
Here's a example of dialogue the player might encounter in the game world:
Player right clicks on non-player character within a certain distance.
Game pauses itself, dialogue initiates.
Non-Player Character: Please help me!
Choices:
1. Who are you?
2. Why would the voice of a sweet maiden come from a creature so foul?
3. Stay back ogre!
4. A monster, here?! I shall slay you quickly! (attack)
Consequences:
1 > NPC responds and brings up the previous choices.
2 > NPC responds and brings up an entirely new set of choices.
3 > Breaks conversation, game resumes.
4 > Breaks conversation, game resumes and NPC turns hostile.
Dragon Age / Mass Effect?
I won't give away my project, but similar.
I believe that Starcraft 2 actually has a built in Conversation system, unfortuneately I havenèt looked at it much myself yet, but there are trigger actions and data editor objects for just that purpose.
As for the character creation, you can now create dialogs with GUI, it is much much easier than Wc3 in my experience. And for simple Yes/No dialogs it is even easier
Use the action called "Display Custom Dialog"
It will give you this:
This will display the text and give them a yes/no option (You can change Query to Message for a simple 'Okay' only option.
Interesting, let's say I wanted something more complex than Yes/No and the dialog had several options that resembled something like this:
___________________________
|Strength {Amount} [+] [-] |
|Dexterity {Amount} [+] [-] |
|Constitution {Amount} [+] [-] |
|Intelligence {Amount} [+] [-] |
|Wisdom {Amount} [+] [-] |
|Charisma {Amount} [+] [-] |
|-------------------------------------|
|Points Left : {Amount} |
| |
|[Finish] |
---------------------------------------
The + and - buttons would be click-able and either take one point from the Points Left Amount and give it to their respective statistic or remove a point from a statistic and give it to the Points Left Amount.
And they can't click finish until they use all their points.
I assume all these dialog items would all be in one big dialog box, how do I make these buttons click-able where clicking them causes local/global variables to change (which would then affect the player's hero) and that Finish button to be greyed out until they use all their points (and greys out again if they add back to the Points Left amount).
Bumping for new UI question.
Search is your friend. :)
This Tutorial here is about race/class selection but it covers all the basics of creating a working Dialog.
The basic components of a Dialog are the Dialog Items (such as buttons) attached to it. You will want to make Global Variables for each one you create so you can refer to them in various Triggers. For changing the buttons of a Dialog that is already being Shown to the Player, I would think you could simply use the Show/Hide Dialog Item action. For changing the text/appearance of individual Dialog Items, you can use Set Dialog Item Text.
At the base of these interactions, of course, is the event "Dialog Item Is Used". You can save Last Used Dialog Item to a local variable and run comparisons on it, then run the appropriate Triggers for making those Dialog state changes.
Good luck with your RPG. I hope it's unique.
Yeah for more complex dialogs you need to use the Dialog type Triggers, but it's pretty intuitive, take a look at the triggers and fiddle around with it.
I glanced at some other maps with dialog and didn't really care to look through it, there are a lot of actions involved, so I just went ahead and tried to work it out myself, and low and behold I already have this Character Creation screen;
http://dl.dropbox.com/u/1338777/Starcraft2/ProjectShowcase/SquadronCreation.jpg
Like what you want to make, you can select attributes (Among other things) and the Ready button is disabled until you have spent all your points and selected all your skills/upgrades.