The following tutorial on how to import custom models to the editor and creating a behaviour type ability.
A BEGINNER’S SIMPLE GUIDE TO STARCRAFT 2 EDITOR MODDING
MODULE 1 – IMPORTING ASSETS AND CREATING A BEHAVIOUR TYPE ABILITY
By William
CREDITS
Kailniris, SoulFilcher and Hammer107 for the Arbiter assets.
Kueken531 for his Weekly Data Exercise#3 on Auras.
IMPORTING CUSTOM MODELS AND TEXTURES
There are many custom assets that can be downloaded from SC2Mapster, but however, credits must be given to the Author, creator of the assets.
Here’s a link to the Assets page :-
http://www.sc2mapster.com/assets/
For this guide purpose, we will be using Kailniris’s Arbiter Model which can be downloaded here:-
http://www.sc2mapster.com/assets/hammers-assets/files/25-arbiter-kailniris/
Once downloaded, create a new folder and extract all the models and textures into the folder.
Open up the Editor and perform the following steps:-
1. Click the Import (F9) button which will prompt up a screen.
+ Show Spoiler +
2. Click Data Import Files at the top left corner of the screen which will open up the Import Files screen.
3. Click Browse Directory of the Folder where the assets (models and textures) were saved.
+ Show Spoiler +
4. Once done, you will see all the imported assets in green text. Click save.
+ Show Spoiler +
5. However, when you clicked on the Arbiter.m3 asset, it will show a whitish appearance of the model as below. This means the model and texture assets are not properly linked to the editor.
+ Show Spoiler +
6. To solve this, you will need to link all the model and texture assets into the Editor Assets File.
7. Right click on Arbi_diffuse.dds Move Files New Path: Assets\Textures\
Repeat the above for arbi_emissive.dds, Arbi_normal.dds, Arbi_spec.dds,
btn-unit-protoss-arbiter.dds, wireframe-protoss-arbiter-shield01.dds,
wireframe-protoss-arbiter-shield02.dds, wireframe-protoss-arbiter-shield03.dds and
wireframe-protoss-arbiter.dds
Click Save
Right click on Thumbs.db Move Files New Path: Assets\
Click Save
Right click on Arbiter.m3 Move Files New Path: Assets\Units\Protoss\
Click Save
8. Close the Editor and reopen it, so the changes will take into effect.
+ Show Spoiler +
There you have it, the Arbiter’s model at your expense.
CREATING A BEHAVIOUR TYPE ABILITY [PART 1] – TIME DILATION
First of all, download Kueken531’s Aura Test Map from :-
http://www.sc2mapster.com/forums/development/data/15267-weekly-data-exercise-3-all-about-auras/
Time Dilation before modification
+ Show Spoiler +
Open up the downloaded Aura Test Map as there are a number of things we have to copy before modifying the ability.
Click Data(F7) to open up the Data module.
Under Detail View (Ctrl+2), click the green ‘+’ button to open up various data tabs for editing.
Select the Actors Tab under Edit Actors Data.
Search Time Dilation
Then, copy both Time Dilation Caster (Actor) and Time Dilation Target (Actor).
(Note that before copying the Actors, make sure that you have open up a new Editor map (.SC2map), named it and saved the new map).
+ Show Spoiler +
+ Show Spoiler +
Open up the new map (Ctrl+O and select the map) and paste the Actors Data.
Click Save
+ Show Spoiler +
Repeat the same procedure with models, effects, behaviours and the rest.
Return to the Aura Test Map and repeat the procedure with the followings:-
Models : Time Dilation Caster and Time Dilation Target
Effects : Time Dilation Apply, Time Dilation Apply Stacking, Time Dilation Remove and Time Dilation Search
Behaviours : Time Dilation, Time Dilation Caster and Time Dilation Stacking
Button : Time Dilation
After copying all the above however, all is not done yet as you will receive a message as below which indicates on an actor’s issue.
+ Show Spoiler +
This message is an issue with the Launch Actor or Action Actor as no abilities can be launched without it.
To rectify this, we need to create a new Action Actor.
Select the Actors tab right click to Add Actor click to prompt a screen on Actor properties.
+ Show Spoiler +
Set Name Time Dilation Launch
ID Click Suggest
Actor Field Action
Parent Generic Attack
This will open up the Action Actor. Save and set this aside for the moment.
Select the Effects tab Add Effect This will prompt an Effect Properties screen.
Set Name Time Dilation Launch
ID Click Suggest
Effect Type Apply Behaviour
Parent Default Effect (CEffectApplyBehaviour)
Under [Basic]Effect:Behaviour Choose Time Dilation Caster (Buff – under Behaviour Type)
+ Show Spoiler +
Save it.
Note that we have just created a Launch Effect and linked it to the Casting Behaviour (Time Dilation Caster)
Next, return to the Action Actor Time Dilation Launch
At the bottom right corner of the screen,
Select Impact Effect right click Modify Value Time Dilation Apply
Select Launch Effect right click Modify Value Time Dilation Launch
+ Show Spoiler +
Click Save.
On the same Actor, select the Combat tab Combat: Launch Assets
Model: Time Dilation Caster (BuffFX)
Select Combat:Launch Model Type: Actor Choose Time Dilation Caster
Click Save.
Note that we have just created the Launch Model for the Action.
+ Show Spoiler +
+ Show Spoiler +
On the same Time Dilation Launch Action Actor,
Click Combat: Impact Map Select Index:None Model: Time Dilation Target
Select Combat: Impact Model Type: Actor Choose Time Dilation Target
Click Save.
Note that we have just created the Impact Model for the Action.
+ Show Spoiler +
+ Show Spoiler +
Next, click on the Behaviours tab Time Dilation Caster Stats
[Basic] Stats: Duration modify this to 10.0
By doing this, we are changing the duration of the ability to 10.0 seconds from the time the ability is casted.
+ Show Spoiler +
We can also modify the Time Scale of the ability whereby Time Scale is how fast an action is played in relative to a factor of 1.
So, if we add a Time Scale of 0.5 to an action (0.5/1) which also means a 100% reduction of speed, or in simple term, half the speed an action is played.
Click Behaviours tab Time Dilation Stacking [Basic] Behaviour: Modification Unit Time Scale modify value to 0.5
+ Show Spoiler +
Next, we need to create a sound data.
Click Sounds tab right click to Add Sound
Under Sound Properties,
Name Time Dilation Launch Sound
ID Click Suggest
Sound Type Generic
Parent C Sound
Click Save
Under [Basic] Sound: Sound Assets at the right, right click on File to Add Sound
+ Show Spoiler +
Under Search Obelisk_ProtonChargeStart.wav [Assets/Sounds/Protoss/Obelisk/Obelisk_ProtonChargeStart.wav]
Click Save
We can also change the sound volume under [Basic] Sound: Volume (dBFS)
Here, we can add the volume of the sound:-
Min: 4.0
Max: 4.0
Click Save
+ Show Spoiler +
Next, we need to create an actor for the sound.
Set [Basic] Actor: Sound Time Dilation Launch Sound (C Sound)
Click save.
+ Show Spoiler +
On the same sound actor, we need to create some Actor events.
Click on the Events tab right next to the Actor tab,
First, we need to remove the (SoundDone Destroy) event first.
Right click on the (SoundDone Destroy) event remove selection.
+ Show Spoiler +
Then, right click Add Event
Change Message Type from Action Damage to Behaviour
Change Source Name from Any to Time Dilation Caster
Change Sub Name from Any to On
Then, click on ActionDamagePhysics (Action), change Message Type to create.
The above steps are important as we are linking the sound events to the Casting Behaviour (Time Dilation Caster)
+ Show Spoiler +
+ Show Spoiler +
After creating the event, we need to destroy the event.
Right click to Add Event,
Change Message Type from Action Damage to Behaviour
Change Source Name from Any to TimeDilationCaster
Change Sub Name from Any to Off
Then change Message Type: ActionDamagePhysics (Action) to Destroy.
Click Save.
+ Show Spoiler +
+ Show Spoiler +
Next, create a new Effect called Time Dilation Set
Name Time Dilation Set
ID Suggest
Effect Type Set
Parent CEffectSet
Under (Basic) Effect: Effects, add or click “+” for the following Effects :-
Time Dilation Apply
Time Dilation Apply Stacking
Time Dilation Launch
Time Dilation Remove
Time Dilation Search
Click Save
+ Show Spoiler +
Now, create a new Ability Time Dilation
Name Time Dilation
ID Suggest
Ability Type Effect-Instant
Parent CAbilEffectInstant
Based on (Basic) Ability : Commands, click on Command Execute (the first line), then on the Default Button, choose Time Dilation.
Click Save
+ Show Spoiler +
Next, under (Basic) Effect : Effects of the Ability, click “+” to add the following
Time Dilation Set
+ Show Spoiler +
Click Save.
Finally, I will add the ability to the marine.
Search for Units tab Marine
Under (Basic) Ability: Abilities click “+” to add a new index 4, and select Time Dilation.
+ Show Spoiler +
Click Save.
Finally, under (Basic) Ability: Command Card, click “+” on an empty button to open a Choose Button prompt select Time Dilation.
Choose the Command Type Ability Command
Choose the Ability Time Dilation and Ability Command Time Dilation.
Save.
+ Show Spoiler +
Ok, we are done with the Ability, let’s put a few marines and some zerglings on the map to test the ability.
Upon testing, you will notice a few things :
1. The zerglings movement speed are greatly reduced upon entering the Time Dilation field.
2. After a 10 seconds period, the ability diminishes.
3. Also notice the Sound effect and Model Impact effect of the ability.
+ Show Spoiler +
+ Show Spoiler +
+ Show Spoiler +
THE END OF THIS TUTORIAL
Here is the tutorial in pdf version :-
http://s000.tinyupload.com/?file_id=00011041963089677388
Any feedback or comment from the community is encouraged. Hope this guide
will be useful for anyone still struggling with the editor.