MS 1.35 Mapping Tutorial and Reference (with notes for MSC)

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
http://www.thothie.com/msc/lazy_sob.zip

Best bet is probably to unzip that to your MSC folder, set sv_lan 1 mode in your listenserver.cfg, change your name to "MAP_TEST_CHAR", then load some edana or whatnot.
 

The Man In Black

Administrator
Staff member
Administrator
Moderator
RiP
Joined
Jul 9, 2006
Messages
6,904
Reaction score
68
Thothie said:
http://www.thothie.com/msc/lazy_sob.zip

Best bet is probably to unzip that to your MSC folder, set sv_lan 1 mode in your listenserver.cfg, change your name to "MAP_TEST_CHAR", then load some edana or whatnot.

msc/SAVE is what he meant
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Actually I meant half-life/

It has an msc and a SAVE folder tree.
 

Sabre

New Adventurer
MSC Developer
RiP
Joined
Aug 24, 2004
Messages
4,545
Reaction score
1
Age
32
Location
SoCal
Thothie said:
Actually I meant half-life/

It has an msc and a SAVE folder tree.
Decompress THAT, MiB. :p
 

The Man In Black

Administrator
Staff member
Administrator
Moderator
RiP
Joined
Jul 9, 2006
Messages
6,904
Reaction score
68
I'm not even sure what's going on anymore..
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Updating dead VERC entity links here with those from the web archive. If that dies too, maybe I'll try to host it myself. Should cut down on the dead links, although this thing really needs a re-write and a split. Meh. So much to do...
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Re: MS 1.35 Mapping Tutorial and Reference (with notes for M

I was going to add this to the mapping tutorial up top, but it seems we broke the character limit for a single post... So... I'll edit the top post to link to this:

Common Additional Parameters (addparams):

The Additional Parameters (params) string can be used to alter your monsters in various ways. The string can contain any event available to the monster script, thus an exhaustive list is impossible, but here's some of the more common ones:

Common Additional Parameters said:
=== BEHAVIORS ===

set_race;<faction_name>
- Change monster's race for interaction with other mobs.
- For a complete list of faction interaction see: msc/test_scripts/reference_scripts/races.script

set_no_roam
- Removes monster wander function.

ext_invalidate
- Flags the mob as an invalid target to other NPCs (so it won't be attacked).
- If the NPC is friendly, set_race;beloved is preferable to this, as invalidated NPC's can still be damaged by AOE attacks.

critical_npc
- Designates this NPC as critical and initiates "siege map" mode.
- 1/3 of every monster spawned hereafter will attempt to hunt any NPC with this tag.

ignore_critical_npc
- Ignores critical NPCs on siege maps.

set_attack_until_spotted
- Simulates attacking an object until damaged or spots an enemy.

set_no_step_adj
- Removes step-adjustment procedure (step size will be 16 units, regardless of mob height).

set_blind_attack
- Removes the requisite that the mob must see a target to attack it.
- Particularly useful with overscaled monsters that need to be able to attack through their minions.

set_npc_turret
- Causes monster to stay in place and act as a turret.

set_dosr
- Monster removes when related ms_monsterspawn is removed via killtarget

set_no_auto_activate
- Normally, mobs immediately cycle up if they spawn near a player, this prevents that behavior.

set_non_agro
- Monster will not target players until attacked.

set_mclip;<0|1>
- Setting this to 0 causes mob to ignore func_monsterclips.

set_die_nt;<seconds>
- Monster will removes if it doesn't find a valid target within <seconds> after spawning.
- Similarly, monster will remove if it doesn't find a target <seconds> after cooling down.

=== VISUAL EFFECTS ===

set_scale;<ratio>
- Increase/decrease monster size, attempts to alter collision box and reach to match.
set_scale_nr;<ratio>
- As above, but with no reach adjustment.
set_scale_nb;<ratio>
- As above, but with no bounding box adjustment (best when size ratio is between 0.75-1.25)
set_scale_nbr;<ratio>
- As above, but with neither reach nor bounding box adjustment.

set_model;<model_path>
- Changes the default monster model.
- <model_path> should exclude the models/ prefix, and must end in ".mdl"
- Model must be precached or will crash.

set_submodel;<part:submodel> *
- Changes the submodel indexing on the monster's model.
- Part and submodel index must be separated by a colon ":".
- Keep in mind that the HLMV indexes from 1, while the game indexes from 0.

set_skin
- Changes the model skin.
- Keep in mind that the HLMV indexes from 1, while the game indexes from 0.

glow_red
glow_green
glow_blue
glow_yellow
glow_purple
glow_custom;<(RRR,GGG,BBB)>
- Adds a glow-shell of the indicated color to the monster

make_ghost
- Gives mob a additive/holographic render.
- (can be removed with remove_ghost)

set_fade_in
- Causes monster to 'fade in' on spawn.

set_summon_circle
- Causes monster to appear from a summoning circle with sound.

setfx_tele_in
- Causes monster to spawn with a teleport effect and sound.

setfx_sprite_in
- Causes monster to spawn in with a sprite effect and sound.

setfx_sprite_inx
- As setfx_sprite_in, but uses a different sprite.

setfx_beam_in
- Causes monster to spawn in with a lightning bolt effect.

setfx_spawn_sound
- Triggers a magic sound on spawning. (set_summon_circle/sprite_in already do this.)

set_cbm;<mp3>
- Sets combat music when encountering this monster.
- Overrides any existing combat music setting.

set_cbml;<mins:secs>
- Optional - determines the length of the combat music for a cleaner loop.

set_not_musical
- Tells the combat music system to ignore requests to start combat music from this monster.
- Useful if the monster cannot be slain and will be targeting perpetually - such as the killer whales in Shendar_East's nightmare sequence.

=== RESISTANCES ===

ext_no_player_damage
- Take no damage from players.

make_invulnerable
- Creates a white glow shell and makes NPC invulnerable.
- This can be removed via msnpc_script or when crossing a monster-triggerable brush with the scriptevent: make_vulnerable.

lightning_immune
fire_immune
poison_immune
cold_immune
- Grants immunity to related damage type.

set_stun_prot;<percent%>
- Sets monster's stun resistance, 0-100%.

set_takedmg;<type:ratio>
- Changes monster's vulnerability to specific element.
- Element type and ratio must be separated by a colon.

=== ENHANCEMENTS ===

speed_x2
speed_x2_5
speed_x3
speed_x4
- Increases monster's frame rate, causing it to both move and attack more quickly.
- (Adjusts XP)

set_mspeed;<ratio>
- Adjusts movement speed without adjusting attack speed.
- Do not use to create turrets (see set_npc_turret).
- Adjusts XP.

demon_blood;[multiplier]
- Adds demon blood to monster.
- Default multiplier is x5 damage.
- Adjusts XP.

make_boss
- Flags NPC as boss (adds regeneration, resistance to previously slain players, and increases XP.)

ext_set_parry
- Lets you add a parry skill to the mob (should be >100 to have effect)

add_dot_poison;[ratio]
add_dot_cold;[ratio]
add_dot_fire;[ratio]
add_dot_lightning;[ratio]
- Grants DOT of type to the monster, coupled with a glow shell related to the element.
- [ratio] increases or reduces the DPS.
- Adjusts XP.

set_tele_hunter;[frequency]
- Causes monster to teleport to current target every [frequency] seconds (default 20).
- Adjusts XP.

set_tele_hunter_random;[frequency]
- As above, but monster will select targets randomly, rather than continuously teleporting to the same target.

set_lshield *
- Grants the monster a lightning field, similar to The Hollow One
- Adjusts XP

=== OTHER ===

ext_no_drops
- Strips gold and drops from a monster. (Usually)

ext_reduct_xp;<ratio>
- Reduces XP.

set_self_adj;[adjust_max#]
- Causes the monster to self adjust based on the total hp of active players.
- adjust_max can be set from 1-5, indicating the maximum level of adjustment levels the mob can use (this helps prevent overpowered monsters, and is highly recommended with any monster with a base HP of higher than 5,000.)

set_no_avg
- On self adjusting maps, cause the monster not to be counted when determining the average tier.
- This is useful for monsters towards the beginning of the map that may be slain before all players have connected.

set_xp_tr;<minutes to max XP>
- Monster is worth less than maximum XP until the map has been running this many minutes, ramping from 0 to full XP during this time.
- Useful for high level bosses with easy access.

set_range;<units>
- Changes the mob's attack range.
- Does not work for all monsters, or on monsters with multiple attacks of differing ranges.

set_say_spawn;'text'
- Causes mob to say something on spawn.
- Beware there is no sanity check, and using double quotes or odd characters may crash your compile.
- 'text' should be in single quotes if any spaces are used.

set_say_spot;'text'
- As above, but text is said when first spotting an enemy.

set_say_die;'text'
- As above, but text is said when mob dies.

set_solid;<none|box|slidebox|trigger>
- Changes the monsters bounding box type (none will cause it to be noclip to players)

set_dyn_spawn *
- Causes the mob to teleport off-map on spawn, then try to find a spot where no player is looking within its msarea_monsterspawn before teleporting back in.

set_world_spawn;[distance] *
- As set_dyn_spawn, except the monster will attempt to teleport to a random player within the world, favoring clustered players.
- [distance] defaults to 512 if omitted, and represents the maximum distance the monster will attempt to spawn from the player.

Multiple addparams and their parameters are separated by semi-colons. Thus, an example addparam entry might look like so:
Code:
make_boss;set_scale;2.0;demon_blood;set_takedmg;holy:2.0;set_tele_hunter_random
Beware, due to Hammer limitations, your total addparam string's length will need to be less than 100 characters. You can, however, split addparams with the ms_monsterspawns pass parameters property*, or the map's global addparams property.

These can also be applied, individually, to a monster when crossing a certain point in the map, by using the Scriptevent property on a trigger_once or trigger_multiple flagged triggerable by monsters, or with the msnpc_script entity.

They can also be added, globally, to all monsters, via Map Properties->Global Addparams(map_addparams), or to a specific set of monsters, via the ms_monsterspawn/msarea_monsterspawn's Pass AddParams(params)* property.

* denotes an addparam/feature not yet available in NOV2015, but is in the alpha.
 

TheOysterHippopotami

Active Adventurer
MSS Developer
DarkTide
Joined
Sep 6, 2009
Messages
1,213
Reaction score
42
Age
32
Weather tower tutorial
- Demonstrates how to control weather dynamically by spawning special monster entities.
- Also demontrates how to use lures, and monster-based teleporters.
WW3d Advanced Tutorial
- A similarly advanced tutorial with some commentary, demonstrating a massive array of MSC entities, built from the boss chamber at the end of World Walker Series I.
These links 404. Do either of these tutorial files still exist?
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
First one looks like a typo in the link. Though, oddly, this typo does not appear in the top post, so I'm not sure how it copied that way - are you somehow getting an old version of the page? Second one is just completely gone, not sure how... Meh:

http://www.thothie.com/msc/weather_tower_b.rar

Though, I dun think you need to spawn those entities to alter the weather anymore. You can use a scriptevent on the GM:
gm_set_weather;<weather_type>;<lock:0|1>

Valid <weather_types> include:
Code:
fog_white
fog_thick
fog_green
fog_red
fog_blue
fog_brown
fog_black (darkness)
fog_custom (internal)
rain
rain_storm (bit rough on the clients)
snow

The other was a clipped version of the boss chamber from WW3d - if you want the source for WW3d, I can send it to ya.

I'd remove the link, but I can't figure out how to edit the tutorial without losing all the images at the moment.
 

PY004

Administrator
Staff member
Administrator
Moderator
Joined
Jun 11, 2010
Messages
375
Reaction score
28
Age
33
Location
New York City
Removed link for WW3d. As for the images, I tidied up the attachment spam that was going on in that post from our forum migration. But if you see tags like

Code:
[ATTACH = 1234] [/ATTACH]

Then you're good even if the images do not appear in the previews or the WYSIWYG editor. They will show up properly once it is parsed.
 

Thothie

Administrator
Staff member
Administrator
Moderator
MSC Archivist
Joined
Apr 8, 2005
Messages
16,342
Reaction score
326
Location
lost
Ah, alright - they show up wrong in the preview as well, so I've been copy-pasta'ing it back from an old source after removing the 5000 attachments (which should really be maybe 10, just the system doesn't seem to like to use the same attachment for the same image). Didn't have access to said source when I made that comment.
 
Top