changing sound parameters
Posted: Mon Feb 02, 2004 11:34 pm
how can i change the sound parameters defined in the aliascache line by scripting, e.g. to change the volume or the pitch?
g_allclasses.html wrote:playsound( String soundName, [ Integer channel ], [ Float volume ], [ Float min_distance ], [ Float pitch ] )
play a sound coming from this entity.
default channel, CHAN_BODY.
Code: Select all
test:
local.pitch=local.pitch+.1
$testspeaker playsound soundname,,,,local.pitch
goto test
endCode: Select all
main:
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
local.master = spawn ScriptMaster
local.master aliascache soundname sound/mechanics/M1_LightTurn.wav soundparms 1 0.1 2.0 0.0 750 1000 auto loaded maps "m obj dm r"
///////////////////////
level waitTill prespawn
///////////////////////
exec global/DMprecache.scr
exec global/ambient.scr mohdm4
thread lift_prep
thread ring_prep
/////////////////////
level waittill spawn
////////////////////
end
test:
local.pitch=local.pitch+0.02
local.loud++
local.master aliascache soundname sound/mechanics/M1_LightTurn.wav soundparms local.loud 0.1 local.pitch 0.0 750 1000 auto loaded maps "m obj dm r"
loopsound soundname
goto test
endCode: Select all
for(local.pitch = 0; local.pitch <= 110; local.pitch ++)
local.master alias ("snd_chopper_" + local.pitch + "p") sound/modernwarfare/chopper.wav soundparms (0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "obj dm"
Code: Select all
main:
//...
local.master = spawn ScriptMaster
local.master aliascache ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms 1 0.1 2.0 0.0 750 1000 auto loaded maps "m obj dm r"
//...
///////////////////////
level waitTill prespawn
///////////////////////
Code: Select all
{
local.pitch ++
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r"
$ring1 loopsound ring_snd1
}Code: Select all
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master ^
^~^~^ Script Error: command 'alias' applied to NIL
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch ^
^~^~^ Script Error: binary '/' applied to incompatible types 'NIL' and 'int'
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 ^
^~^~^ Script Error: binary '+' applied to incompatible types 'float' and 'NIL'
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch ^
^~^~^ Script Error: binary '/' applied to incompatible types 'NIL' and 'float'
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch ^
^~^~^ Script Error: binary '*' applied to incompatible types 'NIL' and 'float'
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 + 2048) auto loaded maps "m obj dm r" (maps/dm/lager.scr, 180)
local.master alias ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms(0.1 + local.pitch / 10) 0.0 (local.pitch / 100.0) 0.0 1024 (local.pitch * 489.76 ^
^~^~^ Script Error: binary '+' applied to incompatible types 'NIL' and 'int'tltrude wrote:I love Stargate! I bet there is a site on the net that has that "yung, yung, yung, yung" wave sound for the rings already. Hmmm, is it is four yungs or five?
Doesn't this for-line just produce 111 different aliases? i won't need an alias anymore once it has changed...tltrude wrote:I think you need the "for" line that jv-map used.
Code: Select all
main:
setcvar "g_obj_alliedtext1" ""
setcvar "g_obj_alliedtext2" ""
setcvar "g_obj_alliedtext3" ""
setcvar "g_obj_axistext1" ""
setcvar "g_obj_axistext2" ""
setcvar "g_obj_axistext3" ""
setcvar "g_scoreboardpic" "none"
//////////////////////////////////////////////SOUND STUFF VVV
local.master = spawn ScriptMaster
for (local.i=0;local.i<=120;local.i++)
{
local.master aliascache ("ring_snd_"+local.i) sound/mechanics/M1_LightTurn.wav soundparms(1 + local.i / 5) 0.0 (0.1 + local.i / 1000.0) 0.0 750 2048 auto loaded maps "obj dm"
}
//local.master aliascache ring_snd1 sound/mechanics/M1_LightTurn.wav soundparms 1 0.1 2.0 0.0 750 1000 auto loaded maps "m obj dm r"
local.master aliascache ring_exp sound/weapons/explo/Exp_Interior_01.wav soundparms 3 0.2 0.8 0.4 3000 8000 weapon loaded maps "m obj dm r"
//////////////////////////////////////////////SOUND STUFF ^^^
///////////////////////
level waitTill prespawn
///////////////////////
exec global/DMprecache.scr
//exec global/ambient.scr mohdm4
thread ring_prep
/////////////////////
level waittill spawn
////////////////////
end
ring_prep:
local.besch1=1
local.speed1=0
local.besch2=1
local.speed2=0
local.besch3=1
local.speed3=0
local.ring_exp=0
//////////////////////////////////////////////SOUND STUFF vvv
local.pitch=0
//////////////////////////////////////////////SOUND STUFF ^^^
wait .25
$ringcorona hide
wait .5
$ringlicht light 1 1 0.5 0
$ring2 bind $ring1
$ring3 bind $ring2
$1coron1 bind $ring1
$2coron1 bind $ring2
$3coron1 bind $ring3
$1coron1 hide
$2coron1 hide
$3coron1 hide
$ringtrigger waittill trigger
goto ring_move
end
ring_move:
wait 1
if (local.speed3>500)
{
wait .25
$ringcorona scale 15
$ringcorona show
$ringlicht light 1 1 0.5 500
$ring1 playsound ring_exp
wait 1
goto ring_weg
}
else
{
if (local.speed3>300)
{
$ringcorona scale (randomfloat 5)
$ringcorona show
wait (randomfloat 0.2)
$ringcorona hide
}
}
local.besch1=local.besch1+.1
local.speed1=local.speed1 + local.besch1
$1coron1 show
//////////////////////////////////////////////SOUND STUFF vvv
local.pitch ++
$ring1 loopsound ("ring_snd_"+local.pitch)
//////////////////////////////////////////////SOUND STUFF ^^^
if (local.speed1>100)
{
local.besch2=local.besch2+.2
local.speed2=local.speed2 + local.besch2
$2coron1 show
}
if (local.speed2>100)
{
local.besch3=local.besch3+.4
local.speed3=local.speed3 + local.besch3
$3coron1 show
}
$ring1 rotateY local.speed1
$ring2 rotateZ local.speed2
$ring3 rotateX local.speed3
goto ring_move
end
ring_weg:
$ring1 stoploopsound
$ring1 remove
$ring2 remove
$ring3 remove
$1coron1 remove
$2coron1 remove
$3coron1 remove
$ringcorona moveDown 128
$ringcorona waitmove
end