Advanced scripter needed...

Post » Sat May 26, 2012 7:22 am

I'm trying to achieve 3 options in one script:
1. if the player kills something, a custom sound will play
2. if the player scores a critical hit on something, another sound will play
3. if the player will dismember or blow someone's head off, yet another sound will play

Of course, point 3. should be advanced to point 1. So if player will blow someone's head off, there's no chance that first option will happen - only sound 3 will play. Also, if the player will kill 2 enemies at the same time, there should be zero probability that 2 sounds will play.

Here's some script that should work as some kind of template.
As you can see, there're only first 2 options included, however, only one of them works - option 1... although still with chance that 2 sounds will play...

short Criticalshort SayCriticalshort killedshort SayKilledref rCurrentRefBegin GameModeset rCurrentRef to GetFirstRef 200 1 0elseendifLabel 10if rCurrentRefif rCurrentRef.GetDeadif rCurrentRef.GetItemCount TokenelserCurrentRef.AddItem Token 1 1if rCurrentRef.IsKiller Playerset killed to 1 + 0.02 * GetRandomPercent ;just two possibilities yer or no 50/50elseif rCurrentRef.GetLastHitCriticalset Critical to 1 + 0.02 * GetRandomPercent ;just two possibilities yer or no 50/50endifendifendifset rCurrentRef to Pencil01 ; Prevent apple bugset rCurrentRef to GetNextRefGoto 10endifif killed == 1 ;50/50 responseset killed to 0set Saykilled to 1 + 0.02 * GetRandomPercentelseif killed == 2set killed to 0endifif Critical == 1set critical to 0set SayCritical to 1 + 0.02 * GetRandomPercentelseif Critical == 2set critical to 0endif;==============part where the player actually says somethingif SayCritical == 1set SayCritical to 0PlaySound sound1elseif SayCritical == 2set SayCritical to 0PlaySound sound1endifif SayKilled == 1set SayKilled to 0PlaySound sound2elseif SayKilled == 2set SayKilled to 0PlaySound sound2endifEnd
User avatar
noa zarfati
 
Posts: 3410
Joined: Sun Apr 15, 2007 5:54 am

Return to Fallout: New Vegas