But my/you cannot be used it seems in the particle/effect function.
Not true as noted in my particle tutorial ( and if I said it was so I was wrong) and my post to the Developer .
The effect command passes the you pointer as the creator into the particle function.
Simply store it into a local ENTITY* function
p_fountain(PARTICLE* p)
{
///////ENTITY* owner = you;
vec_set(p.x,you.x);
}
Manual
If effect_local was called by an entity, the particle functions can access this entity through the you pointer. This way, the particle effect can use entity parameters.
In a single player system effect and effect_local are the same, on a multi system effect_local is the same as effect on a single player system. If I didn't post this as a "blame the manual" issue, I meant to do so...
So again you always have access to the creator's YOU pointer.
In fact I am not even 100% sure you have to store it into a local ENTITY* You do not need to store it locally, why YOU always points to the creator and isn't roaming, I have no idea.
EDIT* If I recall you in the particle and p.event always point to the creator.
If not you should be able to pass the point/handle from particle function to p.event using one of the p.skill_abcAfter reviewing my own tutorial series I can see that I accessed the creator for vec instructions with just the you(r) pointer in both the particle function and the p.event. My Vid 9 shows use of the you-pointer .
Hopefully this helps and you did not mean multiplayer particles, in which case you'll have to use one of the hacks above.
EDIT2 Please read my strike-through comments, there is a high probability that the YOU pointer in my videos always points to the player because the player is the only entity in the example.
In this case both storing the YOU-pointer into a local ENTITY and passing it or it's handle to the p.event through p.skill_abc will be needed.