The base idea is to create a shared resource to show players how effects can work using (or not) sendpackets.
You have a nice effect? post it! Better if with screenshot!
the following effect are from darksun84 and me:
Code:
[function ef_ice_winds]
effect 3,i_fx_sparkle,0,16,0,07a1,5
sector.allclients sendpacket 0c0 00 D0 D0 W0375a W<src.p.x> W<src.p.y> B<eval(<src.p.z>+2)> W<eval(<src.p.x>+4)> W<eval(<src.p.y>)> B<eval(<src.p.z>+10+{1 15})> B0 B16 00 00 00 B0 D07a1 D5
sector.allclients sendpacket 0c0 00 D0 D0 W0375a W<src.p.x> W<src.p.y> B<eval(<src.p.z>+2)> W<eval(<src.p.x>)> W<eval(<src.p.y>+4)> B<eval(<src.p.z>+10+{1 15})> B0 B16 00 00 00 B0 D07a1 D5
sector.allclients sendpacket 0c0 00 D0 D0 W0375a W<src.p.x> W<src.p.y> B<eval(<src.p.z>+2)> W<eval(<src.p.x>-2)> W<eval(<src.p.y>)> B<eval(<src.p.z>+10+{1 15})> B0 B16 00 00 00 B0 D07a1 D5
sector.allclients sendpacket 0c0 00 D0 D0 W0375a W<src.p.x> W<src.p.y> B<eval(<src.p.z>+2)> W<eval(<src.p.x>)> W<eval(<src.p.y>-2)> B<eval(<src.p.z>+10+{1 15})> B0 B16 00 00 00 B0 D07a1 D5
NB = 07a1 is my custom hues color, u should change it
![[Image: icewinds.png]](http://img402.imageshack.us/img402/7360/icewinds.png)
this is the result.
Code:
[function ef_spirits]
sector.allclients sendpacket 0c0 00 D0 D0 W036d4 W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<src.p.x>+4)> W<eval(<src.p.y>)> B<eval(<src.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D1152 D5
sector.allclients sendpacket 0c0 00 D0 D0 W036d4 W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<src.p.x>)> W<eval(<src.p.y>+4)> B<eval(<src.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D1152 D5
sector.allclients sendpacket 0c0 00 D0 D0 W036d4 W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<src.p.x>-2)> W<eval(<src.p.y>)> B<eval(<src.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D1152 D5
sector.allclients sendpacket 0c0 00 D0 D0 W036d4 W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<src.p.x>)> W<eval(<src.p.y>-2)> B<eval(<src.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D1152 D5
spirits leaving the body...
Code:
[function miz]
targetfg ef_try <args> // need an item object, suggested: 03709 which is the flamestrike effect.
[function ef_try]
sector.allclients sendpacket 0c0 00 D0 D0 W<args> W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<targp.x>+2)> W<eval(<targp.y>+6)> B<eval(<targp.z>+10+{1 15})> B0 B13 00 00 00 B0 D05c0 D5
sector.allclients sendpacket 0c0 00 D0 D0 W<args> W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<argo.p.x>-2)> W<eval(<argo.p.y>-6)> B<eval(<argo.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D05c0 D5
sector.allclients sendpacket 0c0 00 D0 D0 W<args> W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<argo.p.x>+4)> W<eval(<argo.p.y>-3)> B<eval(<argo.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D05c0 D0
sector.allclients sendpacket 0c0 00 D0 D0 W<args> W<src.p.x> W<src.p.y> B<eval(<src.p.z>+9)> W<eval(<argo.p.x>-4)> W<eval(<argo.p.y>+3)> B<eval(<argo.p.z>+10+{1 15})> B0 B13 00 00 00 B0 D05c0 D0
Code:
[FUNCTION fxt]
var.target=0
var.effect=<hval <argv[0]>>
var.speed=0
var.duration=016
var.hue=<hval <argv[1]>>
var.rendermode=<hval <argv[2]>>
var.src=0
var.explode=0
local.diff=4
for x 0 4
for y 0 4
// var.speed += 1 // uncomment for 'X' effect
effecttest <eval <p.x> + <local.x> +- <local.diff>> <eval <p.y> + <local.y> +- <local.diff>> <eval <p.z> +5>
effecttest <eval <p.x> +- <local.x> + <local.diff>> <eval <p.y> + <local.y> +- <local.diff>> <eval <p.z> +5>
effecttest <eval <p.x> + <local.x> +- <local.diff>> <eval <p.y> +- <local.y> + <local.diff>> <eval <p.z> +5>
effecttest <eval <p.x> +- <local.x> + <local.diff>> <eval <p.y> +- <local.y> + <local.diff>> <eval <p.z> +5>
endfor
endfor
effecttest_clean
[FUNCTION effecttest]
local.t_x=<argn1>
local.t_y=<argn2>
sector.allclients sendpacket 0c0 00 D<var.src> D<var.target> W<var.effect> W<p.x> W<eval <p.y>> B<qval <argn3>?<argn3>:<p.z>> W<local.t_x> W<local.t_y> B<qval <argn3>?<argn3>:<p.z>> B<var.speed> B<var0.duration> 00 00 00 B<qval <var0.explode>?<var.explode>:0> D<hval <var.hue> - 1> D<var.rendermode>
[FUNCTION effecttest_clean]
var.target
var.effect
var.speed
var.hue
var.rendermode
var.src
var.explode
//.fxt 036b0, 025, 2 // <<--- test, 036b0 is the explosion anim
this is what's up using the test above:
Code:
[function flexeffect]
// type,id,speed,frames,explode,hue,fixdir,render,srcx,srcy,srcz,destx,desty,destz,distance
forchars <argv[14]>
if !(<brain>)
sendpacket 0c0 <argv[0]> d0 d0 w<argv[1]> w<argv[8]> w<argv[9]> <argv[10]> w<argv[11]> w<argv[12]> <argv[13]> <argv[2]> <argv[3]> w0 <argv[6]> <argv[4]> d<argv[5]> d<argv[7]>
endif
endfor
(i used the last one for make the effect of the potion of blessed water launched to another char/mob)