Aller au contenu

Photo

How did they do Leliana in the new DLC?


  • Veuillez vous connecter pour répondre
24 réponses à ce sujet

#1
uberdowzen

uberdowzen
  • Members
  • 1 213 messages
So, I've been trying to work out how to do this for ages and this might finally be the oppurtunity. I'm making a mod that works pretty much in the same way Leliana's Song does (pre-set voice protagonist) and have spent ages and made a couple of threads trying to work out how to do this.

Has anyone pulled the DLC apart to work out how this works (pretty sure you can't do that) or could someone from Bioware please explain how it works? It's driving me insane!!!!!

#2
FergusM

FergusM
  • Members
  • 460 messages
I have not played the DLC, but:

Do you mean having it such that you see a list of dialogue options and then the one you select is spoken after you choose it?

Off the top of my head:

For each line of the PC's
Add a 'response'. Under the dialogue tab, change the response's Speaker Tag to PLAYER.
Add the wav with the audio you want the line to use to your override folder.
Add a response to your response, and just leave it as continue. Then add the actual reply as a response to this.
Generate local VO.

It doesn't seem to generate robo-voice VO this way, but I think it may work if you put in your own wav.

Modifié par FergusM, 21 juillet 2010 - 06:54 .


#3
ponozsticka

ponozsticka
  • Members
  • 453 messages
I think this might be done by adding dummy thingy...so basicly Leliana is preset character, that way it doesnt need to be tagged as PLAYER but can act as NPC what will make it easier for you to add VO

#4
uberdowzen

uberdowzen
  • Members
  • 1 213 messages
Ok, that should make it easier to do the VO, my current problem though is that I can't actually get a pre-set character to work. My first attempt was to have my main character as an NPC who becomes controlled by the player with some scripting, but it screwed up the levelling. All my other attempts haven't worked.

#5
FergusM

FergusM
  • Members
  • 460 messages
One thing you can do is export a creature you want to use as the pc and then change the file name to default_player.


#6
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

FergusM wrote...

One thing you can do is export a creature you want to use as the pc and then change the file name to default_player.


I've been trying that, for some weird reason it doesn't work?!

#7
ladydesire

ladydesire
  • Members
  • 1 928 messages
Apparently, Bioware has adapted the dialog wheel from Mass Effect to Dragon Age, so I don't think it is possible to do a voiced pc without having that ability added to the toolset.

#8
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

ladydesire wrote...

Apparently, Bioware has adapted the dialog wheel from Mass Effect to Dragon Age, so I don't think it is possible to do a voiced pc without having that ability added to the toolset.


In Leliana's Song? I thought is worked more like the Witcher, where you had a list of choices and then Leliana just voices the one you choose. Just to clarify, not talking about DAII I'm talking about the Leliana's Song DLC they just released.

#9
ITSSEXYTIME

ITSSEXYTIME
  • Members
  • 1 201 messages
Remember, there were voiced player character in Origins (at redcliffe when you go into the Fade as Morrigan/Wynne/Irving) so it should be possible in the current toolset just fine.

#10
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

ITSSEXYTIME wrote...

Remember, there were voiced player character in Origins (at redcliffe when you go into the Fade as Morrigan/Wynne/Irving) so it should be possible in the current toolset just fine.


Yeah, haven't actually played out Origins like that though. If I get some time over the weekend I might try and open up Origins in the toolset to see how they do this. Did they work like in Leliana's Song or was it more like in KOTOR where they didn't actually speak the lines?

#11
ladydesire

ladydesire
  • Members
  • 1 928 messages
I can't really tell how they did it; it looks like the normal dialog system, but with short phrases instead of the full text that is spoken. I wonder if her dialog is triggered by a script somehow.

#12
ITSSEXYTIME

ITSSEXYTIME
  • Members
  • 1 201 messages

uberdowzen wrote...

ITSSEXYTIME wrote...

Remember, there were voiced player character in Origins (at redcliffe when you go into the Fade as Morrigan/Wynne/Irving) so it should be possible in the current toolset just fine.


Yeah, haven't actually played out Origins like that though. If I get some time over the weekend I might try and open up Origins in the toolset to see how they do this. Did they work like in Leliana's Song or was it more like in KOTOR where they didn't actually speak the lines?


It was identical to Leliana's Song.

#13
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

ITSSEXYTIME wrote...

It was identical to Leliana's Song.


OK, I'll open up Origins hood and take a look.

#14
uberdowzen

uberdowzen
  • Members
  • 1 213 messages
Had a look at some or Origin's scripts. So let me get this straight, if you're not a mage and you do the ritual the player character is not present at all in the fade e.g. the player essentially becomes an NPC?

#15
Proleric

Proleric
  • Members
  • 2 352 messages
Correct.

#16
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

Proleric1 wrote...

Correct.


So has anyone else worked out how to do this? I've looked through the scripts and I can't see anything.

Modifié par uberdowzen, 22 juillet 2010 - 09:28 .


#17
ITSSEXYTIME

ITSSEXYTIME
  • Members
  • 1 201 messages
I'll probably take a look and see what I can dig up later as I'm kind of curious how they did it as well.

#18
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

ITSSEXYTIME wrote...

I'll probably take a look and see what I can dig up later as I'm kind of curious how they did it as well.


Cheers, you probably understand the scripting better than I do.

#19
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages
I have absolutely no idea how they did it in Leliana's Song, but the fade sequence sets a plot flag (thus triggering a special script) that removes the "Hero" from the party and replaces them with an NPC. I've tried this in a test module, and the "Hero" PC is the one whose name is shown in save files. Also, NPCs can't have backgrounds. The leveling system also is screwed up if the PC is still at level "0."

I wish I could help more, but I'm actually kind of stuck too.

#20
uberdowzen

uberdowzen
  • Members
  • 1 213 messages

jackkel dragon wrote...

I have absolutely no idea how they did it in Leliana's Song, but the fade sequence sets a plot flag (thus triggering a special script) that removes the "Hero" from the party and replaces them with an NPC. I've tried this in a test module, and the "Hero" PC is the one whose name is shown in save files. Also, NPCs can't have backgrounds. The leveling system also is screwed up if the PC is still at level "0."

I wish I could help more, but I'm actually kind of stuck too.


So my guess is that the levelling isn't screwed in the Fade section is that the XP is still getting back to the hero? Darn.

#21
Hel

Hel
  • Members
  • 420 messages
SETTING UP A PREDEFINED HERO
1. Predefined Hero
- Create your predefined Hero creature.
- Give the Hero a unique tag that you will use throughout your scripts.
- Make sure to assign your Hero a class and a starting package.

2. Module Script
case EVENT_TYPE_MODULE_START:
{
    // Don't launch the character generation scripts to allow our predefined Hero to level up properly.
    break;
}


3. Area Script
case EVENT_TYPE_ENTER:
{                                    
    // Get the object that invoked the event.
    object oCreature = GetEventCreator(ev);

    // Is the event creator our standard Hero?
    if (IsHero(oCreature))
    {     
                // Get the instance of our Hero creature for the supplied tag.
                object predefinedHero = GetObjectByTag("myHero", 0);
                
                // Add our predefined Hero to the party as an active member.
                WR_SetFollowerState(predefinedHero, FOLLOWER_STATE_ACTIVE);
                              
                // Remove our standard Hero from the party and the selection roster.
                UT_FireFollower(GetHero(), TRUE);
               
                // Give our standard Hero the name of our predefined Hero.
                // This allows save games to carry the appropriate Hero's name.
                SetName(GetHero(), GetName(predefinedHero));

                // Add the code required to move the standard Hero off screen.
    }

    break;
}


That should get you started, I hope. (Script-tags, where for art thou?)

Modifié par Helekanalaith, 22 juillet 2010 - 11:40 .


#22
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages
Subscribed. Thank you, Helekanalaith! It's just such a great idea... why didn't I think of it...

I'll try it soon. Maybe I'll be able to get XP to work properly...

Maybe with a SetXP() or SetLevel() if there is a script command like that.

Edit: XP seems to work, but even scripting doesn't seem to add a background (like Leliana's "Orlesian" background.)

Everything else seems to work. I'd suggest moving the "Hero" character to a place that is never seen through scripting though, or you have a naked bald guy standing around. You also need to have the character you want to control placed somewhere. I'd suggest them being in the "Hero" repository to start, and use scipting to move them to the start area. Or have them in the start area and start a cutscene that moves them to the opening scene.

Modifié par jackkel dragon, 22 juillet 2010 - 11:47 .


#23
Hel

Hel
  • Members
  • 420 messages
To level up your hero you can follow the steps below.

1. Include
// Add this line at the top of your script with the other includes.
#include "sys_rewards_h"

2. RewardXP
// Level our predefined Hero up to level 10.
RewardXP(predefinedHero, RW_GetXPNeededForLevel(10), FALSE, TRUE);


Note that this doesn't work in the area script's EVENT_TYPE_ENTER event.The reason behind that isn't very clear to me either, but I assume it happens because the event doesn't allow you to call these kind of functions as they're supposed to give the player feedback. Thus if the player doesn't notice the feedback, there's no reason to process the function, forcing you to call it from elsewhere.

This probably belongs in the scripting forum, but the question came up here, so the answer shouldn't be too far behind. :)

Modifié par Helekanalaith, 23 juillet 2010 - 12:25 .


#24
jackkel dragon

jackkel dragon
  • Members
  • 2 047 messages

Helekanalaith wrote...

To level up your hero you can follow the steps below.

1. Include
// Add this line at the top of your script with the other includes.
#include "sys_rewards_h"

2. RewardXP
// Level our predefined Hero up to level 10.
RewardXP(predefinedHero, RW_GetXPNeededForLevel(10), FALSE, TRUE);


Note that this doesn't work in the area script's EVENT_TYPE_ENTER
event.The reason behind that isn't very clear to me either, but I assume
it happens because the event doesn't allow you to call these kind of
functions as they're supposed to give the player feedback. Thus if the
player doesn't notice the feedback, there's no reason to process the
function, forcing you to call it from elsewhere.

This probably belongs in the scripting forum, but the question came up here, so the answer shouldn't be too far behind. :)



I'm sure you already know this, but the original scripts you gave us seems to work fine for 1st level characters. The creature just has to be set to "player" rank. I suppose this script could be used in an opening conversation to level a PC up to a higher level, so thanks for the input.

I can finally get my NPC-centric story started, thanks to you guys. This helped a lot. Image IPB

#25
uberdowzen

uberdowzen
  • Members
  • 1 213 messages
Thank you very much, will try this out later.