В этой статье мы попытаемся решить ошибку «Ошибка 0003: Не удалось завершить файл», с которой игроки Age of Empires 3 сталкиваются в игре.
Ошибка «Ошибка 0003: Не удалось завершить файл», с которой сталкиваются игроки Age of Empires 3 в игре, ограничивает их доступ к игре. Если вы столкнулись с такой проблемой, вы можете найти решение, следуя приведенной ниже процедуре.
Что такое Age of Empires 3 Definitive Edition, ошибка 0003?
С этой ошибкой мы можем столкнуться с такими различными ошибками, как файлы, размещенные в игре, отсутствуют или неверны. Для этого мы можем проверить отсутствующий или неисправный файл, обратившись к файлу игры и отсканировав отсутствующий или неисправный файл.
Как исправить ошибку 0003 в Age of Empires 3 Definitive Edition
Чтобы решить эту проблему, с которой мы столкнулись, вы можете найти решение проблемы, выполнив следующие шаги.
1-) Проверить целостность файла игры
Мы проверим целостность файла игры и обеспечим сканирование и загрузку любых отсутствующих или неисправных файлов. Для этого;
- Откройте программу Steam.
- Откройте меню библиотеки.
- Откройте вкладку «Возможности», щелкнув правой кнопкой мыши игру Age of Empires 3 Definitive Edition слева.
- Откройте меню «Локальные файлы» в левой части открывшегося экрана.
- Нажмите кнопку «Проверить целостность файлов игры» в меню «Локальные файлы», с которым мы столкнулись.
2-) Удалить папку данных
Откройте каталог файлов Age of Empires 3 Definitive Edition, в который вы его установили, и выберите папку с игровыми данными. Затем откройте папку «Данные» в папке и полностью удалите папку внутри и проверьте целостность файла игры.
- Откройте его, набрав «Выполнить» на стартовом экране поиска.
- Введите каталог папки «C:Usersимя пользователяGamesAge of Empires 3 DE» на экране поиска и нажмите Enter. (Введите свое имя пользователя Windows там, где написано имя пользователя.)
- Откройте вашу папку data в папке, до которой мы дошли, и откройте в ней папку «Данные».
- Затем очистите корзину, удалив все файлы в ней.
Проверьте целостность файла игры, выполнив предложение «Проверить целостность файла игры» еще раз после выполнения удаления.
Age of Empires 3 error 0003: Could not compile file ‘aiLoaderStandard.xs’
okay guys the title explain all, everytime i tried to run a skirmish game this message pop up error 0003: Could not compile file ‘aiLoaderStandard.xs’ ,
i follow the instalation instruction corrctly, put the K&B folder on my document , my game folder, and then put all the into programfile to aoe 3 folder.
when i start the game everything seems run correctly and the kingdom of heaven music start in the main menu, until i try creatin a new city profile for skirmish there are seems 2 nation for each i mean like twice byzantine or twice crusader .. is that normal ? and the name in crusader is chinese, but the flag icon is crusader flag is that normal too ? im rly desperate now.. rly want to play the mod, i hope you guys could help
- obliviongate
- Peasant
- Posts : 10
Join date : 2013-08-27
Re: Age of Empires 3 error 0003: Could not compile file ‘aiLoaderStandard.xs’
by AOE_Fan Tue 27 Aug 2013 — 23:41
1. Can you confirm you have a folder called «Knights and Barbarians» in C:UsersYour NameDocumentsMy Games?
2. If yes, delete that folder. Then, paste the «Knights and Barbarians» folder (that is included with the download) to C:UsersYour NameDocumentsMy Games again.
3. Launch the game, does the error still happen?
Having the same civ selectable twice is how it should be, so the files in your Program Files folder should be fine. I’m 99% sure the error is caused by files in the My Documents folder…
Re: Age of Empires 3 error 0003: Could not compile file ‘aiLoaderStandard.xs’
by obliviongate Tue 27 Aug 2013 — 23:47
i have knights and barbarians folder onmy document/my games folder(i presume its on the same location with age of empire 3 folder)
and about put the program files is it just putin the to programfiles folder on aoe3 folder or replace the inside of it ?
- obliviongate
- Peasant
- Posts : 10
Join date : 2013-08-27
Re: Age of Empires 3 error 0003: Could not compile file ‘aiLoaderStandard.xs’
by AOE_Fan Wed 28 Aug 2013 — 1:06
Hmm, I don’t really know (other people are better with install help)… You could of course try installing Aoe3 to C drive (that’s where it’s usually installed) and try again. Make sure you have TAD patched to 1.03 too.
Also, I have the Complete Collection as well so that shouldn’t be the problem.
- obliviongate
- Peasant
- Posts : 10
Join date : 2013-08-27
Similar topics
Permissions in this forum:
You cannot reply to topics in this forum
Don’t require them researching the tech to stop researching it.
Problem for you use here that you make Every Civilization try and research all the techs, when really they can’t. Only Sioux have those types of Bastions, or Asians this type of Fortified Walls.
A Hint, is that a Shadow Upgrade Monitor, enabling for a certain civ never causes a flaw in the AI script, allowing it to «think» it can really research all those techs you gave it, whereas it really can’t.
You’re code has, in other words, too many requirements. Take a look at FactoryUpgradeMonitor, and you will find the code for Upgrading Heavy Cannons/Great Bombards/Rockets:
rule factoryUpgradeMonitor
inactive
minInterval 45
{
int upgradePlanID = -1; // Quit if there is no factory around
if (kbUnitCount(cMyID, cUnitTypeFactory, cUnitStateAlive) < 1)
{
return;
}
// Disable rule once all upgrades are available
if ((kbTechGetStatus(cTechFactorySteamPower) == cTechStatusActive) &&
(kbTechGetStatus(cTechFactoryMassProduction) == cTechStatusActive) &&
(kbTechGetStatus(cTechFactoryWaterPower) == cTechStatusActive) &&
(kbTechGetStatus(cTechFactoryCannery) == cTechStatusActive) &&
((kbTechGetStatus(cTechImperialBombard) == cTechStatusActive) ||
(kbTechGetStatus(cTechImperialCannon) == cTechStatusActive) ||
(kbTechGetStatus(cTechImperialRocket) == cTechStatusActive)))
{
xsDisableSelf();
return;
}
// Get upgrades as they become useful
if (kbTechGetStatus(cTechFactorySteamPower) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechFactorySteamPower);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechFactorySteamPower, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 85);
return;
}
if (kbTechGetStatus(cTechFactoryWaterPower) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechFactoryWaterPower);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechFactoryWaterPower, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 85);
return;
}
if (kbTechGetStatus(cTechFactoryCannery) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechFactoryCannery);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechFactoryCannery, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 85);
return;
}
if ((kbTechGetStatus(cTechFactoryMassProduction) == cTechStatusObtainable) && (kbUnitCount(cMyID, cUnitTypeFactory, cUnitStateAlive) > 0))
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechFactoryMassProduction);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechFactoryMassProduction, getUnit(cUnitTypeFactory), cEconomyEscrowID, 85);
return;
}
if ((kbTechGetStatus(cTechImperialBombard) == cTechStatusObtainable) &&
(kbCanAffordTech(cTechImperialBombard, cMilitaryEscrowID) == true) &&
(kbUnitCount(cMyID, cUnitTypeGreatBombard, cUnitStateAlive) >= 4))
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechImperialBombard);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechImperialBombard, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 50);
return;
}
if ((kbTechGetStatus(cTechImperialCannon) == cTechStatusObtainable) &&
(kbCanAffordTech(cTechImperialCannon, cMilitaryEscrowID) == true) &&
(kbUnitCount(cMyID, cUnitTypeCannon, cUnitStateAlive) >= 4))
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechImperialCannon);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechImperialCannon, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 50);
return;
}
if ((kbTechGetStatus(cTechImperialRocket) == cTechStatusObtainable) &&
(kbCanAffordTech(cTechImperialRocket, cMilitaryEscrowID) == true) &&
(kbUnitCount(cMyID, cUnitTypeRocket, cUnitStateAlive) >= 4))
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechImperialRocket);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechImperialRocket, getUnit(cUnitTypeFactory), cMilitaryEscrowID, 50);
return;
}
}
The fact of having && (meaning and) in the requirements and || (meaning OR), means everything in AI coding.
Again, the fact of having && (meaning and) in the requirements and || (meaning OR), means everything in AI coding.
I’ll explain the Shadow Tech:
<Tech name ='fpObservatoryTechsShadow' type ='Normal'>
<DBID>5393</DBID>
<ResearchPoints>0.0000</ResearchPoints>
<Status>obtainable</Status>
<Flag>Shadow</Flag>
<Effects>
<Effect type ='Data' amount ='1.00' subtype ='Enable' relativity ='Absolute'>
<Target type ='ProtoUnit'>Observatory</Target></Effect>
<Effect type ='TechStatus' status ='obtainable'>WealthOfNations</Effect>
<Effect type ='TechStatus' status ='obtainable'>DivisionOfLabour</Effect>
<Effect type ='TechStatus' status ='obtainable'>PackagedMeats</Effect>
<Effect type ='TechStatus' status ='obtainable'>ChurchfpGermanMeats</Effect>
<Effect type ='TechStatus' status ='obtainable'>InternationalBankingGerman</Effect>
<Effect type ='TechStatus' status ='obtainable'>SpinningJenny</Effect>
<Effect type ='TechStatus' status ='obtainable'>MechanicalEngineering</Effect>
<Effect type ='TechStatus' status ='obtainable'>Pasteurization</Effect>
<Effect type ='TechStatus' status ='unobtainable'>TheJungle</Effect>
<Effect type ='TechStatus' status ='obtainable'>DailyNewspaper</Effect>
<Effect type ='TechStatus' status ='obtainable'>Nationalism</Effect>
<Effect type ='TechStatus' status ='obtainable'>Imperialism</Effect>
<Effect type ='TechStatus' status ='obtainable'>HotAirBalloonTechnology</Effect>
<Effect type ='TechStatus' status ='obtainable'>AdvancedHotAirBalloonFrench</Effect>
<Effect type ='TechStatus' status ='obtainable'>FrontierTerritory</Effect>
<Effect type ='TechStatus' status ='obtainable'>TheGreatPioneerWagonTrain</Effect>
<Effect type ='TechStatus' status ='obtainable'>TransContinentalRailroad</Effect>
<Effect type ='TechStatus' status ='obtainable'>LumberMillsEuropean</Effect>
<Effect type ='TechStatus' status ='obtainable'>ScoutCavalryEuropean</Effect>
<Effect type ='TechStatus' status ='obtainable'>BattlefieldSurveyors</Effect>
<Effect type ='TechStatus' status ='obtainable'>Dragooning</Effect>
<Effect type ='TechStatus' status ='obtainable'>DutchFluytBuilding</Effect>
<Effect type ='TechStatus' status ='obtainable'>Admirality</Effect>
<Effect type ='TechStatus' status ='unobtainable'>PiratesOfTheBarbaryCoast</Effect>
<Effect type ='TechStatus' status ='obtainable'>TheRightsOfMan</Effect>
<Effect type ='TechStatus' status ='obtainable'>NativeFrenchAlliances</Effect>
<Effect type ='TechStatus' status ='obtainable'>ExplosiveShells</Effect>
<Effect type ='TechStatus' status ='obtainable'>QuicklimeShells</Effect>
<Effect type ='TechStatus' status ='obtainable'>HeavyArtilleryRegiments</Effect>
<Effect type ='TechStatus' status ='obtainable'>Fusils</Effect>
<Effect type ='TechStatus' status ='obtainable'>Rifles</Effect>
<Effect type ='TechStatus' status ='obtainable'>CanisterShot</Effect>
<Effect type ='TechStatus' status ='obtainable'>GatlingGuns</Effect>
<Effect type ='TechStatus' status ='obtainable'>DutchSpiceTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>DutchTeaTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>OttomanSpiceTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>OttomanCoffeeTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>OttomanEgyptianMarket</Effect>
<Effect type ='TechStatus' status ='obtainable'>OttomanTradeGuilds</Effect>
<Effect type ='TechStatus' status ='obtainable'>OttomanTradeGuilds</Effect>
<Effect type ='TechStatus' status ='unobtainable'>IndustrialRevolutionRussian</Effect>
<Effect type ='TechStatus' status ='unobtainable'>IronandCoalBusiness</Effect>
<Effect type ='TechStatus' status ='obtainable'>TheEncyclopedia</Effect>
<Effect type ='TechStatus' status ='obtainable'>BritishEastIndiaCompany</Effect>
<Effect type ='TechStatus' status ='obtainable'>SlaveTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>BritishHiredPrivateers</Effect>
<Effect type ='TechStatus' status ='obtainable'>SpanishGoldTrade</Effect>
<Effect type ='TechStatus' status ='obtainable'>AbolitionOfSlavery</Effect>
<Effect type ='TechStatus' status ='obtainable'>NaturalPhilosophy</Effect>
<Effect type ='TechStatus' status ='obtainable'>PublicSchooling</Effect>
<Effect type ='TechStatus' status ='obtainable'>SeparationofPowers</Effect>
<Effect type ='TechStatus' status ='obtainable'>ComputerObservatoryTechs1</Effect>
</Effects>
</Tech>
Here is the Code in the AI, no special requirements because many civs have this:
rule ObservatoryUpgradeMonitorIndustrial
inactive
minInterval 10
{
int upgradePlanID = -1; // Disable rule for native or Asian civs
if ((civIsNative() == true) || (civIsAsian() == true))
{
xsDisableSelf();
return;
}
// Get upgrades one at a time
if (kbTechGetStatus(cTechWealthOfNations) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechWealthOfNations);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechWealthOfNations, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechTheEncyclopedia) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechTheEncyclopedia);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechTheEncyclopedia, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechGermanUniversities) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechGermanUniversities);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechGermanUniversities, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechKritikkderreineVernuft) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechKritikkderreineVernuft);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechKritikkderreineVernuft, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechSpinningJenny) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechSpinningJenny);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechSpinningJenny, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechPasteurization) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechPasteurization);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechPasteurization, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechDailyNewspaper) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechDailyNewspaper);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechDailyNewspaper, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
if (kbTechGetStatus(cTechDivisionOfLabour) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechDivisionOfLabour);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechDivisionOfLabour, getUnit(cUnitTypeObservatory), cEconomyEscrowID, 50);
return;
}
}
For Specific Civs, I have individual Tech Shadows; for instance, Britain does not get Le Encyclopedia (Denis Diderot, Frenchman), nor does Russia get Kritikk der reine Vernuft (By Immanuel Kant, Prussian Philosopher), but each has its own set tree of extra special upgrades which overrule those previous, weaker upgrades.
A Specific AI Monitor is necessary only when a specific civilization has all these techs available, in this case, the Aztecs:
rule AztecTempleUpgradeMonitor
inactive
minInterval 5
{
int upgradePlanID = -1; if ((kbTechGetStatus(cTechAztecSlaveLabour) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecCoinage) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecTempleOfHuitzilopochtli) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecGarlandWars) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecMacehualtinsVsArmouredCavalry) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecWarhutCombat) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecEagleWarriors) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecImperialTribute) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecShamans) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecPaganism) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecGrainMarket) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecTradeGuilds) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecPublicBaths) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecGold) == cTechStatusActive) &&
(kbTechGetStatus(cTechAztecWoodImports) == cTechStatusActive))
{
xsDisableSelf();
return;
}
// Get upgrades one at a time
if (kbTechGetStatus(cTechAztecSlaveLabour) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecSlaveLabour);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecSlaveLabour, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 99);
return;
}
if (kbTechGetStatus(cTechAztecCoinage) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecCoinage);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecCoinage, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 98);
return;
}
if (kbTechGetStatus(cTechAztecTempleOfHuitzilopochtli) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecTempleOfHuitzilopochtli);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecTempleOfHuitzilopochtli, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 98);
return;
}
if (kbTechGetStatus(cTechAztecGarlandWars) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecGarlandWars);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecGarlandWars, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 97);
return;
}
if (kbTechGetStatus(cTechAztecMacehualtinsVsArmouredCavalry) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecMacehualtinsVsArmouredCavalry);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecMacehualtinsVsArmouredCavalry, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 96);
return;
}
if (kbTechGetStatus(cTechAztecWarhutCombat) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecWarhutCombat);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecWarhutCombat, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 96);
return;
}
if (kbTechGetStatus(cTechAztecEagleWarriors) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecEagleWarriors);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecEagleWarriors, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 95);
return;
}
if (kbTechGetStatus(cTechAztecImperialTribute) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecImperialTribute);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecImperialTribute, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 94);
return;
}
if (kbTechGetStatus(cTechAztecShamans) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecShamans);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecShamans, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 93);
return;
}
if (kbTechGetStatus(cTechAztecPaganism) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecPaganism);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecPaganism, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 92);
return;
}
if (kbTechGetStatus(cTechAztecGrainMarket) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecGrainMarket);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecGrainMarket, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 91);
return;
}
if (kbTechGetStatus(cTechAztecTradeGuilds) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecTradeGuilds);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecTradeGuilds, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 90);
return;
}
if (kbTechGetStatus(cTechAztecPublicBaths) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecPublicBaths);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecPublicBaths, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 89);
return;
}
if (kbTechGetStatus(cTechAztecGold) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecGold);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecGold, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 88);
return;
}
if (kbTechGetStatus(cTechAztecWoodImports) == cTechStatusObtainable)
{
upgradePlanID = aiPlanGetIDByTypeAndVariableType(cPlanResearch, cResearchPlanTechID, cTechAztecWoodImports);
if (upgradePlanID >= 0)
aiPlanDestroy(upgradePlanID);
createSimpleResearchPlan(cTechAztecWoodImports, getUnit(cUnitTypefpAztecTemple), cEconomyEscrowID, 87);
return;
}
}
As you see, even though it may be elemetary — having follow priorities, for instance going down in row, from 99 to 87,
helps the AI play better.
It’s not important to make the AI «save» so many resources as it is to set a low mandatory priority on building a building or researching a tech. With a low priority, say 20, for building, the Computer plays efficiently enough to skip the building if absolutely necessary, but if it has enough resources, and a surplus, it will invest early enough.
Hope this helped some!
regards,
murdilator
-
#2
Hi MR EDDD,
The following applies to most games in general, and not just to the games that
may be listed in the KB Article refered to in this post.
SYMPTOMS:
When you start or play any one of the games that is listed in the «Applies to» section, you may experience one or more of the
following symptoms:
..The game stops responding.
..The game quits unexpectedly.
..The computer restarts unexpectedly.
..The game encounters an error and needs to close
Additionally, you may receive the following error message after you receive the Gathering Exception Data dialog box:
<Game Name>has encountered a problem and needs to close.
RESOLUTION:
Method 1: Restart your computer by using a clean boot procedure
Method 2: Remove and Reinstall the Game
Method 3: Adjust graphics hardware acceleration
Method 4: Disable AGP Texturing in the DirectX Diagnostic tool
Method 5: Temporarily disable the sound card in Windows
Method 6: Lower sound acceleration
Method 7 : Download and install the most recent version of DirectX
Method 8: Update your video driver
Method 9: Update your sound driver
Method 10: Scan your computer for viruses
Method 11: Remove spyware
Method 12: Install the latest VIA chipset drivers
Method 13: Create a new user account in Windows XP
Method 14: Change the compatibility setting
Detailed instructions and video clips are published at:
http://support.microsoft.com/?scid=kb;en-us;303032
—
Cheers, *Windows_XP_MVP_Shell/User*
Jimmy S. http://mvp.support.microsoft.com
Visit my MSN Games and Windows Gaming Help Site: www.msce.mvps.org
MS Games Help and Support Center: http://support.microsoft.com/?pr=gms
My advice is donated «AS IS» without warranty; nor do I confer any rights.
_________________________________________________________
MR EDDD Wrote:
=================
| Hi I’ve been playing AOE3 on my XP/SP2 system for sometime and its been
| working great. I’ve now installed Asian Dynasties on my system as well and
| even though it loads ok, I get this error message each time I try and play a
| skirmish game. The message reads:
| 00:00:00 (0): Error 0003 could not compile file ‘aiLoaderStandard.xs
|
| I can get rid of the error message by clicking ok but then when the game
| starts, the villages of all the other teams will go and collect the bundles
| of resources at their respective town centres but will then cease to move
| unless attacked, where by they will attack back. That is, they will not build
| up their civilisation as they normally would. I believe this is related to
| the error message I am getting when the game is starting and was wondering
| what I can do about this.
-
При запуске игры (версия от Фаргуса) под Windows 7 наблюдается такая проблема (у аддона к ней The Titans) тоже самое: перед началом каждой новой кампании выдается ошибка вида:
(0): XS: Error 0003: "Could not compile file AI2***.xs"
Где звездочки — имя файла, каждый раз разное в зависимости от кампании, расширение одно. Окно ошибки можно закрыть — игра работает отлично, но есть одно «НО» — как я понимаю, это ошибка загрузки сценария, поскольку уже начиная с первой кампании наблюдаю идиотизм — юниты противника не атакуют (там должны быть периодические нападения на гавань), они просто стоят на месте. Набросятся только, если к ним приблизиться, а приблизиться к ним без чита невозможно, равно как и открыть следующую кампанию — без их нападений как в анекдоте «нет ножек, нет и мультиков». На скриншоте видно, что все потенциальные нападающие застыли на краю карты, и не двигаются. И кампанию можно играть вечно. С этим можно что-то сделать или под семеркой про игру можно забыть? Совместимость, разумеется, не помогает. Наблюдается такое почти на всех картах, где предполагались нападения.
-
Juliette > А галочка «Run this program as an administrator»?
Насколько могу судить, Windows 7 просто не позволяет сохранять скомпилированные скрипты AI на жестком диске.
А, в показанных папках эти файлы существуют? -
Не помогает.Да, первым делом проверила. Все запрашиваемые файлы в папке с игрой присутствуют. Никаких ошибок при установке тоже не было.
Эти файлы также переносила на С:, куда игра прописала некоторые папки.Есть почти пустая папка scenario, но за давностью не помню, были там файлы или нет.
-
Juliette > Так… проблема только с с «Titans» экспэншном… Правда, она у меня на русском, в то время, как оригинал на английском, попробую поставить английскую версию — может дело в локализации)
———- Сообщение добавлено в 19:44 ———- Предыдущее сообщение размещено в 19:28 ———-
Все верно… дело в локализации — английская версия работает нормально.
Я бы попробовал исправить локализацию, если бы имел хоть малейшее представление о том, как это сделать) -
Juliette, данный баг проявляется во всех русских версиях данной игры, включая даже официальную локализацию от «Нового Диска», причём только на Vista/7. И всё потому, что её, скажем так, «неправильно» русифицируют (только проявляться это стало только начиная с Vista).
Fix (неофициальный, разумеется, — официальные fix’ы у нас «Новый Диск» не очень горит желанием делать) существует, но он сделан именно для локализованной версии, поэтому поможет ли на версии от «Фаргуса» — сказать не могу.Патч во вложении. Автор — JawBreaker. Нужно просто распаковать в папку с заменой файлов.
Тема на форуме локализатора с кратким тех. описанием патча: http://forum.nd.ru/lofiversion/index.php?t22715.html.Как самый крайний вариант (если не поможет) — можно купить локализацию (она вышла два года назад, ещё вполне продаётся, там даже озвучка есть, по-моему [потом поищу у себя, чтобы проверить]!) и поставить этот патч, автор гарантирует нормальную работу AI с ним в локализованной версии даже на 64-битной Windows 7.
Вложения:
-
Спасибо! Все очнулись, процесс пошёл! Так что к Фаргусовской, по-крайней мере, подходит.) Перевод текста правда непривычный несколько, но это детали.
-
Всем привет! Windows 8, экран 17″ 1600×900. А как можно эту игру запустить с таким разрешением экрана? Ну или хотя бы в широком формате. Кто то знает? Спасибо.
Снимаю вопрос. СсыльПоследнее редактирование: 4 фев 2013
-
MOWGLY
- Регистрация:
- 10 мар 2014
- Сообщения:
- 1
Спасибо — схавал — помогло
-
На всякий случай продублирую то, что по ссылке выше: игру нужно запустить с параметрами командной строки «xres=1600 yres=900» (ставятся в свойствах ярлыка).
-
Стифа
- Регистрация:
- 3 июл 2014
- Сообщения:
- 1
Черный экран при запуске
Народ, помогите. устанавливаю игру без всяких проблем, запускается все нормально, видеоролики идут, но потомвместо основного меню игры…. музыка игрет, а экран черный
-
Можно поконкретней объяснить куда сбрасывать эти файлы,скинутые тобой
— добавлено 24 апр 2016, предыдущее сообщение размещено: 24 апр 2016 —
А,все, не надо.я понял,что в основную надо))
-
RebelDan
- Регистрация:
- 14 окт 2016
- Сообщения:
- 1
Спасибо всем за ответы!Прошло 6 лет,а они всё равно полезны!В эту игру возможно играть теперь только на уровне титанов.Надеюсь,когда-нибудь если кто-то это из ребят,которые начали тему,или ответили на вопросы,увидят это сообщение- вы молодцы))Удачи и счастья в жизни!
-
помогите! игра заканчивается через 15-20 минут после начала пишет: вы потерпели поражение. так было уже 4 раза. переустановить не могу устанавливал знакомый компьютерщик за деньги потому что у меня при установке показывало ошибку и игра не запускалась. он не согласится изза такой мелочи опять время на меня тратить даже и за деньги
-
Bato-San
Чеширский волк-киборг
- Регистрация:
- 24 июн 2010
- Сообщения:
- 14.136
Игра установлена, запускается и функционирует. А проигрыши и выигрыши это закономерный результат игрового процесса. Возможно, что так играете, что проигрываете за 15 минут.
Последнее редактирование: 10 янв 2019
-
Uka
Переводчик
- Регистрация:
- 21 окт 2012
- Сообщения:
- 24.107
Зря администраторы закрыли первую тему автора данного вопроса, — по-моему, это явно из категории «вопросы по прохождению».
Наверное, там какое-то временное ограничение стоит в первой миссии, нужно успеть что-то сделать до того, как произойдёт какое-то событие по сценарию? -
Во-первых, в заголовках тем и в данном разделе, и в «Прохождениях игр» указываются названия игр, а не проблем с ними.
Во-вторых, если посмотреть информацию о прохождении игры (например, здесь), то в описании первой миссии, по-моему, невозможно найти даже намёка на некое ограничение по времени.
В-третьих, если опять-таки воспользоваться поисковой системой, то можно обнаружить огромное количество похожих проблем с этой игрой — пусть и не идентичных данной: у кого-то враги не развиваются, у кого-то игра стопорится после убийства кракена (всё это — в первой миссии). Логично предположить, что здесь примерно то же самое, — и в первую очередь следует выяснить, о какой версии игры идёт речь. Тем более раз с её установкой по умолчанию возникли какие-то проблемы.Если в процессе обсуждения (в том случае, если оно будет) станет понятно, что проблема действительно именно в неверных действиях игрока во время прохождения, то можно будет создать (по правилам) новую тему в соответствующем разделе и продолжить разговор там. Пока же вероятность того, что проблема именно технического характера, представляется более высокой.
Поэтому администраторам собственное решение о закрытии видится совершенно правильным, а пользователям при оценке их действий предлагается не выносить поспешных суждений.
Последнее редактирование: 10 янв 2019
Sharp_ey и Eraser нравится это.
-
Хелп! Я проходила кампанию очень давно еще на старом компе и с другого диска лет 12 назад. И вот решила ее пройти сейчас прошла 6 сценариев вышла, на следующий день захожу- все обнулилось предлагает начать с начала. Как сохранить пройденное? Titans
Последнее редактирование: 30 мар 2020