Jump to content

Modding details? Ask away!


Amineri

Recommended Posts

  • Replies 399
  • Created
  • Last Reply

Top Posters In This Topic

Oh and one other thing I know this is way out of my Skill level but would it be possible to add ragdoll physics to Sectopods, maybe make their legs and what not have the ability to break like EW, I just hate the unsatisfying cheesy explosion we get in Xcom 2

Edited by Joshuahoeth
Link to comment
Share on other sites

Hi Amineri,

I was wondering how to build facility on the game start using script.

 

Now I am trying to do that:

 

//---------------------------------------------------------------------------------------
//  FILE:   XComDownloadableContentInfo_RichHeritage.uc                                    
//           
//    Use the X2DownloadableContentInfo class to specify unique mod behavior when the
//  player creates a new campaign or loads a saved game.
//  
//---------------------------------------------------------------------------------------
//  Copyright (c) 2016 Firaxis Games, Inc. All rights reserved.
//---------------------------------------------------------------------------------------

class X2DownloadableContentInfo_RichHeritage extends X2DownloadableContentInfo;

/// <summary>
/// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
/// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
/// create without the content installed. Subsequent saves will record that the content was installed.
/// </summary>
static event OnLoadedSavedGame()
{
}

/// <summary>
/// Called when the player starts a new campaign while this DLC / Mod is installed
/// </summary>
static event InstallNewCampaign(XComGameState StartState)
{
    if (HasPsiChamber())
        return;

    BuildPsiChamber();
}

static simulated function BuildPsiChamber()
{
    local XComGameState_HeadquartersRoom cleanRoom;
    local X2FacilityTemplate facilityTemplate;

    cleanRoom = PrepareRoom();
    facilityTemplate = X2FacilityTemplate(class'X2StrategyElementTemplateManager'.static.GetStrategyElementTemplateManager().FindStrategyElementTemplate('PsiChamber'));
    
    class'UIUtilities_Strategy'.static.GetXComHQ().AddFacilityProject(cleanRoom.GetReference(), facilityTemplate);

    XComGameState_HeadquartersProjectBuildFacility(`XCOMHISTORY.GetGameStateForObjectID(cleanRoom.GetReference().ObjectID)).OnProjectCompleted();
}

static simulated function bool HasPsiChamber()
{
    local XComGameState_HeadquartersXCom XComHQ;
    XComHQ = XComGameState_HeadquartersXCom(`XCOMHISTORY.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
    return (XComHQ.GetFacilityByName('PsiChamber') != none);
}

static simulated function XComGameState_HeadquartersRoom PrepareRoom()
{
    local XComGameState_HeadquartersRoom roomState;
    local XComGameState_HeadquartersRoom clearingRoom;
    local XComGameState_HeadquartersRoom lockedRoom;
    
    foreach `XCOMHISTORY.IterateByClassType(class'XComGameState_HeadquartersRoom', roomState)
    {    
        if (roomState.Locked)
        {
            if (lockedRoom == none)
                lockedRoom = roomState;

            continue;
        }
        
        if (roomState.ClearingRoom)
        {
            if (clearingRoom == none)
                clearingRoom = roomState;
            
            continue;
        }

        if (roomState.UnderConstruction || roomState.HasFacility())
            continue;

        // Clean room
        return roomState;
    }

    if (clearingRoom != none)
    {
        CompleteClearRoom(clearingRoom);
        return clearingRoom;
    }
    
    if (lockedRoom != none)
    {
        StartClearRoom(lockedRoom);
        CompleteClearRoom(lockedRoom);
        return lockedRoom;
    }

    return none;
}

static simulated function StartClearRoom(XComGameState_HeadquartersRoom roomState)
{
    roomState.StartClearRoom();
}

static simulated function CompleteClearRoom(XComGameState_HeadquartersRoom roomState)
{
    XComGameState_HeadquartersProjectClearRoom(`XCOMHISTORY.GetGameStateForObjectID(roomState.GetReference().ObjectID)).OnProjectCompleted();
}

 

 

 

But get errors:

 

 

 

[0013.57] Warning: SeqAct_ActivateRemoteEvent XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.Main_Sequence.SeqAct_ActivateRemoteEvent_1 failed to fi
nd target event: FinishedTransitionToShell
[0014.32] ScriptWarning: Accessed None 'PC'
UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
Function XComGame.UIPauseMenu:InitScreen:03C6
[0014.32] ScriptWarning: Accessed None
UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
Function XComGame.UIPauseMenu:InitScreen:03DB
[0014.33] ScriptWarning: Accessed None 'PRES'
UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
Function XComGame.UIPauseMenu:InitScreen:044F
[0014.33] ScriptWarning: Accessed None
UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0
Function XComGame.UIPauseMenu:InitScreen:0463
[0023.67] ScriptWarning: Accessed None 'GameRuleset'
XComGameState_HeadquartersProjectBuildFacility Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_127.XComGameState_HeadquartersProjectBuildFac
ility_0
Function XComGame.XComGameState_HeadquartersProjectBuildFacility:SetProjectFocus:01B0
[0023.67] ScriptWarning: Accessed None 'SoundManager'
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:037D
[0023.67] ScriptWarning: Accessed None 'GameRuleset'
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0459
[0023.67] ScriptWarning: Accessed None 'Game'
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0585
[0023.67] ScriptWarning: Accessed None
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0599
[0023.67] ScriptWarning: Accessed None
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:05AD
[0023.67] Warning: Redscreen: ***Game State Created but Never Added to History***

New Game State: CC Handle HQ Power State Change -- XComGameState_128

Pending Game States:
==> CC Adding Facility Project -- XComGameState_127

Stack:
Script call stack:
(Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState
(Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange
(XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject
(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber
(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign
(Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart
(UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm
(UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman
(UILargeButto[0023.67] ScriptWarning: Accessed None 'Game'
X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:008F
[0023.67] ScriptWarning: Accessed None
X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00A3
[0023.67] ScriptWarning: Accessed None
X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00B7
[0023.68] ScriptWarning: Accessed None
X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures
Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00CB
[0023.68] ScriptWarning: Accessed None 'Game'
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0916
[0023.68] ScriptWarning: Accessed None
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:092B
[0023.68] ScriptWarning: Accessed None
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0940
[0023.68] ScriptWarning: Accessed None
XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90
Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0954
[0023.68] ScriptWarning: Accessed None
X2DownloadableContentInfo_RichHeritage RichHeritage.Default__X2DownloadableContentInfo_RichHeritage
Function RichHeritage.X2DownloadableContentInfo_RichHeritage:BuildPsiChamber:0136
[0024.22] Log: --- LOADING MOVIE START ---
[0024.67] Log: Movie Started Event: CIN_TP_Intro
[0024.86] Warning: ***Game State Created but Never Added to History***

New Game State: CC Handle HQ Power State Change -- XComGameState_128

Pending Game States:
==> CC Adding Facility Project -- XComGameState_127

Stack:
Script call stack:
(Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState
(Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange
(XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject
(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber
(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign
(Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart
(UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm
(UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman
(UILargeButton_2) UIButt[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive
[0024.92] Log: ###### OnlineEventMgr waited 0.00 seconds for saves to complete

 

 

 

 

As I understand these changes should be done through GameState and add to the history? How to do that?

Link to comment
Share on other sites

 

Hey guys! I'm asking a quick question as it's nagging me to no end. I see that in the SDK quick start guide, it says that XCOM 2 comes with it's own 64bit version of UnrealEd. But for the life of me I can't find it anywhere! Could someone please be so kind as to point me into the direction of it so I can start modding? :smile:

 

UnrealEd is actually a upk that runs under the XComGame.exe included in the SDK. The simplest way to launch UnrealEd is from the VS Shell ModBuddy under Tools / XCOM 2 Editor. For this to work, you have to have set up the paths in the VS Shell under Tools / Options / XCOM 2 -- to both the SDK and Game.

Thank you! What's so funny is that I actually found out how to open it through another post you had made, so I felt stupid for asking. Another thing I'd like to ask is because I'm very new to the modding scene, I would like to know a bit more about making my own weapon models. I personally want to make an M60 for the Grenadier class, but I want to have a model for it. Any information or tips you could give me would be great! :-)

Link to comment
Share on other sites

I want to retexture a few things, Shen's shirt for example. Can someone walk me through the process? I did a search, but came up empty.

 

Thanks.

 

 

By the way, I have no idea how to use the mod buddy. There aren't any beginner tutorials yet.

Edited by aariq
Link to comment
Share on other sites

How can one add new skills/abilities? I'm kind of in a pickle here, as I've searched every single config file.

 

Abilities can't be done via config... you'll have to create a new unrealscript file to create a template for the ability, then implement the gameplay effect and any visualization. Requires SDK.

 

Look at the source file X2Ability_DefaultAbilities for some examples of this.

Link to comment
Share on other sites

So if I were to copy all the weapons that eject shells but increase their lifetimes, how would I also do this for the LWS SMG as it's a mod its self

 

You'd have to override the mod Template as well. Which means your mod would have to load after the SMG mod. And I have no idea how to control mod load order, I'm afraid.

Link to comment
Share on other sites

I try to change korean name in the game.

 

I found file where is korean name. But i don't know how to overwrite Xcomgame.kor file.

 

Can mod overwrite file?

 

If you are just changing for your game, then just change the XComGame.kor file, yes.

 

If making a mod, you can create a "delta file" for localization in the same way as for config. Create an XComGame.kor file in your mod's config folder (or a subfolder, that's where we put our non-English loc files). The rules for adding/removing lines are the same as config files :

 

https://udn.epicgames.com/Three/ConfigurationFiles.html

 

https://udn.epicgames.com/Three/LocalizedTextFiles.html

Link to comment
Share on other sites

Hi Amineri,

 

I was wondering how to build facility on the game start using script.

 

Now I am trying to do that:

 

 

//---------------------------------------------------------------------------------------
//  FILE:   XComDownloadableContentInfo_RichHeritage.uc                                    
//           
//    Use the X2DownloadableContentInfo class to specify unique mod behavior when the
//  player creates a new campaign or loads a saved game.
//  
//---------------------------------------------------------------------------------------
//  Copyright (c) 2016 Firaxis Games, Inc. All rights reserved.
//---------------------------------------------------------------------------------------

class X2DownloadableContentInfo_RichHeritage extends X2DownloadableContentInfo;

/// <summary>
/// This method is run if the player loads a saved game that was created prior to this DLC / Mod being installed, and allows the
/// DLC / Mod to perform custom processing in response. This will only be called once the first time a player loads a save that was
/// create without the content installed. Subsequent saves will record that the content was installed.
/// </summary>
static event OnLoadedSavedGame()
{
}

/// <summary>
/// Called when the player starts a new campaign while this DLC / Mod is installed
/// </summary>
static event InstallNewCampaign(XComGameState StartState)
{
    if (HasPsiChamber())
        return;

    BuildPsiChamber();
}

static simulated function BuildPsiChamber()
{
    local XComGameState_HeadquartersRoom cleanRoom;
    local X2FacilityTemplate facilityTemplate;

    cleanRoom = PrepareRoom();
    facilityTemplate = X2FacilityTemplate(class'X2StrategyElementTemplateManager'.static.GetStrategyElementTemplateManager().FindStrategyElementTemplate('PsiChamber'));
    
    class'UIUtilities_Strategy'.static.GetXComHQ().AddFacilityProject(cleanRoom.GetReference(), facilityTemplate);

    XComGameState_HeadquartersProjectBuildFacility(`XCOMHISTORY.GetGameStateForObjectID(cleanRoom.GetReference().ObjectID)).OnProjectCompleted();
}

static simulated function bool HasPsiChamber()
{
    local XComGameState_HeadquartersXCom XComHQ;
    XComHQ = XComGameState_HeadquartersXCom(`XCOMHISTORY.GetSingleGameStateObjectForClass(class'XComGameState_HeadquartersXCom'));
    return (XComHQ.GetFacilityByName('PsiChamber') != none);
}

static simulated function XComGameState_HeadquartersRoom PrepareRoom()
{
    local XComGameState_HeadquartersRoom roomState;
    local XComGameState_HeadquartersRoom clearingRoom;
    local XComGameState_HeadquartersRoom lockedRoom;
    
    foreach `XCOMHISTORY.IterateByClassType(class'XComGameState_HeadquartersRoom', roomState)
    {    
        if (roomState.Locked)
        {
            if (lockedRoom == none)
                lockedRoom = roomState;

            continue;
        }
        
        if (roomState.ClearingRoom)
        {
            if (clearingRoom == none)
                clearingRoom = roomState;
            
            continue;
        }

        if (roomState.UnderConstruction || roomState.HasFacility())
            continue;

        // Clean room
        return roomState;
    }

    if (clearingRoom != none)
    {
        CompleteClearRoom(clearingRoom);
        return clearingRoom;
    }
    
    if (lockedRoom != none)
    {
        StartClearRoom(lockedRoom);
        CompleteClearRoom(lockedRoom);
        return lockedRoom;
    }

    return none;
}

static simulated function StartClearRoom(XComGameState_HeadquartersRoom roomState)
{
    roomState.StartClearRoom();
}

static simulated function CompleteClearRoom(XComGameState_HeadquartersRoom roomState)
{
    XComGameState_HeadquartersProjectClearRoom(`XCOMHISTORY.GetGameStateForObjectID(roomState.GetReference().ObjectID)).OnProjectCompleted();
}

 

 

 

But get errors:

 

 

 

[0013.57] Warning: SeqAct_ActivateRemoteEvent XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.Main_Sequence.SeqAct_ActivateRemoteEvent_1 failed to fi

nd target event: FinishedTransitionToShell

[0014.32] ScriptWarning: Accessed None 'PC'

UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0

Function XComGame.UIPauseMenu:InitScreen:03C6

[0014.32] ScriptWarning: Accessed None

UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0

Function XComGame.UIPauseMenu:InitScreen:03DB

[0014.33] ScriptWarning: Accessed None 'PRES'

UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0

Function XComGame.UIPauseMenu:InitScreen:044F

[0014.33] ScriptWarning: Accessed None

UIShellStrategy XComShell_Wilderness_Forest_Night.TheWorld:PersistentLevel.UIShellStrategy_0

Function XComGame.UIPauseMenu:InitScreen:0463

[0023.67] ScriptWarning: Accessed None 'GameRuleset'

XComGameState_HeadquartersProjectBuildFacility Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_127.XComGameState_HeadquartersProjectBuildFac

ility_0

Function XComGame.XComGameState_HeadquartersProjectBuildFacility:SetProjectFocus:01B0

[0023.67] ScriptWarning: Accessed None 'SoundManager'

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:037D

[0023.67] ScriptWarning: Accessed None 'GameRuleset'

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0459

[0023.67] ScriptWarning: Accessed None 'Game'

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0585

[0023.67] ScriptWarning: Accessed None

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0599

[0023.67] ScriptWarning: Accessed None

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:05AD

[0023.67] Warning: Redscreen: ***Game State Created but Never Added to History***

 

New Game State: CC Handle HQ Power State Change -- XComGameState_128

 

Pending Game States:

==> CC Adding Facility Project -- XComGameState_127

 

Stack:

Script call stack:

(Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState

(Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange

(XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject

(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber

(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign

(Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart

(UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm

(UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman

(UILargeButto[0023.67] ScriptWarning: Accessed None 'Game'

X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures

Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:008F

[0023.67] ScriptWarning: Accessed None

X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures

Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00A3

[0023.67] ScriptWarning: Accessed None

X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures

Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00B7

[0023.68] ScriptWarning: Accessed None

X2StrategyGameRulesetDataStructures XComGame.Default__X2StrategyGameRulesetDataStructures

Function XComGame.X2StrategyGameRulesetDataStructures:ForceUpdateObjectivesUI:00CB

[0023.68] ScriptWarning: Accessed None 'Game'

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0916

[0023.68] ScriptWarning: Accessed None

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:092B

[0023.68] ScriptWarning: Accessed None

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0940

[0023.68] ScriptWarning: Accessed None

XComGameState_HeadquartersXCom Transient.XComEngine_0:XComGameStateHistory_0.XComGameState_120.XComGameState_HeadquartersXCom_90

Function XComGame.XComGameState_HeadquartersXCom:AddFacilityProject:0954

[0023.68] ScriptWarning: Accessed None

X2DownloadableContentInfo_RichHeritage RichHeritage.Default__X2DownloadableContentInfo_RichHeritage

Function RichHeritage.X2DownloadableContentInfo_RichHeritage:BuildPsiChamber:0136

[0024.22] Log: --- LOADING MOVIE START ---

[0024.67] Log: Movie Started Event: CIN_TP_Intro

[0024.86] Warning: ***Game State Created but Never Added to History***

 

New Game State: CC Handle HQ Power State Change -- XComGameState_128

 

Pending Game States:

==> CC Adding Facility Project -- XComGameState_127

 

Stack:

Script call stack:

(Default__XComGameStateContext_ChangeContainer) XComGameStateContext_ChangeContainer::CreateChangeState

(Default__X2StrategyGameRulesetDataStructures) X2StrategyGameRulesetDataStructures::CheckForPowerStateChange

(XComGameState_HeadquartersXCom_90) XComGameState_HeadquartersXCom::AddFacilityProject

(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::BuildPsiChamber

(Default__X2DownloadableContentInfo_RichHeritage) X2DownloadableContentInfo_RichHeritage::InstallNewCampaign

(Default__XComGameStateContext_StrategyGameRule) XComGameStateContext_StrategyGameRule::CreateStrategyGameStart

(UIShellDifficulty_0) UIShellDifficulty::OnDifficultyConfirm

(UIChooseIronMan_0) UIChooseIronMan::ConfirmWithoutIronman

(UILargeButton_2) UIButt[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive

[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive

[0024.90] Warning: Property Object of EventObjectRef is not serializable for package: FArchive

[0024.92] Log: ###### OnlineEventMgr waited 0.00 seconds for saves to complete

 

 

 

 

As I understand these changes should be done through GameState and add to the history? How to do that?

 

 

You are encountering the tricky part of the game states -- they are under tight control, so you can't just go changing values in them. You have to wrap changes in a change container and submit them to the History manager.

 

Pseudo-code looks like (I'm re-typing it) :

local XComGameStateContext_ChangeContainer ChangeContainer;
local XComGameState GameState;
local XComGameState_HeadquartersRoom Room, UpdateRoom;
 
ChangeContainer = class'XComGameStateContext_ChangeContainer'.static.CreateEmptyChangeContainer("Descriptive String");
GameState = `XCOMHISTORY.CreateNewGameState(true, ChangeContainer);
 
//add your code to retrieve the Room 
Room = GetROOM(); //placeholder here

//... for each room, you have to make a copy to submit with
UpdateRoom = XComGameState_HeadquartersRoom(GameState.CreateStateObject(class'XComGameState_HeadquartersRoom', Room);
 
//add code changing your Room
 
//now attach the updated copy of room to the game state prior to submitting
GameState.AddStateObject(UpdateRoom);
 
//now submit the game state to the history manager
`GAMERULES.SubmitGameState(GameState);
Link to comment
Share on other sites

I want to retexture a few things, Shen's shirt for example. Can someone walk me through the process? I did a search, but came up empty.

 

Thanks.

 

 

By the way, I have no idea how to use the mod buddy. There aren't any beginner tutorials yet.

 

Texturing and such I'll have to defer to the artists like JC Lewis, though I'm not sure if he's lurking around here yet.

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.

×
×
  • Create New...