Jump to content

Home

Ebon Hawk Cutscenes question


Ferc Kast

Recommended Posts

If you want to remove G0-T0's Ebon Hawk cutscenes, there are a few ways to do it. You'll need the scripts k_003ebo_enter and a_next_scene; stoffe has links to them decompiled and sorted out in this post here.

 

It might not be a good idea to do so, but you could just go through and delete all of the scenes with G0-T0 in them...but that doesn't sound quite like what you're looking for.

 

Anyhow, if G0-T0 is named "X", so, well, I'm going to take a guess and say G0-T0 isn't really G0-T0 anymore but a different character named "X", one way you can tell the game that is by making custom globals or using existing globals and putting them into the scripts so that they'll only run if G0-T0 is really G0-T0. In addition to that, you'll have to do something that sets the globals you used to keep the scenes from running. G0-T0's dialogue, any dialogue that is getting G0-T0's name changed to "X" is an easy place to put something like that.

 

Here's an example of what I did with HK-47's scenes so they wouldn't run if HK happened to be Dustil for our Dustil recruit mod:

 

    else if (!GetGlobalBoolean("CUT_BAO_HK47_1")
       &&  GetIsAvailable(NPC_BAO_DUR)
[color=YellowGreen]        &&  (GetGlobalNumber("000_HK_Alive") == 2)[/color]
       &&  (GetGlobalNumber("000_HK47_Joined") == 1))
   {
       AurPostString("CS: BAODUR UPGRADE HK47 1", 5, 15, 5.0);
       SetGlobalBoolean("CUT_BAO_HK47_1", TRUE);
       SetGlobalNumber("000_BAODUR_CS_LEVEL", CheckNPCLevel(NPC_BAO_DUR));
       nScene = CUTSCENE_CUT_BAO_HK47_1;
   }

 

Which you can compare to the original script which doesn't have the extra global check, but just assumes that HK, ANY HK no matter what his/her/its name is, is a party member (which my modified script doesn't do because it's relying on a global check to make sure HK is a party member).

	else if (!GetGlobalBoolean("CUT_BAO_HK47_1")
	&& 	GetIsAvailable(NPC_BAO_DUR)
	[color=YellowGreen]&& 	GetIsAvailable(NPC_HK_47)[/color]
	&& 	(GetGlobalNumber("000_HK47_Joined") == 1))
{
	AurPostString("CS: BAODUR UPGRADE HK47 1", 5, 15, 5.0);
	SetGlobalBoolean("CUT_BAO_HK47_1", TRUE);
	SetGlobalNumber("000_BAODUR_CS_LEVEL", CheckNPCLevel(NPC_BAO_DUR));
	nScene = CUTSCENE_CUT_BAO_HK47_1;
}

 

All of this, the global number setting and the checking, doesn't check HK-47's name, per se, but it does check to make sure HK-47 is HK-47 and not someone else before running the scene.

 

I have HK and Dustil's dialogue set up so that if certain conditions are met, the global 000_HK_Alive will be set to a different number than the added one required for his Ebon Hawk cutscene to fire. If you do something similar with "X", it should prevent G0-T0's cutscenes from running if G0-T0 is actually "X". I'm not sure what G0-T0's globals look like, so you might have to create a custom global for it.

 

Another way to go about it is with a conditional check on G0-T0's actual name. Maybe incorporate checks that are similar to this script I've got that checks to make sure HK's actual name is HK will work. (This whole script is useful in a lot of ways for a recruit mod, it will make sure HK and only HK will speak most of his dialogue). I'm not sure if a name check like this could be put into the Ebon Hawk cutscene scripts, but you could try it if your main concern is G0-T0's name.

 

// c_con_hk47pm
// Checks to see if HK-47 is a party member and close by.

#include "k_inc_debug"

int StartingConditional()
{

   object oHK47=GetObjectByTag ("HK47");
   [color=YellowGreen]string sName = GetName(oHK47);
   string sSubName = GetSubString(sName,0,5);[/color]

   if  ((IsObjectPartyMember(oHK47) == TRUE) [color=YellowGreen]&& (sSubName == "HK-47")[/color] && (GetDistanceBetween(GetPCSpeaker(), oHK47) <= 10.0))
   {
       return TRUE;
   }
   return FALSE;
} 

 

If that's what you want to do, actually check if G0-T0's name is X and not run the scenes based on that alone, in the "GetSubString(sName,0,5);" part, change the last number to "1", then here, "(sSubName == "HK-47")", change the name in quotes to G. That will make the script check the first letter of G0-T0's first name, and if it's X, then it will fail the conditional check. But I don't know if something like that can be added to the Ebon Hawk cutscene scripts. In the post I linked with the cutscene scripts, stoffe suggested it would be possible to conditional check by name, so...well, if stoffe says it can be done, I'm certain it can be :)

 

(Done editing. Promise! No, really!)

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...