Addon wizard
Once you've found what kind of addon you wish to make, click the button.
Fields
In the Create Addon window you'll be able to name your addon accordingly to your previous choice and choose to generate template files to get started.
Inside the Folder field you should enter your prefixed addon name: either m_something
or p_something
Addon Info
Located at the folder's root
Addon Info will generate a template addon.json
file that describes your addon to users.
This file in JSON format will need to be filled and already has the needed fields.
All fields can be omitted, if you don't have any collaborators, you can remove the authors
list. The pre-filled values of each field should be pretty much self-explanatory.
{
"name": "[GENERATED JSON] for ##ADDON_NAME##",
"author": "Author Name",
"social": "An URL to one of your social network profiles",
"authors":
[
{
"name": "Author with link and role",
"social": "https://www.youtube.com/user/Valve",
"role": "What they did go there"
},
{
"name": "Author name with no info"
}
],
"replacement": "What it replaces"
}
Addon Preview
Located at the folder's root
Addon Preview will copy a .PNG image to your addon folder, this image must always be named preview.png
or preview.jpg
and will appear on the left side of your addon's entry inside MIGI
The recommended size is 100x50:
Item Example
Located in scripts/items/
Item Example will generate an items_game.txt
with a example modded deagle and a brand new weapon on ID number 9201
for you.
An items_game.txt
edit inside a MIGI addon must always be named items_game_yourfoldername.txt
without the addon type prefix.
MIGI will later include that file by name inside a new items_game.txt
automatically when building. Changes are additive.
In this example, the Desert Eagle (id 1) will have its magazine bullets increased to 10, benefit from 50 bullets in reserve, have its recoil reduced and its firing sound changed to the SSG08's
"items_game"
{
"items"
{
"1"
{
"item_name" "Modded Deagle"
"model_player" "models/weapons/v_pist_revolver.mdl"
"attributes"
{
"primary clip size" "10"
"primary reserve ammo max" "50"
"recoil magnitude" "30"
}
"visuals"
{
"sound_single_shot" "Weapon_SSG08.Single"
}
}
}
}
Sounds Definitions
Located in scripts/
A game_sounds config file will be allocated for your addon, it'll be included inside the game_sounds_manifest.txt
on build.
In a similar fashion to items_game.txt
, you should name it game_sounds_yourfoldername.txt
without the addon type prefix.
See https://developer.valvesoftware.com/wiki/Soundscripts for more information.
This option will generate an example weapon firing sound entry for you:
"Weapon_Mozambique.Single"
{
"channel" "CHAN_STATIC"
"volume" "1.0"
"pitch" "160,180"
"soundlevel" "SNDLVL_79dB"
"wave" "`)weapons/sawedoff/sawedoff-1.wav"
}
Inventory Angles
Located in resource/ui/econ/
Yet another config file, here this one controls how your model displays in the buymenu and inventory.
Not much is known about how this file works. This file should be named itemmodelpanel_yourfoldername.res
without the addon type prefix.
"Resource/UI/Econ/ItemModelPanelCharWeaponInspect.res"
{
"mozambique" // unique name for the entry, the name itself doesn't matter.
{
"rule"
{
"model" "v_pist_mozambique" // What viewmodel it replaces, seems to be based on substrings.
}
"config" // Where the camera is placed and how it rotates.
{
"camera_offset" "44.57 18.35 -5.47"
"camera_orient" "1.30 -135.29 0.00"
"orbit_pivot" "20.88 -5.10 -6.23"
"item_rotate" "y[-360 360] x[ 0 0 ]"
}
}
}
Playermodel Talker
Located in scripts/talker/
This file controls how a playermodel should talk based on a Rule and Response system.
It should be named yourfoldername.txt
without the addon type prefix.
See https://developer.valvesoftware.com/wiki/Response_System for more information.
Response Radio.FireInTheHoleCUSTOM
{
scene "scenes/pirate/Blinded01.vcd" //I am blind
scene "scenes/pirate/Blinded02.vcd" //Blinded!
scene "scenes/pirate/Blinded04.vcd" //I can't see
scene "scenes/pirate/Blinded05.vcd" //Blind
scene "scenes/pirate/Blinded06.vcd" //Cannot see
}
Rule Radio.FireInTheHoleCUSTOM
{
criteria TLK_Radio.FireInTheHole Isprofessional_CUSTOM IsTalkprofessional_epic
ApplyContext "Talkcustom:1:1"
applycontexttoworld
Response Radio.FireInTheHoleCUSTOM
}
Particles Example
Located in particles/
Particles Example will generate simple muzzleflash and bullet particle as an example on how to add .PCF particles to your addon.
.PCF files can be modified and created with Alien Swarm using the -nop4 -tools
launch options.
It should be named yourfoldername.pcf
without the addon type prefix.
Note that particles must have its materials and the file itself in the built VPK in order to properly load.
See https://developer.valvesoftware.com/wiki/Particle_Editor for more information.
VScripts Example
Located in scripts/vscripts/yourfoldername/
The main file should always be named main.nut
You can of course include more files using IncludeScript(filename, scope)
Check this section for the current implementations