So, mal wieder ein kleiner Zwischenstand:
Ich häng leider aktuell beim Thema HQ updaten. Ich würd gerne dem HQ etwas Sinnhaftigkeit geben, als das es einfach nur optional gebaut werden kann und dann irgend wo rum steht und schön aussieht. Doch dafür müsste ich das HQ per Code bearbeiten können. Die alte API führt allerdings unweigerlich zum Absturz und mit der neuen API hab ich bisher auch keinen Erfolg gehabt. Ich bin mit UG in kontakt, aber wegen Urlaubszeit zieht sich das nun, leider. Zumal ich selbst auch bald Urlaub hab und zu der Zeit voraussichtlich ebenfalls nicht (viel) an der Mod weiter machen werde. Es wird sich also dann doch in den September hinein ziehen, bis da was kommt. Oder sogar Oktober.
hier übrigens der Codeschnipsel zum updaten des HQ, wie er in meiner Mod ist ... ohne jeglichen weiteren Kommentar. Wer Langeweilie hat, kann gern damit rumspielen und mir bericht erstatten, ob es doch funktioniert
local function updateHQBuilding(playerEntity, demand)
local player = api.engine.getComponent(playerEntity, api.type.ComponentType.PLAYER)
if player.headquarters < 0 then return end
local hqCon = api.engine.getComponent(player.headquarters, api.type.ComponentType.CONSTRUCTION)
local oldName = api.engine.getComponent(player.headquarters, api.type.ComponentType.NAME)
-- debugPrint(hqCon.params)
local oldLevel = hqCon.params.level or 0
local proposal = api.type.SimpleProposal.new()
proposal.constructionsToRemove = { player.headquarters }
local ce = api.type.SimpleProposal.ConstructionEntity.new()
local params = {}
params.level = oldLevel
params.paramX = hqCon.params.paramX
params.paramY = hqCon.params.paramY
params.seed = hqCon.params.seed
params.year = hqCon.params.year
params.demand = demand -- new parameter
-- debugPrint(ce.params)
ce.params = params
ce.fileName = "asset/headquarter.con"
ce.transf = hqCon.transf
ce.playerEntity = playerEntity
ce.name = oldName.name
ce.headquarters = true
proposal.constructionsToAdd[1] = ce
proposal.old2new = { [1] = 1 }
-- print("Building")
-- local callback = function(res, valid) print(valid) end
local cmd = api.cmd.make.buildProposal(proposal, nil, false) -- CRASH
api.cmd.sendCommand(cmd)
end
Alles anzeigen
MFG PMV