The 3rd Age

Helm's Deep Last Hope

Helm's Deep Last Hope

The ultimate map mod

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

extended map.ini coding

Avatar of -SilverBane-

-SilverBane-

Category: Code
Level: Intermediate
Created: Thursday May 28, 2015 - 16:08
Updated: Sunday May 31, 2015 - 10:20
Views: 6427
Summary: A tutorial for those who want to make heavily customized maps, but modders might find tricks too!

Rating

Staff says

-

Members say

-

Average

-

0 votes

Page 1 2 3 4 5 6 7 8
8=======================================================================================================
Some adivces and tricks you might need and are good to know:




1) Command button image trick


You have noticed this code on page 5 and I've told you it changes the image of the commandbutton:

              
Code

MappedImage BCFarm
;Texture = BuildingRadialButtons_076.tga
Texture = HeroUI_004.tga
TextureWidth = 256
TextureHeight = 256
Coords = Left:192 Top:128 Right:256 Bottom:192
Status = NONE
End


Well, to change the image shown on a commandbutton, just find his used mappedimage, and replace the texture used with another one existing in game (check game art, you must extract that one too with FinalBig),
then with the cameo mapper link I gave to you on first page, find the coordinates you want for your commandbutton.


2) I mentioned a modeling program on first page, well it's useful to have one around because you can easily find the bones of an object if you open his model in a modeling program.


3) I have told you that you can have more than 6 buttons in a commandset, but they won't show on palantir. If it's a building you can make them show radial, you can have up to 33 commandbuttons in a commandset.
But, if you want for a hero to have more than 6 powers? Well, just add on slot 7 the power, it will be there but it's only possible to activate it using it's shortcut, wich you must define in map.STR


4) You can actually get rid of AddModule stuff, if you're using a ChildObject. Like this:


              
Code

Object GondorFaramir
End


ChildObject MordorGothmog GondorFaramir




    Body = RespawnBody ModuleTag_RespawnBody
        CheerRadius             = EMOTION_CHEER_RADIUS
        MaxHealth         = 2900    ;BALANCE Faramir Health
        PermanentlyKilledByFilter    = NONE        ;Who kills me permanently?
        DodgePercent         = HERO_DODGE_PERCENT
    End


End





This means if you place on map (or create) a mordor gothmog object, it will be EXACTLY the same as faramir, but with more health.
It is useful when you make a map with many heroes, take one hero with few powers as a mother object, and then make childobjects based on him and modify just what you need.
*I have learnt this from Crusard




5) Increasing the damage of a ranged weapon


We all hate this, that you cannot edit warheads in a map.ini

But there are 2 ways you can change the damage of a ranged weapon.


a) the simple one: just add an attribute modifier to the unit wich increases/reduces his damage, if the unit toggles weapons it's possible to make it active when only one is active

But this is many times insuficient.... What if you want to make a grenade, lets say..... an arrow that just deals more damage is not a grenade.... if you want knockback effect, special FX'ses and unique damage nuggets...
You need to use the way b!

b)the hard one: You need to find a ranged weapon wich is NOT used in your map, and it's projectile MUST ALSO BE UNIQUE.


I will take as example HobbitRockThrow, wich is converted in a lance storm ability in one of my maps:


First take the ranged weapon and edit it's parameters to your desires. Also remember the projectile used.


              
Code



Weapon HobbitRockThrow ; BALANCE HARADRUIN arrowstorm weapon -lancestorm


AttackRange = 500 ;LEGOLAS_ARROWSTORM_RANGE
WeaponSpeed = 350
MinWeaponSpeed = 250
MaxWeaponSpeed = 450
FireFX = FX_HaradrimSpearThrow ;FX_RohanArcherBowWeapon
HitPercentage = 100 ;When this weapon is used it will hit exactly all of the time.

    ProjectileNugget
        ProjectileTemplateName = HobbitRockProjectile ; i've added a fireweaponwhendeadbehavior for this object so it deals more damage than a tiny rock xD
        WarheadTemplateName = HobbitRockThrowWarhead
    End
End



Now create a warhead wich must be the extra damage and effects added. For me it's the following:






              
Code

Weapon LancewindWarhead

HitStoredTarget = Yes    ;
ProjectileCollidesWith = ENEMIES NEUTRAL STRUCTURES WALLS
RadiusDamageAffects = ENEMIES NEUTRALS NOT_SIMILAR ;ALLIES
DamageNugget ; A basic Nugget that just does damage
Damage = 250 ; a whole lot of damage
DamageScalar = 120% NONE +ARCHER +CAVALARY
DamageScalar = 80% NONE +HERO
Radius = 0.0
DelayTime = 0
DamageType = HERO ;SPECIALIST ; ;PIERCE
DamageFXType = REFLECTED ;GOOD_ARROW_PIERCE
DeathType = EXPLODED ;NORMAL
AcceptDamageAdd = No ; this means the attributemodifier i've gave him for extra damage doesnt affects this
End

DamageNugget ; A basic Nugget that just does damage
Damage = 1 ; just for fx
DamageScalar = 120% NONE +ARCHER +CAVALARY
DamageScalar = 80% NONE +HERO
Radius = 0.0
DelayTime = 0
DamageType = MAGIC ;
DamageFXType = MAGIC
DeathType = NORMAL
AcceptDamageAdd = No ; this means the attributemodifier i've gave him for extra damage doesnt affects this
End
End





Now, find his projectile in goodfactionsubobjects.INI and edit it to look how you want, and then at the end add the FireWeaponWhenDeadBehavior module. (wich makes this object fire a weapon when he dies = more damage)



              
Code



Object HobbitRockProjectile




RemoveModule ModuleTag_Draw

AddModule
Draw = W3DScriptedModelDraw ModuleTag_DrawNEW
DefaultModelConditionState
Model = HrdrmLance ;PRHOBBITSTONE
End
End
End




AddModule
    Behavior = CreateObjectDie ModuleTag_ProjectileBits
        DeathTypes = ALL
        CreationList = OCL_MordorLanceProjectileBits
    End
End




ReplaceModule ModuleTag_06
    Behavior = FXListDie ModuleTag_NewDeathFx
        DeathTypes = ALL -CRUSHED -SPLATTED
        DeathFX = FX_HaradrimSpearImpact            ;FX_GondorArrowDeath
    End
End



ReplaceModule ModuleTag_Draw2
Draw = W3DStreakDraw ModuleTag_Draw2New
     Length        = 45
     Width        = 1
     NumSegments    = 6                ; number of segements in the streak, increase for smoother line
     Color        = R:105 G:48 B:255
     Texture        = EXLightStreaks2.tga
End
End






AddModule
Behavior = FireWeaponWhenDeadBehavior ModuleTag_ExtraSpearDamage
StartsActive = Yes
DeathWeapon = LancewindWarhead
End
End




END



That's how you turn a small rock into a spear xD
Remember that once you have added FireWeaponWhenDeadBehavior to that projectile, ALL weapons that use that projectile will deal that extra damage. That is why you can't have many customized ranged weapons in a map.ini





;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;







I hope you enjoyed my tutorial, I know it was very long and not even complete, but I hope it helped you increasing your modding skills :D
If you've got any questions, feel free to ask in the comments and I will try to reply as soon as possible.


Special thanks for my first mentor, s33mann. He got me the basics of modding.
Also thanks Crusard. I have learned a lot from his map Legends.





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

 
11:13:52