ENGLISH
That script works by deleting and re-creating these placed effects to re-fire them.
In facts, it was borned in an half-day to help a friend that was searching a solution to randomize some custom placed effects.
The .erf file includes a script addressed to the "On Enter" event of the area. But it is initialized for the sample mod included. So you'll need to change and adapt script calls to custom functions into the "main{}" section.
Custom function works on series of placed effects that need to be already placed in the area and, each serie, need an unique tag's root ending with a progressive number.
Every type of different placed effect need to have a reference blueprint, too. Each serie can include same type placed effects.
The custom function format will be the follow, as you can see in script comments:
EffectCircle(string sEffect, int nAmount, string sTemplate, float fmaxDelay=2.0f)
sEffect is the tag root of a serie, final tag for each placed effect will be {eEffect + progressive number};
nAmount is the amount of placed effect for the call's involved serie
sTemplate is the original effect blueprint's resource name
fmaxDelay is a maximum of seconds delay reference between each placed effect (real final effect will be randomic)
The script works as you see only with "Fire & Forget" effects, as fireball hit and conjure are. I THINK that with loop effects it SHOULD work as a "little break" effect... as a fountain that doens't work well. I tested only the sample mod.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
ITALIANO
Questo script funziona cancellando e ricreando questi effetti posizionati per farli riattivare.
Infatti, è nato in una mezza giornata per aiutare un amico che cercava una soluzione per randomizare alcuni effetti custom scaricati dalla reate e inseriti in un'area (da ora "effetti posizionati").
Il file .erf include uno script indirizzato all'evento "On Enter" dell'area. Ma è inizializzato per il modulo d'esempio incluso. Quindi dovrete modificare ed adattare le chiamate dello script alla funzione custom nella sezione del "main{}".
La funzione custom funziona su serie di effetti posizionati che devono essere già inseriti nell'area e, ogni serie, deve avere una radice della tag univoca che finisca con un numero progressivo.
Ogni tipo differente di effetto posizionato deve avere anche un progetto di riferimento in tavolozza. Ogni serie può includere effetti posizionati dello stesso tipo.
Il formato della funzione custom sarà il seguente, come potrete vedere nei commenti dello script:
EffectCircle(string sEffect, int nAmount, string sTemplate, float fmaxDelay=2.0f)
sEffect è la radice della tag di una serie, la tag finale per ogni effetto posizionato sarà {eEffect + numero progressivo};
nAmount è la quantità di effetti posizionati coinvolti nella serie chiamata
sTemplate è il nome di risorsa del progetto originale dell'effetto
fmaxDelay è un ritardo massimo in secondi di riferimento tra ogni effetto posizionato (il vero effetto final sarà randomico)
Lo script lavora come lo vedete solo con gli effetti instantanei, come il colpo e l'evocazione della palla di fuoco. PENSO che su un effetto continuo DOVREBBE funzionare come delle "piccole interruzioni"... come una fontana malfuzionante. Io ho testato solo il modulo d'esempio.
10 - A Masterpiece, Genuinely Groundbreaking 9 - Outstanding, a Must Have 8 - Excellent, Recommended to Anyone 7 - Very Good, Deserves a Look 6 - Good, Qualified Recommendation 5 - Fair, Solid yet Unremarkable 4 - Some Merit, Requires Improvements 3 - Poor Execution, Potential Unrealized 2 - Very Little Appeal 1 - Not Recommended to Anyone