Aller au contenu

Photo

Lost Shale -- How to get him back?


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

#1
Talian Kross

Talian Kross
  • Members
  • 239 messages
If I knew how or why, I probably wouldn't have to post here, but somehow, Shale has up and disappeared.  He is no longer at camp, nor is he showing up on the party selection screen.  (And no, I did not ask him to leave.)

The oddest thing is that I can load up old save games when I know for a fact he was around, but he's missing there, too.

:blink:

The DLC is not disabled or anything (I already thought of that), and the map marker is still present and I can go back to that town where I got him, but, of course, he's not there since I had already reactivated and then hired him.

---------------------------

Okay, so why post this here, you may asking.  Well, I'm trying to script him back in, but that has made things even worse.

I executed the following which technically ends up doing nothing, but now when I go back to camp, my party does not disband and instead continues following me around like it were any other area.

/*-----------------------------------*/
object oShale = Party_GetFollowerByTag( GEN_FL_SHALE );
if( IsObjectValid( oShale ) )
{
    SetObjectActive( oShale, TRUE );
    SendPartyMemberHiredEvent( oShale, FALSE );
    DisplayFloatyMessage( GetHero(), "Shale hired!", FLOATY_MESSAGE, 0xffffff, 5.0f );
}
else
{
    DisplayFloatyMessage( GetHero(), "Shale does not exist.", FLOATY_MESSAGE, 0xff0000, 5.0f );
}
/*-----------------------------------/*

(The "Shale does not exist." message is what got displayed.) Now, logic dictates that, okay, I need to create him first (CreateObject), but that requires a location, so I have no idea where I am supposed to create him.

So does anyone have a clue what's going on here? How to recreate him and hire him back? And how to fix my broken Party Camp code (where followers don't disband anymore)?

#2
void24

void24
  • Members
  • 11 messages
What has probably happened has nothing to do with your script, but rather the fact that the toolset often exports far more than it should when you export your script.



Try emptying your My Documents\\BioWare\\Dragon Age\\packages\\core\\override\\toolsetexport folder. Also be sure that your script in your module properties is set to (none) instead of the core script, as this can cause certain game scripts to run twice.

#3
Talian Kross

Talian Kross
  • Members
  • 239 messages
I always clear override folder of extraneous exports, so that's not the problem.



Also, no, the module needs to point to my custom module script, not "none" or even the default "module_core" script (that's what I'm overriding).



Any other ideas?

#4
maikanix

maikanix
  • Members
  • 142 messages
Did you mess with 2da's in some substantial way? Make her not a real character anymore or something?



if all else fails you can always reinstall the game.

#5
Talian Kross

Talian Kross
  • Members
  • 239 messages

Did you mess with 2da's in some substantial way? Make her not a real character anymore or something?

No.

if all else fails you can always reinstall the game.

:?

Guys who give advice like that should refrain from giving advice altogether.  Just think of all the unnecessary hardship you have caused all the newbies out there who don't know any better than to ignore unhelpful advice like that.

The point of my creating this thread is to figure out how to repair the problem, not ignore it.

Modifié par Talian Kross, 23 novembre 2009 - 10:13 .


#6
Axe_Murderer

Axe_Murderer
  • Members
  • 279 messages
Why don't you just use GetLocation( GetHero() ) for the location?


#7
Talian Kross

Talian Kross
  • Members
  • 239 messages

Axe_Murderer wrote...

Why don't you just use GetLocation( GetHero() ) for the location?

Actually, the proper method would be the following:

location loc = GetSafeLocation( GetLocation( GetHero() ) );

You do that so not to place two objects directly on top of each other.

The problem with CreateObject() is that it requires the resource template for the object, and I don't know the name of the file used for Shale.  Do you?  Does anybody?  Was it even included in this release of the toolset? (They left out the campaign stuff, I mean.)

Modifié par Talian Kross, 23 novembre 2009 - 11:33 .


#8
FalloutBoy

FalloutBoy
  • Members
  • 580 messages

Talian Kross wrote...


if all else fails you can always reinstall the game.

:?

Guys who give advice like that should refrain from giving advice altogether.  Just think of all the unnecessary hardship you have caused all the newbies out there who don't know any better than to ignore unhelpful advice like that.

The point of my creating this thread is to figure out how to repair the problem, not ignore it.



It is entirely possible that if you have important characters disappearing from your game, that there are other more serious problems that you just haven't found yet. Trying to modify the script files to fix one problem won't necessarily fix whatever it is that you screwed up in the first place. The suggestion to reinstall sounds about right and there's no need to be rude to the people trying to help you, even if you don't like the help they offer.

#9
emosicknesscom

emosicknesscom
  • Members
  • 22 messages
Talian, did you happen to try to switch on Shale's plot flag in the saved game? http://social.biowar.../index/114380/7 Ashmaran gives a really good step by step procedure (that I attempted earlier in the thread, but wasn't as thorough) in #2. At the very least, you could check the saved game first to see if the plot flag for Shale is switched on or not. It could be as simple as switching the flag on.

#10
Talian Kross

Talian Kross
  • Members
  • 239 messages
Actually, I fixed the Party Camp bug by correcting all the plot flags of all the currently recruited followers.  I wrote a little function to do this easily, and I should probably post it in my blog or something since, from looking around the forums, a lot of people seem to get afflicted with that bug: party not disbanding when going to camp, non-followers disappearing, being unable to talk to party members, etc.  As I described above, I was having all those problems, but I was able to fix all that.

The problem with Shale is that he literally does not exist anymore, and I have no clue why, and I don't know how to recreate him.  He's not in the list returned by GetPartyPoolList(), and no wonder because even when I open up my current save file directly, he's not in the party list. :)

I tried opening up an older save game when he did exist copy his entry from there into my current savegame, but that didn't work out too well.  The record did get copied, but the toolset would get confused about how to copy it and would basically create a record within a record.  (Hard to explain.  You'd just have to try it yourself.)

#11
Talian Kross

Talian Kross
  • Members
  • 239 messages
Okay, so now I'm able to create a "Shale" creature as verfied by the following code snippet:


location loc = GetSafeLocation( GetLocation( GetHero() ) );
object oShale = CreateObject( OBJECT_TYPE_CREATURE, R"gen00fl_shale.utc", loc );
if( IsObjectValid( oShale ) )
    DisplayFloatyMessage( GetHero(), "Shale Created!", FLOATY_MESSAGE, 0x0080c0, 5.0f );
else
    DisplayFloatyMessage( GetHero(), "Unable to create Shale.", FLOATY_MESSAGE, 0x0080c0, 5.0f );

But, alas, regardless of whatever plot variables I set and party related functions I call, I still can't get him to show up anywhere. Very odd.

Modifié par Talian Kross, 25 novembre 2009 - 02:49 .