Как отладить и протестировать наш аi:
УРА! Теперь вы можете проверить работоспособность AI, для этого создайте в корневом каталоге текстовый файл autoexec.lua и скопируйте в него данный скрипт:
----<Begin Script Here>----
run = Cpu_ControlLocalPlayer() run = setsimrate(35) run = FOW_RevealAll()
bind("F1","setsimrate(5)") bind("F2","setsimrate(12)") bind("F3","setsimrate(20)") bind("F4","setsimrate(30)") bind("F5","test()") bind("F6","test1()")
function test() local count=World_GetPlayerCount() g_Player1=World_GetPlayerAt(0); if count>1 then g_Player2=World_GetPlayerAt(1); World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0); end if count>2 then g_Player3=World_GetPlayerAt(2); World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0); end if count>3 then g_Player4=World_GetPlayerAt(3); World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0); end if count>4 then g_Player5=World_GetPlayerAt(4); World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0); end if count>5 then g_Player6=World_GetPlayerAt(5); World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0); end if count>6 then g_Player7=World_GetPlayerAt(6); World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0); end if count>7 then g_Player8=World_GetPlayerAt(7); World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0); end
Player_SetResource(g_Player1,RT_Requisition,9999); Player_SetResource(g_Player1,RT_Power,9999); end
function test1() local count=World_GetPlayerCount() g_Player1=World_GetPlayerAt(0); if count>1 then g_Player2=World_GetPlayerAt(1); World_EnablePlayerToPlayerFOW(g_Player1,g_Player2,0); end if count>2 then g_Player3=World_GetPlayerAt(2); World_EnablePlayerToPlayerFOW(g_Player1,g_Player3,0); end if count>3 then g_Player4=World_GetPlayerAt(3); World_EnablePlayerToPlayerFOW(g_Player1,g_Player4,0); end if count>4 then g_Player5=World_GetPlayerAt(4); World_EnablePlayerToPlayerFOW(g_Player1,g_Player5,0); end if count>5 then g_Player6=World_GetPlayerAt(5); World_EnablePlayerToPlayerFOW(g_Player1,g_Player6,0); end if count>6 then g_Player7=World_GetPlayerAt(6); World_EnablePlayerToPlayerFOW(g_Player1,g_Player7,0); end if count>7 then g_Player8=World_GetPlayerAt(7); World_EnablePlayerToPlayerFOW(g_Player1,g_Player8,0); end
Player_SetResource(g_Player2,RT_Requisition,9999); Player_SetResource(g_Player2,RT_Power,9999); Player_SetResource(g_Player3,RT_Requisition,9999); Player_SetResource(g_Player3,RT_Power,9999); Player_SetResource(g_Player4,RT_Requisition,9999); Player_SetResource(g_Player4,RT_Power,9999); end
----<End Script Here>---- |
Немного поясним скрипт:
run = Cpu_ControlLocalPlayer() |
Player0 обычно зарезервирован для игрока-человека.
run = setsimrate(35) |
Автоматически устанавливает в игре режим супер-турбо, так же меняя значение, вы можете ещё больше увеличить скорость, однако это скажется на производительности и игра может попросту вылететь.
run = FOW_RevealAll() |
Отключает туман войны.
bind("F1","setsimrate(5)") bind("F2","setsimrate(12)") bind("F3","setsimrate(20)") bind("F4","setsimrate(30)") bind("F5","test()") bind("F6","test1()") |
Бинд клавиш:
F1-F4 теперь переключают скорость игры;
F5 дает Player0(который принадлежит AI) 99999 влияния и 99999 энергий;
F6 делает то же что и F5 только для игрока Player1.
Файл autoexec.lua запустится только в режиме разработчика. Так же для player0 перестают работать дополнительные скрипты wincondition такие как смена дня и ночи.
