Before you start learning the advanced effect coding, make sure you've learned everything about the basics of coding effects, otherwise you won't understand what we're teaching you.
If you still have doubts about the basic effects, go to this topic (http://warcraft-source.com/board/index.php/topic,8509.msg79907.html#new) and feel free to ask em.
This tutorial gonna be divided in three parts, so let's start:
*Part 1*
[Getting locations]
Basicly that's the same thing as getting locations on the basic effects, so for time-saving:
Depending on the type of effect that you'll use, you'll need to get the locations, maybe two or one, who knows. With the following command: es_getplayerlocation, this command requires 4 arguments:
X Coord
Y Coord
Z Coord
and
Userid
Counter-Strike:Source uses AXIS Coords, and WCS already has the variables related to coords setted (wcs_x1, wcs_y1, wcs_z1, wcs_x2, wcs_y2 and wcs_z2) so we really don't need to worry about that.
e.g.:es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
On a player_attacker skill this effect will be displayed in your victim, on an player_spawn on you
*Part 2*
[Creating Vector Strings]
Now it comes the "hard" part, actually not for me, but ok xD
You'll have to set two variables, one called vector1, and another called vector2.
Then we'll use the command es_createvectorstring to do it.
Example:
Only create the vector after getting locations!
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
This creates an vector between the variables wcs_x1, wcs_y1 and wcs_z1, so now we can refer to em as vector1.
es_createvectorstring vector1 wcs_x2 wcs_y2 wcs_z2
Now that you've created the vector strings, you're good to go.
Important note:
If you already know how to use es_math commands, to tweak the positions, make sure that you use math before using the vectorstring, if so it will work, otherwise it won't.
*Part 3*
[Choosing the est_effects, and tweaks]
Now that you've done everything correctly, let's choose an syntax:
Here is the Syntax list:
Currently supported/working:
Important Note:
You might be wondering, why the hell there's an _ after the est_effect thing?
These are the advanced type of effects!
So until now we have:
Now let's pick up and effect model:
I've choosed the est_effect_14, the bubble trail, which syntax is:
Of course you may know what means delay, player filter, but i'll explain again:
Player Filter is who is going to see the effect, the currently working are:
Delay is the delay between each effect, after it runs, when it's going to appear;
And model is the sprite that you'll choose (Sprite list avalaible in the Basic Effect Coding)
So let's try it out:
Now let's tweak it:
This one uses: <height> <count> <speed>
Then we're gonna use
This will display 50 lightings with an speed of 100 in-game units.
So that's basicly all you should know, the initial vectors, end vectors and etc...
If you have any doubts, just ask here
Tutorial by: AvasT and Rioux
If you still have doubts about the basic effects, go to this topic (http://warcraft-source.com/board/index.php/topic,8509.msg79907.html#new) and feel free to ask em.
This tutorial gonna be divided in three parts, so let's start:
*Part 1*
[Getting locations]
Basicly that's the same thing as getting locations on the basic effects, so for time-saving:
Depending on the type of effect that you'll use, you'll need to get the locations, maybe two or one, who knows. With the following command: es_getplayerlocation, this command requires 4 arguments:
X Coord
Y Coord
Z Coord
and
Userid
Counter-Strike:Source uses AXIS Coords, and WCS already has the variables related to coords setted (wcs_x1, wcs_y1, wcs_z1, wcs_x2, wcs_y2 and wcs_z2) so we really don't need to worry about that.
e.g.:es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
On a player_attacker skill this effect will be displayed in your victim, on an player_spawn on you
*Part 2*
[Creating Vector Strings]
Now it comes the "hard" part, actually not for me, but ok xD
You'll have to set two variables, one called vector1, and another called vector2.
Then we'll use the command es_createvectorstring to do it.
Example:
Only create the vector after getting locations!
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
This creates an vector between the variables wcs_x1, wcs_y1 and wcs_z1, so now we can refer to em as vector1.
es_createvectorstring vector1 wcs_x2 wcs_y2 wcs_z2
Now that you've created the vector strings, you're good to go.
Important note:
If you already know how to use es_math commands, to tweak the positions, make sure that you use math before using the vectorstring, if so it will work, otherwise it won't.
*Part 3*
[Choosing the est_effects, and tweaks]
Now that you've done everything correctly, let's choose an syntax:
Here is the Syntax list:
Code: [Select]
est_Effect_01 - Armor Ricochet Effect
est_Effect_01 <player Filter> <delay> <model> <position "X Y Z"> <direction "X YZ">
est_Effect_02 - Beam Ent Point Effect
est_Effect_02 <player Filter> <delay> <model> <start ent> <start position "X Y Z"> <end ent> <end position "X Y Z"> <framerate> <life> <start width> <end width><fade distance> <amplitude> <R> <G> <B> <A> <speed>
est_Effect_03 - Beam Ents Effect
est_Effect_03 <player Filter> <delay> <model> <start ent> <end ent> <framerate><life><start width><end width><fade distance><amplitude><R><G><B><A><speed>
est_Effect_04 - Beam Follow Ent Effect
est_Effect_04 <player Filter> <delay> <model> <Follow ent> <life> <start width> <end width> <fade distance> <R> <G> <B> <A>
est_Effect_05 - Beam Laser Effect
est_Effect_05 <player Filter> <delay> <model> <start ent> <end ent> <framerate> <life> <start width> <end width> <fade distance> <amplitude> <R> <G> <B> <A> <speed>
est_Effect_06 - Beam Points Effect
est_Effect_06 <player Filter> <delay> <model> <start position "X Y Z"> <end position "X Y Z"> <framerate> <life> <start width> <end width> <fade distance> <amplitude> <R> <G> <B> <A> <speed>
est_Effect_07 - Beam Ring Ent Effect
est_Effect_07 <player Filter> <delay> <model> <start ent> <end ent> <framerate><life> <width> <spread> <amplitude> <R> <G> <B> <A> <speed>
est_Effect_08 - Beam Ring Ent Effect
est_Effect_08 <player Filter> <delay> <model> <center "X Y Z"> <Start Radius> <End Radius> <framerate> <life> <width> <spread> <amplitude> <R> <G> <B> <A> <speed> <flags>
est_Effect_09 - Beam Spline Effect
est_Effect_09 <player Filter> <delay> <model> <points> <rgPoints "X Y Z">
est_Effect_10 - Blood Sprite Effect
est_Effect_10 <player Filter> <delay> <model> <origin "X Y Z"> <direction "X Y Z"> <R> <G> <B> <A> <Size>
est_Effect_11 - Blood Stream Effect
est_Effect_11 <player Filter> <delay> <model> <origin "X Y Z"> <direction "X Y Z"> <R> <G> <B> <A> <Amount>
est_Effect_12 - Blood Stream Effect
est_Effect_12 <player Filter> <delay> <model> <origin "X Y Z"> <angle "Pitch YawRoll"> <Size "X Y Z"> <Velocity "X Y Z"> <Randomization> <count> <time> <flags>
est_Effect_13 - BSP Decal (perminately attach a sprite to an entity, use 0 for the world)
est_Effect_13 <player Filter> <delay> <decal> <origin "X Y Z"> <target entity index>
est_Effect_14 - Bubbles Effect
est_Effect_14 <player Filter> <delay> <model> <Min "X Y Z"> <Max "X Y Z"> <heigth> <count> <speed>
est_Effect_15 - Bubble Trail Effect
est_Effect_15 <player Filter> <delay> <model> <Min "X Y Z"> <Max "X Y Z"> <heigth> <count> <speed>
est_Effect_16 - Decal Effect
est_Effect_16 <player Filter> <delay> <model> <Position "X Y Z"> <Start "X Y Z"><entity index> <hitbox>
est_Effect_17 - Dust Effect
est_Effect_17 <player Filter> <delay> <Position "X Y Z"> <Direction "X Y Z"> <size> <speed>
est_Effect_18 - Dynamic Light Effect
est_Effect_18 <player Filter> <delay> <Position "X Y Z"> <R> <G> <B> <exponent> <radius> <time> <decay>
est_Effect_19 - Energy Splash Effect
est_Effect_19 <player Filter> <delay> <Position "X Y Z"> <Direction "X Y Z"> <Explosive>
est_Effect_20 - Energy Splash Effect
est_Effect_20 <player Filter> <delay> <model> <Position "X Y Z"> <scale> <framerate> <flags> <radius> <magnitude> [Normal "X Y Z"] [Material Type]
est_Effect_21 - Fizz Effect
est_Effect_21 <player Filter> <delay> <model> <entity> <density> <current>
est_Effect_22 - Guass Explosion Effect
est_Effect_22 <player Filter> <delay> <Position "X Y Z"> <Direction "X Y Z"> <type>
est_Effect_23 - Glow Sprite Effect
est_Effect_23 <player Filter> <delay> <model> <Position "X Y Z"> <life> <size> <brightness>
est_Effect_24 - Large Funnel Effect
est_Effect_24 <player Filter> <delay> <model> <Position "X Y Z"> <reversed>
est_Effect_25 - Metal Sparks Effect
est_Effect_25 <player Filter> <delay> <Position "X Y Z"> <Direction "X Y Z">
est_Effect_26 - Muzzle Flash Effect
est_Effect_26 <player Filter> <delay> <Position "X Y Z"> <Angle "Pitch Yaw Roll"> <scale> <type>
est_Effect_27 - Physics Prop Effect
est_Effect_27 <player Filter> <delay> <model> <subtype> <Position "X Y Z"> <Angle "Pitch Yaw Roll"> <Velocity "X Y Z"> <flags> <unknown>
est_Effect_28 - Player Decal Effect
est_Effect_28 <player Filter> <delay> <Position "X Y Z"> <playerindex> <entity>
est_Effect_29 - Project Decal Effect
est_Effect_29 <player Filter> <delay> <decal> <Position "X Y Z"> <Angle "Pitch Yaw Roll"> <distance>
est_Effect_30 - Show Line Effect
est_Effect_30 <player Filter> <delay> <Start "X Y Z"> <End "X Y Z">
est_Effect_31 - Smoke Effect
est_Effect_31 <player Filter> <delay> <model> <Position "X Y Z"> <scale> <framerate>
est_Effect_32 - Spark Effect
est_Effect_32 <Player Filter> <Delay> <Position "X Y Z"> <Magnitude> <Trail Length> <Direction "X Y Z">
est_Effect_33 - Sprite Effect
est_Effect_33 <Player Filter> <Delay> <model> <Position "X Y Z"> <size> <brightness>
est_Effect_34 - Sprite Spray Effect
est_Effect_34 <Player Filter> <Delay> <model> <Position "X Y Z"> <Direction "X YZ"> <speed> <noise> <count>
est_Effect_35 - World Decal Effect
est_Effect_35 <Player Filter> <Delay> <Decal> <Position "X Y Z">Currently supported/working:
Code: [Select]
est_effect_01
est_effect_02
est_effect_03
est_effect_04
est_effect_05
est_effect_06
est_effect_07
est_effect_08
est_effect_09
est_effect_10
est_effect_11
est_effect_12
est_effect_13
est_effect_14
est_effect_18
est_effect_24Important Note:
You might be wondering, why the hell there's an _ after the est_effect thing?
These are the advanced type of effects!
So until now we have:
Code: [Select]
es_xset vector1 0
es_xset vector2 0
es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid)
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
es_createvectorstring vector2 wcs_x2 wcs_y2 wcs_z2Now let's pick up and effect model:
I've choosed the est_effect_14, the bubble trail, which syntax is:
Code: [Select]
est_Effect_14 - Bubbles Effect
est_Effect_14 <player Filter> <delay> <model> <Min "X Y Z"> <Max "X Y Z"> <heigth> <count> <speed>This one requires two vector, so two player locations.Of course you may know what means delay, player filter, but i'll explain again:
Player Filter is who is going to see the effect, the currently working are:
Code: [Select]
#a : all
#d : dead
#t : terrorist
#ct : counter-terrorist
userid : specific playerDelay is the delay between each effect, after it runs, when it's going to appear;
And model is the sprite that you'll choose (Sprite list avalaible in the Basic Effect Coding)
So let's try it out:
Code: [Select]
es_xset vector1 0
es_xset vector2 0
es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid)
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
es_createvectorstring vector2 wcs_x2 wcs_y2 wcs_z2
es est_effect_14 #a 0 sprites/lgtning.vmt server_var(vector1)[Vector 1] server_var(vector2)[Vector 2]Now let's tweak it:
Code: [Select]
es_xset vector1 0
es_xset vector2 0
es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid)
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
es_createvectorstring vector2 wcs_x2 wcs_y2 wcs_z2
es est_effect_14 #a 0 sprites/lgtning.vmt server_var(vector1)[Vector 1] server_var(vector2)[Vector 2]This one uses: <height> <count> <speed>
Then we're gonna use
Code: [Select]
es_xset vector1 0
es_xset vector2 0
es_getplayerlocation wcs_x1 wcs_y1 wcs_z1 event_var(userid)
es_getplayerlocation wcs_x2 wcs_y2 wcs_z2 event_var(userid)
es_createvectorstring vector1 wcs_x1 wcs_y1 wcs_z1
es_createvectorstring vector2 wcs_x2 wcs_y2 wcs_z2
es est_effect_14 #a 0 sprites/lgtning.vmt server_var(vector1)[Vector 1] server_var(vector2)[Vector 2] 1000<height> 50<count> 100<speed>This will display 50 lightings with an speed of 100 in-game units.
So that's basicly all you should know, the initial vectors, end vectors and etc...
If you have any doubts, just ask here

Tutorial by: AvasT and Rioux

.
