Post by jonesQL on Oct 15, 2010 0:18:01 GMT 1
There seems to be a huge lack of guides or examples of working mme scripts, so I'll post this here for anyone interested:
Quick example:
Any tips or criticism is welcome, I just started so I have a lot to learn and this is hardly finished. Known issues for me so far:
-shotgun marks aren't aligning correctly
-blood gibs sometimes doesn't show correctly
// q3mme
// compatible with wolfcam
/////////////////////////////////////////////////////
// general weapon effects
// bubbles in the water
weapon/common/bubbles {
shader waterbubble
distance 5 + rand*10 {
size 1 + rand * 2
random dir
addScale origin dir origin 10 * rand
emitter 1 + rand*0.25 {
alphaFade 0
origin2 origin2 + lerp * 8
Sprite
}
}
}
weapon/rocket/flash {
color 1 0.75 0
size 300 + rand*32
light
}
weapon/rocket/projectile {
// wolfcam need to do model rotation yourself
// wolfcam add size option when adding models
model "models/ammo/rocket/rocket.md3"
rotate time * 1000 / 4
size 1
dirModel
loopSound "sound/weapons/rocket/rockfly.wav"
}
weapon/rocket/trail {
// world glow
color 1 0.75 0
size 200
Light
// flame trail
color 1 0.25 0
alpha 0.75
shader flareShader
interval 0.001 {
normalize dir v0
inverse v0
wobble v0 velocity 5 + rand*10
scale velocity velocity 75 + rand*50
emitter 0.5 + rand*0.5 {
size 9 * ( 1 - 0.5 * lerp * 1.5 )
colorFade 0.001
moveGravity 0
Sprite
}
}
}
weapon/rocket/impact {
vibrate 70
sound sound/weapons/rocket/rocklx1a.wav
shader gfx/damage/burn_med_mrk
size 64
Decal
// animating sprite of the explosion
shader rocketExplosion
size 40
color 1 0.75 0
emitter 1 {
// size will goto zero after 0.5 of the time
Sprite
size 300 * clip(2 - 2*lerp)
Light
}
// Particles
color 1 0.75 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
color 1 0.50 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
color 1 0.25 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
}
weapon/grenade/flash {
color 1 0.75 0
size 300 + rand*32
light
}
weapon/grenade/projectile {
// wolfcam need to do model rotation yourself
// wolfcam add size option when adding models
model "models/ammo/grenade1.md3"
rotate time * 1000 / 4
size 1
anglesModel
}
weapon/grenade/trail {
color 1 0.25 0
alpha 0.75
shader flareShader
interval 0.001 {
wobble dir velocity 0
scale velocity velocity 0
emitter 0.5 {
size 8.5 * ( 1 - 0.5 * lerp * 1.5 )
colorFade 0.001
moveGravity 0
Sprite
}
}
}
weapon/grenade/impact {
vibrate 70
sound sound/weapons/rocket/rocklx1a.wav
shader gfx/damage/burn_med_mrk
size 64
Decal
// animating sprite of the explosion
shader rocketExplosion
size 40
color 1 0.75 0
emitter 1 {
// size will goto zero after 0.5 of the time
Sprite
size 300 * clip(2 - 2*lerp)
Light
}
// Particles
color 1 0.75 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
color 1 0.50 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
color 1 0.25 0
alpha 0.8
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 250 + rand*50
size 1 + rand*2.5
emitter 1 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
}
weapon/plasma/flash {
color 0.6 0.6 1
size 300 + rand*32
light
}
weapon/plasma/projectile {
size 12
shader sprites/plasma1
sprite
loopSound "sound/weapons/plasma/lasfly.wav"
}
weapon/plasma/trail {
color 0.6 0.6 1
alpha 0.75
shader flareShader
interval 0.001 {
normalize dir v0
inverse v0
wobble v0 velocity 5 + rand*5
scale velocity velocity 75 + rand*50
emitter 0.05 {
size 8 * ( 1 - 0.5 * lerp * 1.5 )
colorFade 0.001
moveGravity 0
Sprite
}
}
}
weapon/plasma/impact {
vibrate 10
sound sound/weapons/plasma/plasmx1a.wav
shader plasmaExplosion
model models/weaphits/ring02.md3
rotate rand*360
emitter 0.6 {
dirModel
}
size 14
shader gfx/damage/plasma_mrk
Decal energy
shader flareShader
alpha 0.8
color 0.6 0.6 1
repeat 5 {
wobble dir velocity 10 + rand*20
scale velocity velocity 250 + rand*50
size 2 + rand*2.5
emitter 1 + rand*0.25 {
moveBounce 400 0.75
colorFade 0.75
Sprite
}
}
}
weapon/rail/flash {
color 1 0.6 0
size 300 + rand*32
light
}
weapon/rail/impact {
vibrate 50
sound sound/weapons/plasma/plasmx1a.wav
// The white expanding impact disc
rotate rand*360
shader railExplosion
model models/weaphits/ring02.md3
emitter 0.6 {
dirModel
}
// Sparks
shader flareShader
alpha 0.5
color 0.9 0.9 0.9
repeat 10 {
wobble dir velocity 10 + rand*20
scale velocity velocity 250 + rand*75
size 2 + rand*2.5
emitter 0.5 + rand*0.5 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
}
weapon/shotgun/flash {
color 1 1 0
size 300 + rand*32
light
}
weapon/shotgun/impact {
vibrate 2
shader gfx/damage/bullet_mrk
size 4
Decal
// explosion cone with animating shader
size 1
shader bulletExplosion
model models/weaphits/bullet.md3
rotate rand*360
emitter 0.6 {
dirModel
}
// a single sprite shooting up from impact surface
wobble dir velocity 10 + rand*30
scale velocity velocity 200 + rand*50
size 1 + rand*0.5
shader flareShader
alpha 0.8
color 1 0.75 0
emitter 1 + rand*0.3 {
moveBounce 400 0.7
colorFade 0.6
Sprite
}
}
weapon/shotgun/trail {
// empty
}
weapon/machinegun/impact {
soundList {
sound/weapons/machinegun/ric1.wav
sound/weapons/machinegun/ric2.wav
sound/weapons/machinegun/ric3.wav
}
// bullet mark on the wall
shader gfx/damage/bullet_mrk
size 8
decal
// explosion cone with animating shader
size 1
shader bulletExplosion
model "models/weaphits/bullet.md3"
rotate rand*360
emitter 0.6 {
dirModel
}
//a single sprite shooting up from impact surface
wobble dir velocity 10 + rand*30
scale velocity velocity 200 + rand*50
size 2 + rand
shader flareShader
alpha 0.8
color 1 0.5 0
emitter 1 + rand*0.5 {
moveBounce 400 0.75
colorFade 0.5
Sprite
}
}
weapon/machinegun/trail {
// empty
}
weapon/lightning/flash {
color 0.6 0.6 1
size 300 + rand*32
light
}
weapon/lightning/impact {
vibrate 5
soundList {
sound/weapons/lightning/lg_hit.wav
sound/weapons/lightning/lg_hit2.wav
sound/weapons/lightning/lg_hit3.wav
}
// sparks
shader flareShader
alpha 0.8
color 0.9 0.9 0.9
repeat 1 {
wobble dir velocity 5 + rand*25
scale velocity velocity 250 + rand*50
size 1 + rand*2
emitter 1 + rand*0.25 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
shader flareShader
alpha 0.8
color 0.7 0.7 1
repeat 1 {
wobble dir velocity 5 + rand*25
scale velocity velocity 200 + rand*50
size 1 + rand*2
emitter 1 + rand*0.25 {
colorFade 0.75
Sprite
moveBounce 400 0.75
}
}
// hole mark shader decal
shader gfx/damage/hole_lg_mrk
size 48
decal
}
weapon/bfg/flash {
color 0.2 0.2 1
size 300 + rand*32
light
}
weapon/bfg/projectile {
// wolfcam add size option when adding models
model models/weaphits/bfg.md3
size 1
dirModel
loopSound "sound/weapons/rocket/rockfly.wav"
}
weapon/bfg/trail {
// world Light
color 0.2 0.2 1
size 200
Light
color 0.2 0.2 1
alpha 0.50
shader flareShader
distance 1 {
normalize dir v0
inverse v0
wobble v0 velocity 5 + rand*10
scale velocity velocity 75 + rand*52
emitter 0.01 + rand*0.55 {
size 10 * ( 1 - 0.5 * lerp * 1.5 )
colorFade 0.001
moveGravity 10
Sprite
}
}
color 0.7 0.7 1
alpha 0.50
shader flareShader
interval 0.01 {
normalize dir v0
inverse v0
wobble v0 velocity 10 + rand*10
scale velocity velocity 75 + rand*50
emitter 0.01 + rand*0.55 {
size 0.1 * ( 1 + 40 * lerp * 1.5 )
colorFade 0.001
moveGravity 10
Sprite
}
}
}
weapon/bfg/impact {
vibrate 100
sound sound/weapons/rocket/rocklx1a.wav
shader gfx/damage/burn_med_mrk
size 32
decal
// impact disc
rotate rand*360
shader railExplosion
model models/weaphits/ring02.md3
size 1.6
emitter 0.6 {
dirModel
}
// impact mark
color 0.2 0.2 1
size 24
shader gfx/damage/plasma_mrk
Decal energy
// animating sprite of the explosion
shader bfgExplosion
size 45
color 0.2 0.2 1
emitter 1 {
Sprite
size 300 * clip(2 - 2*lerp)
Light
}
// sparks
color 0.2 0.2 1
alpha 0.33
shader flareShader
repeat 40 {
random velocity
scale velocity velocity 200 + rand*50
size 1 + rand*2
emitter 0.3 + rand*0.3 {
moveBounce 0 0.9
colorFade 0.7
Sprite
}
}
color 0.7 0.7 1
alpha 0.33
shader flareShader
repeat 20 {
random velocity
scale velocity velocity 200 + rand*50
size 1 + rand*2
emitter 0.3 + rand*0.3 {
moveBounce 0 0.9
colorFade 0.7
Sprite
}
}
}
weapon/gauntlet/flash {
color 0.6 0.6 1
size 300 + rand*32
light
}
weapon/grapple/flash {
color 1 0.6 0
size 300 + rand*32
light
}
Quick example:
Any tips or criticism is welcome, I just started so I have a lot to learn and this is hardly finished. Known issues for me so far:
-shotgun marks aren't aligning correctly
-blood gibs sometimes doesn't show correctly