1. We have added a Gift Upgrades feature that allows you to gift an account upgrade to another member, just in time for the holiday season. You can see the gift option when going to the Account Upgrades screen, or on any user profile screen.
    Dismiss Notice

A couple more "quick" inquiries

Discussion in 'Civ5 - Creation & Customization' started by AW Arcaeca, Dec 7, 2014.

  1. DarkScythe

    DarkScythe Hunkalicious Holo

    Joined:
    May 6, 2014
    Messages:
    804
    It happens occasionally, sometimes more often with larger mods and/or mods with tons of files.

    Just restart ModBuddy and/or Steam and try again. Repeat until it works. generally the only thing that I know of that works, haha.
     
  2. Belzhorash

    Belzhorash Warlord

    Joined:
    Oct 24, 2008
    Messages:
    222
    Location:
    Germany
    Use a standalone SQLite managerand let your files run against CIV5CoreDatabase (the main game) or CIV5DebugDatabase (the last modded database snapshot). You can find both in Documents/My Games/Civ.../cache.

    The german BNW files for example give out hundreds of TXT_KEY_ errors right from Firaxis. So... Yeah, that's not your fault.

    May I suggest an even more easy way?
    You are adding every much stuff, so is there a way you can distinguish between new and old items in your code?
    For example, I always use BUILDING_SPM_Name, TECH_SPM_Name, UNIT_SPM_Name and so on. That way, you can 1) see what you did and 2) make changes to your stuff and don't touch vanilla code.
    Code:
    UPDATE Buildings SET WonderSplashAudio = 'AS2D_WONDER_AW_QUOTE_'||Type WHERE Type LIKE 'BUILDING_AW_WONDER_%';
    
    I will never understand why one would delete game data. I know Paz had made a good tutorial about it, but seriously, why don't you set them AIPlayable and Playable = 0 and ShowInPedia = 0?
    No hasseling around with deletio errors...
    Also, the minimum required number of civs is 7.

    Everyone here has, I'm sure. :)

    Code:
    REPLACE INTO Language_en_US (Tag, Text) VALUES ('TXT_KEY_LEADER_BARBARIAN', 'Animals');
    Here you are (stolen from ls612, though).
     
  3. LeeS

    LeeS Imperator Supporter

    Joined:
    Jul 23, 2013
    Messages:
    7,081
    Location:
    Illinois, USA
    Note the, er, "wonder"-ful consistencies:
    Spoiler :
    Code:
    <Type>BUILDING_GREAT_LIGHTHOUSE</Type>
    <BuildingClass>BUILDINGCLASS_GREAT_LIGHTHOUSE</BuildingClass>
    <Quote>[COLOR="Green"]TXT_KEY_WONDER_GREATLIGHTHOUSE_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptGreatLighthouse.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_GREAT_LIGHTHOUSE_01[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_STONEHENGE</Type>
    <BuildingClass>BUILDINGCLASS_STONEHENGE</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_STONEHENGE_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptStonehedge.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_STONEHENGE_01[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_GREAT_LIBRARY</Type>
    <BuildingClass>BUILDINGCLASS_GREAT_LIBRARY</BuildingClass>
    <Quote>[COLOR="Green"]TXT_KEY_WONDER_GREATLIBRARY_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptGreatLibrary.dds</WonderSplashImage>
    <WonderSplashAnchor>L,B</WonderSplashAnchor>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_GREAT_LIBRARY_02[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_PYRAMID</Type>
    <BuildingClass>BUILDINGCLASS_PYRAMID</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_PYRAMIDS_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptPyramids.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_PYRAMIDS_01[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_COLOSSUS</Type>
    <BuildingClass>BUILDINGCLASS_COLOSSUS</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_COLOSSUS_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptColossus.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_COLOSSUS[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_ORACLE</Type>
    <BuildingClass>BUILDINGCLASS_ORACLE</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_ORACLE_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptOracle.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_ORACLE_01[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_HANGING_GARDEN</Type>
    <BuildingClass>BUILDINGCLASS_HANGING_GARDEN</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_HANGINGGARDENS_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptHangingGardens.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_HANGING_GARDENS_01[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_GREAT_WALL</Type>
    <BuildingClass>BUILDINGCLASS_GREAT_WALL</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_GREATWALL_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptGreatWall.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_THE_GREAT_WALL[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_ANGKOR_WAT</Type>
    <BuildingClass>BUILDINGCLASS_ANGKOR_WAT</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_ANGKORWAT_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptAngkorWat.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="blue"]AS2D_WONDER_SPEECH_ANGKOR_WAT[/COLOR]</WonderSplashAudio>
    
    
    <Type>BUILDING_HAGIA_SOPHIA</Type>
    <BuildingClass>BUILDINGCLASS_HAGIA_SOPHIA</BuildingClass>
    <Quote>[COLOR="green"]TXT_KEY_WONDER_HAGIASOPHIA_QUOTE[/COLOR]</Quote>
    <WonderSplashImage>WonderConceptHagiaSophia.dds</WonderSplashImage>
    <WonderSplashAudio>[COLOR="Blue"]AS2D_WONDER_SPEECH_THE_HAGIA_SOPHIA[/COLOR]</WonderSplashAudio>
    

    So unless you plan somehow on re-recreating the Firaxis-made wonders, you've got some issues to work through. Most likely you'll have to undo some portion of the work your SQL UPDATE did. Unless you use Belzhorash's solution.

    But Belzhorash's solution still does not address the issue that WonderSplashAudio is a reference to a ScriptID within the table Audio_2DSounds, so there must be a <Row> within Audio_2DSounds that has a matching ScriptID. That <Row> with that ScriptID will also have a column SoundID, which is in turn a reference to a <Row> within the table Audio_Sounds, where the <Row> with the matching SoundID defines a sound file and the LoadType for that file. And you need the referenced xxxx.mp3 file to be part of your mod. Are you really doing all this ?
     
  4. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    Mmm... my wonders aren't prefixed like that. :/ They're just called BUILDING_%, since I wasn't sure if the game engine would start choking uncontrollably if I prefixed them with WONDER_. My code was set up the way it was for a reason, which was this:
    The mod deletes all of Firaxis' wonders and replaces them with 42 completely new ones.
    I might have forgotten to mention it, or more likely I didn't think it would become a point of issue. I'm not sure.
    Yes, I'm not just pulling random AS2Ds out of thin air. :p And I'm aware of how to add sound, since I've done it with music and have at least observed how it's done with DOM speeches.
    I did assume that the LoadType is DynamicResident, since I have no idea what any of them do and I just picked which one I'm familiar with.

    And no, I wasn't planning on recreating all Firaxis' wonders; quite the contrary in fact. If you'll look back on the last page, I was asking whoward how to delete all wonders... (except for 42 of them, which are the ones I added)

    ---

    At any rate, I also found out that the wonders file is chock full of syntax errors (42 of them involve numbers I put floating outside of comments to prefix each line that defined a wonder, which I forgot to remove :cringe:) and I think I solved several of the buildings file syntactical errors, so hopefully the game will stop complaining about nonexistent UBs when I playtest again.

    Also, whoward, if you're reading this:
    Code:
    DELETE FROM Buildings WHERE Type IN 
      (SELECT b.Type FROM Buildings b, BuildingClasses bc
         WHERE bc.MaxGlobalInstances > [B][COLOR="Blue"]1[/COLOR][/B] OR bc.MaxPlayerInstances > 0
         AND bc.Type = b.BuildingClass AND b.Cost > 0);
    Where MaxGlobalInstances is greater than 1? Like a wonder that can be built a maximum of 2 times in the world instead of just 1? :confused: Or did I miss something?
     
  5. LeeS

    LeeS Imperator Supporter

    Joined:
    Jul 23, 2013
    Messages:
    7,081
    Location:
    Illinois, USA
    No worries. I just wanted to make sure you weren't overlooking one of the most obvious reasons why such a mod might fail (ie, non-consistency in Firaxis naming conventions leading to those irksome gotchas).

    I'd also assume unless you hear otherwise from whoward that last thing was a typo and he meant to type:
    Code:
    WHERE bc.MaxGlobalInstances > 0 OR bc.MaxPlayerInstances > 0
    
    I can't think of any instances where Firaxis used MaxGlobalInstances of "2" or greater. It's all either omitted (resulting in the default "-1" :ie, unlimited) or they've used "1".

    -----------------------------------------------------------------------------------------------------------------------------------------------------
    [edit]

    although this part of it might be problematic:
    Code:
    bc.MaxPlayerInstances > 0
    
    because if I'm understanding the rest of it I think you'll get a "false positive" for the Recycling Center. Depends on what the rest of your mod is doing wrt the need/lack-thereof for the Recycling Center.
     
  6. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    So, does SQL really work with text? I've run it through a database until I've rid the file of syntax errors, yet the game still just displays TXT_KEYs.

    I don't know if this has anything to do with it:
    Code:
    [58106.675] too many terms in compound SELECT
    There's about a thousand lines of text, but they're in INSERT, not SELECT...
     
  7. whoward69

    whoward69 DLL Minion

    Joined:
    May 30, 2011
    Messages:
    8,498
    Location:
    Near Portsmouth, UK
    Yes

    That's an error, so it will be having some effect. Just because you don't understand the error doesn't mean you can ignore it. It will be causing the file (and hence the database transaction) to fail.

    If you have lots of files updating the database in your mod, cross-reference the time stamp (the 58106.675 bit) with the numbers in stopwatch.log as that'll tell you which file was being processed when the error occured
     
  8. DarkScythe

    DarkScythe Hunkalicious Holo

    Joined:
    May 6, 2014
    Messages:
    804
    I had to do this once, but for some reason it didn't quite match up.. I'm not sure if there's a delay or something, but there's my experience. I ended up having to simply make a best guess as to the most recent file prior to the particular timestamp instead.
     
  9. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    :wow:
    The things that would've helped to know ages ago...

    As it turns out, there are two errors with the 58106.675 timestamp:
    Code:
    [58106.675] too many terms in compound SELECT
    [58106.675] near ",": syntax error
    And 9 files being processed:
    Code:
    [58106.675] , 					Update Database - SQL/Policies.sql, 0.000866
    [58106.675] , 					Update Database - SQL/Religions.sql, 0.000892
    [58106.675] , 					Update Database - SQL/Resources.sql, 0.000255
    [58106.675] , 					Update Database - SQL/Specialists.sql, 0.000604
    [58106.675] , 					Update Database - SQL/Terrain.sql, 0.000479
    [58106.675] , 					Update Database - SQL/Text_en_US.sql, 0.002852
    [COLOR="Red"][B][58106.675] , 					Update Database - SQL/ToggleVoiceActing.sql, 0.000739[/B][/COLOR]
    [58106.675] , 					Update Database - SQL/Traits.sql, 0.000689
    [58106.675] , 					Update Database - SQL/Units.sql, 0.001669
    [58106.675] , 					Update Database - SQL/Victories.sql, 0.000483
    ToggleVoiceActing is the only one with any SELECT statement:
    Spoiler :
    Code:
    UPDATE Buildings SET WonderSplashAudio='AS2D_WONDER_QUOTE_'|[B][COLOR="Red"]|[/COLOR][/B]Type WHERE Type IN
    	(SELECT b.Type FROM Buildings b, BuildingClasses bc
    	WHERE b.BuildingClass == bc.Type AND bc.MaxGlobalInstances > -1 AND b.Type IN(
    		'BUILDING_WONDER_0',
    		'BUILDING_WONDER_1',
    		'BUILDING_WONDER_2',
    		'BUILDING_WONDER_3',
    		'BUILDING_WONDER_4',
    		'BUILDING_WONDER_5',
    		'BUILDING_WONDER_6',
    		'BUILDING_WONDER_7',
    		'BUILDING_WONDER_8',
    		...continue the chain...,
    		'BUILDING_WONDER_41')
    	);

    Is 42 too many items to handle? Is this even a compound SELECT? (I was under the impression that that would be a SELECT nested in another SELECT...) But sure enough, none of the wonders in the database have any WonderSplashAudio...
    At the bold red bar I'm getting a ModBuddy syntax error saying something like "Syntax error, expected: id_simple string number ( not + - ~"...

    Now, I don't know what to think of the comma error, since I've added it manually to a database and it presented no syntax errors... but I also can't initially find the text in any of the localization databases...? :confused:
    Actually, couldn't find a comma error in any of the files... does it refer to the absence of a comma next to the vertical bar?
     
  10. Belzhorash

    Belzhorash Warlord

    Joined:
    Oct 24, 2008
    Messages:
    222
    Location:
    Germany
    You missed some ' after some of your BUILDING_WONDER_...
     
  11. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    Fixed. It was just a result of copying WONDER_# over the actual names of the wonders and the apostrophes sometimes getting tagged along.
     
  12. Belzhorash

    Belzhorash Warlord

    Joined:
    Oct 24, 2008
    Messages:
    222
    Location:
    Germany
    So... Does it work now?
     
  13. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    No, since I didn't actually change anything. The only thing I fixed was putting the apostrophes in the last post. :p
     
  14. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    Welp, I eliminated all errors except for the compound SELECT one, which I guess has to correspond to the text since it's still not working, but that still doesn't make sense since it's just INSERT INTO, and not SELECT...

    My mod's also crashing right before the DOM screen shows. I must've checked building and unit reference spelling a thousand times and can't find any mistakes. But I did replace all of the CSs with 20 of my own; is anyone aware of a minimum number of CSs that need to exist in order to prevent a crash?
     
  15. DarkScythe

    DarkScythe Hunkalicious Holo

    Joined:
    May 6, 2014
    Messages:
    804
    You keep saying text.. I assume you're talking about all sorts of descriptions and stuff.

    Do any of them have apostrophes in them? If they do, are they properly escaped?
     
  16. JFD

    JFD Kathigitarkh

    Joined:
    Oct 19, 2010
    Messages:
    9,130
    Location:
    The Kingdom of New Zealand
    This error occurs when you're adding too many entries to a table, regardless of using INSERT or SELECT. Split the table up.
     
  17. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    Yep, tried that and the text is working. :goodjob:

    But my mod still crashes for no reason I can ascertain. :( I've checked unit and building references so many times...
    I'm out of ideas of what could be wrong, so... I guess... I have to do the unthinkable... :scared:

    (Mod Attachment!) (WARNING: Big download! >209 MB)
    ...and just hope that not just anyone decides to download for spoilers.
     
  18. Belzhorash

    Belzhorash Warlord

    Joined:
    Oct 24, 2008
    Messages:
    222
    Location:
    Germany
    Errors:
    table Buildings has no column named TradeRouteModifier (wonders.sql)
    table Policies has no column named TradeRouteGoldModifier (policies.sql)


    Now it's late. I need to sleep a bit. :)

    Edit: LeaderScenes need to be imported to VFS.
    Edit2: Audio/Peace/ALF_Peace.mp3 is not imported to VFS.
     
  19. AW Arcaeca

    AW Arcaeca Deus Vult

    Joined:
    Mar 10, 2013
    Messages:
    2,967
    Gender:
    Male
    Location:
    Operation Padlock ground zero
    Leaderscenes are imported; I'm not sure how you got that. But ALF_Peace was an oops. :cringe:

    And the databases are showing that those columns do exist... :confused:
     
  20. LeeS

    LeeS Imperator Supporter

    Joined:
    Jul 23, 2013
    Messages:
    7,081
    Location:
    Illinois, USA
    The 'Global' part of this column is that it affects every city in the empire:
    Code:
    GlobalGreatPeopleRateModifier
    So do you really want every university-replacement constructed in the empire to boost great people generation in every city by 10%, to a cumulative total of who knows what ?

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

    No such ArtDefineTag as:
    Code:
    MINT
    WATERMILL
    APHITHEATER (doesn't exist and it's spelled wrong even if it did exist)
    UNIVERSITY
    MARKET
    EBONY_GROVE
    
    These are the valid ArtDefineTag designations for "standard" (ie, not wonders or national wonders) buildings:
    Spoiler :
    Code:
    COURTHOUSE				LIGHTHOUSE
    ART_DEF_BUILDING_WATERMILL		HARBOR
    ART_DEF_BUILDING_CASTLE**		COLESSEUM	(this is the way it appears in the XML)
    ART_DEF_BUILDING_BARRACKS		THEATRE
    ART_DEF_BUILDING_FORGE			STADIUM
    ART_DEF_BUILDING_MARKET			MONUMENT
    ART_DEF_BUILDING_BANK			TEMPLE
    ART_DEF_BUILDING_PAPER_MAKER		OPERA_HOUSE
    WAT					MUSEUM
    MUD_PYRAMID_MOSQUE			RADIO TOWER
    BURIAL_TOMB				CASTLE*
    ART_DEF_BUILDING_SEAPORT			MILITARY BASE
    ART_DEF_BUILDING_STABLE			ART_DEF_BUILDING_WALLS
    ART_DEF_BUILDING_CIRCUS			ART_DEF_BUILDING_GRANARY
    ART_DEF_BUILDING_HYDRO_PLANT		ART_DEF_BUILDING_HOSPITAL
    ART_DEF_BUILDING_OBSERVATORY		ART_DEF_BUILDING_FACTORY
    MONASTERY				ART_DEF_BUILDING_LIBRARY
    ART_DEF_BUILDING_GARDEN			ART_DEF_BUILDING_UNIVERSITY
    ART_DEF_BUILDING_MILITARY_ACADEMY	ART_DEF_BUILDING_MEDICAL_LAB
    ART_DEF_BUILDING_STOCK_EXCHANGE		ART_DEF_BUILDING_PUBLIC_SCHOOL
    ART_DEF_BUILDING_LABORATORY		ART_DEF_BUILDING_WALLS_OF_BABYLON
    ART_DEF_BUILDING_DUCAL_STABLE		ART_DEF_BUILDING_CARAVANSARY
    ART_DEF_BUILDING_HOTEL			ART_DEF_BUILDING_AIRPORT
    
    ** Mughal Fort
    * Castle
    And wasn't it so very nice of Firaxis to be ever so consistent. :gripe:

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

    These are nope without a dll or an lua implimentation (which you might have already, since I haven't had a chance to look through the whole thing) to get around the game's stock table-hook-ups limitations:
    Code:
    INSERT INTO Building_SpecialistYieldChanges
    	(BuildingType,				SpecialistType,				YieldType,				Yield)
    VALUES
    	('BUILDING_DIVINE_ACADEMY',	'SPECIALIST_SCIENTIST',		'YIELD_FAITH',			1),
    	('BUILDING_DYERY',			'SPECIALIST_ARTIST',		'YIELD_CULTURE',		1);
    The table does not work for faith or culture. Some believe it does work with the stock game hook-ups, but they are paying too much attention to the mouse-over tooltips for the specialists and not paying any attention to the mouse-hover tool-tips for the city yields box. Or, for that matter, the total empire yields. In any event, this is a global-effect table not a local-to-city effects table. Rows in this table affect all cities anywhere in the empire. [edit] By this, I mean the effects will also stack from multiple copies of the building being present in the same empire in addition to the effect being implimented everywhere in the empire for a single instance of the building being constructed within an empire.

    Statue of Liberty.

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

    From looking at your Units SQL, I'm assuming this is a typo:
    Code:
    INSERT INTO Building_UnitCombatProductionModifiers
    	(BuildingType,				UnitCombatType,				Modifier)
    VALUES
    	('BUILDING_REBEL_CAMP',		'UNITCOMBAT_ARCHER[b][COLOR="Red"]Y[/COLOR][/b]',		15);
    Since I didn't see anywhere that you are adding new UnitCombat Types.

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

    Sorry to seem like such a pedant :(

    edit: re the ArtDefineTag, you can always use NULL or NONE.
     

Share This Page