Page 1 of 1

New Game Mode Won't Work In The Addme [Solved]

Posted: Thu Aug 17, 2017 5:21 pm
by LitFam
I am trying to change the conquest description, and name, however its not working. (I have the 1.3 r129 patch BTW)

Here is mee add me
Hidden/Spoiler:
[code]-- recursively merges the second given table into the first given table
function MergeTables( mission, newFlags )
--for each table entry,
local array = type({})
for key,value in pairs(newFlags) do
--check for nested tables
if type(value) == array then
--mission must have this key as a table too
if type(mission[key]) ~= array then
mission[key] = {}
end
--merge these two tables recursively
MergeTables(mission[key], value)
else
--the key is a simple variable, so simply store it
mission[key] = value
end
end
end

--Search through the missionlist to find a map that matches mapName,
--then insert the new flags into said entry.
--Use this when you know the map already exists, but this content patch is just
--adding new gamemodes (otherwise you should just add whole new entries to the missionlist)
function AddNewGameModes(missionList, mapName, newFlags)
for i, mission in missionList do
if mission.mapluafile == mapName then
for flag, value in pairs(newFlags) do
mission[flag] = value
end
end
end
end

sp_missionselect_listbox_contents[sp_n+1] = {
isModLevel = 1,
mapluafile = "LVL%s_%s",
era_c = 1,
mode_con_c = 1,
change = {
mode_con = { name="Battle of Christophsis", about="The Battle of Christophsis took place for control of the planet Christophsis during the Clone Wars. Wanting to gain control of the planet's strategic resources, the Separatist Droid Army, led by General Whorm Loathsom, invaded and captured Christophsis. Responding to a cry for help from the world's inhabitants, the Galactic Republic and the Jedi High Council dispatched Jedi Generals Obi-Wan Kenobi and Anakin Skywalker and Admiral Wullf Yularen with a clone trooper contingent from the Grand Army of the Republic to liberate the planet." },
},
}

--insert totally new maps here:
local sp_n = 0
local mp_n = 0
sp_n = table.getn(sp_missionselect_listbox_contents)

sp_missionselect_listbox_contents[sp_n+1] = { red = 255, blue = 255, green = 255, isModLevel = 1, mapluafile = "CHR%s_%s", era_c = 1, mode_con_c = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]

-- associate this mission name with the current downloadable content directory
-- (this tells the engine which maps are downloaded, so you need to include all new mission lua's here)
-- first arg: mapluafile from above
-- second arg: mission script name
-- third arg: level memory modifier. the arg to LuaScript.cpp: DEFAULT_MODEL_MEMORY_PLUS(x)

AddDownloadableContent("CHR","CHRc_con",4)

-- all done
newEntry = nil
n = nil

-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\CHR\\data\\_LVL_PC\\core.lvl")[/code]

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:25 pm
by Marth8880

Code: Select all

sp_missionselect_listbox_contents[sp_n+1] = {
   isModLevel = 1,
   mapluafile = "LVL%s_%s",
   era_c = 1,
   mode_con_c = 1,
   change = {
      mode_con = { name="Battle of Christophsis", about="The Battle of Christophsis took place for control of the planet Christophsis during the Clone Wars. Wanting to gain control of the planet's strategic resources, the Separatist Droid Army, led by General Whorm Loathsom, invaded and captured Christophsis. Responding to a cry for help from the world's inhabitants, the Galactic Republic and the Jedi High Council dispatched Jedi Generals Obi-Wan Kenobi and Anakin Skywalker and Admiral Wullf Yularen with a clone trooper contingent from the Grand Army of the Republic to liberate the planet." },
   },
}
Is this an external map added by an addme from a different mod in your addon directory or something?

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:28 pm
by LitFam
I don't know what you mean, but I guess you are trying to say is this my map or is this code for adding a game mode on a different map.

I made the map (If that's what you're asking)

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:29 pm
by Marth8880
LitFam wrote:is this code for adding a game mode on a different map.
This is what I'm asking.

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:31 pm
by LitFam
No, I am trying to change the conquest name and description for my map. (I am not trying to literally make a new gamemode)

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:31 pm
by Marth8880
And LVL is the map's ID, correct?

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:33 pm
by LitFam
And LVL is the map's ID, correct?
I don't understand

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:37 pm
by Marth8880
Every map has a 3-character ID (though it's technically possible to have one longer than 3 characters). The general example that modders use for this ID is "ABC" or "***"; it's the first 3 characters in every single mission script for your map (e.g., "ABCc_con.lua"). You specify it in VisualMunge when you first create your map:

Image

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:39 pm
by LitFam
Yes my map lvl is correct (My maps 3 lettered name is CHR)

AddDownloadableContent("CHR","CHRc_con",4)

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:49 pm
by Marth8880
So your map's 3-character ID is *not* "LVL"?

Code: Select all

sp_missionselect_listbox_contents[sp_n+1] = {
   isModLevel = 1,
   mapluafile = "LVL%s_%s",
   era_c = 1,
   mode_con_c = 1,
   change = {
      mode_con = { name="Battle of Christophsis", about="The Battle of Christophsis took place for control of the planet Christophsis during the Clone Wars. Wanting to gain control of the planet's strategic resources, the Separatist Droid Army, led by General Whorm Loathsom, invaded and captured Christophsis. Responding to a cry for help from the world's inhabitants, the Galactic Republic and the Jedi High Council dispatched Jedi Generals Obi-Wan Kenobi and Anakin Skywalker and Admiral Wullf Yularen with a clone trooper contingent from the Grand Army of the Republic to liberate the planet." },
   },
}
The above block of code suggests that you have a map whose 3-character ID is "LVL". With that said, I have a feeling that you found the block elsewhere as a template in a tutorial or something but didn't change "LVL" in `mapluafile = "LVL%s_%s"` to your map's ID. If that's true, you need to merge the above code block with this one that exists in your addme:

Code: Select all

sp_n = table.getn(sp_missionselect_listbox_contents)

sp_missionselect_listbox_contents[sp_n+1] = { red = 255, blue = 255, green = 255, isModLevel = 1, mapluafile = "CHR%s_%s", era_c = 1, mode_con_c  = 1,}
mp_n = table.getn(mp_missionselect_listbox_contents)
mp_missionselect_listbox_contents[mp_n+1] = sp_missionselect_listbox_contents[sp_n+1]
The easiest way to do so would be to delete that one^ altogether, then in the other one that has the description stuff already put this directly above the `isModLevel` line:

Code: Select all

red = 255, 
blue = 255, 
green = 255,
And then change the value of `mapluafile` to reflect your map's actual ID, "CHR", so that it looks like this:

Code: Select all

mapluafile = "CHR%s_%s",

Re: New Game Mode Won't Work In The Addme

Posted: Thu Aug 17, 2017 5:50 pm
by LitFam
Thanks!