View Single Post
Old 03-23-2014, 07:12 AM   #25
Хранитель
МичманВ запасе
 
Хранитель's Avatar
 
Faction:
Предтечи

Join Date: Feb 2013
Location: Нижневартовск
Posts: 51
Re: Скрипты ai (папка data::ai)

эм. в общем не получилось записать.. фрапс почему то у меня перестал снимать рабочий стол... но я все прописал в race.lua в familylist.lua прописал в скриптах building and research tobari build.lua и research.lua корабли сделал. стартингфлит сделал. все в общем работает. я могу вполне нормально играть за мою рассу. все так как мне надо. но когда это ИИ, она просто стоит на месте... конечно ресурсы собирает, но почемуто ничего не строит.... хотя я думаю я все в ИИ прописал. вроде все файлики обработал.
класдеф показывать не буду. это глупо. с ним проблем нету 100%. так дальше. цпубюлд:
Code:
-- =============================================================================
-- Homeworld 2 Clean Data Resource Project
-- By S110
-- Version 1.0
-- 02/06/2010
-- Tools used: EditPad Lite, LuaDC version 0.9.19, and Cold Fusion LUA Decompiler v1.0.0
-- =============================================================================

aitrace("LOADING CPU BUILD")

dofilepath("data:ai/cpuresource.lua")
dofilepath("data:ai/cpubuildsubsystem.lua")

function CreateBuildDefinitions()
	if (s_race == Race_Hiigaran) then
	kCollector = HGN_RESOURCECOLLECTOR
	kRefinery = HGN_RESOURCECONTROLLER
	kScout = HGN_SCOUT
	kInterceptor = HGN_INTERCEPTOR
	kBomber = HGN_ATTACKBOMBER
	kCarrier = HGN_CARRIER
	kShipYard = HGN_SHIPYARD
	kDestroyer = HGN_DESTROYER
	kBattleCruiser = HGN_BATTLECRUISER
	elseif (s_race == Race_Vaygr) then
	kCollector = VGR_RESOURCECOLLECTOR
	kRefinery = VGR_RESOURCECONTROLLER
	kScout = VGR_SCOUT
	kInterceptor = VGR_INTERCEPTOR
	kBomber = VGR_BOMBER
	kCarrier = VGR_CARRIER
	kShipYard = VGR_SHIPYARD
	kDestroyer = VGR_DESTROYER
	kBattleCruiser = VGR_BATTLECRUISER
        else
	kCollector = TBR_RESOURCECOLLECTOR
	kRefinery = TBR_RESOURCECONTROLLER
	kScout = TBR_SCOUT
	kInterceptor = TBR_INTERCEPTOR
	kBomber = TBR_BOMBER
	kCarrier = TBR_CARRIER
	kShipYard = TBR_SHIPYARD
	kDestroyer = TBR_DESTROYER
	kBattleCruiser = TBR_BATTLECRUISER
	end
end

function CpuBuild_PersonalityDemand()
	if (s_race == Race_Hiigaran) then
	sg_classPersonalityDemand[eFighter] = 0.5
	sg_classPersonalityDemand[eCorvette] = 0.25
	sg_classPersonalityDemand[eFrigate] = 0
	elseif (s_race == Race_Vaygr) then
	sg_classPersonalityDemand[eFighter] = 0.5
	sg_classPersonalityDemand[eCorvette] = 0.5
	sg_classPersonalityDemand[eFrigate] = 0.25
        else
	sg_classPersonalityDemand[eFighter] = 0.5
	sg_classPersonalityDemand[eCorvette] = 0.5
	sg_classPersonalityDemand[eFrigate] = 0.25
	end
	sg_classPersonalityDemand[ePlatform] = -0.5
	if (Rand(100) < 10) then
	sg_classPersonalityDemand[ePlatform] = 0
	end
	if (g_LOD >= 2) then
	sg_classPersonalityDemand[ePlatform] = sg_classPersonalityDemand[ePlatform] - 3
	end
	aitrace("PersonalityDemand: Fi:"..sg_classPersonalityDemand[eFighter].." Co:"..sg_classPersonalityDemand[eCorvette].." Fr:"..sg_classPersonalityDemand[eFrigate])
end
это начало. первые две функции. остальное я посчитал ненужным прописывать. надеюсь это так. цпубюлдсистем:
Code:
-- =============================================================================
-- Homeworld 2 Clean Data Resource Project
-- By S110
-- Version 1.0
-- 02/06/2010
-- Tools used: EditPad Lite, LuaDC version 0.9.19, and Cold Fusion LUA Decompiler v1.0.0
-- =============================================================================

function CpuBuildSS_Init()
	if (s_race == Race_Hiigaran) then
	CpuBuildSS_DefaultSubSystemDemandRules = DoSubSystemDemand_Hiigaran
	elseif (s_race == Race_Vaygr) then
	CpuBuildSS_DefaultSubSystemDemandRules = DoSubSystemDemand_Vaygr
        else
        CpuBuildSS_DefaultSubSustemDemandRules = DoSubSystemDemand_Tobari
	end
	sg_lastSpecialSubSysTime = 0
	sg_specialSubSysDelayTime = 150 + Rand(100)
	sg_retireCountCheck = 0
	sg_buildBCHyperspace = 1
end
милитари не трогал. первая функция в ресерче :
Code:
function CpuResearch_Init()
	if (s_race == Race_Hiigaran) then
	dofilepath("data:ai/hiigaran_upgrades.lua")
	DoUpgradeDemand = DoUpgradeDemand_Hiigaran
	DoResearchTechDemand = DoResearchTechDemand_Hiigaran
	elseif (s_race == Race_Vaygr) then
	dofilepath("data:ai/vaygr_upgrades.lua")
	DoUpgradeDemand = DoUpgradeDemand_Vaygr
	DoResearchTechDemand = DoResearchTechDemand_Vaygr
        else
	dofilepath("data:ai/tobari_upgrades.lua")
	DoUpgradeDemand = DoUpgradeDemand_Tobari
	DoResearchTechDemand = DoResearchTechDemand_Tobari
	end
	sg_lastUpgradeTime = gameTime()
	sg_upgradeDelayTime = 180 + Rand(80)
	cp_researchDemandRange = 0.5
	if (g_LOD == 1) then
	cp_researchDemandRange = 1
	end
	if (g_LOD == 0) then
	cp_researchDemandRange = 2
	end
	if (Override_ResearchInit) then
	Override_ResearchInit()
	end
в том же файле функция, которую я прописал, чтобы тобари исследовали технологии:
Code:
function DoResearchTechDemand_Tobari()
	if (Util_CheckResearch(CORVETTETECH)) then
	local corvdemand = ShipDemandMaxByClass(eCorvette)
	if (corvdemand > 0) then
	ResearchDemandSet(CORVETTETECH, corvdemand + 0.5)
	end
	end
	if (Util_CheckResearch(ASSAULTCORVETTETECH)) then
	local demand = ShipDemandGet(TBR_ASSAULTCORVETTE)
	if (demand > 0) then
	ResearchDemandSet(ASSAULTCORVETTETECH, demand)
	end
	end
	if (Util_CheckResearch(SHIPYARDTECH)) then
	local demand = ShipDemandGet(TBR_SHIPYARD)
	if (demand > 0) then
	ResearchDemandSet(SHIPYARDTECH, demand)
	end
	end
	if (Util_CheckResearch(BATTLECRUISERTECH)) then
	local demand = ShipDemandGet(TBR_BATTLECRUISER)
	if (demand > 0) then
	ResearchDemandSet(BATTLECRUISERTECH, demand)
	end
	end
	if (Util_CheckResearch(DESTROYERTECH)) then
	local demand = ShipDemandGet(TBR_DESTROYER)
	if (demand > 0) then
	ResearchDemandSet(DESTROYERTECH, demand)
	end
	end
	if (Util_CheckResearch(BOMBERTCORVETTETECH)) then
	local demand = ShipDemandGet(TBR_BOMBERCORVETTE)
	if (demand > 0) then
	ResearchDemandSet(BOMBERCORVETTETECH, demand)
	end
	end
	if (Util_CheckResearch(FRIGATETECH)) then
	local frigdemand = ShipDemandMaxByClass(eFrigate)
	if (frigdemand > 0) then
	ResearchDemandSet(FRIGATETECH, frigdemand + 0.5)
	end
	end
end
и последнее я сделал тобариапгрейдс. и он пустой...
Code:
-- =============================================================================
-- Homeworld 2 Clean Data Resource Project
-- By S110
-- Version 1.0
-- 02/06/2010
-- Tools used: EditPad Lite, LuaDC version 0.9.19, and Cold Fusion LUA Decompiler v1.0.0
-- =============================================================================

aitrace("LOADING TOBARI UPGRADE INFO")

rt_mothership = {}
rt_capital = {}
rt_fighter = {}
rt_corvette = {}
rt_frigate = {}
rt_platform = {}
rt_collector = {}
я думаю это все что я сделал и больше ничего не требуется.. но моя расса не строит корабли... почему то..

Добавлено через 5 часов 35 минут
О_О_О начал игру с компами, поставил себе союзника хиигару и два противника ваиигров. ваигры НЕ СТРОЯТ КАК И ТОБАРИ!!! ВТФ!!!! чтото странное!!!

Last edited by Хранитель : 03-23-2014 at 12:47 PM. Reason: добавлено сообщение
Хранитель is offline   Reply With Quote