Custom scenario button doesn't work

Putmalk

Deity
Joined
Sep 26, 2010
Messages
2,652
Location
New York
Hey I'm gonna need help with this one.

I'm creating a scenario and I have the custom game screen set up. I copied the .lua and .xml from the Fall of Rome scenario. However, the "Load Mod" button doesn't work. I can click on it forever and it won't open anything up.

I am relatively sure the code is correct. So what do you think the problem is?

XML:
Spoiler :

Code:
<?xml version="1.0" encoding="utf-8"?>
<Context ColorSet="Beige_Black" Font="TwCenMT20" FontStyle="Shadow">
	<Instance Name="ItemInstance">
		<Box Anchor="L,C" Offset="0,0" Size="330,53" Color="255,255,255,0">
			<Button Anchor="L,C" Size="330,53" Color="255,255,255,255" Offset="0,0" StateOffsetIncrement="0,0" ID="Button">
				<ShowOnMouseOver>
					<AlphaAnim Anchor="L,C" Size="330,56" Pause="0" Cycle="Bounce" Speed="1" AlphaStart="2" AlphaEnd="1">
						<Grid Size="330,56" Offset="0,0" Padding="0,0" Style="Grid9FrameTurnsHL"/>
					</AlphaAnim>
				</ShowOnMouseOver>
				<AlphaAnim Anchor="L,C" Size="330,56" Pause="0" Cycle="Bounce" Speed="1" AlphaStart="2" AlphaEnd="1" ID="SelectionAnim" Hidden="1">
					<Grid Size="330,56" Offset="0,0" Padding="0,0" Style="Grid9FrameTurnsHL"/>
				</AlphaAnim>
				<Image Anchor="L,C" Size="64,64" Texture="Assets/UI/Art/Icons/DifficultyLevelIcons256.dds" ID="Icon"/>
				<Label Anchor="L,C" Offset="64,0" Font="TwCenMT22" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="Name"/>
				<Image Anchor="C,B" Offset="0,0" Texture="bar340x2.dds" Size="340.1"/>
			</Button>
			<Box Anchor="L,T" Offset="8,8" Size="300,36" Color="255,255,255,0" Hidden="1">
				<Label Anchor="L,T" Offset="0,0" WrapWidth="300" LeadingOffset="-8" Font="TwCenMT18" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="Help"/>
			</Box>
		</Box>
	</Instance>
	<Instance Name="SelectCivInstance">
		<Button Anchor="L,T" Offset="0,0" Size="902,100" Color="255,255,255,0" ID="Button">
			<ShowOnMouseOver>
				<AlphaAnim Anchor="L,T" Size="922,102" Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1.5" AlphaEnd="1">
					<Grid Size="902,104" Offset="0,-2" Padding="0,0" Style="Grid9FrameTurnsHL"/>
				</AlphaAnim>
			</ShowOnMouseOver>
			<Image Anchor="L,C" Offset="-12,0" Size="128,128" Texture="Assets/UI/Art/Icons/LeaderPortraits1024Frame.dds">
				<Image Anchor="C,C" Offset="0,0" Size="128,128" Texture="Assets/UI/Art/Icons/LeaderPortraits1024.dds" ID="Portrait"/>
			</Image>
			<Stack Anchor="L,T" Size="565,128" Offset="116,4" StackGrowth="Bottom" Padding="6">
				<Box Offset="-12,0" Anchor="L,T" Size="424,28" Color="White.0">
					<Label Anchor="L,C" Offset="12,4" Font="TwCenMT22" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="Title"/>
				</Box>
				<Label Anchor="L,T" Offset="0,0" WrapWidth="565" LeadingOffset="-5" Font="TwCenMT18" FontStyle="Base" ID="BonusDescription" String="[ICON_BULLET]Civ Specific Bonus 2"/>
			</Stack>
			<!-- Civ specific bonuses -->
			<Stack Anchor="R,C" Size="128,128" StackGrowth="Right" Padding="-8" Offset="4,12">
				<Image Anchor="C,C" Offset="0,0" Texture="IconFrame64.dds" Size="64.64" Hidden="0">
					<Image Size="64,64" Anchor="C,C" Texture="Assets/UI/Art/Icons/Units/CivSymbolsColor512.dds" ID="IconShadow" Hidden="0"/>
				</Image>
				<Image Anchor="L,C" Texture="IconFrame64.dds" Size="64.64" Hidden="0" ID="BF1">
					<Image Anchor="C,C" Size="64,64" Texture="WonderAtlas512.dds" ID="B1"/>
				</Image>
				<Image Anchor="C,C" Texture="IconFrame64.dds" Size="64.64" ID="BF2">
					<Image Anchor="C,C" Size="64,64" Texture="WonderAtlas512.dds" ID="B2"/>
				</Image>
			</Stack>
			<Box Anchor="L,T" Offset="84,8" Size="530,64" Color="255,255,255,0">
				<Label Anchor="L,T" Offset="0,0" WrapWidth="520" LeadingOffset="-8" Font="TwCenMT18" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="Description" Hidden="1"/>
			</Box>
			<Image Size="54,54" Offset="3,3" Anchor="L,B" Texture="Assets/UI/Art/UnitPanel/UnitTypeFrame.dds" Hidden="1">
				<Image Size="38,38" Offset="0,0" Anchor="C,C" Color="128.128.128.255" Texture="Assets/UI/Art/UnitPanel/unitbackteamcolor.dds" ID="TeamColor" Hidden="1"/>
				<Image Size="38,38" TextureOffset="0,39" Anchor="C,C" Texture="Assets/UI/Art/UnitPanel/unitbackteamcolor.dds" Hidden="1"/>
				<Image Size="32,32" Offset="0,0" Anchor="C,C" Color="White.255" Texture="Assets/UI/Art/Icons/Units/CivSymbolAtlas32.dds" ID="Icon" Hidden="1"/>
			</Image>
			<Image Anchor="C,B" Offset="0,0" Texture="bar900x2.dds" Size="900.1"/>
		</Button>
	</Instance>
	<Container ID="MainSelection" Size="1024,700" Anchor="c,c">
		<Grid Size="960,658" Anchor="C,C" Offset="0,36" Padding="0,0" Style="Grid9DetailFive140">
			<Image Anchor="L,C" AnchorSide="O.I"  Offset="-19,0" Texture="Dec32x64Left.dds" Size="32.64" />
			<Image Anchor="R,C" AnchorSide="O.I"  Offset="-19,0" Texture="Dec32x64Right.dds" Size="32.64" />
			<Image Anchor="C,T" Offset="0,-33" AnchorSide="O.O" Texture="Assets/UI/Art/Controls/topframe.dds" Size="512,128"/>
			<Image Anchor="C,B" Offset="0,-109" AnchorSide="O.O" Texture="Assets/UI/Art/Controls/bottomframe.dds" Size="512,128"/>
			<!-- Screen Title  -->
			<Label Anchor="C,T" ID="ScreenTitle" Offset="0,19" Font="TwCenMT20" Color0="30.50.80.255" Color1="133.184.186.255" Color2="133.184.186.255" FontStyle="SoftShadow" String="TXT_KEY_GAME_SELECTION_SCREEN"/>
			<!-- Civilization -->
			<Button Anchor="L,T" Offset="20,50" Size="922,100" Color="255,255,255,0" ID="CivilizationButton">
				<ShowOnMouseOver>
					<AlphaAnim Anchor="L,T" Size="922,102" Pause="0" Cycle="Bounce" Speed="1" AlphaStart="1.5" AlphaEnd="1">
						<Grid Size="922,104" Offset="0,-2" Padding="0,0" Style="Grid9FrameTurnsHL"/>
					</AlphaAnim>
				</ShowOnMouseOver>
				<Image Anchor="L,C" Offset="-12,0" Size="128,128" Texture="Assets/UI/Art/Icons/LeaderPortraits1024Frame.dds">
					<Image Anchor="C,C" Offset="0,0" Size="128,128" Texture="Assets/UI/Art/Icons/LeaderPortraits1024.dds" ID="Portrait"/>
				</Image>
				<Stack Anchor="L,T" Size="565,128" Offset="116,4" StackGrowth="Bottom" Padding="6">
					<Box Offset="-12,0" Anchor="L,T" Size="424,28" Color="White.0">
						<Label Anchor="L,C" Offset="12,4" Font="TwCenMT22" ColorSet="Beige_Black_Alpha" FontStyle="Shadow" ID="Title"/>
					</Box>
					<Label Anchor="L,T" Offset="0,0" WrapWidth="565" LeadingOffset="-5" Font="TwCenMT18" ID="BonusDescription" String="[ICON_BULLET]Civ Specific Bonus 2"/>
				</Stack>
				<!-- Civ specific bonuses -->
				<Stack Anchor="R,C" Size="128,128" StackGrowth="Right" Padding="-8" Offset="24,12">
					<Image Anchor="L,C" Texture="IconFrame64.dds" Size="64.64" Hidden="0" ID="BF1">
						<Image Anchor="C,C" Size="64,64" Texture="WonderAtlas512.dds" ID="B1"/>
					</Image>
					<Image Anchor="C,C" Texture="IconFrame64.dds" Size="64.64" ID="BF2">
						<Image Anchor="C,C" Size="64,64" Texture="WonderAtlas512.dds" ID="B2"/>
					</Image>
					<Image Anchor="C,C" Offset="0,0" Texture="IconFrame64.dds" Size="64.64" Hidden="0">
						<Image Size="64,64" Anchor="C,C" Texture="Assets/UI/Art/Icons/Units/CivSymbolsColor512.dds" ID="IconShadow" Hidden="0"/>
					</Image>
				</Stack>
			</Button>
			<!-- Civ Selection -->
			<ScrollPanel Anchor="L,T" Offset="20,155" Size="902,404" Vertical="1" ID="SelectCivScrollPanel" Hidden="1">
				<!-- Scroll Controls -->
				<ScrollBar Style="VertSlider" Length="370" Offset="0.18" Anchor="R,T" AnchorSide="O,I"/>
				<UpButton Offset="0.0" Style="ScrollBarUp" Anchor="R,T" AnchorSide="O,I"/>
				<DownButton Offset="0.1" Style="ScrollBarDown" Anchor="R,B" AnchorSide="O,I"/>
				<Stack Anchor="L,T" Offset="0,0" Size="902,128" StackGrowth="Bottom" Padding="0" ID="SelectCivStack"/>
			</ScrollPanel>
			<!-- Difficulty  Selection Menu -->
			<Box Anchor="L,T" Offset="38,155" Size="354,404" Color="255,255,255,0" ID="DifficultySelectionBox" >
				<Grid Anchor="L,T" Offset="0,0" Size="350,404" Padding="0,0" Style="GridBlackIndent8" Hidden="0" >
					<Grid Anchor="L,T" Offset="4,0" Size="354,404" Padding="0,0" Style="Grid9Frame" Hidden="0" >

						<Image Anchor="L,C" AnchorSide="O.I" Offset="-11,0" Size="32,64" Texture="Assets/UI/Art/Controls/9 Grids/Dec32x64Left.dds" />

						<ScrollPanel Anchor="L,T" Offset="0,32" Size="330,368" Vertical="1" ID="DifficultyScrollPanel" >
							<!-- Scroll Controls -->
							<ScrollBar Style="VertSlider" Length="332" Offset="0.18" Anchor="R,T" AnchorSide="O,I" />
							<UpButton  Offset="0.0"  Style="ScrollBarUp"  Anchor="R,T" AnchorSide="O,I" />
							<DownButton Offset="0.0" Style="ScrollBarDown"  Anchor="R,B" AnchorSide="O,I" />

							<Stack Anchor="L,T" Offset="0,0" StackGrowth="Bottom" Padding="0" ID="DifficultyStack" />

						</ScrollPanel>
					</Grid>
				</Grid>
				<Image Anchor="L,T" Offset="4,-1" Size="354,45" Texture="Assets/UI/Art/WorldView/SetupTab2.dds">
					<Label Anchor="C,C" Offset="0,-7" Font="TwCenMT20" ColorSet="Beige_Black_Alpha" String="TXT_KEY_AD_SELECT_DIFFICULTY" FontStyle="Shadow"/>
				</Image>
			</Box>
			<!-- Dawn of Man-->
			<Box Anchor="R,T" Offset="38,155" Size="524,404" Color="255,255,255,0" ID="DoMBox">
				<Grid Anchor="C,T" Offset="0,0" Size="520,404" Padding="0,0" Style="GridBlackIndent8" Hidden="0">
					<Grid Anchor="C,T" Offset="0,0" Size="524,404" Padding="0,0" Style="Grid9Frame" Hidden="0">
						<Image Anchor="R,C" AnchorSide="O.I" Offset="-11,0" Size="32,64" Texture="Assets/UI/Art/Controls/9 Grids/Dec32x64Right.dds"/>
						<ScrollPanel Anchor="L,T" Offset="0,6" Size="500,392" Vertical="1" ID="DoMScrollPanel">
							<!-- Scroll Controls -->
							<ScrollBar Style="VertSlider" Length="356" Offset="0,18" Anchor="R,T" AnchorSide="O,I"/>
							<UpButton Offset="0.0" Style="ScrollBarUp" Anchor="R,T" AnchorSide="O,I"/>
							<DownButton Offset="0.0" Style="ScrollBarDown" Anchor="R,B" AnchorSide="O,I"/>
							<Stack Anchor="C,T" Offset="0,36" Size="128,128" StackGrowth="Bottom" Padding="12" ID="MainStack">
								<Label Anchor="C,C" WrapWidth="460" ID="Quote" LeadingOffset="-4" Offset="0,0" ColorSet="Beige_Black_Alpha" Font="TwCenMT14" FontStyle="Shadow"/>
								<Box Anchor="C.C" Offset="0,0" Size="400,6" Color="White.0"/>
								<Box Size="128,36" Color="Black,0"/>
							</Stack>
						</ScrollPanel>
					</Grid>
				</Grid>
			</Box>
			<!-- Back Button -->
			<GridButton Anchor="L,B" Style="SmallButton" Size="150,32" Offset="38,54" StateOffsetIncrement="0,0" ID="BackButton">
				<Label Anchor="C,C" Offset="0,0" String="TXT_KEY_BACK_BUTTON" Font="TwCenMT18" ColorSet="Beige_Black_Alpha" FontStyle="Shadow"/>
			</GridButton>
			<!-- Start Game  -->
			<GridButton Anchor="R,B" ID="StartButton" Offset="38,54" Size="260,45" Style="BaseButton" String="TXT_KEY_START_GAME"/>
		</Grid>
	</Container>
</Context>


LUA:
Spoiler :

Code:
----------------------------------------------------------------
include( "IconSupport" );
include( "UniqueBonuses" );

----------------------------------------------------------------
-- Global Constants
----------------------------------------------------------------
ScenarioCivilizations = {
	[0] = "CIVILIZATION_CHOSOKABE",
	[1] = "CIVILIZATION_DATE",
	[2] = "CIVILIZATION_HOJO",
	[3] = "CIVILIZATION_MORI",
	[4] = "CIVILIZATION_ODA",
	[5] = "CIVILIZATION_SHIMAZU",
	[6] = "CIVILIZATION_TAKEDA",
	[7] = "CIVILIZATION_TOKUGAWA",
	[8] = "CIVILIZATION_UESUGI",
	[9] = "CIVILIZATION_KOREA"
}

----------------------------------------------------------------
-- Global Variables
----------------------------------------------------------------
g_CurrentPlayerIndex = nil; --default to random

----------------------------------------------------------------
function OnBack()
	if(not Controls.SelectCivScrollPanel:IsHidden()) then
		ToggleCivSelection();
	else
		UIManager:DequeuePopup( ContextPtr );
	end
end
----------------------------------------------------------------       
Controls.BackButton:RegisterCallback(Mouse.eLClick, OnBack);
----------------------------------------------------------------
ContextPtr:SetInputHandler( function(uiMsg, wParam, lParam)
    if uiMsg == KeyEvents.KeyDown then
        if wParam == Keys.VK_ESCAPE or wParam == Keys.VK_RETURN then
			OnBack();
        end
    end
    return true;
end);
----------------------------------------------------------------
-- Handle Start Button
Controls.StartButton:RegisterCallback(Mouse.eLClick, function()
	
	-- Shared settings
	PreGame.Reset(); -- just in case.
		
	local myModId = "14c6b207-cf3a-4919-81d7-8547f1a4cbef";
	local myModVersion = Modding.GetActivatedModVersion(myModId);
	local scenarioMap = Modding.GetEvaluatedFilePath(myModId, myModVersion, "SjScenarioHuge.Civ5Map");

	PreGame.SetMapScript(scenarioMap.EvaluatedPath);
	PreGame.SetLoadWBScenario(true);
	UI.ResetScenarioPlayerSlots(true);
	--PreGame.SetGameSpeed(3);  -- Quick speed
	PreGame.SetOverrideScenarioHandicap(true);
	PreGame.SetHandicap(0, g_CurrentDifficulty);

	local playerIndex = g_CurrentPlayerIndex;
	if(playerIndex == nil) then
		playerIndex = math.random(0, table.count(ScenarioCivilizations) - 1);
	end
	
	-- Swap Civilization to make active player the new index.
	if(playerIndex ~= nil) then
		UI.MoveScenarioPlayerToSlot( playerIndex, 0 );
	end

	Events.SerialEventStartGame();
	UIManager:SetUICursor( 1 );
--	UIManager:DequeuePopup( ContextPtr );
end);
----------------------------------------------------------------

function DifficultySelected(button, difficulty)
	g_CurrentDifficulty = difficulty;
	g_CurrentDifficultyButton.SelectionAnim:SetHide(true);

	button.SelectionAnim:SetHide(false);
	g_CurrentDifficultyButton = button;
end

function Initialize()
	
	local defaultDifficulty = GameInfo.HandicapInfos["HANDICAP_PRINCE"];
	if(defaultDifficulty == nil) then
		defaultDifficulty = GameInfo.HandicapInfos()();	-- Get first handicap found.
	end

	g_CurrentDifficulty = defaultDifficulty.ID;
	
	----------------------------------------------------------------        
	-- build the buttons
	----------------------------------------------------------------        
	for info in GameInfo.HandicapInfos() do
		local controlTable = {};
		ContextPtr:BuildInstanceForControl( "ItemInstance", controlTable, Controls.DifficultyStack );

		if(info.ID == g_CurrentDifficulty) then
			g_CurrentDifficultyButton = controlTable;
			controlTable.SelectionAnim:SetHide(false);
		end

		IconHookup( info.PortraitIndex, 64, info.IconAtlas, controlTable.Icon );
		controlTable.Help:LocalizeAndSetText(info.Help);
		controlTable.Name:LocalizeAndSetText(info.Description);
		controlTable.Button:SetToolTipString(Locale.ConvertTextKey( info.Help ) );
		controlTable.Button:RegisterCallback(Mouse.eLClick, function() DifficultySelected(controlTable, info.ID); end);
	end
	
	Controls.CivilizationButton:RegisterCallback(Mouse.eLClick, function() ToggleCivSelection() end);

	Controls.DifficultyStack:CalculateSize();
	Controls.DifficultyStack:ReprocessAnchoring();
	Controls.DifficultyScrollPanel:CalculateInternalSize();
			
	BuildCivSelectList();
	
	SetPlayerIndex(g_CurrentPlayerIndex);
end

function ToggleCivSelection()
	if(not Controls.SelectCivScrollPanel:IsHidden()) then
		Controls.SelectCivScrollPanel:SetHide(true);
		Controls.DifficultySelectionBox:SetHide(false);
		Controls.DoMBox:SetHide(false);
		Controls.StartButton:SetHide(false);
	else
		BuildCivSelectList();
		Controls.SelectCivScrollPanel:SetHide(false);
		Controls.DifficultySelectionBox:SetHide(true);
		Controls.DoMBox:SetHide(true);
		Controls.StartButton:SetHide(true);
	end
end

function BuildCivSelectList()

	print("BuildCivSelectList");
	Controls.SelectCivStack:DestroyAllChildren(); 
	
	--Create Random Selection Entry if it's not already selected
	if(g_CurrentPlayerIndex ~= nil) then

		local controlTable = {};
		ContextPtr:BuildInstanceForControl( "SelectCivInstance", controlTable, Controls.SelectCivStack );
		
		controlTable.Button:SetVoid1( -1 );
		controlTable.Button:RegisterCallback( Mouse.eLClick, function() SetPlayerIndex(nil); ToggleCivSelection(); end );

		controlTable.Title:LocalizeAndSetText("TXT_KEY_RANDOM_LEADER");
		controlTable.Description:LocalizeAndSetText("TXT_KEY_RANDOM_LEADER_HELP");
		IconHookup( 22, 128, "LEADER_ATLAS", controlTable.Portrait );
		
		if(questionOffset ~= nil) then       
			controlTable.Icon:SetTexture( questionTextureSheet );
			controlTable.Icon:SetTextureOffset( questionOffset );
			controlTable.IconShadow:SetTexture( questionTextureSheet );
			controlTable.IconShadow:SetTextureOffset( questionOffset );
		end
		
		local primaryColor       = GameInfo.Colors.COLOR_DARK_GREY;
		local primaryColorVector = Vector4( primaryColor.Red, primaryColor.Green, primaryColor.Blue, primaryColor.Alpha );
		controlTable.Icon:SetColor( primaryColorVector );
		
		local secondaryColor       = GameInfo.Colors.COLOR_LIGHT_GREY;
		local secondaryColorVector = Vector4( secondaryColor.Red, secondaryColor.Green, secondaryColor.Blue, secondaryColor.Alpha );
		controlTable.TeamColor:SetColor( secondaryColorVector );
	
		-- Sets Trait bonus Text
		controlTable.BonusDescription:SetText( "" );
	
		 -- Sets Bonus Icons
		local maxSmallButtons = 2;
		for buttonNum = 1, maxSmallButtons, 1 do
			local buttonName = "B"..tostring(buttonNum);
			controlTable[buttonName]:SetTexture( questionTextureSheet );
			controlTable[buttonName]:SetTextureOffset( questionOffset );
			controlTable[buttonName]:SetToolTipString( unknownString );
			controlTable[buttonName]:SetHide(false);
			local buttonFrameName = "BF"..tostring(buttonNum);
			controlTable[buttonFrameName]:SetHide(false);
		end
	end 
		 		 
	for playerIndex, civType in pairs(ScenarioCivilizations) do
		if(playerIndex ~= g_CurrentPlayerIndex) then
		
			local civ = GameInfo.Civilizations[civType];
			
			-- Use the Civilization_Leaders table to cross reference from this civ to the Leaders table
			local leader = GameInfo.Leaders[GameInfo.Civilization_Leaders( "CivilizationType = '" .. civ.Type .. "'" )().LeaderheadType];
			local leaderDescription = leader.Description;
		    
			local colorSet = GameInfo.PlayerColors[civ.DefaultPlayerColor];
		    
			local primaryColor       = GameInfo.Colors[colorSet.PrimaryColor];
			local primaryColorVector = Vector4( primaryColor.Red, primaryColor.Green, primaryColor.Blue, primaryColor.Alpha );
		    
			local secondaryColor       = GameInfo.Colors[colorSet.SecondaryColor];
			local secondaryColorVector = Vector4( secondaryColor.Red, secondaryColor.Green, secondaryColor.Blue, secondaryColor.Alpha );
		        
			local controlTable = {};
			ContextPtr:BuildInstanceForControl( "SelectCivInstance", controlTable, Controls.SelectCivStack );
		    
			controlTable.Button:SetVoid1( civ.ID );
			controlTable.Button:RegisterCallback( Mouse.eLClick, function() SetPlayerIndex(playerIndex); ToggleCivSelection(); end);
		   			
			controlTable.Description:SetText( Locale.ConvertTextKey( civ.Description ) );

			IconHookup( leader.PortraitIndex, 128, leader.IconAtlas, controlTable.Portrait );
			local textureOffset, textureAtlas = IconLookup( civ.PortraitIndex, 64, civ.IconAtlas );
			if textureOffset ~= nil then       
				controlTable.Icon:SetTexture( textureAtlas );
				controlTable.Icon:SetTextureOffset( textureOffset );
				controlTable.IconShadow:SetTexture( textureAtlas );
				controlTable.IconShadow:SetTextureOffset( textureOffset );
			end

			controlTable.Icon:SetColor( primaryColorVector );
			controlTable.TeamColor:SetColor( secondaryColorVector );
		    
			-- Sets Trait bonus Text
			local leaderTrait = GameInfo.Leader_Traits("LeaderType ='" .. leader.Type .. "'")();
			local trait = leaderTrait.TraitType;
			local gameTrait = GameInfo.Traits[trait];
			controlTable.BonusDescription:SetText( Locale.ConvertTextKey( gameTrait.Description ));
		 
		 	local title = string.format("%s (%s)", Locale.ConvertTextKey("TXT_KEY_RANDOM_LEADER_CIV", leaderDescription, civ.ShortDescription), Locale.ConvertTextKey(gameTrait.ShortDescription));
			controlTable.Title:SetText(title);
			
			PopulateUniqueBonuses( controlTable, civ, leader );
		end
	end
	
	Controls.SelectCivStack:CalculateSize();
	Controls.SelectCivStack:ReprocessAnchoring();
	Controls.SelectCivScrollPanel:CalculateInternalSize();
end

function SetPlayerIndex(playerIndex)
	g_CurrentPlayerIndex = playerIndex;
		
	if(playerIndex ~= nil) then
		
		--Set up items for specified player.
		local civType = ScenarioCivilizations[playerIndex];

		-- Use the Civilization_Leaders table to cross reference from this civ to the Leaders table
		local civ = GameInfo.Civilizations[civType];
		local leader = GameInfo.Leaders[GameInfo.Civilization_Leaders( "CivilizationType = '" .. civ.Type .. "'" )().LeaderheadType];
		local leaderDescription = leader.Description;
		
		-- Set Civ Leader Icon
		IconHookup( leader.PortraitIndex, 128, leader.IconAtlas, Controls.Portrait );
			
		-- Set Civ Icon
		IconHookup( civ.PortraitIndex, 64, civ.IconAtlas, Controls.IconShadow );
			
		-- Sets Trait bonus Text
		local leaderTrait = GameInfo.Leader_Traits("LeaderType ='" .. leader.Type .. "'")();
		local trait = leaderTrait.TraitType;
		Controls.BonusDescription:LocalizeAndSetText(GameInfo.Traits[trait].Description);

		-- Set Leader & Civ Text
		local title = Locale.ConvertTextKey("TXT_KEY_RANDOM_LEADER_CIV", leaderDescription, civ.ShortDescription);
		title = string.format("%s (%s)", title, Locale.ConvertTextKey(GameInfo.Traits[trait].ShortDescription));
		
		Controls.Title:SetText(title);
		
		---- Sets Bonus Icons
		PopulateUniqueBonuses( Controls, civ, leader );

	        
		-- Sets Dawn of Man Quote
		Controls.Quote:LocalizeAndSetText(civ.DawnOfManQuote or "");
    else
		-- Setup entry for random player.

		Controls.Title:LocalizeAndSetText("TXT_KEY_RANDOM_LEADER");
		--controlTable.Description:LocalizeAndSetText("TXT_KEY_RANDOM_LEADER_HELP");
		IconHookup( 22, 128, "LEADER_ATLAS", Controls.Portrait  );
		
		if(questionOffset ~= nil) then       
			--controlTable.Icon:SetTexture( questionTextureSheet );
			--controlTable.Icon:SetTextureOffset( questionOffset );
			Controls.IconShadow:SetTexture( questionTextureSheet );
			Controls.IconShadow:SetTextureOffset( questionOffset );
		end
			
		-- Sets Trait bonus Text
		Controls.BonusDescription:SetText( "" );
	
		 -- Sets Bonus Icons
		local maxSmallButtons = 2;
		for buttonNum = 1, maxSmallButtons, 1 do
			local buttonName = "B"..tostring(buttonNum);
			Controls[buttonName]:SetTexture( questionTextureSheet );
			Controls[buttonName]:SetTextureOffset( questionOffset );
			Controls[buttonName]:SetToolTipString( unknownString );
			Controls[buttonName]:SetHide(false);
			local buttonFrameName = "BF"..tostring(buttonNum);
			Controls[buttonFrameName]:SetHide(false);
		end
		
		-- Sets Dawn of Man Quote
		Controls.Quote:LocalizeAndSetText("TXT_KEY_SJ_SCENARIO_CIV5_DAWN_TEXT");		
    end

	Controls.MainStack:CalculateSize();
	Controls.MainStack:ReprocessAnchoring();
	Controls.DoMScrollPanel:CalculateInternalSize();
end

Initialize();
 

Attachments

  • customgame.jpg
    customgame.jpg
    110.4 KB · Views: 65
Had to make two posts because character limit exceeded.

.modinfo:
Spoiler :

Code:
<?xml version="1.0" encoding="utf-8"?>
<Mod id="14c6b207-cf3a-4919-81d7-8547f1a4cbef" version="1">
  <Properties>
    <Name>Sengoku Jidai</Name>
    <Stability>Experimental</Stability>
    <Teaser>Feudal Japan is now torn apart in a devastating civil war. Can you unify the warring clans?</Teaser>
    <Description>Feudal Japan is now torn apart in a devastating civil war. Peasants take up arms to serve their daimyo loards.Thousands of samurai clash on the battlefields of Japan. Silent ninja assassinate their foes from the shadows. Can you lead your armies to greatest and establish your dominance over the rival clans? Will you ascend to the title of Shogun of Japan?</Description>
    <Authors>Michael "Putmalk"</Authors>
    <HideSetupGame>0</HideSetupGame>
    <AffectsSavedGames>1</AffectsSavedGames>
    <MinCompatibleSaveVersion>0</MinCompatibleSaveVersion>
    <SupportsSinglePlayer>1</SupportsSinglePlayer>
    <SupportsMultiplayer>0</SupportsMultiplayer>
    <SupportsHotSeat>0</SupportsHotSeat>
    <SupportsMac>1</SupportsMac>
    <ReloadLandmarkSystem>0</ReloadLandmarkSystem>
    <ReloadStrategicViewSystem>1</ReloadStrategicViewSystem>
    <ReloadUnitSystem>1</ReloadUnitSystem>
  </Properties>
  <Dependencies />
  <References />
  <Blocks />
  <Files>
    <File md5="7A9136F4503A1F9EDF687BA10A885575" import="0">LUA/SJScenarioLoadScreen.lua</File>
    <File md5="B73FFE217ED48C73197C4B0BC9E3BD3B" import="0">SjScenarioHuge.Civ5Map</File>
    <File md5="AAABE387B3384F17387C025DE09C00EB" import="0">SQL/Art/ArtDefines_Units.sql</File>
    <File md5="7577000821F80ED678AE020BD47371C5" import="0">devlog.txt</File>
    <File md5="679F109B01AD69041FF9B06338A3FEEB" import="0">XML/Buildings/Buildings.xml</File>
    <File md5="7DF7B9840E66FB02BE9C8D79EF688357" import="0">XML/Buildings/BuildingClasses.xml</File>
    <File md5="C74F2AB148DD862EE3194A522087B1D4" import="0">XML/Civilizations/Civilizations.xml</File>
    <File md5="0B65C46D6403D08ACCB93480E055636F" import="0">XML/Civilizations/MinorCivilizations.xml</File>
    <File md5="C29654E1D76A23BA1E8C69ED3733451A" import="0">XML/Civilizations/Traits.xml</File>
    <File md5="DF97D4D572E4D61A15B223A4D7B26861" import="0">XML/Diplomacy/Diplomacy_Responses.xml</File>
    <File md5="F938B37E73518EFA826833E89BDDD775" import="0">XML/SJScenarioLoadScreen.xml</File>
    <File md5="F213B7313EAFAE7C9027306BE6DA6C75" import="0">XML/GameInfo/Eras.xml</File>
    <File md5="1DD82D6D044B85A26C824864C1E248F7" import="0">XML/GameInfo/GameSpeeds.xml</File>
    <File md5="0913E9B16EE30B84C0686AB7962AC02E" import="0">XML/GameInfo/HandicapInfos.xml</File>
    <File md5="DCD97B2E4CF593199BC581013D4D59E0" import="0">XML/GameInfo/Processes.xml</File>
    <File md5="BF86D157CE60A67506BC32FA462C8DA7" import="0">XML/GameInfo/RemoveModernEras.xml</File>
    <File md5="8ED169982E8CABE10BC872C51E3AA48E" import="0">XML/GameInfo/IconTextureAtlases.xml</File>
    <File md5="53B2A27B8330CD464782FA82A3E164F3" import="0">XML/Interface/CivColors.xml</File>
    <File md5="2357820D0C4EC1C1CDA403907EE88DFB" import="0">XML/Leaders/Leader_Hojo.xml</File>
    <File md5="3D4D836148AE7F7D26E726E68A89636C" import="0">XML/Leaders/Leader_Chosokabe.xml</File>
    <File md5="4B469F66E2ABD09CA2E5465D74901A25" import="0">XML/Leaders/Leader_Date.xml</File>
    <File md5="365303379AF8EFDDE5B52DF37D796CDD" import="0">XML/Leaders/Leader_Uesugi.xml</File>
    <File md5="AAD6B1351C0598A9D04F33277E581EDC" import="0">XML/Leaders/Leader_Takeda.xml</File>
    <File md5="EEEEE43A2489689A26DF14E8E0C3A154" import="0">XML/Leaders/Leader_Tokugawa.xml</File>
    <File md5="B9F0316CE36663321CD01C13F7960D46" import="0">XML/Leaders/Leader_Mori.xml</File>
    <File md5="693C11FDAEB07D6DDB3BC350864EBEFF" import="0">XML/Leaders/Leader_Shimazu.xml</File>
    <File md5="8B9841409BDB02E4DA0E94E00DA99328" import="0">XML/Defines.xml</File>
    <File md5="DEF21E463ECE0A5F41E7206E30BD289A" import="0">XML/Technologies/Technologies.xml</File>
    <File md5="A1A5DCFEB8F7C179402D0DC09B7EA43B" import="0">XML/Terrain/Resources.xml</File>
    <File md5="30C81F12C2E85CEB7630BDAF1E47C088" import="0">XML/Text/Text_CityStates.xml</File>
    <File md5="3BC0246834610849385320D8EF03D5B0" import="0">XML/Text/LeaderDialog/Dialog_GENERIC.xml</File>
    <File md5="53E1A2AE676ADCCEA842070EC87A8AEE" import="0">XML/Text/Text_Misc.xml</File>
    <File md5="BCB579BE0D4CDF43C678E1BE66FCAD45" import="0">XML/Text/Text_Buildings.xml</File>
    <File md5="0FF9E06065CADA0205B57EB2764284C6" import="0">XML/Text/Text_Technologies.xml</File>
    <File md5="EB0688E414702B3E5B1E8022FBE6BA92" import="0">XML/Text/Text_Civilopedia.xml</File>
    <File md5="34995CAE882A1A3855272AAD4D3B6955" import="0">XML/Text/Text_Help.xml</File>
    <File md5="8179AE319770F021147BDEBED3A8101F" import="0">XML/Text/Text_Traits.xml</File>
    <File md5="558EF3CA726DA703383A5BCDF229EFC2" import="0">XML/Text/Text_Units.xml</File>
    <File md5="A089C0EDFA83099FDC34AC8A61A3C32F" import="0">XML/Text/Text_Cities.xml</File>
    <File md5="5FDF4D9D3AC4A04920D2DDFED8DCC8F6" import="0">XML/Text/Text_Civilizations.xml</File>
    <File md5="7A42F99455391412BB20CA4936DBC75D" import="0">XML/Text/Text_Leaders.xml</File>
    <File md5="6E2095097F47C3281706F69E76D0C541" import="0">XML/Units/Builds.xml</File>
    <File md5="2891E9354597B1170A0902F3A37DC416" import="0">XML/Units/UnitClasses.xml</File>
    <File md5="7BCE519854854904D79432D30210F0E9" import="0">XML/Units/Units.xml</File>
  </Files>
  <Actions>
    <OnModActivated>
      <UpdateDatabase>XML/Text/Text_Cities.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Civilizations.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Leaders.xml</UpdateDatabase>
      <UpdateDatabase>XML/Technologies/Technologies.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Chosokabe.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Date.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Hojo.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Mori.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Shimazu.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Takeda.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Tokugawa.xml</UpdateDatabase>
      <UpdateDatabase>XML/Leaders/Leader_Uesugi.xml</UpdateDatabase>
      <UpdateDatabase>XML/Interface/CivColors.xml</UpdateDatabase>
      <UpdateDatabase>XML/Civilizations/Civilizations.xml</UpdateDatabase>
      <UpdateDatabase>XML/Buildings/Buildings.xml</UpdateDatabase>
      <UpdateDatabase>XML/Units/Units.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Help.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Civilopedia.xml</UpdateDatabase>
      <UpdateDatabase>XML/Units/UnitClasses.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Units.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Technologies.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/IconTextureAtlases.xml</UpdateDatabase>
      <UpdateDatabase>SQL/Art/ArtDefines_Units.sql</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/RemoveModernEras.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Buildings.xml</UpdateDatabase>
      <UpdateDatabase>XML/Buildings/BuildingClasses.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/Eras.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Misc.xml</UpdateDatabase>
      <UpdateDatabase>XML/Terrain/Resources.xml</UpdateDatabase>
      <UpdateDatabase>XML/Units/Builds.xml</UpdateDatabase>
      <UpdateDatabase>XML/Defines.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/chosokabe_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/date_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/hojo_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/mori_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/oda_sj_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/shimazu_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/shimazu_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/takeda_scene.xml</UpdateDatabase>
      <UpdateDatabase>Art/Scenes/uesugi_scene.xml</UpdateDatabase>
      <UpdateDatabase>XML/Diplomacy/Diplomacy_Responses.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/LeaderDialog/Dialog_GENERIC.xml</UpdateDatabase>
      <UpdateDatabase>XML/Civilizations/Traits.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_Traits.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/HandicapInfos.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/Processes.xml</UpdateDatabase>
      <UpdateDatabase>XML/Civilizations/MinorCivilizations.xml</UpdateDatabase>
      <UpdateDatabase>XML/Text/Text_CityStates.xml</UpdateDatabase>
      <UpdateDatabase>XML/GameInfo/GameSpeeds.xml</UpdateDatabase>
    </OnModActivated>
  </Actions>
  <EntryPoints>
    <EntryPoint type="Custom" file="SJScenarioLoadScreen.xml">
      <Name>TXT_KEY_SJ_SCENARIO_TITLE</Name>
      <Description>TXT_KEY_SJ_SCENARIO_DESC</Description>
    </EntryPoint>
  </EntryPoints>
</Mod>
 
Okay well I fixed the load mod button issue, but the newest and most frustrating problem is that the map that I implemented into my mod isn't being identified by the game at all. Which makes no sense to me because I know it worked in the past for my Ancient World mod but now it's completely not working. I have no idea why the game chose this mod or this .civ5map file to completely ignore. It's really bugging the hell out of me.
 
Problem has been solved.

For some reason I had to make an entirely new mod to hold the actual scenario. Nothing else would work.

So now I have a base mod, and then a scenario mod.

This is a major step because now the scenario is up and working and I can start fine-tuning it from here. :D
 
Back
Top Bottom