Craig_Sutter
Deity
I'm trying to get a DOW and permanent war between a civilization and a minor civ.
This is my code... I keep getting an error in the lua log stating:
[42393.536] DiplomacyDOW: >>>> DeclareWar
[42393.536] Runtime Error: [string "C:\Users\Craig and Nancy\Documents\My Games..."]:17: attempt to index local 'iDenmark' (a number value)
I presume this means I need to do something other than call the player id, but need some sort of text string.
I'm guessing, but should:
local iDenmark = GameInfo.Civilizations["CIVILIZATION_DENMARK"].ID
be:
local pDenmark = GameInfo.Types["CIVILIZATION_DENMARK"]
and:
local iAngles = GameInfo.MinorCivilizations["MINOR_CIV_ANGLES"].ID
be:
local pAngles = GameInfo.MinorTypes["MINOR_CIV_ANGLES"]
or something like that?
Thanks for you input.
This is my code... I keep getting an error in the lua log stating:
[42393.536] DiplomacyDOW: >>>> DeclareWar
[42393.536] Runtime Error: [string "C:\Users\Craig and Nancy\Documents\My Games..."]:17: attempt to index local 'iDenmark' (a number value)
I presume this means I need to do something other than call the player id, but need some sort of text string.
I'm guessing, but should:
local iDenmark = GameInfo.Civilizations["CIVILIZATION_DENMARK"].ID
be:
local pDenmark = GameInfo.Types["CIVILIZATION_DENMARK"]
and:
local iAngles = GameInfo.MinorCivilizations["MINOR_CIV_ANGLES"].ID
be:
local pAngles = GameInfo.MinorTypes["MINOR_CIV_ANGLES"]
or something like that?
Code:
-- Lua Script2
-- Author: Craig and Nancy
-- DateCreated: 8/4/2012 8:10:05 AM
--------------------------------------------------------------
--At the end of the first turn, Denmark declares war on the Angles. We want TeamIDs, not PlayerIDs.
--First, get playerid.
--Then, get teamid
--Then team1 dow on team2
--Then set permanent war.
function DenmarkWar()
if Game.GetGameTurn() == 1 then
print(">>>> DeclareWar");
local iDenmark = GameInfo.Civilizations["CIVILIZATION_DENMARK"].ID
local DenmarkTeam_ID = iDenmark:GetTeam();
local DenmarkTeam = Teams[DenmarkTeam_ID];
local iAngles = GameInfo.MinorCivilizations["MINOR_CIV_ANGLES"].ID
local AnglesTeam_ID = iAngles:GetTeam();
local AmglesTeam = Teams[AnglesTeam_ID];
print(Players[iDenmark]:GetName())
print(Players[iAngles]:GetName())
DenmarkTeam:DeclareWar( AnglesTeam, true );
DenmarkTeam:SetPermanentWarPeace(AnglesTeam, true);
end
end
Events.ActivePlayerTurnEnd.Add(DenmarkWar)
Thanks for you input.