Page 1 of 1

Damageless Lightsabers

Posted: Thu Jan 18, 2007 3:07 am
by Koolaid7g
The lightsabers in my map don't do any damage. They can still block, but the regualr attack and saber throw is faulty. I checked a previous post, but that didn't help me. Any ideas?

My memorypool stats:

SetMemoryPoolSize ("ClothData",20)
SetMemoryPoolSize ("Combo",50)
SetMemoryPoolSize ("Combo::State",650)
SetMemoryPoolSize ("Combo::Transition",650)
SetMemoryPoolSize ("Combo::Condition",650)
SetMemoryPoolSize ("Combo::Attack",550)
SetMemoryPoolSize ("Combo::DamageSample",6000)
SetMemoryPoolSize ("Combo::Deflect",100)

RE: Damageless Lightsabers

Posted: Thu Jan 18, 2007 3:50 am
by fusillade
Quote the odf for your sabre that is not doing any dmg.

But before you do that, if your not using a custom sabre, copy the assets over the sabre odfs and try that.

Make sure your all your .combo files that your sabre odfs call for are in your sides folder.

Also try going to your build folder, then under sides. Now goto your sides that is having the issue and delete all the munged files so it will have to remunge fresh ones.

RE: Damageless Lightsabers

Posted: Thu Jan 18, 2007 3:41 pm
by MasterSkywalker
Your working on a space map? If it is you must place this in the ModIDg_Diet Dr. Pepper lua =P

Soul -- A VERY Happy 2007!!

RE: Damageless Lightsabers

Posted: Fri Jan 19, 2007 2:48 am
by Koolaid7g
It's not just one saber, but ALL of my sabers, on both sides, customa nd shipped. I copied over the shipped odf for the common_lightsaber.odf, and it did nothing. All the combo files should be there, as all the combos are performable. I did the munge thing too-no soap. Shoot. Now what?

It's for my Naboo map, btw.

RE: Damageless Lightsabers

Posted: Fri Jan 19, 2007 8:42 am
by Teancum
Post the LUA.

Posted: Sat Jan 20, 2007 2:17 am
by Koolaid7g
--
-- Copyright (c) 2005 Pandemic Studios, LLC. All rights reserved.
--

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

-- REP Attacking (attacker is always #1)
REP = 1;
CIS = 2;
-- These variables do not change
ATT = REP;
DEF = CIS;


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



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

AddDeathRegion("deathregion3")
AddDeathRegion("deathregion01")

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(130)
SetMaxPlayerFlyHeight (170)

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\\nab.lvl;nab2cw")
ReadDataFile("dc:sound\\nth.lvl;nthcw")
ReadDataFile("SIDE\\rep.lvl",
"rep_inf_ep3_rifleman",
"rep_inf_ep3_rocketeer",
"rep_inf_ep3_engineer",
"rep_inf_ep3_sniper",
"rep_inf_ep3_officer",
"rep_inf_ep3_jettrooper",
"rep_hover_fightertank",
"rep_hero_anakin",
"rep_veh_remote_terminal")
ReadDataFile("SIDE\\cis.lvl",
"cis_inf_marine",
"cis_inf_rocketeer",
"cis_inf_engineer",
"cis_inf_sniper",
"cis_inf_officer",
"cis_inf_droideka",
"cis_hero_darthmaul")



ReadDataFile("SIDE\\tur.lvl",
"tur_bldg_laser",
"tur_bldg_tower",
"tur_bldg_spa_cis_beam",
"tur_bldg_spa_cis_chaingun",
"tur_bldg_spa_rep_beam",
"tur_bldg_spa_rep_chaingun",
"tur_bldg_chaingun_tripod",
"tur_bldg_chaingun_roof")

ReadDataFile("dc:SIDE\\roy.lvl",
"roy_naboosoldier")


ReadDataFile("dc:Side\\b1d.lvl",
"b1d_b1battledroid",
"b1d_panaka",
"b1d_ep1obiwan",
"b1d_darthmaul",
"b1d_queen",
"b1d_chaingun_roof",
"b1d_aat")




SetupTeams{
rep = {
team = REP,
units = 20,
reinforcements = 150,
soldier = { "roy_naboosoldier",9, 25},
assault = { "b1d_ep1obiwan",1, 4},
engineer = { "b1d_battledroid",1, 4},
sniper = { "b1d_panaka",1, 4},
officer = { "rep_hero_anakin",1, 4},
special = { "",1, 4},

},
cis = {
team = CIS,
units = 20,
reinforcements = 150,
soldier = { "b1d_b1battledroid",9, 25},
assault = { "cis_inf_rocketeer",1, 4},
engineer = { "cis_inf_engineer",1, 4},
sniper = { "cis_inf_sniper",1, 4},
officer = {"b1d_darthmaul",1, 4},
special = { "cis_inf_droideka",1, 4},
}
}

SetHeroClass(CIS, "cis_hero_darthmaul")
SetHeroClass(REP, "rep_hero_anakin")



-- Level Stats
-- ClearWalkers()
AddWalkerType(0, 4) -- special -> droidekas
AddWalkerType(1, 1) -- 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", 200)
SetMemoryPoolSize("AmmoCounter", weaponCnt)
SetMemoryPoolSize("BaseHint", 1024)
SetMemoryPoolSize("EnergyBar", weaponCnt)
SetMemoryPoolSize("EntityCloth", 32)
SetMemoryPoolSize("EntityFlyer", 32)
SetMemoryPoolSize("EntityHover", 32)
SetMemoryPoolSize("EntityLight", 300)
SetMemoryPoolSize("EntitySoundStream", 4)
SetMemoryPoolSize("EntityRemoteTerminal", 12)
SetMemoryPoolSize("EntitySoundStatic", 32)
SetMemoryPoolSize("MountedTurret", 86)
SetMemoryPoolSize("Navigator", 128)
SetMemoryPoolSize("Obstacle", 1024)
SetMemoryPoolSize("PathNode", 1024)
SetMemoryPoolSize("SoundSpaceRegion", 64)
SetMemoryPoolSize("TreeGridStack", 1024)
SetMemoryPoolSize("EntityDefenseGridTurret", 3)
SetMemoryPoolSize("UnitAgent", 128)
SetMemoryPoolSize("UnitController", 128)
SetMemoryPoolSize("Weapon", 600)


SetSpawnDelay(10.0, 0.25)
--ReadDataFile("dc:NTH\\NTH.lvl", "NTH_conquest")
ReadDataFile("dc:NTH\\NTH.lvl", "NTH_conquest")
SetDenseEnvironment("false")




-- Sound

voiceSlow = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_slow")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "all_unit_vo_slow", voiceSlow)
AudioStreamAppendSegments("sound\\global.lvl", "global_vo_slow", voiceSlow)

voiceQuick = OpenAudioStream("sound\\global.lvl", "rep_unit_vo_quick")
AudioStreamAppendSegments("sound\\global.lvl", "cis_unit_vo_quick", voiceQuick)

OpenAudioStream("sound\\global.lvl", "cw_music")
-- OpenAudioStream("sound\\global.lvl", "global_vo_quick")
-- OpenAudioStream("sound\\global.lvl", "global_vo_slow")
OpenAudioStream("dc:sound\\nth.lvl", "nth")
OpenAudioStream("sound\\nab.lvl", "nab2")



SetBleedingVoiceOver(REP, REP, "rep_off_com_report_us_overwhelmed", 1)
SetBleedingVoiceOver(REP, CIS, "rep_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, REP, "cis_off_com_report_enemy_losing", 1)
SetBleedingVoiceOver(CIS, CIS, "cis_off_com_report_us_overwhelmed", 1)

SetLowReinforcementsVoiceOver(REP, REP, "rep_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(REP, CIS, "rep_off_victory_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, CIS, "cis_off_defeat_im", .1, 1)
SetLowReinforcementsVoiceOver(CIS, REP, "cis_off_victory_im", .1, 1)

SetOutOfBoundsVoiceOver(2, "repleaving")
SetOutOfBoundsVoiceOver(1, "cisleaving")

SetAmbientMusic(REP, 1.0, "rep_nab_amb_start", 0,1)
SetAmbientMusic(REP, 0.8, "rep_nab_amb_middle", 1,1)
SetAmbientMusic(REP, 0.2,"rep_nab_amb_end", 2,1)
SetAmbientMusic(CIS, 1.0, "cis_nab_amb_start", 0,1)
SetAmbientMusic(CIS, 0.8, "cis_nab_amb_middle", 1,1)
SetAmbientMusic(CIS, 0.2,"cis_nab_amb_end", 2,1)

SetVictoryMusic(REP, "rep_nab_amb_victory")
SetDefeatMusic (REP, "rep_nab_amb_defeat")
SetVictoryMusic(CIS, "cis_nab_amb_victory")
SetDefeatMusic (CIS, "cis_nab_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")

--OpeningSateliteShot
AddCameraShot(0.908386, -0.209095, -0.352873, -0.081226, -45.922508, -19.114113, 77.022636);

AddCameraShot(-0.481173, 0.024248, -0.875181, -0.044103, 14.767292, -30.602322, -144.506851);
AddCameraShot(0.999914, -0.012495, -0.004416, -0.000055, 1.143253, -33.602314, -76.884430);
AddCameraShot(0.839161, 0.012048, -0.543698, 0.007806, 19.152437, -49.802273, 24.337317);
AddCameraShot(0.467324, 0.006709, -0.883972, 0.012691, 11.825212, -49.802273, -7.000720);
AddCameraShot(0.861797, 0.001786, -0.507253, 0.001051, -11.986043, -59.702248, 23.263165);
AddCameraShot(0.628546, -0.042609, -0.774831, -0.052525, 20.429928, -48.302277, 9.771714);
AddCameraShot(0.765213, -0.051873, 0.640215, 0.043400, 57.692474, -48.302277, 16.540724);
AddCameraShot(0.264032, -0.015285, -0.962782, -0.055734, -16.681797, -42.902290, 129.553268);
AddCameraShot(-0.382320, 0.022132, -0.922222, -0.053386, 20.670977, -42.902290, 135.513001);
end

Posted: Sat Jan 20, 2007 12:00 pm
by fusillade
[WeaponClass]

ClassLabel = "melee"
ClassParent = "com_weap_inf_lightsaber"

[Properties]

GeometryName = "all_weap_inf_lightsabre"
ComboAnimationBank = "human_sabre melee rep_hero_ep3obiwan"

FirePointName = "hp_fire"
LightSaberLength = "1.0"
LightSaberWidth = "0.08"
LightSaberTexture = "bluelightsabre"
LightSaberTrailColor = "7 85 255 128"
This is the typical sabre odf. If you don't have any values for LightSaberLength or LightSaberWidth, then the sabres will do no dmg.

The only other thing I can think of how this is happening, is in the .combo files themselves. Search a .combo file real quick for "damage(", include the open parenthesis, there should be a value between 200 and 600 for each swing.

Posted: Sat Jan 20, 2007 10:49 pm
by Koolaid7g
No, that isn't it either. The problem affects ALL lightsabers, regardless of whether they shipped or were custom. The problem might lie with the munged or something, as I had to mess with that in order to get the particle editor up n running. But we'll see.

Posted: Sun Jan 21, 2007 12:20 am
by t551
Wait, in your other topic, you said that sabres stopped doing damage after you added the core generator effects. Take them out, and see if the sabers do damage again.

It is possible that those use up a great deal of the game's set memory pools, and so it just gives up on other calculations to render them.

Posted: Sun Jan 21, 2007 2:08 am
by Koolaid7g
Wow. The utmost simplistic answer is the one that works. Thanks t551t551!

Is it possible to up those memory pools, or do I just need to come up with something new?

Posted: Sun Jan 21, 2007 2:46 am
by t551
I don't think you can mess with the effect memory pools, and even if you could, the game itself has a total memory cap.

You probably need to concentrate your work on making the generator effects take as little memory and processing power as possible.

You could remove some of the overhead by making the generators rely less on particle efx and instead use a scrolling texture on some tubes and planes in XSI, with a less intense efx to back it up.

Also, use agressive lowrezing, by creating a much less complicated efx to use at lowrez distances.

Not sure if these will work, but they're worth a shot.