I'm wrong about where that error is stemming from. Is there a way to remove the Fatal crash interupt if I was just doing singleplayer?
edit: there isn't a memory leak or anything, just that -1 Bitstream
SFXProfile((null))::onAdd: The preload failed! SFXSound::_create() - Could not create device buffer! SFXSystem::createSource() - Failed to create sound! Profile: (null) Filename: Loading SFX: art/sound/TAIKTakedowns/fight2 (1 channels, 44 kHz, 3.83 sec, 330 kb)Could it be that simple as a Null in SFX? If so I don't get where to hunt this down.
function playFightAudio(%person,%description,%filename,%pos) { %person.fightSoundSource = sfxPlayOnce(%description,"art/sound/TAIKTakedowns/" @ %filename,getWord(%pos,0),getWord(%pos,1),getWord(%pos,2)); echo("person" @ %person.fightSoundSource); echo(%filename); echo(%pos); // Make AIPlayers turn their heads if this happens close to them // The idea is that if we're going to stab someone standing next to their friend... // ...their friend should probably notice the scuffle. AlertAIPlayers(%person.getPosition(),8,0,"Annoyance",1,%person,0,0,%person.team); }
function attack3(%win,%lose) { %prefix = "FT3_"; // Animation name is this + "loser" or "winner", e.g. FT1_Winner, or FT1_Loser %winOffsetFromLose = "0 1 0"; // Winner should perform this takedown 1m in front of loser %loseOffsetFromWin = ""; // Loser of this takedown should stay put %initPadTime = 100; // 10ms before playing animations, enough time to get everyone to stop what they're doing %lookCode = 1; // 1 = Winner looks toward loser, 2= loser looks toward winner %winFightTime = 2200 + %initPadTime; // Time in ms until the winner is done with the fight, and control is re-acquired. %loseFightTime = 3500 + %initPadTime; // How long until the loser is given their control binds back (though they're dead, they may want to respawn) %noReturnTime = 1340; // Time (ms) until victim is officially dead. %lose can escape the fight if %win dies before this time has elapsed. %disarmTime = 3300; // Time (ms) until victim drops their gun %p = %win.prepActor(%lose,%winOffsetFromLose,%loseOffsetFromWin,%lookCode); if (%p == -1) return; %lose.prepActor(%win,"","",0); %lose.fightKiller = %win; %win.fightVictim = %lose; %win.ensureLookingAtVictim(%lose,%winFightTime); schedule(%initPadTime,0,attack3_action,%win,%lose,%prefix); %lose.schedule(%noReturnTime,takedownDeath,%win); %win.weaponSched[0] = %win.schedule(500,mountImage,TAIKKnifeImage,0); %win.schedule(%winFightTime,leaveFight); %lose.schedule(%loseFightTime,leaveFight); %lose.schedule(%disarmTime,holsterWeapon); %win.holsterWeapon(); } function attack3_action(%win,%lose,%prefix) { if (%win.getState() $= "Dead" || %lose.getState() $= "Dead") return; %win.destroyThread(0); %lose.destroyThread(0); %win.setActionThread(%prefix @ "Winner"); %lose.setActionThread(%prefix @ "Loser"); playFightAudio(%win,AudioClosest3D,"fight3",%lose.getWorldBoxCenter()); }
Entering AIPlayer::onCollision(23384, 23123) Leaving AIPlayer::onCollision() - return Leaving SpecOpsRifleman::onCollision() - return Entering SpecOpsRifleman::onCollision(699, 23123, 23384) Entering AIPlayer::onCollision(23123, 23384) Leaving AIPlayer::onCollision() - return Leaving SpecOpsRifleman::onCollision() - return Entering SpecOpsRifleman::onCollision(699, 23799, 21842) Entering AIPlayer::onCollision(23799, 21842) Leaving AIPlayer::onCollision() - return Leaving SpecOpsRifleman::onCollision() - return Entering SpecOpsRifleman::onCollision(699, 23799, 21514) Entering AIPlayer::onCollision(23799, 21514) Leaving AIPlayer::onCollision() - return Leaving SpecOpsRifleman::onCollision() - return Entering OpforRifleman::onCollision(700, 21514, 23799) Entering AIPlayer::onCollision(21514, 23799) Leaving AIPlayer::onCollision() - return Leaving OpforRifleman::onCollision() - return Entering OpforRifleman::onCollision(700, 21524, 21842) Entering AIPlayer::onCollision(21524, 21842) Leaving AIPlayer::onCollision() - return Leaving OpforRifleman::onCollision() - return