But now i want to do something similar for the faction im working on. Now this is a harder task because moving all the files that involves a faction is not as easy as moving it to a folder that says "factions". even harder is that im trying to make all the faction files being run in only this specific custom map.
Ive tried to be guided by this thread but i dont believe it really applies as im not using custom objects. https://www.realitymod.com/forum/showth ... ost1649074
So how do i move the files and more specifically: what new lines of code do i have to create to make the faction work in the custom map? because last time i tried it, the map simply crashed.
As of now the stuff i want to add are:
-kits
-soldier models
-flags (for the minimap, score, etc)
-custom textures for exisiting vehicles & weapons
I tried using the following code as someone had advised me to make different init.CON files, i also added the spawnkits and spawners folders inside the same custom map folder, following an example i saw for a custom soviet faction in an event, yet it still crashes. Im guessing im doing something wrong or missing some steps?
init.con:
Code: Select all
rem *** Generated by BF2Editor ***
if v_arg1 == BF2Editor
run Heightdata.con
LevelSettings.InitWorld
run Terrain.con BF2Editor
run StaticObjects.con BF2Editor
run Sounds.con
run Sky.con BF2Editor
run Editor/GamePlayObjects.con host
UndergrowthEditable.create
Undergrowth.load Levels\operation_soberania\
run Overgrowth/Overgrowth.con
Overgrowth.editorEnable 1
run AmbientObjects.con BF2Editor
run Water.con
run TriggerableTemplates.con BF2Editor
else
run Heightdata.con
run Terrain.con v_arg2
run Sky.con v_arg2
run CompiledRoads.con
run Sounds.con
run tmp.con v_arg1
Undergrowth.load Levels\operation_soberania\
run Overgrowth/Overgrowth.con
run Overgrowth/OvergrowthCollision.con
run AmbientObjects.con
run Water.con
run TriggerableTemplates.con
endIf
rem ------------------------------- LevelSettings -------------------------------
rem -----------------------------------------------------------------------------
run ../../Factions/faction_init.con 1 "ARG82"
run ../../Factions/faction_init2.con 2 "CHL78"
rem -----------------------------------------------------------------------------
gameLogic.setBeforeSpawnCamera 120/40/570 0/0/0
if v_arg1 == BF2Editor
LevelSettings.CustomTextureSuffix ""
else
texturemanager.customTextureSuffix ""
endIfCode: Select all
rem --- Generated by PRBuild ---
rem ----------------------------------------
rem Project Reality Faction Initialization
rem run faction_init.con <team> <"faction">
rem ----------------------------------------
rem Common settings across all maps.
rem Inside an if statement since it only needs to be run once (when it's called for team 1)
if v_arg1 == 1
gameLogic.setTeamFlag 0 "flag_neutral"
physics.airdensityzeroatheight 10000
spawnManager.setPlayerKit 2
renderer.globalStaticMeshLodDistanceScale 1
renderer.globalBundleMeshLodDistanceScale 1
renderer.globalSkinnedMeshLodDistanceScale 1
gameLogic.setTeamDropVehicle 1 "mark_team1_holder"
gameLogic.setTeamDropVehicle 2 "mark_team2_holder"
rem Disabling BUIS
renderer.fakeHDRBlendingFactor 0
run ../../Factions/spawners/spawners_common.con
run ../common/tr_scripts/tglupd_on.con "updbut_init_tis"
run ../menu/HUD/HudSetup/Customization/HudCustomizationReset.con
endIf
rem HUD Customization
run ../menu/HUD/HudSetup/Customization/HudCustomization.con v_arg1 v_arg2
run spawnkits/InitSpawnKits.con v_arg1 v_arg2
rem Begin faction specific settings
rem Kit slot orders are controlled via python
rem Soldiers are controlled via python
If v_arg2 == "chl78"
gameLogic.setTeamName v_arg1 "CHL78"
gameLogic.setTeamLanguage v_arg1 "Argentine"
gameLogic.setTeamFlag v_arg1 "flag_gb82"
gameLogic.setKit v_arg1 0 "chl78_officer" "pr_chl78_soldier1"
gameLogic.setKit v_arg1 1 "chl78_assault" "pr_chl78_soldier3"
gameLogic.setKit v_arg1 2 "chl78_rifleman" "pr_chl78_soldier2"
gameLogic.setKit v_arg1 3 "chl78_support" "pr_chl78_soldier5"
gameLogic.setKit v_arg1 4 "chl78_specialist" "pr_chl78_soldier7"
gameLogic.setKit v_arg1 5 "chl78_medic" "pr_chl78_soldier6"
gameLogic.setKit v_arg1 6 "chl78_riflemanat" "pr_chl78_soldier4"
run spawners/spawners_chl78.con
elseIf v_arg2 == "chl78"
gameLogic.setTeamName v_arg1 "CHL78"
gameLogic.setTeamLanguage v_arg1 "Argentine"
gameLogic.setTeamFlag v_arg1 "flag_gb82"
gameLogic.setKit v_arg1 0 "chl78_officer" "pr_chl78_soldier1"
gameLogic.setKit v_arg1 1 "chl78_assault" "pr_chl78_soldier3"
gameLogic.setKit v_arg1 2 "chl78_rifleman" "pr_chl78_soldier2"
gameLogic.setKit v_arg1 3 "chl78_support" "pr_chl78_soldier5"
gameLogic.setKit v_arg1 4 "chl78_specialist" "pr_chl78_soldier7"
gameLogic.setKit v_arg1 5 "chl78_medic" "pr_chl78_soldier6"
gameLogic.setKit v_arg1 6 "chl78_riflemanat" "pr_chl78_soldier4"
endIfinitspawnkits.con:
Code: Select all
rem --- Generated by PRBuild ---
if v_arg2 == "chl78"
run chl78\chl78_init.con v_arg1
endIfchl78_init.con:
rem --- kits chl78_init.con ---
rem --- Generated by PRBuild ---
pythonHost.sendCommand "initkit" v_arg1 "0" "chl78_officer" "gb82_officer_alt" "pr_chl78_soldier1"
pythonHost.sendCommand "initkit" v_arg1 "1" "chl78_assault" "empty" "pr_chl78_soldier3"
pythonHost.sendCommand "initkit" v_arg1 "2" "chl78_rifleman" "empty" "pr_chl78_soldier2"
pythonHost.sendCommand "initkit" v_arg1 "3" "chl78_support" "empty" "pr_chl78_soldier5"
pythonHost.sendCommand "initkit" v_arg1 "4" "chl78_specialist" "empty" "pr_chl78_soldier7"
pythonHost.sendCommand "initkit" v_arg1 "5" "chl78_medic" "empty" "pr_chl78_soldier6"
pythonHost.sendCommand "initkit" v_arg1 "6" "chl78_riflemanat" "empty" "pr_chl78_soldier4"
spawners_chl78:
Code: Select all
rem --- Generated by PRBuild ---
beginrem
ObjectTemplate.create ObjectSpawner chl78_chl78_assault_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_assault_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_assault_alt
endrem
ObjectTemplate.create ObjectSpawner chl78_chl78_at_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_at_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_at
ObjectTemplate.create ObjectSpawner chl78_chl78_engineer_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_engineer_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_engineer
ObjectTemplate.create ObjectSpawner chl78_chl78_mg_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_mg_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_mg
ObjectTemplate.create ObjectSpawner chl78_chl78_sniper_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_sniper_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_sniper
ObjectTemplate.create ObjectSpawner chl78_chl78_tanker_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_tanker_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_tanker
ObjectTemplate.create ObjectSpawner chl78_chl78_pilot_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_pilot_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_pilot
ObjectTemplate.create ObjectSpawner chl78_chl78_officer_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_officer_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_officer_alt
beginrem
ObjectTemplate.create ObjectSpawner chl78_chl78_rifleman_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_rifleman_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_rifleman_alt
ObjectTemplate.create ObjectSpawner chl78_chl78_riflemanat_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_riflemanat_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_riflemanat_alt
endrem
ObjectTemplate.create ObjectSpawner chl78_chl78_chl78_riflemanap_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_chl78_riflemanap_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_riflemanap
beginrem
ObjectTemplate.create ObjectSpawner chl78_chl78_specialist_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_specialist_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_specialist_alt
endrem
ObjectTemplate.create ObjectSpawner chl78_chl78_support_alt_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_support_alt_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_support_alt
ObjectTemplate.create ObjectSpawner chl78_chl78_unarmed_preloadspawner
ObjectTemplate.activeSafe ObjectSpawner chl78_chl78_unarmed_preloadspawner
ObjectTemplate.isNotSaveable 1
ObjectTemplate.hasMobilePhysics 0
ObjectTemplate.setObjectTemplate 1 chl78_unarmed
