@@ -4149,7 +4149,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :de l'script de
STR_AI_SETTINGS_CLOSE :{BLACK}Tanca
STR_AI_SETTINGS_RESET :{BLACK}Restableix
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Dies des de l'inici de la IA prèvia fins que s'inicia aquesta: {ORANGE}{STRING}


# Textfile window
@@ -4293,7 +4293,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skripta Igre
STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori
STR_AI_SETTINGS_RESET :{BLACK}Resetiraj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Broj dana za start ovog UI-ja nakon prethodnog (otprilike): {ORANGE}{STRING}


# Textfile window
@@ -4290,7 +4290,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :herní skript
STR_AI_SETTINGS_CLOSE :{BLACK}Zavřít
STR_AI_SETTINGS_RESET :{BLACK}Obnovit nastavení
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Počet dní kdy se spustí tato AI po předchozí (plus/mínus): {ORANGE}{STRING}


# Textfile window
@@ -4197,7 +4197,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spilscript
STR_AI_SETTINGS_CLOSE :{BLACK}Luk
STR_AI_SETTINGS_RESET :{BLACK}Nulstil
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antal dage denne AI skal starte efter den forrige (plus/minus): {ORANGE}{STRING}


# Textfile window
@@ -4197,7 +4197,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelscript
STR_AI_SETTINGS_CLOSE :{BLACK}Sluiten
STR_AI_SETTINGS_RESET :{BLACK}Terugstellen
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Aantal dagen dat deze AI start na de vorige (ongeveer): {ORANGE}{STRING}


# Textfile window
@@ -1486,6 +1486,9 @@ STR_CONFIG_SETTING_AI_PROFILE_HARD :Hard

STR_CONFIG_SETTING_AI_IN_MULTIPLAYER :Allow AIs in multiplayer: {STRING2}
STR_CONFIG_SETTING_AI_IN_MULTIPLAYER_HELPTEXT :Allow AI computer players to participate in multiplayer games
STR_CONFIG_SETTING_AI_START_DELAY :Start delay between AIs (give or take): {STRING2}
STR_CONFIG_SETTING_AI_START_DELAY_HELPTEXT :Number of days to wait before starting an AI, or subsequent AI(s) after the previous one.{}If the number of days is different than zero, a random deviation of 60 days is added, and the actual value in-game will be 'number_of_days + random(-60 days, 60 days)', with a minimum of 1 day and a maximum of 3600 days.{}If the number of days is zero, the AI(s) will start immediately.{}The default value for this setting is based on the value selected for 'Default settings profile'.
STR_CONFIG_SETTING_AI_START_DELAY_VALUE :{COMMA}{NBSP}day{P 0 "" s}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES :#opcodes before scripts are suspended: {STRING2}
STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT :Maximum number of computation steps that a script can take in one turn
STR_CONFIG_SETTING_SCRIPT_MAX_MEMORY :Max memory usage per script: {STRING2}
@@ -4145,6 +4148,8 @@ STR_ERROR_AI_DEBUG_SERVER_ONLY :{YELLOW}AI/Game

# AI configuration window
STR_AI_CONFIG_CAPTION :{WHITE}AI/Game Script Configuration
STR_AI_CONFIG_START_DELAY :{LTBLUE}Start delay between AIs (give or take): {ORANGE}{STRING1}
STR_AI_CONFIG_START_DELAY_TOOLTIP :{BLACK}Number of days to wait before starting an AI, or subsequent AI(s) after the previous one.{}If the number of days is different than zero, a random deviation of 60 days is added, and the actual value in-game will be 'number_of_days + random(-60 days, 60 days)', with a minimum of 1 day and a maximum of 3600 days.{}If the number of days is zero, the AI(s) will start immediately.{}The default value for this setting is based on the value selected for 'Default settings profile'.
STR_AI_CONFIG_GAMELIST_TOOLTIP :{BLACK}The Game Script that will be loaded in the next game
STR_AI_CONFIG_AILIST_TOOLTIP :{BLACK}The AIs that will be loaded in the next game
STR_AI_CONFIG_HUMAN_PLAYER :Human player
@@ -4197,7 +4202,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{RAW_STRING}: {ORANGE}{STRING1}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING1}


# Textfile window
@@ -3953,7 +3953,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING}


# Textfile window
@@ -4184,7 +4184,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Close
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Number of days to start this AI after the previous one (give or take): {ORANGE}{STRING}


# Textfile window
@@ -4115,7 +4115,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :GameScript
STR_AI_SETTINGS_CLOSE :{BLACK}Sulge
STR_AI_SETTINGS_RESET :{BLACK}Nulli
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Päevade arv eelmise tehismõistuse alustamisest pärast mida antud tehismõistus alustab (umbkaudne): {ORANGE}{STRING}


# Textfile window
@@ -3529,7 +3529,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spæl Script
STR_AI_SETTINGS_CLOSE :{BLACK}Lat aftur
STR_AI_SETTINGS_RESET :{BLACK}Endurstilla
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Tali av døgum til hetta AI byrjar aftaná tað fyrra (umleið): {ORANGE}{STRING}


# Textfile window
@@ -4194,7 +4194,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Peliskripti
STR_AI_SETTINGS_CLOSE :{BLACK}Sulje
STR_AI_SETTINGS_RESET :{BLACK}Palauta
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Päiviä edellisen tekoälyn aloittamisesta tämän tekoälyn aloittamiseen (arvio): {ORANGE}{STRING}


# Textfile window
@@ -4197,7 +4197,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de jeu
STR_AI_SETTINGS_CLOSE :{BLACK}Fermer
STR_AI_SETTINGS_RESET :{BLACK}Réinitialiser
STR_AI_SETTINGS_SETTING :{STRING}{NBSP}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Nombre de jours avant de démarrer cette IA après la précédente (approximativement){NBSP}: {ORANGE}{STRING}


# Textfile window
@@ -4297,7 +4297,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Sgriobt geama
STR_AI_SETTINGS_CLOSE :{BLACK}Dùin
STR_AI_SETTINGS_RESET :{BLACK}Ath-shuidhich
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :An àireamh dhe làithean mus tèid an IF seo a thòiseachadh an dèidh an tè mu dheireadh (mu thimcheall): {ORANGE}{STRING}


# Textfile window
@@ -4177,7 +4177,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script do xogo
STR_AI_SETTINGS_CLOSE :{BLACK}Pechar
STR_AI_SETTINGS_RESET :{BLACK}Restablecer
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días para iniciar esta IA despois da anterior: {ORANGE}{STRING}


# Textfile window
@@ -4122,7 +4122,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skript
STR_AI_SETTINGS_CLOSE :{BLACK}Schließen
STR_AI_SETTINGS_RESET :{BLACK}Zurücksetzen
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Wartezeit in Tagen zwischen dem Starten dieser KI und dem der vorherigen : {ORANGE}{STRING}


# Textfile window
@@ -4248,7 +4248,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Δέσμη Εν
STR_AI_SETTINGS_CLOSE :{BLACK}Κλείσιμο
STR_AI_SETTINGS_RESET :{BLACK}Επαναφορά
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Αριθμός ημερών για την εκκίνηση της επόμενης AI μετά από τη προηγούμενη (περίπου): {ORANGE}{STRING}


# Textfile window
@@ -4076,7 +4076,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :סקריפט מ
STR_AI_SETTINGS_CLOSE :{BLACK}סגור
STR_AI_SETTINGS_RESET :{BLACK}אתחל
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :מספר הימים להתחלת שחקן מחשב זה אחרי הקודם (פחות או יותר): {ORANGE}{STRING}


# Textfile window
@@ -4260,7 +4260,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Játékszkript
STR_AI_SETTINGS_CLOSE :{BLACK}Bezárás
STR_AI_SETTINGS_RESET :{BLACK}Visszaállítás
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Az előző MI indításától eltelt napok száma ezen MI indításáig (megközelítőleg): {ORANGE}{STRING}


# Textfile window
@@ -3770,7 +3770,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Leikja forskrif
STR_AI_SETTINGS_CLOSE :{BLACK}Loka
STR_AI_SETTINGS_RESET :{BLACK}Frumstilla
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Hversu mörgum dögum eftir síðustu gervigreind á að hlaða þessari (sirka): {ORANGE}{STRING}


# Textfile window
@@ -4086,7 +4086,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skrip Permainan
STR_AI_SETTINGS_CLOSE :{BLACK}Tutup
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Jalankan AI setelah berapa hari : {ORANGE}{STRING}


# Textfile window
@@ -4002,7 +4002,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script an Chlui
STR_AI_SETTINGS_CLOSE :{BLACK}Dún
STR_AI_SETTINGS_RESET :{BLACK}Athshocraigh
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Líon na laethanta a thógfaidh sé chun an AI seo a thosú tar éis an ceann roimhe (a bheag nó a mhór): {ORANGE}{STRING}


# Textfile window
@@ -4226,7 +4226,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script
STR_AI_SETTINGS_CLOSE :{BLACK}Chiudi
STR_AI_SETTINGS_RESET :{BLACK}Reimposta
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Giorni da attendere per l'avvio di questa IA dopo la precedente (approssimativo): {ORANGE}{STRING}


# Textfile window
@@ -4005,7 +4005,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :ゲームスク
STR_AI_SETTINGS_CLOSE :{BLACK}閉じる
STR_AI_SETTINGS_RESET :{BLACK}リセット
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :AI企業の設立間隔(倒産/買収後): {ORANGE}{STRING}


# Textfile window
@@ -4198,7 +4198,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :게임 스크
STR_AI_SETTINGS_CLOSE :{BLACK}닫기
STR_AI_SETTINGS_RESET :{BLACK}초기화
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :이전 인공지능 이후 이 인공지능이 나타나기 위한 날짜수: {ORANGE}약 {STRING}일


# Textfile window
@@ -4296,7 +4296,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ludi Scripti
STR_AI_SETTINGS_CLOSE :{BLACK}Claudere
STR_AI_SETTINGS_RESET :{BLACK}Revertere
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Quot dies post IA priorem haec IA incipiet (plus minusve): {ORANGE}{STRING}


# Textfile window
@@ -4208,7 +4208,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spēles skripts
STR_AI_SETTINGS_CLOSE :{BLACK}Aizvērt
STR_AI_SETTINGS_RESET :{BLACK}Atiestatīt
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Aptuvenais dienu skaits, līdz palaist šo MI pēc iepriekšējā: {ORANGE}{STRING}


# Textfile window
@@ -4277,7 +4277,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Žaidimo skript
STR_AI_SETTINGS_CLOSE :{BLACK}Uždaryti
STR_AI_SETTINGS_RESET :{BLACK}Atstatyti
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Dienų skaičius po kurio šitas DI bus paleistas po paskutiniojo (maždaug): {ORANGE}{STRING}


# Textfile window
@@ -4196,7 +4196,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spill-Script
STR_AI_SETTINGS_CLOSE :{BLACK}Zoumaachen
STR_AI_SETTINGS_RESET :{BLACK}Reset
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Unzuel un Deeg wou des KI gestart gëtt no der leschter: {ORANGE}{STRING}


# Textfile window
@@ -3687,7 +3687,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :SkripPermainan
STR_AI_SETTINGS_CLOSE :{BLACK}Tutup
STR_AI_SETTINGS_RESET :{BLACK}Semula
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Bilangan hari Kepintaran Tiruan dimulakan selepas yang terdahulu (lebih kurang): {ORANGE}{STRING}


# Textfile window
@@ -4172,7 +4172,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spillskript
STR_AI_SETTINGS_CLOSE :{BLACK}Lukk
STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antall dager denne AIen skal starte etter den forrige (ca): {ORANGE}{STRING}


# Textfile window
@@ -3918,7 +3918,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelscript
STR_AI_SETTINGS_CLOSE :{BLACK}Lukk
STR_AI_SETTINGS_RESET :{BLACK}Tilbakestill
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Antall dagar denne AIen skal starte etter den førre (ca): {ORANGE}{STRING}


# Textfile window
@@ -4583,7 +4583,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Zamknij
STR_AI_SETTINGS_RESET :{BLACK}Resetuj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Liczba dni, aby aktywować tą SI po uruchomieniu poprzedniej (zwiększ lub zmniejsz): {ORANGE}{STRING}


# Textfile window
@@ -4162,7 +4162,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de jogo
STR_AI_SETTINGS_CLOSE :{BLACK}Fechar
STR_AI_SETTINGS_RESET :{BLACK}Repor
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de dias para iniciar esta IA depois da anterior (aproximadamente): {ORANGE}{STRING}


# Textfile window
@@ -3988,7 +3988,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script Joc
STR_AI_SETTINGS_CLOSE :{BLACK}Închide
STR_AI_SETTINGS_RESET :{BLACK}Resetează
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Perioada (în zile) după care această librărie IA va fi activată, după cea anterioară (valoare aproximativă): {ORANGE}{STRING}


# Textfile window
@@ -4389,7 +4389,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Игровой
STR_AI_SETTINGS_CLOSE :{BLACK}Закрыть
STR_AI_SETTINGS_RESET :{BLACK}Сброс
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Запускать этот ИИ через {ORANGE}{STRING} д{P 0:1 ень ня ней} после предыдущего


# Textfile window
@@ -4244,7 +4244,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skripta Partije
STR_AI_SETTINGS_CLOSE :{BLACK}Zatvori
STR_AI_SETTINGS_RESET :{BLACK}Poništi
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Broj dana za pokretanje ove VI posle prethodne (otprilike): {ORANGE}{STRING}


# Textfile window
@@ -4197,7 +4197,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :游戏脚本
STR_AI_SETTINGS_CLOSE :{BLACK}关闭
STR_AI_SETTINGS_RESET :{BLACK}重设
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :当前AI在前一个AI运行 {ORANGE}{STRING}天之后开始运行


# Textfile window
@@ -4070,7 +4070,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skript
STR_AI_SETTINGS_CLOSE :{BLACK}Zavrieť
STR_AI_SETTINGS_RESET :{BLACK}Resetovať
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Koľko dní prejde od spustenia predchádzajúcej umelej inteligencie k naštartovaniu novej: {ORANGE}{STRING}


# Textfile window
@@ -4160,7 +4160,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Skripta igre
STR_AI_SETTINGS_CLOSE :{BLACK}Zapri
STR_AI_SETTINGS_RESET :{BLACK}Resetiraj
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Število dni zamika med zagonom sledeče po predhodni UI: {ORANGE}{STRING}


# Textfile window
@@ -4169,7 +4169,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de Juego
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días a esperar antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING}


# Textfile window
@@ -4198,7 +4198,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Script de juego
STR_AI_SETTINGS_CLOSE :{BLACK}Cerrar
STR_AI_SETTINGS_RESET :{BLACK}Reiniciar
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Número de días a esperar antes de comenzar esta IA desde el momento en el que empezó la anterior: {ORANGE}{STRING}


# Textfile window
@@ -4197,7 +4197,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Spelskriptets
STR_AI_SETTINGS_CLOSE :{BLACK}Stäng
STR_AI_SETTINGS_RESET :{BLACK}Återställ
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Ungefärligt antal dagar som denna datorspelare startar efter föregående datorspelare: {ORANGE}{STRING}


# Textfile window
@@ -3661,7 +3661,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :விளைய
STR_AI_SETTINGS_CLOSE :{BLACK}மூடு
STR_AI_SETTINGS_RESET :{BLACK}முன்னிருந்தமாதிரி மாற்று
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :இந்த AI-இனை தொடங்குவதற்கான நாட்கள், முந்தின AI-இற்கு பிறகு: {ORANGE}{STRING}


# Textfile window
@@ -3917,7 +3917,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}ปิด
STR_AI_SETTINGS_RESET :{BLACK}เริ่มใหม่
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :จำนวนที่จะให้เริ่มต้น AI นี้หลังจากที่มีการเริ่มต้น AI ก่อนหน้านี้ไป: {ORANGE}{STRING}


# Textfile window
@@ -4009,7 +4009,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :遊戲腳本
STR_AI_SETTINGS_CLOSE :{BLACK}關閉
STR_AI_SETTINGS_RESET :{BLACK}重設
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :此 AI 與上一個 AI 的啟動時間相隔天數 (近似值): {ORANGE}{STRING}


# Textfile window
@@ -4111,7 +4111,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Oyun Betiği
STR_AI_SETTINGS_CLOSE :{BLACK}Kapat
STR_AI_SETTINGS_RESET :{BLACK}Yeniden başlat
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Bu YZ bir öncekinden kaç gün sonra başlayacak (yaklaşık): {ORANGE}{STRING}


# Textfile window
@@ -4308,7 +4308,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Ігровий
STR_AI_SETTINGS_CLOSE :{BLACK}Закрити
STR_AI_SETTINGS_RESET :{BLACK}Скидання
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Кількість днів до запуску цього АІ після запуску попереднього АІ: {ORANGE}{STRING}


# Textfile window
@@ -4176,7 +4176,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Game Script
STR_AI_SETTINGS_CLOSE :{BLACK}Đóng
STR_AI_SETTINGS_RESET :{BLACK}Thiết Lập Lại
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Số ngày cần chờ để chạy AI này sau cái trước (sớm hay muộn): {ORANGE}{STRING}


# Textfile window
@@ -4038,7 +4038,6 @@ STR_AI_SETTINGS_CAPTION_GAMESCRIPT :Sgript Gêm
STR_AI_SETTINGS_CLOSE :{BLACK}Cau
STR_AI_SETTINGS_RESET :{BLACK}Ailosod
STR_AI_SETTINGS_SETTING :{STRING}: {ORANGE}{STRING}
STR_AI_SETTINGS_START_DELAY :Nifer o ddiwrnodau i aros wedi dechrau AI blaenorol cyn dechrau hon (fwy neu lai): {ORANGE}{STRING}


# Textfile window
@@ -366,9 +366,6 @@ void MakeNewgameSettingsLive()
_settings_game.ai_config[c] = nullptr;
if (_settings_newgame.ai_config[c] != nullptr) {
_settings_game.ai_config[c] = new AIConfig(_settings_newgame.ai_config[c]);
if (!AIConfig::GetConfig(c, AIConfig::SSS_FORCE_GAME)->HasScript()) {
AIConfig::GetConfig(c, AIConfig::SSS_FORCE_GAME)->Change(nullptr);
}
}
}
_settings_game.game_config = nullptr;
@@ -3126,6 +3126,16 @@ bool AfterLoadGame()
}
}

if (IsSavegameVersionBefore(SLV_AI_START_DELAY)) {
switch (_settings_game.script.settings_profile) {
case SP_EASY: _settings_game.ai.ai_start_delay = AI::START_DELAY_EASY; break;
case SP_MEDIUM: _settings_game.ai.ai_start_delay = AI::START_DELAY_MEDIUM; break;
case SP_HARD: _settings_game.ai.ai_start_delay = AI::START_DELAY_HARD; break;
case SP_CUSTOM: _settings_game.ai.ai_start_delay = AI::START_DELAY_CUSTOM; break;
default: NOT_REACHED();
}
}

/* Compute station catchment areas. This is needed here in case UpdateStationAcceptance is called below. */
Station::RecomputeCatchmentForAll();

@@ -302,6 +302,7 @@ enum SaveLoadVersion : uint16 {
SLV_MULTITILE_DOCKS, ///< 216 PR#7380 Multiple docks per station.
SLV_TRADING_AGE, ///< 217 PR#7780 Configurable company trading age.
SLV_ENDING_YEAR, ///< 218 PR#7747 v1.10 Configurable ending year.
SLV_AI_START_DELAY, ///< 219 PR#7661 Rework AI "start_date" setting as game setting.

SL_MAX_VERSION, ///< Highest possible saveload version
};
@@ -172,6 +172,9 @@ void SQGSWindow_Register(Squirrel *engine)
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIS_ACCEPT, "WID_AIS_ACCEPT");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIS_RESET, "WID_AIS_RESET");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_BACKGROUND, "WID_AIC_BACKGROUND");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_SD_DECREASE, "WID_AIC_SD_DECREASE");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_SD_INCREASE, "WID_AIC_SD_INCREASE");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_START_DELAY, "WID_AIC_START_DELAY");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_DECREASE, "WID_AIC_DECREASE");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_INCREASE, "WID_AIC_INCREASE");
SQGSWindow.DefSQConst(engine, ScriptWindow::WID_AIC_NUMBER, "WID_AIC_NUMBER");
@@ -880,6 +880,9 @@ class ScriptWindow : public ScriptObject {
/** Widgets of the #AIConfigWindow class. */
enum AIConfigWidgets {
WID_AIC_BACKGROUND = ::WID_AIC_BACKGROUND, ///< Window background.
WID_AIC_SD_DECREASE = ::WID_AIC_SD_DECREASE, ///< Decrease the start delay.
WID_AIC_SD_INCREASE = ::WID_AIC_SD_INCREASE, ///< Increase the start delay.
WID_AIC_START_DELAY = ::WID_AIC_START_DELAY, ///< Days to wait before starting an AI.
WID_AIC_DECREASE = ::WID_AIC_DECREASE, ///< Decrease the number of AIs.
WID_AIC_INCREASE = ::WID_AIC_INCREASE, ///< Increase the number of AIs.
WID_AIC_NUMBER = ::WID_AIC_NUMBER, ///< Number of AIs.
@@ -47,8 +47,6 @@ struct ScriptConfigItem {

typedef std::list<ScriptConfigItem> ScriptConfigItemList; ///< List of ScriptConfig items.

extern ScriptConfigItem _start_date_config;

/**
* Script settings.
*/
@@ -1225,6 +1225,12 @@ static bool MaxNoAIsChange(int32 i)
return true;
}

static bool AIStartDelayChange(int32 i)
{
InvalidateWindowData(WC_GAME_OPTIONS, WN_GAME_OPTIONS_AI);
return true;
}

/**
* Check whether the road side may be changed.
* @param p1 unused
@@ -692,6 +692,23 @@ void ShowGameOptions()
static int SETTING_HEIGHT = 11; ///< Height of a single setting in the tree view in pixels
static const int LEVEL_WIDTH = 15; ///< Indenting width of a sub-page in pixels

int64 ReadDefaultValue(const SettingDesc *sd)
{
uint dummy;
if (GetSettingFromName("ai.ai_start_delay", &dummy) != sd) {
/* Read the default value. */
return ReadValue(&sd->desc.def, sd->save.conv);
} else {
switch (GetGameSettings().script.settings_profile) {
case SP_EASY: return AI::START_DELAY_EASY;
case SP_MEDIUM: return AI::START_DELAY_MEDIUM;
case SP_HARD: return AI::START_DELAY_HARD;
case SP_CUSTOM: return AI::START_DELAY_CUSTOM;
default: NOT_REACHED();
}
}
}

/**
* Flags for #SettingEntry
* @note The #SEF_BUTTONS_MASK matches expectations of the formal parameter 'state' of #DrawArrowButtons
@@ -1026,7 +1043,7 @@ bool SettingEntry::IsVisibleByRestrictionMode(RestrictionMode mode) const
/* This entry shall only be visible, if the value deviates from its default value. */

/* Read the default value. */
filter_value = ReadValue(&sd->desc.def, sd->save.conv);
filter_value = ReadDefaultValue(sd);
} else {
assert(mode == RM_CHANGED_AGAINST_NEW);
/* This entry shall only be visible, if the value deviates from
@@ -1760,6 +1777,7 @@ static SettingsContainer &GetSettingsTree()
npc->Add(new SettingEntry("script.script_max_memory_megabytes"));
npc->Add(new SettingEntry("difficulty.competitor_speed"));
npc->Add(new SettingEntry("ai.ai_in_multiplayer"));
npc->Add(new SettingEntry("ai.ai_start_delay"));
npc->Add(new SettingEntry("ai.ai_disable_veh_train"));
npc->Add(new SettingEntry("ai.ai_disable_veh_roadveh"));
npc->Add(new SettingEntry("ai.ai_disable_veh_aircraft"));
@@ -1991,7 +2009,7 @@ struct GameSettingsWindow : Window {
DrawString(r.left, r.right, y, STR_CONFIG_SETTING_TYPE);
y += FONT_HEIGHT_NORMAL;

int32 default_value = ReadValue(&sd->desc.def, sd->save.conv);
int32 default_value = ReadDefaultValue(sd);
this->last_clicked->SetValueDParams(0, default_value);
DrawString(r.left, r.right, y, STR_CONFIG_SETTING_DEFAULT_VALUE);
y += FONT_HEIGHT_NORMAL + WD_PAR_VSEP_NORMAL;
@@ -2222,7 +2240,7 @@ struct GameSettingsWindow : Window {
/* Save the correct currency-translated value */
if (sd->desc.flags & SGF_CURRENCY) value /= _currency->rate;
} else {
value = (int32)(size_t)sd->desc.def;
value = (int32)(size_t)ReadDefaultValue(sd);
}

if ((sd->desc.flags & SGF_PER_COMPANY) != 0) {
@@ -126,5 +126,6 @@ const SettingDesc *GetSettingFromName(const char *name, uint *i);
bool SetSettingValue(uint index, int32 value, bool force_newgame = false);
bool SetSettingValue(uint index, const char *value, bool force_newgame = false);
void SetCompanySetting(uint index, int32 value);
int64 ReadDefaultValue(const SettingDesc *sd);

#endif /* SETTINGS_INTERNAL_H */
@@ -329,6 +329,7 @@ struct ConstructionSettings {
/** Settings related to the AI. */
struct AISettings {
bool ai_in_multiplayer; ///< so we allow AIs in multiplayer
uint16 ai_start_delay; ///< days AIs start after each other
bool ai_disable_veh_train; ///< disable types for AI
bool ai_disable_veh_roadveh; ///< disable types for AI
bool ai_disable_veh_aircraft; ///< disable types for AI
@@ -25,6 +25,7 @@ static bool DragSignalsDensityChanged(int32);
static bool TownFoundingChanged(int32 p1);
static bool DifficultyNoiseChange(int32 i);
static bool MaxNoAIsChange(int32 i);
static bool AIStartDelayChange(int32 i);
static bool CheckRoadSide(int p1);
static bool ChangeMaxHeightLevel(int32 p1);
static bool CheckFreeformEdges(int32 p1);
@@ -1591,6 +1592,21 @@ strhelp = STR_CONFIG_SETTING_SCRIPT_MAX_OPCODES_HELPTEXT
strval = STR_JUST_COMMA
cat = SC_EXPERT

[SDT_VAR]
base = GameSettings
var = ai.ai_start_delay
type = SLE_UINT16
from = SLV_AI_START_DELAY
def = AI::START_DELAY
min = AI::START_DELAY_MIN
max = AI::START_DELAY_MAX
interval = AI::START_DELAY_STEP_SIZE
str = STR_CONFIG_SETTING_AI_START_DELAY
strhelp = STR_CONFIG_SETTING_AI_START_DELAY_HELPTEXT
strval = STR_CONFIG_SETTING_AI_START_DELAY_VALUE
proc = AIStartDelayChange
cat = SC_BASIC

[SDT_VAR]
base = GameSettings
var = script.script_max_memory_megabytes
@@ -35,6 +35,9 @@ enum AISettingsWidgets {
/** Widgets of the #AIConfigWindow class. */
enum AIConfigWidgets {
WID_AIC_BACKGROUND, ///< Window background.
WID_AIC_SD_DECREASE, ///< Decrease the start delay.
WID_AIC_SD_INCREASE, ///< Increase the start delay.
WID_AIC_START_DELAY, ///< Days to wait before starting an AI.
WID_AIC_DECREASE, ///< Decrease the number of AIs.
WID_AIC_INCREASE, ///< Increase the number of AIs.
WID_AIC_NUMBER, ///< Number of AIs.