Page 1 of 3 123 LastLast
Results 1 to 20 of 49

Thread: Lesson 1 - Introduction and script writing

  1. #1

    Default Lesson 1 - Introduction and script writing

    Note to students: Due to the first class being late i'm extending the first class deadline to 5th of July which is a Thursday.

    Introduction:

    What is a Script?
    A script is a sequence of instructions that is interpreted by another program (the game) rather then the computer A script is a list of commands that can be executed without the users interaction these are known as events.

    Finding the Script?
    you will find the script in following this path open program files.

    SEGA\Medieval II Total War\Data\world\maps\campaign\imperial_campaign\
    campaign_script.txt

    note: make a backup of this file.

    This is the file your looking for at this point it would be a good idea to download the Kingdoms documents
    HERE

    Now i'm going to talk about the script, a script is made up of Events, Conditions and commands this is the basic structure over a period of time in the course you will become very familiarly with theses we will start with an Event. An Event if meet by a Condition with in turn fire a command

    basic Event script structure
    Spoiler Alert, click show to read: 

    monitor_event <event> logical operator <condition>
    logical operator <condition>

    command

    end_monitor


    think of the Event as a time which tells the game when to execute.

    The monitor_conditions command is very similar to the events
    with the important difference of it uses a meta-events which is executed every now and then to check if all specified conditions are true.

    Example
    Spoiler Alert, click show to read: 

    monitor_conditions <event> logical operator <condition>
    logical operator <condition>

    command

    end_monitor




    to monitor our progress on our scripts we are going to make some amendments to our CFG file,
    add in these lines of code

    Error logging; adding this will keep track of the following triggers monitors and counters as there firing

    Spoiler Alert, click show to read: 

    [log]
    to=logs/system.log.txt
    level=*script* trace


    Windowed Mode; best to use this if the game script crashes at least you will not have to reboot.
    Spoiler Alert, click show to read: 

    [video]
    windowed = true


    Using Events, conditions, Commands

    okay so we have looked at the basic structure of Events and conditions but how can we actually implement this into our script? one of the most important events is the FactionTurnStart if you run though any Kingdoms campaign_script you will see quite few of these being used, checking the Kingdoms documentation you will see FactionTurnEnd exports faction this means the condition will need to be a faction, this maybe confusing at first if you like me to alaberate on this please say.

    All Events have Exports which must be our condition.
    Spoiler Alert, click show to read: 

    ---------------------------------------------------
    Identifier: FactionTurnEnd
    Event: A Faction has ended its turn
    Exports: faction
    Class: ET_FACTION_TURN_END
    Author: Guy
    ---------------------------------------------------


    so now we have our export information we may now start to build what is to become our first script ad this is an Event we will need to use the monitor_event tag.

    monitor_event FactionTurnStart FactionIsLocal

    end_monitor

    you should note here the introduction to the key word end_monitor this tells the game to wait until all monitors are finished. The above script uses the condition FactionIsLocal this is for the faction the human player is in control of. in a nut shell what we have is a script which is monitoring the end turn button when the control is passed back to the player thats when the script will fire.

    if wanted this script to effect a certain faction you could replace the factionIsLocal and type FactionType spain, so we have our event set up now we need a command to accompany this, commands are the desired output for Events which conditions are all TRUE.

    so we do need something to happen when we click on the end turn button, to get a good idea of command check out the commands document. for our first script we are going to use the console_command add_money this is good for testing if a script actually works

    so type into the body of our script console_command add_money Spain, 10000

    monitor_event FactionTurnStart FactionIsLocal

    add_money Spain 10000

    end_monitor

    you should have something like this

    Spoiler Alert, click show to read: 




    so to test this save your file and run the game click end turn and spains balance being the local faction should increment on the start of a new turn,here role can also be reversed to take a negative number (maybe to represent corruption or army upkeep)

    take a note here the add_money command cannot take a condition like this

    add_money factionIsLocal 10000

    this is the most basics of scripts testing a factions turn start and then firing an add_money command.
    now we have the concepts of Events we are now going to build on this example.

    now we are going to work with multiply conditions as i mentioned earlier in the lesson events can contain more then one condition using NOT and AND, now say we wanted to test when a general captures a settlement say we what to monitor a another sack of Rome we could use the GeneralCaptureSettlement notice below this event as may Exports so we are going to pick one 'target_settlement'

    EXPORTS FOR GeneralCaptureSettlement
    Spoiler Alert, click show to read: 

    ---------------------------------------------------
    Identifier: GeneralCaptureSettlement
    Event: A General has captured a settlement
    Exports: nc_character_record, character_record, faction, region_id, character_type, target_settlement, settlement, target_faction, rsam
    Class: ET_GENERAL_CAPTURE_SETTLEMENT
    Author: Guy
    ---------------------------------------------------


    (from document_conditions) Condition parameters
    Spoiler Alert, click show to read: 

    ---------------------------------------------------
    Identifier: TargetSettlementName
    Trigger requirements: target_settlement
    Parameters: settlement name
    Sample use: TargetSettlementName Cordoba
    Description: For scripting - does the target settlement have this name
    Battle or Strat: Either
    Class: TARGET_SETTLEMENT_NAME
    Implemented: Yes
    Author: Grig
    ---------------------------------------------------


    monitor_event GeneralCaptureSettlement SettlementName Rome

    end_monitor

    I want to draw your attention to settlementName this is a condition which is an indirect link to GeneralCaptureSettlement export but parameters for settlementName is a settlementName

    so we have

    GeneralCaptureSettlement <export>

    target_settlement


    settlement name <parameters>

    Settlement


    settlement

    Rome


    hope thats not to confusing. please ask questions if your struggling with this.

    so continuing on we have our monitor set with one condition how lets had a few more conditions factionIsLocal and FactionType
    with the locally operators AND/NOT

    monitor_event GeneralCaptureSettlement SettlementName Rome
    and not factionislocal
    and factionType England

    add_money England 10000
    end_monitor

    so now we have learnt how to add more conditions to our script, take into account for a script to execute all conditiond must be true for instance if the settlement is not Rome and The Factions type is not England this script will never be true and will not execute.

    To understand this better i have drawn up a logic gates table where 0 being False and 1 being True



    Now i'm going to rabble on about counters but if you have skipped first part of the lesson i strongly recommend you go back and read it, Total war do not allow use to define and variables the best we can do is use counters and Event counters this are strings bit assigned with a number.

    so first up is declare_counter this assigns memory space in your Random Access Memory (RAM) , next set_counter this set a counter to a number, inc_counter this is used to alter an already set value this is used after the set_counter command,
    set_event_counter much like the set_counter command this is used in events, log_counter used for logging (error logging)

    (sorry i have lost the post somehow?)

    okay now where are going to look at setting up a counter, but first we must ask our self what do we want this counter to do? i what the counter to increase population after 2 turns of farms being built.
    For this we will use the Event BuildingCompleted to test when our farms have been build then set up a flag to trigger our population boost.

    first of all we need a test script

    add this to your campaign_script and runn the game and build anythink
    once construction i complete the game should increase your balance to a further 10000 gold

    monitor_event BuildingCompleted SettlementName London
    add_money england 10000
    end_monitor

    this should fire on the completion of any building and give the player 10000
    now we are going to remove the add_money command and had another condition

    monitor_event BuildingCompleted SettlementName London
    and SettlementBuildingFinished = farms
    add_population england 5000
    end_monitor

    testing this script should give us a growth boost of 5000 people.

    now we need to set up a counter using the key word declare_counter

    add this line of code to your script (not inside an event_monitor)
    declare_counter farms_built

    this allocates a space in memory for the variable farms_build and is sets it to the default value of 0

    now we have our counter we can edit our script to work with this. first we will need to set the event our event here we be BuildingCompleted and one of its export is settlement so we can use settlementName condition and give it the parameter London which is required.

    monitor_event BuildingCompleted SettlementName London
    and SettlementBuildingFinished = farms_built
    set_counter farms_built 1
    terminate_monitor
    end_monitor

    the above script alone will not work be its self the script above is checking if a building as been completed and the condition of any building must be farms or this Event fails and is ended, if the condition is true the farms_built counter incremented by 1.

    so how in order to test this we must use the event FactionTurnEnd and the condition factionIsLocal (for the human player to notices the chances)

    monitor_event FactionTurnEnd FactionIsLocal
    if I_CompareCounter farms_built = 2
    add_population London 5000
    terminate_monitor
    end_if

    if I_CompareCounter farms_built > 0
    inc_counter farms_built 1
    end_if
    end_monitor

    what is going on with the above script? well the end turn button is clicked and the condition is always true because control is passed to the player, The first if statement is encountered and checks to see if the build_farms counter is equal to 2(in order to add the population bonus) because the built_farms variable is only equal to 1 at this point the if statement fails and the next if statement is checked now is the farms_built counter greater then 1? yes it is because we set this on construction complete of th farms so the counter is 1, now the if statement is true so the farms_built counter is incremented by one and the if statement finishes, waiting for the next end turn.

    I hope to have the assignment up tonight if goes well student if you question please ask here me and GED will do any damn best to answer them, so fire away.
    Last edited by J@mes; August 02, 2008 at 01:26 PM.


  2. #2
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Nice tutorial

    One thing I'd comment on is making sure all the files you're referring to are well understood. At one point you say "Your CFG File", probably should read "Medieval II Total War/medieval2.preference.cfg". I found it easily enough since there were only two CFG extensions, but just food for thought .

    On to more important things, the problems!

    First problem seems to be that my CFG file always changes back to the way it was after restarting M2TW. This may be normal, but it's very annoying, so if there's a way to stop it from un-editing itself that'd be useful.

    Second problem is the script doesn't seem to be working. Have double-checked the wording/spelling multiple times, even tried to insure it was tabbed similar to the one you showed. Made sure to play as Spain, tried both without and with the "spain" parameter for add_money, but it doesn't seem to work(at least not in first couple turns). Ran with the medieval2.exe, that could be the issue I guess if you can run the Grand Campaign w/ the kingdoms.exe and this is a Kingdoms-only script. I have the MapClass stuff from GrnEyedDvl in a mod folder of the installation I'm using, but that uses a separate mod folder executed by a .bat, so I'm pretty sure he could attest that isn't the issue(or if it is I guess). Here's the file:

    Spoiler Alert, click show to read: 


    It's located in "Medieval II Total War\data\world\maps\campaign\imperial_campaign" as "campaign_script.txt". I didn't delete any .bin files or the map.rwm file post-changes, but it doesn't say to do so in the tutorial either. If any more info is needed let me know, will wait for this to be resolved before continuing with the tutorial.

    Regards,
    Augustus

  3. #3
    GrnEyedDvl's Avatar Liberalism is a Socially Transmitted Disease
    Artifex Technical Staff

    Join Date
    Jan 2007
    Location
    Denver CO
    Posts
    23,844
    Blog Entries
    10

    Default Re: Lession 1 - Introduction and script writing (part 1)

    If you are using my map class mod folder then make your changes to the campaign script there and run it from the .bat file. It will run just fine.

    I would suggest that everyone runs a mod folder for this, just to avoid changing vanilla files.

    Your issue probably comes from not having the file_first set up properly.

  4. #4
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Quote Originally Posted by GrnEyedDvl View Post
    If you are using my map class mod folder then make your changes to the campaign script there and run it from the .bat file. It will run just fine.

    I would suggest that everyone runs a mod folder for this, just to avoid changing vanilla files.

    Your issue probably comes from not having the file_first set up properly.
    I'm not running it from your mod foldier. Your mod folder is just present in the installation, the file itself and the .exe I'm running are all the main installation, and it shouldn't be accessing any of the files in your folder unless I'm running the .bat(which I'm not), so I don't think that was the issue.

    I made a backup of the file before editing it, and the installation itself is on a completely different drive than my "main-main" installation, because I have oodles of disk space to spare. To be clear, everything about the game runs fine, but the script doesn't execute to give me 10000 gold after ending my turn as Spain. If "file_first" is the problem perhaps you could elaborate on that.

    All the Best,
    Augustus

  5. #5
    GrnEyedDvl's Avatar Liberalism is a Socially Transmitted Disease
    Artifex Technical Staff

    Join Date
    Jan 2007
    Location
    Denver CO
    Posts
    23,844
    Blog Entries
    10

    Default Re: Lession 1 - Introduction and script writing (part 1)

    I'm not running it from your mod foldier. Your mod folder is just present in the installation, the file itself and the .exe I'm running are all the main installation, and it shouldn't be accessing any of the files in your folder unless I'm running the .bat(which I'm not), so I don't think that was the issue.
    My map class folder isnt the issue, its the configuration of vanilla M2. One solution to this problem is to run it from my folder instead of running the M2.exe.



    To be clear, everything about the game runs fine, but the script doesn't execute to give me 10000 gold after ending my turn as Spain. If "file_first" is the problem perhaps you could elaborate on that.
    The game reads files from their packed version by default. To make your mods show up in the game you have to tell it to look for the unpacked files first. You do this by putting a command in the .cfg file that says:

    [io]
    file_first = true

    I think J@mes was assuming that everyone would have either a mod folder already set up or would have their vanilla installation already set up, but for anyone that doesnt you can download either Retrofit Mod or my Barebones mod folder. Both are set up to run with Kingdoms.

  6. #6
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Alright, that explains it. But... now I can't seem to get the Barebones to work :hmmm: . Originally I was getting an unspecified error, but I think that was caused by adding a duplicate to the .cfg file(I hadn't noticed you included the log parameters). So I reverted that, and now I seem to get this error:

    Spoiler Alert, click show to read: 


    I'm going to try a few things such as changing discs, restarting, etc. and see if it helps. The error occurs before m2tw shows up as a window(before it would at least show up as a window then do unspecified error). To clarify, the error in the spoiler seems to be unrelated, the error occuring now happens once m2tw starts to load via either kingdoms.exe or barebones.bat, and it just closes and has a completely blank error/warning message.

    Edit #1: Restarting and changing discs didn't seem to remedy the issue, all of the installations seem to work with both discs, but this error occurs with both after multiple restarts.

    EDIT #2: Upon further inspection, it appears that the same sort of error occurs when clicking the "kingdoms.exe" file in the root installation. If I run the launcher and then click on any of the installed kingdoms mods campaigns, they all work perfectly fine, but there's something wacky about kingdoms.exe (and barebones.bat). Is that file modified or affected in any way by the barebones installation that could cause it to be faulty? Sorry for all the questions, will probably have a lot less once the setup actually works, the scripting itself seems simple enough but this setup is a chore...

    Edit #3: Copying a new kingdoms.exe file from by other installation didn't change anything. Seems the unspecified error is not entirely unspecified, located the log file it seems to be using to show the error, and here it is:

    (When running barebones.bat)

    Spoiler Alert, click show to read: 
    01:12:38.484 [system.rpt] [always] CPU: SSE2
    01:12:38.484 [system.rpt] [always] ==== system log start, build date: Aug 3 2007 version bld-medieval2-kingdoms-104 (45562) ===
    01:12:38.484 [system.io] [always] mounted pack packs/data_0.pack
    01:12:38.500 [system.io] [always] mounted pack packs/data_1.pack
    01:12:38.500 [system.io] [always] mounted pack packs/data_2.pack
    01:12:38.500 [system.io] [always] mounted pack packs/data_3.pack
    01:12:38.500 [system.io] [always] mounted pack packs/data_4.pack
    01:12:38.500 [system.io] [always] mounted pack packs/localized.pack
    01:12:38.500 [system.io] [warning] open: data/text/shared.txt is missing
    01:12:38.500 [system.io] [warning] open: data/text/tooltips.txt is missing
    01:12:38.500 [system.io] [warning] open: data/text/battle.txt is missing
    01:12:38.500 [system.io] [warning] open: data/text/strat.txt is missing
    01:12:38.500 [system.io] [warning] open: mods/barebones/data/text/menu_english.txt.strings.bin is missing
    01:12:38.500 [system.io] [warning] open: mods/barebones/data/text/menu_english.txt is missing
    01:12:38.500 [system.io] [warning] open: mods/barebones/data/text/expanded.txt.strings.bin is missing
    01:12:38.500 [system.io] [warning] open: mods/barebones/data/text/expanded.txt is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/diplomacy.txt.strings.bin is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/diplomacy.txt is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/diplomacy_speech.txt.strings.bin is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/diplomacy_speech.txt is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/missions.txt.strings.bin is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/missions.txt is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/shortcut.txt.strings.bin is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/data/text/shortcut.txt is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/preferences/keys.dat is missing
    01:12:38.515 [system.io] [warning] open: mods/barebones/preferences/keys.dat is missing
    01:12:42.031 [data.missing] [warning] missing/invalid cursor for ANISELECT
    01:12:42.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_SABOTAGE
    01:12:42.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_TRADE
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for DRAGGABLE
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for DRAGGING
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_MULTIPLE_SELECT
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_ATTACK
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_CHARACTER
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_RESOURCE
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_FORT
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_MOVE_OBJECT
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_WATCHTOWER
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_DEPLOYMENT_AREA
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_TILE
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_SPECIAL_PIECE
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PAINT
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_ADJUST_HEIGHTS
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_ADD_UNIT
    01:12:42.046 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_SETTLEMENT
    01:12:42.515 [system.io] [warning] open: mods/barebones/data/text/religions.txt.strings.bin is missing
    01:12:42.515 [system.io] [warning] open: mods/barebones/data/text/religions.txt is missing
    01:12:42.515 [system.io] [warning] open: mods/barebones/data/text/climates.txt.strings.bin is missing
    01:12:42.515 [system.io] [warning] open: mods/barebones/data/text/climates.txt is missing
    01:12:42.546 [system.io] [warning] open: Export/battlefield/grid.tga is missing
    01:12:42.546 [system.io] [warning] open: Export/battlefield/mediterranean/summer/mediterranean_rock_micro.tga is missing
    01:12:43.078 [system.io] [warning] open: mods/barebones/data/text/event_titles.txt.strings.bin is missing
    01:12:43.078 [system.io] [warning] open: mods/barebones/data/text/event_titles.txt is missing
    01:12:43.078 [system.io] [warning] open: mods/barebones/data/text/event_strings.txt.strings.bin is missing
    01:12:43.125 [system.io] [warning] open: mods/barebones/data/text/event_strings.txt is missing
    01:12:43.171 [system.io] [warning] open: mods/barebones/data/text/export_units.txt.strings.bin is missing
    01:12:43.187 [system.io] [warning] open: mods/barebones/data/text/export_units.txt is missing
    01:12:43.218 [system.io] [warning] open: mods/barebones/data/text/rebel_faction_descr.txt.strings.bin is missing
    01:12:43.234 [system.io] [warning] open: mods/barebones/data/text/rebel_faction_descr.txt is missing
    01:12:43.234 [system.io] [warning] open: mods/barebones/data/text/export_buildings.txt.strings.bin is missing
    01:12:43.484 [system.io] [warning] open: mods/barebones/data/text/export_buildings.txt is missing
    01:12:43.500 [system.io] [warning] open: mods/barebones/data/text/building_battle.txt.strings.bin is missing
    01:12:43.500 [system.io] [warning] open: mods/barebones/data/text/building_battle.txt is missing
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:12:43.890 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.906 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.921 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:12:43.921 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:12:43.921 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:12:43.921 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.937 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.953 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.953 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.968 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:12:43.968 [system.io] [warning] open: mods/barebones/data/text/export_VnVs.txt.strings.bin is missing
    01:12:44.109 [system.io] [warning] open: mods/barebones/data/text/export_VnVs.txt is missing
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10671, column 23 :
    we should only have trait(Berserker) additional affects for triggers(Battle_Losing_Berserker)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10789, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Not_fighting)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10790, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Not_fighting)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10800, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Routing)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10801, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Routing)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10813, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Routing2)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10814, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Routing2)
    01:12:44.125 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10855, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Dread_Let_Them_Go)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16753, column 27 :
    we should only have trait(GoodDenouncer) additional affects for triggers(hereticinit1_denouncerclear)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16761, column 26 :
    we should only have trait(BadDenouncer) additional affects for triggers(hereticinit1_denouncerclear_bad)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16769, column 25 :
    we should only have trait(StrongFaith) additional affects for triggers(hereticinit1_faithclear)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16777, column 22 :
    we should only have trait(Purifier) additional affects for triggers(hereticinit1_purifierclear)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17702, column 29 :
    we should only have trait(CrusaderHistory) additional affects for triggers(crusades_6)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17703, column 30 :
    we should only have trait(StrategyChivalry) additional affects for triggers(crusades_6)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17712, column 29 :
    we should only have trait(CrusaderHistory) additional affects for triggers(crusades_7)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17755, column 26 :
    we should only have trait(JihadHistory) additional affects for triggers(jihads_7)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17756, column 30 :
    we should only have trait(StrategyChivalry) additional affects for triggers(jihads_7)
    01:12:44.140 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17765, column 26 :
    we should only have trait(JihadHistory) additional affects for triggers(jihads_8)
    01:12:44.140 [system.io] [warning] open: mods/barebones/data/text/export_ancillaries.txt.strings.bin is missing
    01:12:44.156 [system.io] [warning] open: mods/barebones/data/text/export_ancillaries.txt is missing
    01:12:44.171 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/scribe_ancillary.tga
    01:12:44.171 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/security_religious.tga
    01:12:44.171 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/security_religious.tga
    01:12:44.187 [system.io] [warning] open: mods/barebones/data/text/export_advice.txt.strings.bin is missing
    01:12:44.265 [system.io] [warning] open: mods/barebones/data/text/export_advice.txt is missing
    01:12:44.312 [system.io] [warning] open: mods/barebones/data/text/export_prologue.txt.strings.bin is missing
    01:12:44.343 [system.io] [warning] open: mods/barebones/data/text/export_prologue.txt is missing
    01:12:44.343 [system.io] [warning] open: mods/barebones/data/text/names.txt.strings.bin is missing
    01:12:44.859 [system.io] [warning] open: mods/barebones/data/text/names.txt is missing
    01:12:45.203 [system.rpt] [error]


    (When running kingdoms.exe)

    Spoiler Alert, click show to read: 
    01:16:05.796 [system.rpt] [always] CPU: SSE2
    01:16:05.796 [system.rpt] [always] ==== system log start, build date: Aug 3 2007 version bld-medieval2-kingdoms-104 (45562) ===
    01:16:05.796 [system.io] [always] mounted pack packs/data_0.pack
    01:16:05.796 [system.io] [always] mounted pack packs/data_1.pack
    01:16:05.796 [system.io] [always] mounted pack packs/data_2.pack
    01:16:05.812 [system.io] [always] mounted pack packs/data_3.pack
    01:16:05.812 [system.io] [always] mounted pack packs/data_4.pack
    01:16:05.812 [system.io] [always] mounted pack packs/localized.pack
    01:16:05.812 [system.io] [warning] open: data/text/shared.txt is missing
    01:16:05.812 [system.io] [warning] open: data/text/tooltips.txt is missing
    01:16:05.812 [system.io] [warning] open: data/text/battle.txt is missing
    01:16:05.812 [system.io] [warning] open: data/text/strat.txt is missing
    01:16:10.000 [data.missing] [warning] missing/invalid cursor for ANISELECT
    01:16:10.015 [data.missing] [warning] missing/invalid cursor for MODIFIER_SABOTAGE
    01:16:10.015 [data.missing] [warning] missing/invalid cursor for MODIFIER_TRADE
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for DRAGGABLE
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for DRAGGING
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_MULTIPLE_SELECT
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_ATTACK
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_CHARACTER
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_RESOURCE
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_FORT
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_MOVE_OBJECT
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_WATCHTOWER
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_DEPLOYMENT_AREA
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_TILE
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_SPECIAL_PIECE
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PAINT
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_ADJUST_HEIGHTS
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_ADD_UNIT
    01:16:10.031 [data.missing] [warning] missing/invalid cursor for MODIFIER_PLACE_SETTLEMENT
    01:16:10.281 [system.io] [warning] open: Export/battlefield/grid.tga is missing
    01:16:10.281 [system.io] [warning] open: Export/battlefield/mediterranean/summer/mediterranean_rock_micro.tga is missing
    01:16:10.968 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:16:10.968 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:10.984 [data.missing] [warning] Cannot find the portrait path: data/ui/mesoamerican/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:11.000 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:16:11.000 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/civilians/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/rogues/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/merchants/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/priests/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:11.015 [data.missing] [warning] Cannot find the portrait path: data/ui/eastern_european/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/princesses/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/heretics/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:11.031 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/witches/000.tga, using the default culture path if it exists
    01:16:11.046 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:11.046 [data.missing] [warning] Cannot find the portrait path: data/ui/middle_eastern/portraits/portraits/young/inquisitors/000.tga, using the default culture path if it exists
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10671, column 23 :
    we should only have trait(Berserker) additional affects for triggers(Battle_Losing_Berserker)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10789, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Not_fighting)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10790, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Not_fighting)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10800, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Routing)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10801, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Routing)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10813, column 28 :
    we should only have trait(BattleChivalry) additional affects for triggers(battle3Chivalry_Dread_Routing2)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10814, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Chivalry_Dread_Routing2)
    01:16:11.062 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 10855, column 25 :
    we should only have trait(BattleDread) additional affects for triggers(battle3Dread_Let_Them_Go)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16753, column 27 :
    we should only have trait(GoodDenouncer) additional affects for triggers(hereticinit1_denouncerclear)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16761, column 26 :
    we should only have trait(BadDenouncer) additional affects for triggers(hereticinit1_denouncerclear_bad)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16769, column 25 :
    we should only have trait(StrongFaith) additional affects for triggers(hereticinit1_faithclear)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 16777, column 22 :
    we should only have trait(Purifier) additional affects for triggers(hereticinit1_purifierclear)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17702, column 29 :
    we should only have trait(CrusaderHistory) additional affects for triggers(crusades_6)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17703, column 30 :
    we should only have trait(StrategyChivalry) additional affects for triggers(crusades_6)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17712, column 29 :
    we should only have trait(CrusaderHistory) additional affects for triggers(crusades_7)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17755, column 26 :
    we should only have trait(JihadHistory) additional affects for triggers(jihads_7)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17756, column 30 :
    we should only have trait(StrategyChivalry) additional affects for triggers(jihads_7)
    01:16:11.078 [script.err] [warning] Trigger parsing warning in data/export_descr_character_traits.txt, at line 17765, column 26 :
    we should only have trait(JihadHistory) additional affects for triggers(jihads_8)
    01:16:11.078 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/scribe_ancillary.tga
    01:16:11.078 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/security_religious.tga
    01:16:11.078 [data.missing] [warning] Failed to find ancillary image data/ui/ancillaries/security_religious.tga
    01:16:12.312 [system.rpt] [error]


    Regards,
    Augustus, The Huge Bother!


    Quote Originally Posted by GrnEyedDvl View Post
    My map class folder isnt the issue, its the configuration of vanilla M2. One solution to this problem is to run it from my folder instead of running the M2.exe.

    The game reads files from their packed version by default. To make your mods show up in the game you have to tell it to look for the unpacked files first. You do this by putting a command in the .cfg file that says:

    [io]
    file_first = true

    I think J@mes was assuming that everyone would have either a mod folder already set up or would have their vanilla installation already set up, but for anyone that doesnt you can download either Retrofit Mod or my Barebones mod folder. Both are set up to run with Kingdoms.
    Last edited by Augustus Lucifer; June 28, 2008 at 03:17 AM.

  7. #7
    GrnEyedDvl's Avatar Liberalism is a Socially Transmitted Disease
    Artifex Technical Staff

    Join Date
    Jan 2007
    Location
    Denver CO
    Posts
    23,844
    Blog Entries
    10

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Did you follow the read me instructions? Theres another bat file you have to run first that copies some of your machine specific settings over to a cfg file used by barebones.

  8. #8
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Quote Originally Posted by GrnEyedDvl View Post
    Did you follow the read me instructions? Theres another bat file you have to run first that copies some of your machine specific settings over to a cfg file used by barebones.
    If you mean "Copy these 3 files etc etc" which are Barebones.bat, Barebones_cfgfixer.bat, and Barebones_headercfg.txt to the main folder, and then run Barebones_cfgfixer.bat, then yes I did. and it had no problem creating Barebones.cfg, which seems to have the proper header text in it as indicated by the txt file. I understand what the files are doing and such and have tinkered with it 100 dif ways to no avail.

    The error seems to be a global issue with "kingdoms.exe". For whatever reason any time I run kingdoms.exe in any of my installations, packed or unpacked, modified or un-modified, it will provide the error text listed above. The kingdoms installations work just fine through the shortcuts and the launcher, but just the base file doesn't. That accounts for why the barebones.bat doesn't work, since it runs through kingdoms.

    Now, since the shortcuts on my desktop seem to work to the kingdoms mods, and they run with the heading ' "D:\Program Files\SEGA\Medieval II Total War\kingdoms.exe" --features.mod=mods/teutonic ', I can only conclude the issue is in how the .bat file asks it to run or an issue in the .cfg(which I've re-created 5 times now). It would appear the kingdoms.exe itself is nothing without having access to the mods folder, which explains why it doesn't work when you just click "kingdoms.exe". So the issue as such is in the .cfg or .bat files inability to duplicate the effect of the shortcut extension --features.mod=mod/teutonic. I'm going to try and make a shortcut and change that to barebones and see if that fixes it.

    Edit #1: The shortcut itself works(as a shortcut), but there's still an error. This time it's back to the "CA_LIBS" heading for the error, and the error log does not show up in the "system.log.txt" file like the previous two errors were. All I can draw from this is either there's an issue with the Barebones installation, or something is weird with the .cfg files, since it always reverts my "medieval2.preferences.cfg" whenever I make changes(not sure if this is normal), that issue might be extrapolated to this situation if in fact it is an issue.

    Edit #2: After googling for CA_LIBS, surprise surprise it sent me right back here. To this thread: http://www.twcenter.net/forums/showthread.php?t=78741. Here's the most relevant response by Darkarbiter:

    "Its to do with the cfg files... if you incorrectly do them then you get this error. For example copying and pasting something and having one of them being 0 and one 1"

    Having worked with him before I trust his input, but now the question is, what's wrong with my CFG file? Here's a copy of the text in my CFG file:

    Spoiler Alert, click show to read: 
    [features]
    mod = mods/barebones

    [log]
    to=mods/barebones/logs/Barebones.system.log.txt
    level=*script* trace

    [io]
    file_first = true

    [video]
    windowed = true


    [audio]
    enable = 1
    master_vol = 100
    music_vol = 60
    provider = Miles Fast 2D Positional Audio
    sfx_vol = 100
    speech_enable = 1
    speech_vol = 100
    sub_faction_accents = 1

    [camera]
    default_in_battle = rts
    move = 50
    restrict = 1
    rotate = 50

    [controls]
    campaign_scroll_max_zoom = 30
    campaign_scroll_min_zoom = 30
    keyset = 0

    [game]
    advanced_stats_always = 0
    advisor_verbosity = 0
    ai_factions = follow
    allusers = 1
    auto_save = 1
    blind_advisor = 0
    campaign_map_game_speed = 57
    campaign_map_speed_up = 0
    campaign_num_time_play = 54
    chat_msg_duration = 10000
    disable_arrow_markers = 0
    disable_events = 0
    english = 0
    event_cutscenes = 1
    fatigue = 1
    first_time_play = 0
    gamespy_save_passwrd = 1
    label_characters = 0
    label_settlements = 1
    micromanage_all_settlements = 1
    morale = 1
    mute_advisor = 1
    no_campaign_battle_time_limit = 0
    pref_factions_played = 1087
    tutorial_battle_played = 0
    tutorial_path = norman_prologue/battle_of_hastings
    unit_size = normal
    unlimited_men_on_battlefield = 0
    use_quickchat = 0

    [hotseat]
    autoresolve_battles = 1
    disable_console = 1
    disable_papal_elections = 1
    save_prefs = 1
    update_ai_camera = 0
    validate_diplomacy = 1

    [network]
    use_ip =
    use_port = 27750

    [ui]
    SA_cards = show
    buttons = show
    full_battle_HUD = 1
    radar = show
    show_tooltips = 1
    unit_cards = show

    [video]
    anisotropic_level = 4
    anti_alias_mode = off
    antialiasing = 0
    assassination_movies = 1
    autodetect = 0
    battle_resolution = 1024 768
    bloom = 1
    building_detail = high
    campaign_resolution = 1024 768
    depth_shadows = 2
    depth_shadows_resolution = 2
    effect_quality = high
    event_movies = 1
    gamma = 128
    grass_distance = 75
    ground_buffers_per_node = 4
    ground_cover_buffers_per_node = 4
    infiltration_movies = 1
    model_buffers_per_node = 4
    no_background_fmv = 0
    reflection = 1
    sabotage_movies = 1
    shader = 2
    show_banners = 1
    show_package_litter = 1
    skip_mip_levels = 1
    splashes = 1
    sprite_buffers_per_node = 4
    stencil_shadows = 1
    subtitles = 0
    terrain_quality = custom
    texture_filtering = 2
    unit_detail = high
    vegetation = 1
    vegetation_quality = high
    vsync = 1
    water_buffers_per_node = 4
    widescreen = 0



    Something to note, I just added the [log] part to try and fix the error, it wasn't working when the first few lines were under [features] either. Also, the CFG file is associated with Wordpad, but to my knowledge that shouldn't mess things up. If it DOES however, that might be the problem, and if it is, and someone would like to tell me how to associate it properly, that might solve it. Anyways that's all I have to go on right now, seems to be a CFG problem. I've already tried adding the file_first parameter to my default .cfg file so I can continue on there, but as previously stated it doesn't work, because every time I launch m2tw the base cfg file reverts Lastly, if GrnEyedDvl is reading this, I think you did your above reply before I did "Edit #3" in above post, so read that also and see if those logs help at all.

    Edit #3: The CA_LIBS was probably a shortcut error since it didn't properly access any .cfg files, so the actual error is the one listed in Edit #3 above post.


    Regards,
    Augustus
    Last edited by Augustus Lucifer; June 28, 2008 at 04:05 AM.

  9. #9

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Quote Originally Posted by GrnEyedDvl View Post
    I think J@mes was assuming that everyone would have either a mod folder already set up or would have their vanilla installation already set up, but for anyone that doesnt you can download either Retrofit Mod or my Barebones mod folder. Both are set up to run with Kingdoms.
    yes i assumed, i think i'll make amendments to class today and place some link your barebones folder.
    I think where have to wait untill all are at this stage before i continue.
    Last edited by J@mes; June 29, 2008 at 07:26 AM.


  10. #10
    Augustus Lucifer's Avatar Life = Like a beanstalk
    Patrician Citizen

    Join Date
    Aug 2006
    Location
    Mote of Dust
    Posts
    10,725

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Problem solved!... kinda

    Barebones is still broken. I don't know if it is the files themselves(obviously isn't if other people got it to work), or if it is a faulty download by me, or somewhere in between. And the main .cfg still retardedly reverts. HOWEVER, I installed the "Retrofit Mod", changed the campaign_script.txt file, ran it, and BOOM!, works like a charm, 30k gold on turn 2 . At least I've determined my scripting isn't bugged beyond repair, now just to continue the rest of the lesson when I'm not so frustrated . Now the question is, does the Retrofit Mod work the same way as Barebones, will I be able to complete this course using it(and additionally, if I want to start futzing around with creating a mod, is "Retrofit" the proper platform, or should I make a new installation and DL something else tailored to that)?

    Regards,
    Augustus
    Last edited by Augustus Lucifer; June 28, 2008 at 04:24 AM.

  11. #11
    sinople's Avatar These Romans are crazy!
    Join Date
    Apr 2007
    Location
    France
    Posts
    2,447

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Very good lesson, we can do so much with scripts .

    I have just one question, what are we aimed to do ? The GeneralCaptureSettlement script ?

  12. #12

    Default Re: Lession 1 - Introduction and script writing (part 1)

    will finish this script in short while and then where moving on to the descr_strat.txt


  13. #13
    Argent Usher's Avatar [sɪθlɔ:d]
    Join Date
    Jun 2007
    Location
    Berlin/Germany
    Posts
    1,240

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Done.

    Moneyscript 2nd turn and changed the target Rome to Valencia (IMO Rome is too far for a test ) and used the add_money 50000.




    And a short question:

    In the docudemons i found Zaragoza_Province 13.196.198 and i have a german version the town is called Saragossa - whatever is used for the scripts ???

    Note: I know i could test it myself but I've no time.
    Those who dream by day are cognizant of many things that escape those who dream only at night.” Edgar Allan Poe

  14. #14
    sinople's Avatar These Romans are crazy!
    Join Date
    Apr 2007
    Location
    France
    Posts
    2,447

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Are capital letters necessary for the script ?
    If i write
    Code:
     
     monitor_event factionturnstart factionislocal
    Will this alterate the script ?

    Thanks


    Edit- This is what i did :

    Code:
    ;------------------- SCRIPTING CLASS EVENTS -------------------;	
    
    	monitor_event FactionTurnStart FactionIsLocal
    		add_money Spain 10000
    	end_monitor
    
    	monitor_event GeneralCaptureSettlement SettlementName Cordoba
                                   and not factionislocal
    		add_money Spain 50000
    	end_monitor
    
    ;END---------------- SCRIPTING CLASS EVENTS -------------------;
    Last edited by sinople; June 29, 2008 at 03:53 AM.

  15. #15

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Quote Originally Posted by sinople View Post
    Are capital letters necessary for the script ?
    If i write
    Code:
     
     monitor_event factionturnstart factionislocal
    Will this alterate the script ?

    Thanks
    Yes the capitals are required the script will not recognizes these else.


  16. #16
    Argent Usher's Avatar [sɪθlɔ:d]
    Join Date
    Jun 2007
    Location
    Berlin/Germany
    Posts
    1,240

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Classmate sinople and i have used a similar script but without the line

    and factionType Target Faction (spain)

    Does it mean if any faction take over the target town (Cordoba/Valencia) spain get the 50000 gold ?
    And in your version it works only if all targetfactions are the same ?

    And the line "and not factionislocal" in the example what does it mean ?
    It works only if it is/was a "rebeltown" ?

    THX for help and please answer also to my first question about the different local versions.

    Regards A.U.
    Those who dream by day are cognizant of many things that escape those who dream only at night.” Edgar Allan Poe

  17. #17

    Default Re: Lession 1 - Introduction and script writing (part 1)

    I will be back here tonight to answer all student questions and hopefully with the task sorry as been late as i have had some life issues to deal with.


  18. #18
    Y_filip's Avatar Tiro
    Join Date
    Mar 2008
    Location
    in the galaxy far-far away
    Posts
    212

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Sorry i late for this class
    but nice tutorial i will post some of my work tomorow

  19. #19
    sinople's Avatar These Romans are crazy!
    Join Date
    Apr 2007
    Location
    France
    Posts
    2,447

    Default Re: Lession 1 - Introduction and script writing (part 1)

    This is what I did :
    Code:
     
            ; ---------------------
            ; counters
    		
            declare_counter Opened_Faction_Overview_Scroll
    		declare_counter Opened_Settlement_Scroll
    		declare_counter mongols_sarkel
    		declare_counter mongols_yerevan
    		declare_counter mongols_baghdad
    		declare_counter timurids_sarkel
    		declare_counter timurids_yerevan
    		declare_counter timurids_baghdad
    		declare_counter farms_built
    		
            
            ; ---------------------
            ; start up
    
            freeze_faction_ai aztecs
    
            ;----------------------
            ; monitors
    
    ;------------------- SCRIPTING CLASS EVENTS -------------------;	
    
    	monitor_event FactionTurnStart FactionIsLocal
    		add_money Spain 10000
    	end_monitor
    
    	monitor_event GeneralCaptureSettlement SettlementName Cordoba
                                   and not factionislocal
    		add_money Spain 50000
    	end_monitor
    
    	monitor_event BuildingCompleted SettlementName London
    		and SettlementBuildingFinished = farms
    		add_population england 5000
    	end_monitor
    
    	monitor_event BuildingCompleted SettlementName London
    		and SettlementBuildingFinished = farms
    				set_counter farms_built 1
    			terminate_monitor
    	end_monitor
    
    	monitor_event FactionTurnEnd FactionIsLocal
            if I_CompareCounter farms_built = 2
    		add_population London 5000
    			terminate_monitor
    		end_if
            if I_CompareCounter farms_built > 0
    			inc_counter farms_built 1
    		end_if
    	end_monitor
    
    ;END---------------- SCRIPTING CLASS EVENTS -------------------;
    Don't know if I should remove the first monitor about adding population.

  20. #20
    Y_filip's Avatar Tiro
    Join Date
    Mar 2008
    Location
    in the galaxy far-far away
    Posts
    212

    Default Re: Lession 1 - Introduction and script writing (part 1)

    Hi i got confuse what is our assigment ..?

Page 1 of 3 123 LastLast

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •