The 3rd Age

BFME Nostalgia Mod

BFME Nostalgia Mod

Play as BFME 1 gameplay in BFME2

Button for The 3rd AgeButton for The Dwarf HoldsButton for The Elven AllianceButton for Helm's Deep Last HopeButton for GothmogtheOrcButton for BFME+Button for The Four AgesButton for HDR HeadquartersButton for Middle Earth CenterButton for Project Perfect Mod

Become an affiliate!

   

Quick Lists

Top Rated Popular New Updated Last Comments Users

Register and log in to move these advertisements down

Apollo's Ultimate Intermediate Tutorial

Avatar of Elric

Elric

Category: Code
Level: Intermediate
Created: Sunday January 23, 2011 - 19:36
Updated: Sunday June 16, 2013 - 19:51
Views: 9900
Summary: Almost all you need to know about intermediate coding...

Rating

Staff says

2.0

Members say

3.8

Average

3.6/5.0

7 votes

Page 1 2 3 4 5 6
Making And Adding Particle Systems

Note- Add Word Of Power To Your Hero.ini before proceeding.

You do not usually need to make a new particle system because there are already hundreds in the game already for example: "Gandalfs Word Of Power" is made up of particle systems. The the only time by which you would need to make a new particle system is if you are going to change the color or the TGA or even the lifetime of the particles. The ini by which we will be working in is fxparticlesystems.ini found in "C:\YourMod\data\ini" mine is "C:\Users\Carla\Desktop\Powers 2\data\ini"

Ok so once you have the ini open it looks all confusing (unless you already know how to edit it) I will break it down into parts and explain what each part does.

I will be using Gandalfs Word Of Power particle systems. To find what particle systems go with what powers look in weapon .ini and look at the

              
Code
FireFX =


If there is not a fire FX then there is no particle system
Once you know the FX then go to FXlist.ini and type in the FX that you saw and then you will see something like this:

              
Code
; This is Gandalf's Shockwave Blast Attack (version)
FXList FX_GandalfBlast
ParticleSystem
Name = GandalfBlastFinalLight
Offset = X:0.0 Y:0.0 Z:60 ;Z:8.0
End
ParticleSystem
Name = GandalfBlastFinalShockWave
Offset = X:0.0 Y:0.0 Z:20.0
End
ParticleSystem
Name = GandalfBlastDust
Offset = X:0.0 Y:0.0 Z:15.0
End
;    ViewShake
; Type = CINE_EXTREME
; End
Sound
Name = GandalfBlastWeapon
End
End

This is Word Of Power Traced back.

After that look at the Particle System piece and it says GandalfBlastFinalLight, So go to fxparticlesystem.ini and type that in and you have found it.

Word Of Power Particle System Example:

              
Code

FXParticleSystem GandalfBlastDust <----- Name Of The System
System
Priority = VERY_LOW_OR_ABOVE <-----
Shader = ALPHA <----- Transparency level
ParticleName = EXsmokeplume.tga <----- the texture being used
PerParticleAttachedSystem = GandalfBlastDustCore <-----particlesystem its attached to(rare)
Lifetime = 100 100 <----- How long it is alive (Colors for example)
SystemLifetime = 5 <----- How Long the actual system is alive
SortLevel = 1 <----- Not Really Sure Only goes up to 2 I think
Size = 1 2 <----- How big the Dust is
BurstCount = 25 50 <----- How many particles there are
InitialDelay = 5 5 <----- Delay time
End
Color = DefaultColor <----- Color (Don't Change)
Color1 = R:181 G:190 B:196 0 <----- Change the numbers to change the color
End
Alpha = DefaultAlpha <----- Transparency (Don't Change)
Alpha1 = 0.2 0.3 0 <----- How Much Transparency
Alpha2 = -2 0 100 <----- Whats the second layer of Transparency
End
Update = DefaultUpdate <-----Don't Change
SizeRate = 2 15 <----- size by which it increases coming to its end
SizeRateDamping = 0.8 0.8 <----- Not Sure
AngleZ = 0 7 <----- Angle
AngularRateZ = -0.1 -0.1 <----- Angle
AngularDamping = 0.92 0.94 <----- Angle
Rotation = ROTATE_V <----- Type Of Rotation
AngularDampingXY = 1 1 <----- Angle
End
Physics = DefaultPhysics <----- Don't Change
VelocityDamping = 0.92 0.94 <----- How High Or Level by which it goes up at (best keep it low)
DriftVelocity = X:0.032 Y:0.064 Z:0.15 <----- Drift or angle by which it goes.
End
EmissionVelocity = OutwardEmissionVelocity <----- Look At other systems for advice
Speed = 20 20 <----- Self Explanatory
End
EmissionVolume = CylinderEmissionVolume <----- Look At other systems for advice
Radius = 12 <----- V
End
Draw = DefaultDraw <----- Don't Change
End
End


Ok now you no what each does.


Here are all the codes for Gandalfs Word Of Power


              
Code
FXParticleSystem GandalfBlastDust
System
Priority = VERY_LOW_OR_ABOVE
Shader = ALPHA
ParticleName = EXsmokeplume.tga
PerParticleAttachedSystem = GandalfBlastDustCore
Lifetime = 100 100
SystemLifetime = 5
SortLevel = 1
Size = 1 2
BurstCount = 25 50
InitialDelay = 5 5
End
Color = DefaultColor
Color1 = R:181 G:190 B:196 0
End
Alpha = DefaultAlpha
Alpha1 = 0.2 0.3 0
Alpha2 = -2 0 100
End
Update = DefaultUpdate
SizeRate = 2 15
SizeRateDamping = 0.8 0.8
AngleZ = 0 7
AngularRateZ = -0.1 -0.1
AngularDamping = 0.92 0.94
Rotation = ROTATE_V
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
VelocityDamping = 0.92 0.94
DriftVelocity = X:0.032 Y:0.064 Z:0.15
End
EmissionVelocity = OutwardEmissionVelocity
Speed = 20 20
End
EmissionVolume = CylinderEmissionVolume
Radius = 12
End
Draw = DefaultDraw
End
End



              
Code
FXParticleSystem GandalfBlastFinalLight
System
Priority = ALWAYS_RENDER
ParticleName = EXexplo01.tga
Lifetime = 10 10
SystemLifetime = 5
SortLevel = 1
Size = 10 10
BurstCount = 2 2
End
Color = DefaultColor
Color1 = R:89 G:168 B:255 0
Color2 = R:0 G:0 B:0 10
End
Update = DefaultUpdate
SizeRate = 80 160
SizeRateDamping = 0.8 0.7
AngleZ = -1 1
AngularDamping = 1 1
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
Gravity = 1
VelocityDamping = 1 1
End
EmissionVelocity = OutwardEmissionVelocity
Speed = 1 1
End
EmissionVolume = PointEmissionVolume
End
Draw = DefaultDraw
End
End


              
Code
FXParticleSystem GandalfBlastFinalShockWave
System
Priority = ALWAYS_RENDER
ParticleName = EXRing01.tga
Lifetime = 40 40
SystemLifetime = 5
SortLevel = 1
Size = 1 1
BurstCount = 1 1
IsGroundAligned = Yes
End
Color = DefaultColor
Color1 = R:136 G:172 B:255 0
Color2 = R:0 G:0 B:0 40
ColorScale = -40 40

End
Update = DefaultUpdate
SizeRate = 35 35
SizeRateDamping = 1 1
AngleZ = -1 1
AngularDamping = 1 1
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
VelocityDamping = 0.8 0.8
End
EmissionVelocity = OutwardEmissionVelocity
End
EmissionVolume = PointEmissionVolume
IsHollow = Yes
End
Draw = DefaultDraw
End
End


Notice They all have the same type structure.

For this tutorial I will make Word Of Power green and get it to show in game.

First copy all the Word Of Power particle systems and paste them at the bottom or top of fxpaticlesystem.ini. Then all you have to do to the particle system is change it to this:


              
Code
FXParticleSystem GandalfBlastDust2
System
Priority = VERY_LOW_OR_ABOVE
Shader = ALPHA
ParticleName = EXsmokeplume.tga
PerParticleAttachedSystem = GandalfBlastDustCore
Lifetime = 100 100
SystemLifetime = 5
SortLevel = 1
Size = 1 2
BurstCount = 25 50
InitialDelay = 5 5
End
Color = DefaultColor
Color1 = R:0 G:255 B:0 0 <-----255 is the max for each color
End
Alpha = DefaultAlpha
Alpha1 = 0.2 0.3 0
Alpha2 = -2 0 100
End
Update = DefaultUpdate
SizeRate = 2 15
SizeRateDamping = 0.8 0.8
AngleZ = 0 7
AngularRateZ = -0.1 -0.1
AngularDamping = 0.92 0.94
Rotation = ROTATE_V
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
VelocityDamping = 0.92 0.94
DriftVelocity = X:0.032 Y:0.064 Z:0.15
End
EmissionVelocity = OutwardEmissionVelocity
Speed = 20 20
End
EmissionVolume = CylinderEmissionVolume
Radius = 12
End
Draw = DefaultDraw
End
End



              
Code
FXParticleSystem GandalfBlastFinalLight2
System
Priority = ALWAYS_RENDER
ParticleName = EXexplo01.tga
Lifetime = 10 10
SystemLifetime = 5
SortLevel = 1
Size = 10 10
BurstCount = 2 2
End
Color = DefaultColor
Color1 = R:0 G:255 B:0 0
Color2 = R:0 G:0 B:0 10
End
Update = DefaultUpdate
SizeRate = 80 160
SizeRateDamping = 0.8 0.7
AngleZ = -1 1
AngularDamping = 1 1
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
Gravity = 1
VelocityDamping = 1 1
End
EmissionVelocity = OutwardEmissionVelocity
Speed = 1 1
End
EmissionVolume = PointEmissionVolume
End
Draw = DefaultDraw
End
End


              
Code
FXParticleSystem GandalfBlastFinalShockWave2
System
Priority = ALWAYS_RENDER
ParticleName = EXRing01.tga
Lifetime = 40 40
SystemLifetime = 5
SortLevel = 1
Size = 1 1
BurstCount = 1 1
IsGroundAligned = Yes
End
Color = DefaultColor
Color1 = R:0 G:255 B:0 0
Color2 = R:0 G:0 B:0 40
ColorScale = -40 40

End
Update = DefaultUpdate
SizeRate = 35 35
SizeRateDamping = 1 1
AngleZ = -1 1
AngularDamping = 1 1
AngularDampingXY = 1 1
End
Physics = DefaultPhysics
VelocityDamping = 0.8 0.8
End
EmissionVelocity = OutwardEmissionVelocity
End
EmissionVolume = PointEmissionVolume
IsHollow = Yes
End
Draw = DefaultDraw
End
End


Notice the differences!

Now go to the fxlist.ini and find:

              
Code
; This is Gandalf's Shockwave Blast Attack (version)
FXList FX_GandalfBlast
ParticleSystem
Name = GandalfBlastFinalLight
Offset = X:0.0 Y:0.0 Z:60 ;Z:8.0
End
ParticleSystem
Name = GandalfBlastFinalShockWave
Offset = X:0.0 Y:0.0 Z:20.0
End
ParticleSystem
Name = GandalfBlastDust
Offset = X:0.0 Y:0.0 Z:15.0
End
;    ViewShake
; Type = CINE_EXTREME
; End
Sound
Name = GandalfBlastWeapon
End
End


Copy and paste it at the bottom of the ini and change it to this:

              
Code
; This is Gandalf's Shockwave Blast Attack (version)
FXList FX_GandalfBlastGreen
ParticleSystem
Name = GandalfBlastFinalLight2
Offset = X:0.0 Y:0.0 Z:60 ;Z:8.0
End
ParticleSystem
Name = GandalfBlastFinalShockWave2
Offset = X:0.0 Y:0.0 Z:20.0
End
ParticleSystem
Name = GandalfBlastDust2
Offset = X:0.0 Y:0.0 Z:15.0
End
;    ViewShake
; Type = CINE_EXTREME
; End
Sound
Name = GandalfBlastWeapon
End
End


Notice the differences!

Ok, Now to get it to show in game go to weapon.ini and Find GandalfWordOfPower.

Looks Something Like This:

              
Code
----------------------------------------------------------------------------
Weapon GandalfWordOfPower ; Big Blue Ring Blast
    IdleAfterFiringDelay = 0
    AttackRange = GANDALF_WORD_OF_POWER_RANGE
    MinimumAttackRange = 0.8
    WeaponSpeed = 401 ; dist/sec
    MinWeaponSpeed = 241
    MaxWeaponSpeed = 601 ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
    ScaleWeaponSpeed = Yes ; Used for lob weapons, scales speed proportional to range
    RadiusDamageAffects = ENEMIES NOT_SIMILAR
    DelayBetweenShots = 5000 ; time between shots, msec
    PreAttackDelay = 2600
    PreAttackType = PER_ATTACK ; Do the delay each time we attack a new target
    PreAttackFX = FX_GandalfPreAttackBlastReal
    FireFX = FX_GandalfBlast
    FiringDuration = 1400
    DamageNugget ; A basic Nugget that just does damage
        Damage            = GANDALF_WORD_OF_POWER_DAMAGE
        Radius            = 500.0
        DamageType        = MAGIC
        DamageFXType    = MAGIC
        DeathType        = EXPLODED
        DamageSpeed        = 700.0 ; must match the ShockWaveSpeed below
    End
    MetaImpactNugget ; A Nugget that throws things back with force
;        HeroResist            = .75
        ShockWaveAmount = 75.0
        ShockWaveRadius = 500.0
        ShockWaveTaperOff = 1.0
        ShockWaveZMult = 1.000
        ShockWaveSpeed     = 700.0
    End
End



Then copy and paste it and change FireFX = FX_GandalfBlast to FX_GandalfBlast2 and rename the copy, WordOfPowerGreen.

After the change it should look like this:

              
Code
----------------------------------------------------------------------------
Weapon WordOfPowerGreen ; Big Blue Ring Blast
    IdleAfterFiringDelay = 0
    AttackRange = GANDALF_WORD_OF_POWER_RANGE
    MinimumAttackRange = 0.8
    WeaponSpeed = 401 ; dist/sec
    MinWeaponSpeed = 241
    MaxWeaponSpeed = 601 ; dist/sec Upper limit on scaling, when attacking past nominal "max" range
    ScaleWeaponSpeed = Yes ; Used for lob weapons, scales speed proportional to range
    RadiusDamageAffects = ENEMIES NOT_SIMILAR
    DelayBetweenShots = 5000 ; time between shots, msec
    PreAttackDelay = 2600
    PreAttackType = PER_ATTACK ; Do the delay each time we attack a new target
    PreAttackFX = FX_GandalfPreAttackBlastReal
    FireFX = FX_GandalfBlast2
    FiringDuration = 1400
    DamageNugget ; A basic Nugget that just does damage
        Damage            = GANDALF_WORD_OF_POWER_DAMAGE
        Radius            = 500.0
        DamageType        = MAGIC
        DamageFXType    = MAGIC
        DeathType        = EXPLODED
        DamageSpeed        = 700.0 ; must match the ShockWaveSpeed below
    End
    MetaImpactNugget ; A Nugget that throws things back with force
;        HeroResist            = .75
        ShockWaveAmount = 75.0
        ShockWaveRadius = 500.0
        ShockWaveTaperOff = 1.0
        ShockWaveZMult = 1.000
        ShockWaveSpeed     = 700.0
    End
End


Now go to your Hero.ini and Change:

              
Code
SpecialWeapon            = GandalfWordOfPower


To

              
Code
SpecialWeapon            = WordOfPowerGreen


Then Go To Game and Check It Out.

Links / Downloads

 HitsAdded
Clanks Ultimate Beginner Tutorial1660January 23, 2011 - 19:39

Comments

Display order: Newest first

wesleypicard - Monday July 23, 2018 - 2:15

rate it a 10 but i am confused on one thing on page 3 where you explain how to increase horde size. i understand part of it. do i have to change the initial payload as well or leave that alone? and what about the rohirram? do you do the same with them as with the elven warriors?

--------

elric thanks so much for this tutorial i am finally able to increase horde sizes thanks to this.

Radspakr Wolfbane (Team Chamber Member) - Sunday August 14, 2011 - 6:10

In the FX ParticleSystems Shader refers to the type of Shader used these can be Alpha which reads the Alpha channel,Additive which reads Black as transparency and of course you can choose not to have them.

Zues - Saturday August 6, 2011 - 15:07

Pretty Clear could use a little improvmennt

Elric - Saturday August 6, 2011 - 9:53

@newbkiller: what do you mean choice 2. i need a page number to help you?

newbkiller.williams - Saturday August 6, 2011 - 4:26

could you explain choice number 2 aswell please , because i dont know how to put a new models/textures into the game

Poseidon - Tuesday January 25, 2011 - 16:43

I really think that this article follows up clanks in quite a few ways. I can't wait until this whole article is finished! This will be very helpful to me in some map.ini coding and maybe modding once i think i am ready for it...

Elric - Tuesday January 25, 2011 - 16:23

Please Comment and Rate. I would release this whole tutorial in one go but i wanted to release half first and then half later. Just in case I never finished it so at least people will have 1 half of it...

Go to top

 

"One site to rule them all, one site to find them,
one site to host them all, and on the network bind them."

 
15:30:18