trigger sound/effekt |
BadMan
Turnbeutelvergesser
 
Dabei seit: 31.01.2008
Beiträge: 278

|
|
So, hab nochmal geschaut, hat ein zwei Fehler passiert wenn man das da nur hin gekritzelt.
So oder so ähnlich müsste es eigentlich klappen.
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
58:
59:
|
sound_fx_trig()
{
if( IsDefined( self.script_fxid ) )
fx = loadfx (self.script_fxid);
else
fx = loadfx ("weapon/artillery/fx_artillery_strike_american_mp");
if( IsDefined( self.name ) )
sound = self.name;
else
sound = "artillery_impact";
if( IsDefined( self.target ) )
fx_origin = getent (self.target ,"targetname");
else
{
fx_origin = undefined;
wait(5);
iprintlnbold("^1---Origin vergessen---");
}
while(1)
{
if (IsDefined(self.script_wait))
time = self.script_wait;
else if (IsDefined(self.script_wait_min) && IsDefined(self.script_wait_max))
time = RandomFloatRange( self.script_wait_min, self.script_wait_max );
else
time = undefined;
self waittill ( "trigger" );
if( IsDefined( fx_origin ) )
{
PlayFx ( fx, fx_origin.origin );
if( IsDefined( self.script_sound ) )
fx_origin playsound ( sound );
if( IsDefined( time ) )
wait ( time );
}
}
}
|
|
Hat sich bisschen was geändert
origin = getentarray (self.target ,"targetname");
origin.origin playsound ( sound );
das rote muss weg beim alten
hab den FX / Sound mal in ne schleife gelegt sonst geht’s nur einmal
im Radiant kannste ein paar neue befehle benutzen, nicht Standard FX und Sound abspielen zum. Die Standard FX ist in Zeile 19 Der Sound in Zeile 25.
Bsp. Nehme mal die gleichen wie Standard (FX und Sound sind aus Waw)
Trigger
targetname - sound_fx_trig
script_fxid - weapon/artillery/fx_artillery_strike_american_mp //FX
name - artillery_impact //Sound
script_wait – 10 //Wartezeit bis Trigger wieder aktiv
script_wait_min – 10 //Wartezeit bis Trigger wieder aktiv (zeit von bis bei jeder Aktivierung neue Zeit) min und max müssen beide verwendet werden
script_wait_max - 20
Origin
Wird mit W an den Trigger gehängt
Gut müsste Klappen, Habs auch getestet
edit
Oder du nimmst das von serthy, dann aber eher so
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
|
main()
{
f_trig = getentarray ("fackel_trigger","targetname"); //Trigger und Origin mit "W" verbunden
for(i=0;i<f_trig.size;i++)
{
f_trig[i] thread fackel();
}
}
fackel()
{
fx_ori = getent(self.target,"targetname");
while(1)
{
self waittill("trigger");
fx_ori playsound ("fackelgeraeusch");
playfx(level._effect["fackel"],fx_ori);
wait 10;
}
}
|
|
wobei das bei ner Fackel wohle eher mist ist, da dann eher so
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
|
main()
{
f_org = getentarray ("fackel","targetname"); //nur ein Origin
for(i=0;i<f_org.size;i++)
{
f_org[i] thread fackel();
}
}
fackel()
{
self PlayLoopSound ("fackelgeraeusch");
PlayLoopedFX(level._effect["fackel"],self);
}
|
|
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von BadMan: 04.01.2011 21:50.
|
|
|
|
|
Banana2077
Turnbeutelvergesser
 
Dabei seit: 13.12.2009
Beiträge: 410

|
|
Okey vielen dank , das mit dem Effekt funktioniert schonmal!
Jetzt hab ich aber nochmal fragen
1. Wie kann ich jetzt mehrere Effekte gleichzeitig abspielen?
2.Leider kommt der sound noch nicht...
Das ist das Script:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
|
main()
{
sound_fx_trig = getentarray ("sound_fx_trig","targetname");
for(i=0;i<sound_fx_trig.size;i++)
{
sound_fx_trig[i] thread sound_fx_trig();
}
}
sound_fx_trig()
{
if( IsDefined( self.fx ) )
fx = loadfx (self.fx);
else
fx = loadfx ("misc/disco_dust");
if( IsDefined( self.sound ) )
sound = self.sound;
else
sound = "115song";
if( IsDefined( self.target ) )
origin = getent (self.target ,"targetname");
else
{
iprintlnbold("Origin vergessen");
origin = undefined;
}
self waittill( "trigger" );
if( IsDefined( origin ) )
{
PlayFx ( fx, origin.origin );
origin playsound ( sound );
}
}
|
|
Das die Soundaliases:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
|
,name,name of the alias that is used to play this sound (required)
,sequence,"used to uniquely identify alias entries when more than one sound goes to an alias, used only to catch unwanted duplicates (default = 0)"
,file,the name of the file that contains the sound data (required)
,vol_min,"0 is silent, 1 is full volume (default = 1)"
,vol_max,"0 is silent, 1 is full volume (default = same as vol_min)"
,vol_mod,"blank causes no effect on vol_min and vol_max, otherwise the string must match a string in the volumemodgroups.def file and the value in that file corresponding to that string will be used to adjust vol_min and vol_max, clamped to the valid range"
,pitch_min,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = 1)"
,pitch_max,"1 is normal playback, 2 is twice as fast, 0.5 is half as fast (default = same as pitch_min)"
,dist_min,"within this distance in inches, the sound is always full volume (default = 120)"
,dist_max,"outside this distance in inches, the sound is not started. If left blank or set to 0, the sound will play from any distance. This does not affect sound volume falloff."
,channel,"auto, menu, weapon, voice, item, body, local, music, announcer (default = auto)"
,type,primed (a streamed sound which gets primed on some platforms) / streamed / loaded (default = loaded)
,probability,weight to use for the weighted probability of playing this sound instead of another sound (default = 1)
,loop,"whether this sound is ""looping"" or ""nonlooping"" (default = ""nonlooping"")"
,masterslave,"if ""master"", this is a master sound. If a number, then this sound's volume will be multiplied by that number (a percentage between 0 and 1) any master sound is playing. If blank, then neither master nor slave."
,loadspec,"space-separated list of which maps should use this alias; eg, ""burnville dawnville"". If blank, the alias is used on all maps."
,compression,"a string corresponding to an entry in ""XMAUpdate.tbl"" which is used to determine compression by XMAUpdate.exe"
,secondaryaliasname,"defined the name of an additional sound alias to play in addition to the current alias being played. Note that it is an error for the secondaryalias to also define a secondaryaliasname (eg, if B is a secondaryalias of A, B is not allowed to have its own secondaryalias)."
,volumefalloffcurve,if blank uses the linear curve which can not be changed. A string 'XXXX' corresponds to the curve defined by the file 'soundaliases/XXXX.vfcurve'
,startdelay,defaults to no delay. The value is the number of milliseconds to delay starting the sound by
,speakermap,if blank uses the default speakermappings which cannot be changed. A string 'XXXX' corresponds to the speakermap defined by the file 'soundaliases/XXXX.spkrmap'.
,reverb,"blank means the alias is affected normally by wet and dry levels, ""fulldrylevel"" forces the alias to use a full drylevel (ignoring the global drylevel), ""nowetlevel"" forces the alias to use no wetlevel (ignoring the global wetlevel)"
,lfe percentage,this determines what percentage of the highest calculated spatialized speaker volume should be passed to the LFE. blank means no LFE for the sound
,center percentage,this determines what percentage of the volume should be redirected to the center channel (equal percentage taken from all speakers).
,platform,"used by XMAUpdate to determine whether the alias should be processed for a particular platform. If blank, process for all platforms. Platforms are PC, XB, PS, WI. Multiple values should be separated by spaces. !PC will exclude alias from PC but include in all other platforms. PC will only include alias for PC. !PC XB is invalid."
,envelop_min,any sounds within this distance of the listener will use the full envelop percentage,,,,,,,,,,,,,,,,,,,,,,,,,,
,envelop_max,sounds between enevlop_min and envelop_max use a fraction of the envelop percentage,,,,,,,,,,,,,,,,,,,,,,,,,,
,envelop percentage,amount of omnidirectionality to apply,,,,,,,,,,,,,,,,,,,,,,,,,,
,mp_quaky_2 soundaliases Data (c) rednose
name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dist_max,channel,type,probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,volumefalloffcurve,startdelay,speakermap,reverb,lfe percentage,center percentage,platform,envelop_min,envelop_max,envelop percentage
115song,,mp_quaky_2/115song.wav,,1,na,0.95,1,100,200,,,,,,all_mp,,,,,,,,,,,50,100,0.55
|
|
Die Sounddatei ist im raw/sound ordner und im iwd file...
Was mach ich falsch?
Vielen dank!!!!!!
__________________ Wie wollen sie das Internet gerne bestellen?
Komplett als 204.344.554.583 Blu-Rays oder ohne Pornos auf 2CDs?
______________________________________________________
Meine Website: http://rednosemaps.com
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von Banana2077: 05.01.2011 01:02.
|
|
|
|
|
Rycoon
Teetrinker
 
Dabei seit: 18.12.2010
Beiträge: 39

|
|
Probier mal meine soundalias:
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
|
name,sequence,file,vol_min,vol_max,vol_mod,pitch_min,pitch_max,dist_min,dist_max,channel,type,probability,loop,masterslave,loadspec,subtitle,compression,secondaryaliasname,volumefalloffcurve,startdelay,speakermap,reverb,lfe percentage
firstblood,,killstreaks/firstblood.wav,1,1,,,,1000000,,auto,streamed
|
|
__________________ Ihr lacht über mich weil ich anders bin... ich lache über euch, denn ihr seid alle gleich...
|
|
|
|
|
BadMan
Turnbeutelvergesser
 
Dabei seit: 31.01.2008
Beiträge: 278

|
|
Ja, ja also die Sache ist die die Werte im Trigger sind dafür, dass du z.B. mehrmals das ganze hast (Trigger und origin) einmal für Axis einmal für Alias und noch von mir aus 5 zwischen beiden Lagern. In den Lagern kommt Jeweils eigener Sound plus FX, die anderen bekommen alle den gleichen.
Jetzt gehst du folgendermaßen vor, du erstellst Den Trigger mit Origin verbindest es und gibst dem Trigger den Targetname "sound_fx_trig". Das ganze Kopierst du noch 6-mal und verteilst alle, was passiert überall läuft der im Script vordefinierte Standard Sound und FX.
Für die 2 Lager wo jeweils ein anderer Sound und FX laufen sollen brauchst du keine neuen Scripte sondern du gibst dem Trigger im Lager der Axis den wert script_fxid "misc/disco_dust_axis" und name "115song_axis" im Lager der Alias das gleiche halt nen anderen Sound und FX.
Jetzt läuft in Lager 1 eins Sound 1 FX1, in Lager 2 Sound2 FX2 und in den fünfen dazwischen Sound3 und FX3.
Die Werte fx und sound im Trigger kann das Script nicht lesen deshalb script_fxid und name, hab fürn sound gad nicht besseres was auch läuft, man kann da nämlich nicht alles nehmen.
Würde dann bei dem Script was du grade hast dann so aussehen
Den main() part mach ich nur einmal da der immer gleich ist.
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
|
main()
{
sound_fx_trig = getentarray ("sound_fx_trig","targetname");
for(i=0;i<sound_fx_trig.size;i++)
{
sound_fx_trig[i] thread sound_fx_trig();
}
}
|
|
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
|
sound_fx_trig()
{
if( IsDefined ( self.script_fxid )
fx = loadfx (self.script_fxid);
else
fx = loadfx ("misc/disco_dust");
if( IsDefined( self.name) )
sound = self.name;
else
sound = "115song";
if( IsDefined( self.target ) )
origin = getent (self.target ,"targetname");
else
{
iprintlnbold("Origin vergessen");
origin = undefined;
}
self waittill( "trigger" );
if( IsDefined( origin ) )
{
PlayFx ( fx, origin.origin );
origin playsound ( sound );
}
}
|
|
Ist aber auch im Script weiter unten geändert hier nochmal.
Code angehängt. Klicke hier zum Ein-/Ausblenden
| code: |
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
48:
49:
50:
51:
52:
53:
54:
55:
56:
57:
|
sound_fx_trig()
{
if( IsDefined( self.script_fxid ) )
fx = loadfx (self.script_fxid);
else
fx = loadfx ("weapon/artillery/fx_artillery_strike_american_mp");
if( IsDefined( self.name ) )
sound = self.name;
else
sound = "artillery_impact";
if( IsDefined( self.target ) )
fx_origin = getent (self.target ,"targetname");
else
{
fx_origin = undefined;
wait(5);
iprintlnbold("^1---Origin vergessen---");
}
while(1)
{
if (IsDefined(self.script_wait))
time = self.script_wait;
else if (IsDefined(self.script_wait_min) && IsDefined(self.script_wait_max))
time = RandomFloatRange( self.script_wait_min, self.script_wait_max );
else
time = undefined;
self waittill ( "trigger" );
if( IsDefined( fx_origin ) )
{
PlayFx ( fx, fx_origin.origin );
fx_origin playsound ( sound );
if( IsDefined( time ) )
wait ( time );
}
}
}
|
|
Oh grad gesehen unten hab ich noch was weggelöscht, konnte nen standard Sound nicht abspielen da er es übersprungen hat.
Gut das dazu.
Zu den Koordinaten, die Brauchst du nicht bzw. die bekommt der vom Origin, sprich da wo der Origin sitzt wird der Sund und der FX abgespielt.
Was meinst du mehrere FX an einem Ort oder den gleichen/verschiedene an mehreren Orten?
Da kommts halt drauf an was du genau vorhast, machbar ist alles nur das Skript sieht anders aus.
Mit dem FX, Was hast du denn fürn FX geht der schon mal getestet? Allgemein meine ich nicht übers Script .
Dieser Beitrag wurde 3 mal editiert, zum letzten Mal von BadMan: 05.01.2011 18:00.
|
|
|
|
|
|
|
|
 |
Impressum ||Datenschutzerklärung
|