[GS] Please point out the problem of my MOD. Need help

Sirukifa

Chieftain
Joined
Feb 17, 2020
Messages
3
Hello. This is the first civilization I am making. I want to use it at G & S. I want to change the mentor and characteristics to my liking without changing the Japan UB and UU.

Almost done, but at some point I was stuck in a solution.
① UB and UU do not show as a selection.
② When the game starts, it does not start with an error.

I haven't had much knowledge since I started making mods for this game for the first time last week. I'd like to know where the error is and how to fix it.
 

Attachments

What you posted is not actually a mod. It is a Modbuddy Project from which an executable mod can be created, but in its current state is not usable by the game.

In ModBuddy you need to "Build" the mod.

"BULD" is one of the Modbuddy top-panel options, like "FILE", "EDIT", etc. You have to click on "BUILD" and then select one of "Build Solution" or "Build NameOfMod". Generally I just use "Build Solution".

NameOfMod is just example text for whatever the name of the mod is as you have titled it in ModBuddy.
 
Thank you for your reply. Here is what I Build.
Is this collect? from \USER\Documents\My Games\Sid Meier's Civilization VI\Mods

What you posted is not actually a mod. It is a Modbuddy Project from which an executable mod can be created, but in its current state is not usable by the game.

In ModBuddy you need to "Build" the mod.

"BULD" is one of the Modbuddy top-panel options, like "FILE", "EDIT", etc. You have to click on "BUILD" and then select one of "Build Solution" or "Build NameOfMod". Generally I just use "Build Solution".

NameOfMod is just example text for whatever the name of the mod is as you have titled it in ModBuddy.
 

Attachments

You have multiple syntax errors within file "Joshs_Template_GameDefines.sql"

When adding multiple rows to the same game-table, this syntax is incorrect
Code:
INSERT INTO ModifierArguments
	(ModifierId,						Name,				Value)
VALUES	('IJE_SUNRISE_EXTRA_SLOT_1',				'GovernmentSlotType',		'SLOT_WILDCARD');
	('IJE_SUNRISE_EXTRA_SLOT_1',				'Amount',			'2');
	('TRAIT_INCREASED_COAST_FOOD_POTS',			'YieldType',			'YIELD_FOOD');
	('TRAIT_INCREASED_COAST_FOOD_POTS',			'Amount',			'2');
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',		'YieldType',			'YIELD_PRODUCTION');
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',		'Amount',			'2');
	('TRAIT_INCREASED_COAST_FAITH_POTS',			'YieldType',			'YIELD_FAITH');
	('TRAIT_INCREASED_COAST_FAITH_POTS',			'Amount',			'2');
Only the final line should end with the semi-colon character. Everywhere else where you have a semi-colon SQL requires a comma character, like so
Code:
INSERT INTO ModifierArguments
	(ModifierId,						Name,				Value)
VALUES	('IJE_SUNRISE_EXTRA_SLOT_1',				'GovernmentSlotType',		'SLOT_WILDCARD'),
	('IJE_SUNRISE_EXTRA_SLOT_1',				'Amount',			'2'),
	('TRAIT_INCREASED_COAST_FOOD_POTS',			'YieldType',			'YIELD_FOOD'),
	('TRAIT_INCREASED_COAST_FOOD_POTS',			'Amount',			'2'),
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',		'YieldType',			'YIELD_PRODUCTION'),
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',		'Amount',			'2'),
	('TRAIT_INCREASED_COAST_FAITH_POTS',			'YieldType',			'YIELD_FAITH'),
	('TRAIT_INCREASED_COAST_FAITH_POTS',			'Amount',			'2');
Further, when making multiple inserts into a single table, each row in the chunk of code must contain values for all the columns being written-to, even if within an individual row the value for a particular column is NULL. So this is incorrect
Code:
INSERT INTO Modifiers	
	(ModifierId,					ModifierType,								SubjectRequirementSetId,)
VALUES	('IJE_SUNRISE_EXTRA_SLOT_1',			'MODIFIER_PLAYER_CULTURE_ADJUST_GOVERNMENT_SLOTS_MODIFIER');
	('TRAIT_INCREASED_COAST_FOOD_POTS',		'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS');
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',	'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS');
	('TRAIT_INCREASED_COAST_FAITH_POTS',		'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS');
  • The first row of values in this chunk of SQL code does not contain any information for column 'SubjectRequirementSetId'
  • You also have an extra comma character just before the ")" closer in this part of the code
    Code:
    (ModifierId,					ModifierType,								SubjectRequirementSetId,)
    This error will make SQL think tthere are to be values given for a fourth (but never defined) column-name.
  • And as before you are using semi-colons where you need comma characters.
The correct code syntax would be
Code:
INSERT INTO Modifiers	
	(ModifierId,					ModifierType,							SubjectRequirementSetId)
VALUES	('IJE_SUNRISE_EXTRA_SLOT_1',			'MODIFIER_PLAYER_CULTURE_ADJUST_GOVERNMENT_SLOTS_MODIFIER',	NULL),
	('TRAIT_INCREASED_COAST_FOOD_POTS',		'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS'),
	('TRAIT_INCREASED_COAST_PRODUCTION_POTS',	'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS'),
	('TRAIT_INCREASED_COAST_FAITH_POTS',		'MODIFIER_PLAYER_ADJUST_PLOT_YIELD',				'PLOT_HAS_COAST_REQUIREMENTS_POTS');
You have the same basic semi-colon mistake in your "-- TraitModifiers" chunk of code and perhaps elsewhere.

Any one of these syntax errors is sufficient to make the game cease reading anything further within the same file, so the first such error kills off the remainder of the code within the file, never allowing it to actually be entered into the game's SQL database.


You also have a mistake in this city-name
Code:
INSERT INTO CivilizationLeaders	
	(CivilizationType,		LeaderType,		CapitalName)
VALUES	('CIVILIZATION_JAPAN',		'LEADER_IJE_MIKADO',	'LOC_CITY_NAME_Tokyo');
The game will not equate "LOC_CITY_NAME_Tokyo" to "LOC_CITY_NAME_TOKYO". Since you have not defined "LOC_CITY_NAME_Tokyo" within your Text file I assume you are referring to the city-name Firaxis already provide. But when referencing any tag-name in any game-table where Firaxis defined the original name of the Tag you must exactly match the name as used by Firaxis. Capitalization matters.
 
I did not understand the difference between semicolon and comma, and the point was very helpful.
There are still several errors in the DataBase Log, but I'll try to solve it using your guide. Thank you!!
 
Back
Top Bottom