Page 4 of 5

Posted: Tue Jan 30, 2007 7:59 pm
by Caleb1117
Hmmm that would be great if I could get my ODF changes to work...

Posted: Tue Jan 30, 2007 10:57 pm
by phazon_elite
You mean work for the whole game? Or just a map? If it's the entire game, follow MercuryNoodles' tutorial. If it's for a map, then it should be completely fine.

Note: Nevermind, I found a solution. Place the odf folder in the Common folder into the side folder. You'll have to do a lot of cut n' paste jobs.

ex: Place all of the text in the com_weap_inf_rifle between the last line under properties and before the sound section in the side's rifle odf:

so it would be placed at:

[Properties]
BLAHBLAH = "blah"
Blahblahmoo = "bla_blah_bla_blahblah_blah"

BLAHBLAH = "BLAHBLAH"
BLAHBLAH = "BLAHBLAH"

BL_BLAH = "BLAHBLAH"

HERE

******************************************************************************************************************* SOUND *************************************************

Posted: Wed Jan 31, 2007 7:50 am
by MercuryNoodles
Caleb1117 wrote:Hmmm that would be great if I could get my ODF changes to work...
Like I said in my other reply, the stock sides seem to override any changes to exising odfs. So, you can't test a side mod through a new map. You'll have to replace the stock files to see the result.

If you just want modded sides for your own map, then it's best to recreate or rename odfs and make sure everything is being called correctly. For example, altering imp_weap_inf_rifle won't show the changes, but renaming the file to say mmm_weap_inf_rifle and calling for it in the stormtrooper odf will apply everything because there is no such file in the stock imp side to conflict with it.



As for the copy-paste idea. I actually didn't mention this because it involves more work, making sure the files are properly spliced, though it is easier for some of us this way.

Posted: Wed Jan 31, 2007 7:57 am
by Penguin
Stock sides should only override the change if your loading the files with the new ones at the same time

Posted: Wed Jan 31, 2007 11:56 am
by Caleb1117
phazon_elite wrote: If it's for a map, then it should be completely fine.

Note: Nevermind, I found a solution. Place the odf folder in the Common folder into the side folder. You'll have to do a lot of cut n' paste jobs.
Although I didn't understand what else you said I follow'd the quoted part and I think it worked, I'm still testing it, so far the retiqle hasen't shown up but my sniper rifle is now 1 hit kill, so I think you may be on to something Phazon. :D

Thanks!
but your not off the hook yet there will be more questions I assure you. :P

Posted: Wed Jan 31, 2007 1:53 pm
by MercuryNoodles
Well, that explains a lot, then. I don't recall this detail being explained. Then again, I just restarted work on a map I'd abandoned for a long time.

Posted: Wed Jan 31, 2007 3:35 pm
by Caleb1117
Well turns out it didn't work, the sniper being one hit kill was because I had war hero. :(
oh well, maybe I'll foget my odf ideas.
ok two questions
1. would a side mod that gives snipers a reqticle interfear with MP?
2. If not then could someone who knows how to make side mods do this for me? As I can't seem to get odf changes to work.
3. I still can't get ground textures to work I have all the ones I need but when I increce the "rank" of one texture it takes over the map.

once I get a friend of mine to get on X-fire I'll send him the map, If any one else Is iterested I can X-fire you a copy its 97 MB though,
Someone once did a tut on how to make an auto-installer where is that? it would make the download way smaller.

Posted: Wed Jan 31, 2007 6:26 pm
by phazon_elite
Ok, that update the world .req button still didn't work for me, so I think it has something to do with my LUA. I'll look into it...

Anyway,

1. I'm not sure about it. Editing weapons, sounds, units, etc. will not work with MP. BUT, skins will....I checked
2. It's easy for me to do, but I'm working on some cool new sides which are about 1/3 done, so I can't
3. Why raise the rank? It's odd unless they are on the bottom, which they shouldn't be unless you have that many textures

Hope this helps

- EP-000782

Posted: Fri Feb 09, 2007 1:45 pm
by Caleb1117
OK new questions
1 How do I get GCW mode back in? (see page 3) :oops:

2 Is it possable to add Hunt and XL modes? How?

3 I am makeing 2 copys of this map, one for those with the SWBFI conversion pack, and one for those without it, anyway for the SWBFI CP edition I added Rep commando to rep, Niomodian enginer to CIS, shaakti for rep hero, ventres padawan for CIS hero. The niomdian and commando work fine, but when the hero for eathier side becomes avalible I hit F1, select the hero, hit spawn, bam, crash. how do I fix that? (I have 1.8.1)

thats all for now! may put up pics later.


Thanks,
[GT-B]Caleb1117Image

Posted: Fri Feb 09, 2007 6:29 pm
by phazon_elite
Wha ha! I got my map working a week ago. I have to go somewhere, so I'll answer these questions later if someone else doesn't.

- EP-000782

Posted: Fri Feb 09, 2007 7:51 pm
by Caleb1117
Ok cmdr. fusion helped me with #3
other two are still up for grabs
heres some pics of my map so far (Non SWBFI CP edition)

Image
Image
Image
Image
Image
Image

Posted: Fri Feb 09, 2007 8:02 pm
by Xavious
Why are you posting these map pictures here? Looks good, anyways. As for the Hunt/XL modes, I saw a tutorial somewhere, might want to do a search on that.

Posted: Sat Feb 10, 2007 3:55 pm
by phazon_elite
1. Make a ***g_con. Then add it in the addme.lua (this applies to #2 also).

2.Create an LUA called ***c_hunt or ***c_xl (*** is the 3-letter map name). Copy one of the conquest LUA's and edit it, just so you know what I meant by create.

- EP-000782

Posted: Sat Feb 10, 2007 3:58 pm
by Caleb1117
Yea the thing is the map did not have hunt or XL in the first place. (first munge)

I'd sorta like to add them, as atfirst I made this map to learn stuff so,
I gave it 2 basic modes conquest and elimination,
now that I know more about what i'm doing I want hunt and XL.

Besides I notaced that in the first munge (when you set 3 letter mod id) XL is not in the list of modes to suppy?
Also I for some stupid reason got rid of GCW conquest :oops: (see page 3) and I want it back.

EDIT: thanks for reply, hmm lets see... Gaaaa! woah! I do not know enough about lua's to (take for example) alter the hoth hunt lua to fit my map. same for XL. Unless anyone knows someone decent with lua's thats willing to help then forget hunt and XL.

Posted: Sat Feb 10, 2007 4:10 pm
by phazon_elite
Is the LUA in your recycle bin?

XL and Hunt were actually custom modes made for a few shipped maps during the development of SWBF2, so they weren't integrated into the VisualMunge in the data folder. Well, for almost every map, there's a ctf mode, right? So if it's on almost every single shipped map, then it would be common sense to have that mode created for VisualMunge.

- EP-000782

Posted: Sat Feb 10, 2007 4:29 pm
by Caleb1117
No, its not in recicle bin :(

Edit: going to use this post to test X-fire profile thing...

Image

Edit#2: yep it worked. :) I swear I get nerdier every day.

Posted: Sat Feb 10, 2007 4:38 pm
by phazon_elite
Well then you can't get the same LUA back unless you edit one to be just like it.

- EP-000782

Posted: Sat Feb 10, 2007 5:48 pm
by Caleb1117
Like this one?
Hidden/Spoiler:
[code]--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

-- load the gametype script
ScriptCB_DoFile("setup_teams")
ScriptCB_DoFile("ObjectiveConquest")

-- Empire Attacking (attacker is always #1)
local ALL = 2
local IMP = 1
-- These variables do not change
local ATT = 1
local DEF = 2

function ScriptPostLoad()


--This defines the CPs. These need to happen first
cp1 = CommandPost:New{name = "cp1"}
cp2 = CommandPost:New{name = "cp2"}
cp3 = CommandPost:New{name = "cp3"}
cp4 = CommandPost:New{name = "cp4"}
cp5 = CommandPost:New{name = "cp5"}
cp6 = CommandPost:New{name = "cp6"}

--This sets up the actual objective. This needs to happen after cp's are defined
conquest = ObjectiveConquest:New{teamATT = ATT, teamDEF = DEF,
textATT = "game.modes.con",
textDEF = "game.modes.con2",
multiplayerRules = true}

--This adds the CPs to the objective. This needs to happen after the objective is set up
conquest:AddCommandPost(cp1)
conquest:AddCommandPost(cp2)
conquest:AddCommandPost(cp3)
conquest:AddCommandPost(cp4)
conquest:AddCommandPost(cp5)
conquest:AddCommandPost(cp6)

conquest:Start()

EnableSPHeroRules()

end


---------------------------------------------------------------------------
-- FUNCTION: ScriptInit
-- PURPOSE: This function is only run once
-- INPUT:
-- OUTPUT:
-- NOTES: The name, 'ScriptInit' is a chosen convention, and each
-- mission script must contain a version of this function, as
-- it is called from C to start the mission.
---------------------------------------------------------------------------
function ScriptInit()

ReadDataFile("ingame.lvl")



SetMaxFlyHeight(300)
SetMaxPlayerFlyHeight(300)
SetUberMode(1)


SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50) -- should be ~ 2x number of jedi classes
SetMemoryPoolSize ("Combo::State",650) -- should be ~12x #Combo
SetMemoryPoolSize ("Combo::Transition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Condition",650) -- should be a bit bigger than #Combo::State
SetMemoryPoolSize ("Combo::Attack",550) -- should be ~8-12x #Combo
SetMemoryPoolSize ("Combo::DamageSample",6000) -- should be ~8-12x #Combo::Attack
SetMemoryPoolSize ("Combo::Deflect",100) -- should be ~1x #combo

ReadDataFile("sound\\tat.lvl;tat2gcw")
ReadDataFile("SIDE\\all.lvl",
"all_inf_rifleman_snow",
"all_inf_rocketeer_snow",
"all_inf_sniper_snow",
"all_inf_engineer_snow",
"all_inf_officer_snow",
"all_inf_wookiee_snow",
"all_hero_luke_pilot")

ReadDataFile("SIDE\\imp.lvl",
"imp_inf_rifleman_snow",
"imp_inf_rocketeer_snow",
"imp_inf_engineer_snow",
"imp_inf_sniper_snow",
"imp_inf_officer",
"imp_inf_dark_trooper",
"imp_hero_bobafett",
"imp_fly_destroyer_dome" )

ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_tat_barge",
"tur_bldg_laser",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_beam",
"tur_bldg_chaingun_roof")

SetupTeams{
all = {
team = ALL,
units = 60,
reinforcements = 400,
soldier = { "all_inf_rifleman",5, 25},
assault = { "all_inf_rocketeer",5,15},
engineer = { "all_inf_engineer",5,15},
sniper = { "all_inf_sniper",5,15},
officer = { "all_inf_officer",5,25},
special = { "all_inf_wookiee",5,7},

},
imp = {
team = IMP,
units = 60,
reinforcements = 400,
soldier = { "imp_inf_rifleman",5, 25},
assault = { "imp_inf_rocketeer",5,15},
engineer = { "imp_inf_engineer",5,15},
sniper = { "imp_inf_sniper",5,15},
officer = { "imp_inf_officer",5,25},
special = { "imp_inf_dark_trooper",5,7},
},
}

SetHeroClass(ALL, "all_hero_luke_pilot")
SetHeroClass(IMP, "imp_hero_bobafett")


-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 0) -- special -> droidekas
AddWalkerType(1, 0) -- 1x2 (1 pair of legs)
AddWalkerType(2, 0) -- 2x2 (2 pairs of legs)
AddWalkerType(3, 0) -- 3x2 (3 pairs of legs)
local weaponCnt = 1024
SetMemoryPoolSize("Aimer", 75)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 200)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 32)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", weaponCnt)

SetSpawnDelay(10.0, 0.25)
ReadDataFile("dc:PM2\\PM2.lvl", "PM2_conquest")
SetDenseEnvironment("false")




-- Sound Stats

voiceSlow = OpenAudioStream("sound\\global.lvl", "all_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "des_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "all_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "imp_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "gcw_music")
OpenAudioStream("sound\\tat.lvl", "tat2")
OpenAudioStream("sound\\tat.lvl", "tat2")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")

SetBleedingVoiceOver(ALL, ALL, "all_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(ALL, IMP, "all_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, ALL, "imp_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(IMP, IMP, "imp_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(ALL, ALL, "all_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(ALL, IMP, "all_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, IMP, "imp_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(IMP, ALL, "imp_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "Allleaving")
SetOutOfBoundsVoiceOver(1, "Impleaving")

SetAmbientMusic(ALL, 1.0, "all_tat_amb_start", 0,1)
SetAmbientMusic(ALL, 0.8, "all_tat_amb_middle", 1,1)
SetAmbientMusic(ALL, 0.2, "all_tat_amb_end", 2,1)
SetAmbientMusic(IMP, 1.0, "imp_tat_amb_start", 0,1)
SetAmbientMusic(IMP, 0.8, "imp_tat_amb_middle", 1,1)
SetAmbientMusic(IMP, 0.2, "imp_tat_amb_end", 2,1)

SetVictoryMusic(ALL, "all_tat_amb_victory")
SetDefeatMusic (ALL, "all_tat_amb_defeat")
SetVictoryMusic(IMP, "imp_tat_amb_victory")
SetDefeatMusic (IMP, "imp_tat_amb_defeat")

SetSoundEffect("ScopeDisplayZoomIn", "binocularzoomin")
SetSoundEffect("ScopeDisplayZoomOut", "binocularzoomout")
--SetSoundEffect("WeaponUnableSelect", "com_weap_inf_weaponchange_null")
--SetSoundEffect("WeaponModeUnableSelect", "com_weap_inf_modechange_null")
SetSoundEffect("SpawnDisplayUnitChange", "shell_select_unit")
SetSoundEffect("SpawnDisplayUnitAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplaySpawnPointChange", "shell_select_change")
SetSoundEffect("SpawnDisplaySpawnPointAccept", "shell_menu_enter")
SetSoundEffect("SpawnDisplayBack", "shell_menu_exit")

-- Camera Stats
--Tat2 Mos Eisley
AddCameraShot(0.974338, -0.222180, 0.035172, 0.008020, -82.664650, 23.668301, 43.955681);
AddCameraShot(0.390197, -0.089729, -0.893040, -0.205362, 23.563562, 12.914885, -101.465561);
AddCameraShot(0.169759, 0.002225, -0.985398, 0.012916, 126.972809, 4.039628, -22.020613);
AddCameraShot(0.677453, -0.041535, 0.733016, 0.044942, 97.517807, 4.039628, 36.853477);
AddCameraShot(0.866029, -0.156506, 0.467299, 0.084449, 7.685640, 7.130688, -10.895234);
end
[/code]
That should work right? Do I need a .bak file to go with it?
as in PM2g_con.lua.bak

Posted: Sat Feb 10, 2007 6:42 pm
by phazon_elite
.bak files are nothing you should worry about. Unless your LUA got screwed up beyond repair delete those .bak files. They are only useful if you need your original LUA data back (a reference).

Besides that, the LUA is fine. Just add it in your addme.lua.

- EP-000782

Posted: Sat Feb 10, 2007 7:56 pm
by Caleb1117
like so?

Code: Select all

--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




--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] = { isModLevel = 1, mapluafile = "PM2%s_%s", era_g = 1, era_c = 1, mode_con_c  = 1, mode_con_g = 1, mode_eli_g = 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("PM2","PM2g_con",4)
AddDownloadableContent("PM2","PM2c_con",6)
AddDownloadableContent("PM2","PM2g_eli",4)

-- all done
newEntry = nil
n = nil

-- Now load our core.lvl into the shell to add our localize keys
ReadDataFile("..\\..\\addon\\PM2\\data\\_LVL_PC\\core.lvl")

sorry for all the asking, just wish to be... Sure.