Jump to content


Photo

Celeborn for the Elves


  • Please log in to reply
99 replies to this topic

#1 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 01:36 AM

Is it possible to add Celeborn as a hero for the Elves? He had a skin and everything from the Evil campaign so all I want to do is add him, if possible.

Is it also to add the Lorien map from the good campaign or at least use Caras Galdhon as a fortress? Lorien just seems "Incomplete" to me.

I'll post other questions concering Elves in this tread as well.

Edited by King Thranduil, 10 February 2007 - 08:47 PM.


#2 BigRedKane

BigRedKane
  • Members
  • 85 posts
  • Location:Hastings, UK

Posted 21 January 2007 - 02:54 AM

Hiya King Thranduil,

goody, an elf question....I love elfs...lol.

I know I'm new to posting here but I've been modding BFME 2 for a while now, so I'll see what I can do to help an elf in need.... :)

I have the BFME The War Mod and that incorporated Celeborn as a new unit useing ini modding let's see if I can find the files you need...

found this in Commandbutton.ini -
(hopes the code box thing works...lol).

CommandButton Command_SpecialAbilityElvenCeleborn
  Command		   = SPECIAL_POWER
  SpecialPower	  = SpecialAbilityElvenCeleborn
  TextLabel		 = CONTROLBAR:ConstructElvenCeleborn
  ButtonImage	   = HICeleborn
  Options		   = NEED_TARGET_POS
  RadiusCursorType  = ElvenAlliesRadiusCursor
  CursorName		= Bombard
  InvalidCursorName = GenericInvalid  
  ButtonBorderType  = ACTION 
  DescriptLabel	 = CONTROLBAR:ToolTipBuildElvenCeleborn
  Radial		= Yes
  InPalantir		= Yes
End

CommandButton Command_ConstructElvenCeleborn
	Command				= UNIT_BUILD
	Object				= ElvenCeleborn
	Options				= CANCELABLE
	TextLabel			= CONTROLBAR:ConstructElvenCeleborn
	ButtonImage			= HICeleborn
	ButtonBorderType		= BUILD 
	DescriptLabel			= CONTROLBAR:ToolTipBuildElvenCeleborn
	Radial				= Yes
	InPalantir	   		= Yes
	ShowProductionCount		= Yes
;	UnitSpecificSound   		= GondorArcherVoiceBuy	  
End



So I assume Celeborn's name (if you wished to add him to the hero list in Playertemplate) would be ElvenCeleborn. Unfortuantely I haven't been able to track down his object file tho, which I thought was rather odd. but he IS in there and I've used him several times.

As for the Lorien map, I know what you mean about it feeling "incomplete", I too wanted a skirmish map of the campaign version as well as the Shire one from the evil campaign. Haven't seen either yet. But found a few conversions of other maps.

Anyways, I hope the info I gave helps and good luck. :D

#3 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 02:57 AM

Okay, thanks.

Do you know how to add heroes to fortresses? I've been trying for months to add the four hobbits too.

#4 BigRedKane

BigRedKane
  • Members
  • 85 posts
  • Location:Hastings, UK

Posted 21 January 2007 - 03:13 AM

Add heros to fortresses?....heh...peice of cake...was one of the first things I modded myself since having your own custom hero list is part-and-parcel of a fantasy... :)

Ok...I assume you know about extracting files from your ini.big file....in there is a playertemplate.ini file....just open that in notepad and scroll down to the elven faction section, it should look something like this -

PlayerTemplate FactionElves
	Side						  = Elves
	PlayableSide				  = Yes	; Please note: the presence of "SIDE:Elves" in the string file is what makes this appear in MP as a playable side.  And the skirmish scripts are what actually make it function.
	Evil						  = No
	StartMoney					= 100000
	MaxLevelMP					= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
	MaxLevelSP					= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_GOOD PLAYER_PURCHASE_POINTS_GRANTED )
	PreferredColor				= R:43 G:150 B:179
	StartingBuilding			= ElvenFortress
	
;------------- NO STARTING UNITS FOR YOU -------
;StartingUnit0 = ElvenLorienArcherHorde 
;StartingUnitOffset0 = X:-70 Y:220 Z:0
	
	
	StartingUnit1 = ElvenPorter 
	StartingUnitOffset1 = X:30 Y:250 Z:0
	StartingUnit0 = ElvenPorter
	StartingUnitOffset0 = X:1 Y:160 Z:0
	
	StartingUnitTacticalWOTR		= ElvenPorter
	StartingUnitTacticalWOTR		= ElvenPorter
	IntrinsicSciences			= SCIENCE_GOOD
	IntrinsicSciencesMP 		= SCIENCE_ELVES
	SpellBook					= GoodSpellBook
	SpellBookMp					= ElvesSpellBook
	PurchaseScienceCommandSet	= GoodSpellStoreCommandSet
	PurchaseScienceCommandSetMP	= ElvesSpellStoreCommandSet
	DisplayName					= INI:FactionElves
	DefaultPlayerAIType			= ElvesSkirmishAI	; Needs to exist before I can change it.
	BeaconName					= MultiplayerBeacon
	LightPointsUpSound			= GondorLightPointsUp
	ObjectiveAddedSound			= Gui_MissionObjectiveNew
	ObjectiveCompletedSound		= Gui_MissionObjectiveCompleted
	InitialUpgrades				= Upgrade_ElfFaction;Any upgrades this player template is born with.

	// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always 
	// attached to the first two buttons in the command set.
	BuildableHeroesMP			= CreateAHero ElvenGaladriel ElvenHaldir ElvenGlorfindel ElvenArwen ElvenLegolas ElvenThranduil ElvenElrond
	BuildableRingHeroesMP		= ElvenGaladriel_RingHero
	SpellStoreCurrentPowerLabel = APT:SpellStoreCurrentEvenstarPower
	SpellStoreMaximumPowerLabel = APT:SpellStoreMaximumEvenstarPower
	ResourceModifierObjectFilter = RESOURCE_MODIFIER_OBJECT_FILTER
	ResourceModifierValues		= 100 100 100 95 90 85 80 75 71 68 66
	MultiSelectionPortrait		= UPElvenArmy
	LoadScreenMusic				= Shell2MusicForLoadScreen
End

The part you need to modifiy is this bit -

	BuildableHeroesMP			= CreateAHero ElvenGaladriel ElvenHaldir ElvenGlorfindel ElvenArwen ElvenLegolas ElvenThranduil ElvenElrond

Make sure CreateAHero always comes first, after that you can pretty much add/remove all the heros you want, just remember if you go above a certain number of built heros in game (I think it's 16 heros) the extra above that number won't have their picture at the bottom of the screen, so you'll need to manually select them by clicking them. I've had 40 heros in a list once...lol.

Of course once you've modified the Playertemplate.ini file you need to use FinalBig to save the data directory as a new ini.big and either back up your original ini.big and replace with your moded one, or use the short cut way with the -mod command.
But you probably know this already.

#5 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 05:32 AM

*sighs* Like the Hobbits, I did all that and still Celeborn doesn't show up. I even took Haldir out to see if the game would notice. It didn't. Help...

#6 BigRedKane

BigRedKane
  • Members
  • 85 posts
  • Location:Hastings, UK

Posted 21 January 2007 - 06:06 AM

Damn, sorry it didn't work.

Anyways, some good news for you, I managed to find the object code for Celeborn and I'll post the entire thing here. Before I do tho, you'll need to set up a new object ini file by opening notepad, copy the code I give you into the blank notepad document and then save it as Celeborn.ini in zmymod folder within the objects folder. I use zmymod since that was what BFME The War used and what I subsequantly used for my Glorfindel clone to create Kain the vampire. (why knock a good thing if it works?...lol).
You might also have to add Celeborn to the lotr.str file and do some commandbutton.ini and commandset.ini and level file editing to get Celeborn fully functional with custom powers, but he should be useable without all that as a starting point for you.

Anyways here's the code -

;------------------------------------------------------------------------------;;	Celeborn;;	Because celeborn is a child, must be defined after elrond.;;------------------------------------------------------------------------------ChildObject ElvenCeleborn ElvenElrond	SelectPortrait  =  HPCeleborn	ButtonImage  =  HPCeleborn; *** ART Parameters ***	Draw = W3DScriptedModelDraw ModuleTag_DRAW		OkToChangeModelColor	= Yes		StaticModelLODMode		= Yes 		DefaultModelConditionState			Model						=	EUCELEB_SKN		End		; ------ Flying -------;		AnimationState					= STUNNED_STANDING_UP			StateName					= GetUp			Animation		   		= GetUpSword				AnimationName	   	= RUElrond_SKL.RUElrond_GTPSX1				AnimationMode	   	= ONCE			End			BeginScript				Prev = CurDrawablePrevAnimation()				if Prev == "FallWithSword"				then					return "GetUpSword"				end			EndScript		End		AnimationState					= STUNNED			Animation		   		= FallWithSword				AnimationName	   	= RUElrond_SKL.RUElrond_LNDB				AnimationMode	   	= ONCE			End			Flags = MAINTAIN_FRAME_ACROSS_STATES									BeginScript				CurDrawableHideSubObject("ArrowNock")				CurDrawableHideSubObject("arrow")				Prev = CurDrawablePrevAnimation()							return "FallWithSword"			EndScript		End				AnimationState					= STUNNED_FLAILING			Animation		   		= DieWithSword				AnimationName	   	= RUElrond_SKL.RUElrond_FLYB				AnimationMode	   	= LOOP			End						BeginScript				CurDrawableHideSubObject("ArrowNock")				CurDrawableHideSubObject("arrow")			EndScript		End					; ------ Dying -------;		AnimationState					= DYING			Animation		   		= DieWithSword				AnimationName	   	= RUElrond_SKL.RUElrond_DIESv5				AnimationMode	   	= ONCE			End		;Animation		   		= DieWithSword		;	AnimationName	   	= RUElrond_SKL.RUElrond_DIESV4		;	AnimationMode	   	= ONCE		;End						BeginScript				CurDrawableHideSubObject("ArrowNock")				CurDrawableHideSubObject("arrow")			EndScript		End				AnimationState						= PARALYZED			Animation				AnimationName				= RUElrond_SKL.RUElrond_IDLF				AnimationMode				= LOOP			End		End			; ------------ Moving -------------;				AnimationState					= MOVING			StateName					= Moving_Sword			SimilarRestart				= Yes			Animation		   		= run_s				AnimationName	   	= RUElrond_SKL.RUElrond_RUNS				AnimationMode	   	= LOOP				Distance				= 40			End			Animation					= finishrun_b				AnimationName	   	= RUElrond_SKL.RUElrond_RUNB				AnimationMode	   	= ONCE				AnimationBlendTime		= 0				Distance				= 40			End			Animation					= runtrans_bs				AnimationName	   	= RUElrond_SKL.RUElrond_RUNC				AnimationMode	   	= ONCE				AnimationBlendTime		= 0				Distance				= 70			End			Animation					= runtrans_sb_finish				AnimationName	   	= RUElrond_SKL.RUElrond_RUNT				AnimationMode	   	= ONCE				AnimationBlendTime		= 0				Distance				= 70			End			Animation					= runnoblend_s				AnimationName	   	= RUElrond_SKL.RUElrond_RUNS				AnimationMode	   	= LOOP				AnimationBlendTime		= 0				Distance				= 40			End			Flags = MAINTAIN_FRAME_ACROSS_STATES RESTART_ANIM_WHEN_COMPLETE						BeginScript				PrevAnim	= CurDrawablePrevAnimation()				PrevState	= CurDrawablePrevAnimationState()								if PrevState == "GetUp"  or PrevAnim == "DrawSwords"				then					if PrevAnim == "DrawSwords"					then						return "runtrans_bs"					else						return					end				elseif PrevAnim == "finishrun_b" or PrevAnim == "runtrans_sb_finish"				then					return "runtrans_bs"				elseif PrevAnim == "runtrans_bs" or PrevAnim == "run_s" or PrevAnim == "runnoblend_s"				then					return "runnoblend_s"				else					return "run_s"				end							EndScript		End			; ------ Attacking -------;				AnimationState					= FIRING_OR_PREATTACK_A			StateName					= Ready_Sword						Animation		   		= AttackWithSwordA				AnimationName	   	= RUElrond_SKL.RUElrond_ATKSV2				AnimationMode	   	= ONCE				UseWeaponTiming			= Yes			End			Animation		   		= AttackWithSwordB				AnimationName	   	= RUElrond_SKL.RUElrond_ATKS				AnimationMode	   	= ONCE				UseWeaponTiming			= Yes			End			Animation		   		= AttackWithSwordD				AnimationName	   	= RUElrond_SKL.RUElrond_ATKSV4				AnimationMode	   	= ONCE				UseWeaponTiming			= Yes			End			BeginScript				CurDrawableHideSubObject("ArrowNock")				CurDrawableHideSubObject("arrow")			EndScript		End		AnimationState					= USER_1			Animation				AnimationName			= RUElrond_SKL.RUElrond_TNTSV1				AnimationMode			= ONCE			End		End		AnimationState				= LEVELED			Animation				= LevelUp				AnimationName		= RUElrond_SKL.RUElrond_CHRST2				AnimationMode		= ONCE				AnimationBlendTime	= 20			End		End			; -------- Alert -------;				AnimationState					= EMOTION_ALERT			StateName					= Ready_Sword						Animation					= Alert_1				AnimationName			= RUElrond_SKL.RUElrond_IDLST1				AnimationMode			= ONCE				AnimationPriority		= 20			End			Animation					= Alert_1				AnimationName			= RUElrond_SKL.RUElrond_IDLST1; Secondary to solve the 'no play last anim' feature.				AnimationMode			= ONCE				AnimationPriority		= 20			End			Animation					= Alert_2				AnimationName			= RUElrond_SKL.RUElrond_TNTSV1				AnimationMode			= ONCE				AnimationPriority		= 5			End			Flags						= RESTART_ANIM_WHEN_COMPLETE						BeginScript				Prev = CurDrawablePrevAnimationState()				PrevName = CurDrawablePrevAnimation()								CurDrawableHideSubObject("ArrowNock")				CurDrawableHideSubObject("arrow")				if		Prev == "Bored_Sword"		then CurDrawableSetTransitionAnimState("TRANS_BR_Sword")				elseif	Prev == "Selected_Sword"		then CurDrawableSetTransitionAnimState("TRANS_SR_Sword")				end			EndScript		End			; --------- Hit Reactions ----------;				AnimationState = HIT_REACTION HIT_LEVEL_1			StateName					= Bored_Sword			Animation					= Hit_Level_1_a				AnimationName			= RUElrond_SKL.RUElrond_HITSv1				AnimationMode			= ONCE				AnimationBlendTime		= 20			End		End			; ------ Selected ------;		AnimationState				=	SELECTED			StateName				=	Selected_Sword						Animation				=	ATNA				AnimationName		=	RUElrond_SKL.RUElrond_ATNS				AnimationMode		=	LOOP			End						BeginScript				CurDrawableHideSubObject("ARROW")				CurDrawableHideSubObject("ARROWNOCK")								Prev = CurDrawablePrevAnimationState()				PrevName = CurDrawablePrevAnimation()				if Prev == "Bored_Sword"		then CurDrawableSetTransitionAnimState("TRANS_BS_Sword")				elseif Prev == "Ready_Sword"		then CurDrawableSetTransitionAnimState("TRANS_RS_Sword")				end				EndScript		End			; ------- Bored --------;				IdleAnimationState			StateName					= Bored_Sword						Animation		   		= IDLCX1				AnimationName	   	= RUElrond_SKL.RUElrond_IDLF				AnimationMode	   	= ONCE				AnimationPriority		= 20			End			Animation		   		= IDLCX1				AnimationName	   	= RUElrond_SKL.RUElrond_IDLF; Secondary to solve the 'no play last anim' feature.				AnimationMode	   	= ONCE				AnimationPriority		= 20			End			Animation		   		= IDLCt3				AnimationName	   	= RUElrond_SKL.RUElrond_IDLCT3				AnimationMode	   	= ONCE				AnimationPriority		= 10			End			Animation		   		= IDLCT1				AnimationName	   	= RUElrond_SKL.RUElrond_IDLCT1				AnimationMode	   	= ONCE				AnimationPriority		= 5			End						Flags						= RESTART_ANIM_WHEN_COMPLETE			BeginScript				CurDrawableHideSubObject("ARROW")				CurDrawableHideSubObject("ARROWNOCK")								Prev = CurDrawablePrevAnimationState()				PrevName = CurDrawablePrevAnimation()				if Prev == "Selected_Sword"		then CurDrawableSetTransitionAnimState("TRANS_SB_Sword")				elseif Prev == "Ready_Sword"		then CurDrawableSetTransitionAnimState("TRANS_RB_Sword")				end				EndScript		End			;----------------- Sword Transitions -------------------------;				TransitionState	   			= TRANS_BS_Sword			Animation		   		= TRANS_BS_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_ATNA				AnimationMode	 		= ONCE			End			Animation		   		= ATNAX1				AnimationName	 		= RUElrond_SKL.RUElrond_ATNX1				AnimationMode	 		= ONCE			End		End				TransitionState	   			= TRANS_SR_Sword			Animation		   		= TRANS_SR_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_ATNC				AnimationMode	 		= ONCE			End		End				TransitionState	   			= TRANS_SB_Sword			Animation		   		= TRANS_SB_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_ATNA				AnimationMode	 		= ONCE_BACKWARDS			End			Flags = START_FRAME_LAST		End				TransitionState	   			= TRANS_RS_Sword			Animation		   		= TRANS_RS_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_ATNC				AnimationMode	 		= ONCE_BACKWARDS			End			Flags = START_FRAME_LAST		End				TransitionState	   			= TRANS_BR_Sword			Animation		   		= TRANS_BR_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_ATNS				AnimationMode	 		= ONCE				AnimationBlendTime		= 20			End		End				TransitionState	   			= TRANS_RB_Sword			Animation		   		= TRANS_RB_Sword				AnimationName	 		= RUElrond_SKL.RUElrond_IDLG				AnimationMode	 		= ONCE				AnimationBlendTime		= 20			End		End			End	DisplayName = OBJECT:ElvenCeleborn		CommandSet  = CelebornCommandSet	WeaponSet		Conditions = None		Weapon = PRIMARY	ElrondSword		AutoChooseSources = PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI	End	WeaponSet		Conditions			= CONTAINED		Weapon				= PRIMARY GarrisonedUnitBow		AutoChooseSources	= PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI	End	  WeaponSet		  Weapon				= PRIMARY ElvenBattleTowerBow 		Conditions			= NONE		AutoChooseSources	= PRIMARY FROM_PLAYER FROM_SCRIPT FROM_AI	End	Behavior = OCLSpecialPower ModuleTag_Citadel		SpecialPowerTemplate = SpecialAbilityWhirlPoolSummon		OCL				  = OCL_SpawnWhirlpool		TriggerFX				= FX_GandalfLightningCharge		CreateLocation	   = CREATE_AT_LOCATION		AvailableAtStart	 = Yes	End	Behavior = OCLSpecialPower ModuleTag_Citadel1		SpecialPowerTemplate = SpecialAbilityCelebornSummon		OCL				  = OCL_CelebornSummon		TriggerFX				= FX_GandalfLightningCharge		CreateLocation	   = CREATE_AT_LOCATION		AvailableAtStart	 = Yes	EndBehavior = GrantUpgradeCreate ModuleTag_Upgrademyheadoff	UpgradeToGrant = Upgrade_ElvenSilverthornArrowsTowerEnd //--------------------------------------------------------------------------	//	FIRE BALL SPECIAL POWER LEVEL 3////--------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_FireballEnabler_L3	SpecialPowerTemplate = SpecialAbilityHeroFireball_Level3	TriggeredBy			 = Upgrade_ElrondRestorationEndBehavior = SpecialPowerModule ModuleTag_FireballStarter_L3	SpecialPowerTemplate	 = SpecialAbilityHeroFireball_Level3	UpdateModuleStartsAttack = Yes	StartsPaused			 = Yes		TriggerFX				= FX_GandalfLightningCharge;InitiateSound			 = SarumanVoiceAttackFireballEndBehavior = WeaponFireSpecialAbilityUpdate ModuleTag_FireballUpdate_L3	SpecialPowerTemplate = SpecialAbilityHeroFireball_Level3	WhichSpecialWeapon	 = 1	SkipContinue		 = Yes	UnpackTime			 = 800	PreparationTime		 = 1   	PersistentPrepTime	 = 1000		PackTime			 = 100		AwardXPForTriggering = 0		StartAbilityRange	 = CREATE_A_HERO_FIREBALL_RANGE	MustFinishAbility	 = Yes	SpecialWeapon		 = WizardFireballL3End;--------------------------------------------------------------------------; Thorn of Vengeance;--------------------------------------------------------------------------	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_ThornArrowEnabler		SpecialPowerTemplate		= SpecialAbilityThornVengeance		TriggeredBy					= Upgrade_ElrondRestoration	End	Behavior = SpecialPowerModule ModuleTag_ThornArrow		SpecialPowerTemplate		= SpecialAbilityThornVengeance		UpdateModuleStartsAttack	= Yes		StartsPaused				= Yes		TriggerFX				= FX_GandalfLightningCharge	End	Behavior = WeaponFireSpecialAbilityUpdate ModuleTag_ThornArrowUpdate		SpecialPowerTemplate		= SpecialAbilityThornVengeance		SkipContinue				= Yes		UnpackTime					= 1600		PreparationTime				= 2		PackTime					= 850		AwardXPForTriggering		= 0		StartAbilityRange			= 325.0								; Note: This has to be smaller than the weapon range or it'll never succeed		ApproachRequiresLOS			= Yes				SpecialWeapon				= ThranduilThornofVengeance		WhichSpecialWeapon			= 1	End	Behavior = AutoAbilityBehavior ModuleTag_ThornArrowAutoAbility		SpecialAbility				= SpecialAbilityThornVengeance		MaxScanRange				= 300		Query						= 1 ANY ENEMIES +HERO +MONSTER		Query						= 1 ALL ENEMIES	End	Behavior = UnpauseSpecialPowerUpgrade ModuleTag_LightningEnabler		SpecialPowerTemplate	= SpecialAbilityLightningStrike		TriggeredBy				= Upgrade_DainRoyalGuard	End	Behavior = SpecialPowerModule ModuleTag_LightningStrike					  		SpecialPowerTemplate		= SpecialAbilityLightningStrike		UpdateModuleStartsAttack	= Yes		StartsPaused				= No		TriggerFX				= FX_GandalfLightningCharge		InitiateSound				= WizardTowerLightningStrikeRumbleMS	End	Behavior = ArrowStormUpdate ModuleTag_ShootLightningBolts		SpecialPowerTemplate	= SpecialAbilityLightningStrike		StartAbilityRange	   = ISENGARD_WIZARDSTOWER_LIGHTNING_RANGE		UnpackingVariation		= 1		CanShootEmptyGround		= Yes				UnpackTime			  = 0;// Pull out arrow		PreparationTime		 = 1	;// Quick shot		PersistentPrepTime	  = 500;// looping the quick shot		PackTime				= 1500;// back to idle		ApproachRequiresLOS	 = No;// required so that it doesn't shoot through walls		AwardXPForTriggering	= 0			;ActiveLoopSound			= GandalfLightningLoop ;// Sound loops entire time ability is actively firing	;//Specific to ArrowStorm		WeaponTemplate  = WizardTowerLightningWeapon		TargetRadius	= ISENGARD_WIZARDSTOWER_LIGHTNING_FIRE_RADIUS		ShotsPerTarget  = 1		ShotsPerBurst   = 1		MaxShots		= ISENGARD_WIZARDSTOWER_LIGHTNING_NUMSHOTS ;// will double up if run out of targets	End	Behavior = AutoAbilityBehavior ModuleTag_AutoAbilityLightningBehavior1		SpecialAbility				= SpecialAbilityLightningStrike				;// Use this ability	EndRemoveModule ModuleTag_RespawnUpdateMaxSimultaneousOfType = 1End

You might have to insert that code after Elrond's code in Elrond's ini if it fails to work.
Also if you get a red message on game boot up stating that it can't find a certain power/abbility then just go back and edit the file again, removing the reference to that power, effect or abbility until eventually it works.
All in all that, together with the info I gave you earlier, should set you up in good stead for haveing a Celeborn hero (and yeah he should look just like the one in the campaign). He might have Elrond's voice though as he does on mine...lol.

Any other probs let me know and I'll see what I can do. :D

Solinx: Good to see you use code tags :) For big pieces of code there are [ codebox] tags. We're hard to satisfy eh? :)

Edited by Solinx, 21 January 2007 - 01:57 PM.


#7 Hard_Sander

Hard_Sander
  • Members
  • 244 posts

Posted 21 January 2007 - 10:02 AM

Perhaps you should more buttons to the fortress hero menu, search the forum for what to do.

Perhaps you should add more buttons to the fortress hero menu, search the forum for what to do.

#8 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 01:10 PM

What objects folder, Kane? and i don't think I have a "zmymod" folder.

Edited by King Thranduil, 21 January 2007 - 01:17 PM.


#9 Solinx

Solinx

    .

  • Undead
  • 3,101 posts
  • Location:The Netherlands
  • Projects:Real Life
  • Division:Revora
  • Job:Retired Leader / Manager

Posted 21 January 2007 - 02:01 PM

Perhaps you should more buttons to the fortress hero menu, search the forum for what to do.

He tried replacing Haldir, so I don't think that is the problem.

How do you store your modded files? Perhaps the game is simply not loading them.

Solinx

Edited by Solinx, 21 January 2007 - 02:04 PM.

Posted Image

"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr


#10 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 03:02 PM

I open the whole enchilada (the entire .ini file) with finalbig, find whatever I want to edit, edit it, and save it. That usually works perfectly for me.

#11 Solinx

Solinx

    .

  • Undead
  • 3,101 posts
  • Location:The Netherlands
  • Projects:Real Life
  • Division:Revora
  • Job:Retired Leader / Manager

Posted 21 January 2007 - 03:55 PM

Yes, that would have the game loading your changes. Not recommendable to mod a game like that, but possible. (issues with patching etc.)

You do have a good backup of your ini.big I hope?

Could you post some of the code you used?

Solinx
Posted Image

"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr


#12 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 05:59 PM

Yeah, I downloaded a back up from MEV.

You want all the codes I edited to put in Celeborn?

Here's the playertemplate I edited:

PlayerTemplate FactionElves
	Side					  = Elves
	PlayableSide			  = Yes			; Please note: the presence of "SIDE:Elves" in the string file is what makes this appear in MP as a playable side.  And the skirmish scripts are what actually make it function.
	Evil				  = No
	StartMoney				= 0
	MaxLevelMP			= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_DEFAULT PLAYER_PURCHASE_POINTS_GRANTED )
	MaxLevelSP			= #DIVIDE( PLAYER_MAX_PURCHASE_POINTS_GOOD PLAYER_PURCHASE_POINTS_GRANTED )
	PreferredColor			= R:43 G:150 B:179
	StartingBuilding		= ElvenFortress
	
;------------- NO STARTING UNITS FOR YOU -------
;StartingUnit0 			= ElvenLorienArcherHorde 
;StartingUnitOffset0 		= X:-70 Y:220 Z:0
	
	
	StartingUnit1 			= ElvenPorter 
	StartingUnitOffset1 		= X:30 Y:250 Z:0
	StartingUnit0 			= ElvenPorter
	StartingUnitOffset0 		= X:1 Y:160 Z:0
	
	StartingUnitTacticalWOTR	= ElvenPorter
	StartingUnitTacticalWOTR	= ElvenPorter
	IntrinsicSciences		= SCIENCE_GOOD
	IntrinsicSciencesMP 		= SCIENCE_ELVES
	SpellBook			= GoodSpellBook
	SpellBookMp			= ElvesSpellBook
	PurchaseScienceCommandSet	= GoodSpellStoreCommandSet
	PurchaseScienceCommandSetMP	= ElvesSpellStoreCommandSet
	DisplayName			= INI:FactionElves
	DefaultPlayerAIType		= ElvesSkirmishAI	; Needs to exist before I can change it.
	BeaconName			= MultiplayerBeacon
	LightPointsUpSound		= GondorLightPointsUp
	ObjectiveAddedSound		= Gui_MissionObjectiveNew
	ObjectiveCompletedSound		= Gui_MissionObjectiveCompleted
	InitialUpgrades			= Upgrade_ElfFaction	; Any upgrades this player template is born with.

	// NOTE: It is very important that the create-a-hero be the first buildable hero, to ensure that the create-a-hero and the ring hero are always 
	// attached to the first two buttons in the command set.

	BuildableHeroesMP		= CreateAHero ElvenHaldir ElvenGlorfindel ElvenArwen ElvenCeleborn ElvenLegolas ElvenThranduil ElvenElrond 
	BuildableRingHeroesMP		= ElvenGaladriel_RingHero
	SpellStoreCurrentPowerLabel 	= APT:SpellStoreCurrentEvenstarPower
	SpellStoreMaximumPowerLabel 	= APT:SpellStoreMaximumEvenstarPower
	ResourceModifierObjectFilter 	= RESOURCE_MODIFIER_OBJECT_FILTER
	ResourceModifierValues		= 100 100 100 100 90 85 80 75 71 68 66
	MultiSelectionPortrait		= UPElvenArmy
	LoadScreenMusic			= Shell2MusicForLoadScreen
End

After that, I just replaced Celeborn's code witht eh one Kane gave me.

Edited by King Thranduil, 21 January 2007 - 06:06 PM.


#13 Solinx

Solinx

    .

  • Undead
  • 3,101 posts
  • Location:The Netherlands
  • Projects:Real Life
  • Division:Revora
  • Job:Retired Leader / Manager

Posted 21 January 2007 - 07:07 PM

Does Haldir show up in the game?

Solinx
Posted Image

"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr


#14 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 07:27 PM

When he's in and even when he isn't, Haldir still shows up.

#15 Solinx

Solinx

    .

  • Undead
  • 3,101 posts
  • Location:The Netherlands
  • Projects:Real Life
  • Division:Revora
  • Job:Retired Leader / Manager

Posted 21 January 2007 - 07:41 PM

Then the problem isn't the coding itself, but the place you put the files at.

where exactly do you mod the files? Not in the original ini.big, or your changes would be permanent to the original game and all mods that don't override your modified files. Or perhaps the files didn't get saved? Have you checked the things you changed? After saving, close finalbig, reopen ini.big and see if things are really changed.

These questions are just to see what happened. My advice would be to forget about modifying inside the ini.big completely, unpack the ini files into the game folder, so that you get them at <your Battle for Middle Earth folder>\data\ini\.....
You can either unpack them all, or unpack only the ones you want to edit. Either way, these files will take precedence over what the files in the ini.big. If you modified a file in that folder, it will use the modifications, without you needing to change the shortcut. For now that will do to test things, later you can move your ini files to a custom folder and set up the shortcut.

Solinx
Posted Image

"An expert is a man who has made all the mistakes which can be made in a very narrow field." - Niels Bohr


#16 BigRedKane

BigRedKane
  • Members
  • 85 posts
  • Location:Hastings, UK

Posted 21 January 2007 - 09:14 PM

Thanks for the codebox command thing Solinx...heh...well I'm kinda new at this...lol.. :p

King Thranduil the zmymod folder will have to be created by you as a new folder in the Objects directory, so it should be something like this - Data>ini>objects>zmymod

then just place the new celeborn.ini file in there containing the code I gave you and add ElvenCeleborn to your Hero list in the Playertemplate.ini file (as i instructed previously). it should work.
also make sure you get the upper/lower casing right on the name...sometimes it makes a differance, sometimes it doesn't....I prefer to copy the name exactly as in the object code to avoid any mishaps.

If it still doesn't work the only other recourse I can think of is for us to link on msn messenger, you send me your ini.big you want modified and I'll add Celeborn myself...lol. (and any hobbits you want and stuffs).

#17 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 09:47 PM

How do I unpack the ini?

#18 BigRedKane

BigRedKane
  • Members
  • 85 posts
  • Location:Hastings, UK

Posted 21 January 2007 - 10:16 PM

unpack the ini?....phewy....lol...ok...I'll talk you through what I do with my inis and hopefully you'll get the idea -

1) create a new folder (preferably on another hard drive to your game....but if not, make sure it's no where near your game folders). Call this folder MyMods.

2)create a folder in MyMods called orginal ini (this is where you copy your original unmodded ini.big file).

3)create another new folder in MyMods called My Moded Ini Uncompressed (this is where you'll unpack your unmodded ini to).

4)create yet another folder in MyMods called My Moded Ini (this is where you'll put your moded ini.big saved from FinalBig).

6)copy your original ini.big to MyMods>Original Ini

7)Open FinalBig and select File>Open and navigate to MyMods>Original Ini and open your ini.big that you find in there.

8)in FinalBig select Edit>Extract All (you'll get a message come up about extracting the files and that any files will be overwritten....just click yes). Then navigate to MyMods>My Moded Ini Uncompressed (you just highlight the folder in the tree view) and click ok....it will then extract the files to that folder.

You can then copy the extracted files from the location if you wish, or leave them there.

Usually I create a new ini.big to over-write the one in the game directory (I have backups of the originals).
To do this there are some extra steps once you've moded your ini files -

9) Open FinalBig and select Edit>Add New Directory (near the bottom of Edit list) and then navigate/browse to your MyMods>My Moded Ini Uncompressed>Data (just highlight the data folder) and click ok...it'll take a short while but it'll load up your modded ini into FinalBig.

10)In FinalBig goto File>Save As and navigate/browse to your MyMods>My Moded Ini folder and name your big file ini.big and click save.

11) you now have your new ini.big file in that folder that you can copy to your game directory where the original is (make sure you have a back up first...I always stress this as it is very important).

12) once the ini.big is over-written with your new ini.big your game is moded....you'll then just need to fire up the game with the normal shortcut. At first, depending on various factors such as how much was moded, you might get a game.dat error or something (the yellow warning box thing)...try again, second try might say game is already running, but 3rd try should work. Could be my dvd drive needs a smack with a sledgehammer tho....lol.
If there's anything wrong with any mod you've applied that causes code conflict you'll likely get the eroor box with a red cross in it....that means you need to alter your mod and correct the errors or switch back to a previous ini.big that last worked.

I hope this helps. :p

#19 Bart

Bart

  • Network Admins
  • 8,524 posts
  • Location:The Netherlands
  • Division:Revora
  • Job:Network Leader

Posted 21 January 2007 - 11:14 PM

i have a much easier one:

1. extract ini.big to folder which we will call "x". for example, that means your commandbutton.ini file will be in "x\data\ini\commandbutton.ini"
2. edit your files (note: you can't edit gamedata.ini)
3. make a new shortcut for the game, which has
"C:\path\to\game\lotrbfme2.exe" -mod "x"
4. click that shortcut to run the game.

it's easy, it's fast, it doesn't change the original game files and it's the way it was meant to be :p

about your real question. just stick ElvenCeleborn in the BuildableHeroesMP line, that should be all you need to get it working.
bartvh | Join me, make your signature small!
Einstein: "We can’t solve problems by using the same kind of thinking we used when we created them."

#20 King Thranduil

King Thranduil

    King of Mirkwood

  • Members
  • 149 posts
  • Location:Mirkwood Forest

Posted 21 January 2007 - 11:30 PM

I re-installed the game to get the original, unmodded ini. (I tinkered too much with the old one). I'll add Celeborn in and see what happens.




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users