<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenCompany');
+InitScreen('ScreenCompany');
end">
<children>
<Layer Type="Quad"
<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenEnding');
+InitScreen('ScreenEnding');
if GAMESTATE:GetEnv('Vibrate') == 'On' then
self:vibrate();
end
if GAMESTATE:GetEnv('Vibrate') == 'On' then
self:vibrate();
end
-SetVariablesFor('ScreenEvaluation');
+InitScreen('ScreenEvaluation');
end">
<children>
<!--Restart the song on event mode if you pressed the menu button-->
</children>
</ActorFrame>
<!--Screen Transition-->
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" ScreenTransitionMessageCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
ScreenTransitionMessageCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="%function(self)
self:sleep(0.01);
-SetVariablesFor('ScreenGameplay');
+InitScreen('ScreenGameplay');
self:sleep(0.01);
self:queuecommand('KillBPM');
if GAMESTATE:GetEnv('Vibrate') == 'On' then
</children></ActorFrame>
<!--Screen Transition-->
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" ScreenTransitionMessageCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
QuadFlickerMessageCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.1;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="sleep,0.1;queuecommand,loop;"
loopCommand="%function(self)
self:stoptweening();
-SetVariablesFor('ScreenLogo');
+InitScreen('ScreenLogo');
self:sleep(0.1);
self:queuecommand('loop');
end"><children>
OffCommand=""
Condition="GAMESTATE:IsHumanPlayer(PLAYER_2)"
/>
-
-
-<!--Screen Transition doesn't work because the screen change is instantaneous-->
- <Layer Type="Quad"
- OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
- ScreenTransitionMessageCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
- />
-
- <Layer Type="Quad"
- OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;linear,0.3;diffusealpha,0;"
- ScreenTransitionMessageCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,0;linear,0.3;diffusealpha,1;"
- />
-
- <Layer Type="Quad"
- OnCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+(SCREEN_HEIGHT/2)-50;draworder,10000;decelerate,0.3;diffuse,0,0,0,1;y,SCREEN_CENTER_Y+SCREEN_HEIGHT"
- ScreenTransitionMessageCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+SCREEN_HEIGHT;draworder,10000;accelerate,0.2;diffuse,0,0,0,1;y,SCREEN_CENTER_Y+(SCREEN_HEIGHT/2)"
- />
-
- <Layer Type="Quad"
- OnCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-(SCREEN_HEIGHT/2);draworder,10000;accelerate,0.2;diffuse,0,0,0,1;y,SCREEN_CENTER_Y-(SCREEN_HEIGHT)"
- ScreenTransitionMessageCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y-SCREEN_HEIGHT;draworder,10000;decelerate,0.2;diffuse,0,0,0,1;y,SCREEN_CENTER_Y-(SCREEN_HEIGHT/2)"
- />
-
- <Layer File="../../Graphics/TransitionArrow"
- OnCommand="vibrate;EffectMagnitude,0.5,0.5,0.1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;draworder,10000;accelerate,0.2;y,SCREEN_CENTER_Y-(SCREEN_HEIGHT/2)-50"
- ScreenTransitionMessageCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+SCREEN_HEIGHT+50;draworder,10000;accelerate,0.2;y,SCREEN_CENTER_Y"
- />
</children>
</ActorFrame>
\ No newline at end of file
/>
<!-- Screen Transition -->
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" OffCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
OffCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="%function(self)
- SetVariablesFor('ScreenPlayerOptions');
+ InitScreen('ScreenPlayerOptions');
self:sleep(0.1);
if GAMESTATE:GetEnv('Vibrate') == 'On' then
self:vibrate();
-<ActorFrame>
+<ActorFrame InitCommand="%function(self) InitScreen('ScreenStage'); end">
<children>
<Actor
File="../ScreenWithMenuElements underlay"
<!--Screen Transition-->
<ActorFrame InitCommand="x,0;y,0;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" OffCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;linear,0.3;diffusealpha,0;"
OffCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,0;linear,0.3;diffusealpha,1;"
<Layer Type="BitmapText" Text="http://divinelegy.com/" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
- <Layer Type="BitmapText" Text="MUSIC BY PSYBOT & WATERFLAME" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#D57676;ztest,1;queuecommand,Diffuser;" DiffuserCommand="@'diffuse,'..LabelColor()..';'" />
+ <Layer Type="BitmapText" Text="MUSIC BY PSYBOT" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#D57676;ztest,1;queuecommand,Diffuser;" DiffuserCommand="@'diffuse,'..LabelColor()..';'" />
<Layer Type="BitmapText" Text="http://psybot.newgrounds.com/" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
- <Layer Type="BitmapText" Text="http://waterflame.newgrounds.com/" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="THEME SOUNDS" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#D57676;ztest,1;queuecommand,Diffuser;" DiffuserCommand="@'diffuse,'..LabelColor()..';'" />
- <Layer Type="BitmapText" Text="Super Mario RPG (SNES)" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
- <Layer Type="BitmapText" Text="Yoshi's Island (SNES)" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
+ <Layer Type="BitmapText" Text="http://pond5.com/" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<Layer Type="BitmapText" Text="THEME GRAPHICS" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#D57676;ztest,1;queuecommand,Diffuser;" DiffuserCommand="@'diffuse,'..LabelColor()..';'" />
<Layer Type="BitmapText" Text="Jayce Newton" File="_eurostile normal" OnCommand="shadowlength,0;zoom,0.7;diffuse,#FFFFFF;ztest,1" />
<!-- Screen Transition -->
<ActorFrame InitCommand="x,-18;y,-41;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" OffCommand="%function(self) ScreenTransitionWhoosh('in'); end"/>
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
OffCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenNameEntry');
+InitScreen('ScreenNameEntry');
end">
<children>
<BitmapText
<!--Screen Transition doesn't work because the screen change is instantaneous-->
<ActorFrame InitCommand="x,-18;y,-41;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" ScreenTransitionMessageCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+(SCREEN_HEIGHT/2)-50;draworder,10000;decelerate,0.3;diffuse,0,0,0,1;y,SCREEN_CENTER_Y+SCREEN_HEIGHT"
ScreenTransitionMessageCommand="zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,0,0,0,1;x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y+SCREEN_HEIGHT;draworder,10000;accelerate,0.2;diffuse,0,0,0,1;y,SCREEN_CENTER_Y+(SCREEN_HEIGHT/2)"
<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenPlayerOptions');
+InitScreen('ScreenPlayerOptions');
if GAMESTATE:GetEnv('Vibrate') == 'On' then self:vibrate(); end
end">
<children>
if GAMESTATE:GetEnv('Vibrate') == 'On' then
self:vibrate();
end
-SetVariablesFor('ScreenSelectMusic');
+InitScreen('ScreenSelectMusic');
end"
>
<children>
/>
<!--Screen Transition-->
<ActorFrame InitCommand="x,-18;y,-41;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" OffCommand="%function(self) ScreenTransitionWhoosh('in'); end"/>
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
OffCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
/>
<!--Screen Transition-->
<ActorFrame InitCommand="x,-18;y,-41;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" ScreenTransitionMessageCommand="%function(self) ScreenTransitionWhoosh('in'); end" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
ScreenTransitionMessageCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenSelectPlayMode');
+InitScreen('ScreenSelectPlayMode');
end">
<children>
<BitmapText
</ActorFrame>
<!--Screen Transition-->
<ActorFrame InitCommand="x,-18;y,-41;"><children>
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" GoOffCommand="%function(self) ScreenTransitionWhoosh('in'); end"
+ MadeChoiceP1MessageCommand="playcommand,GoOff"
+ MadeChoiceP2MessageCommand="playcommand,GoOff" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
GoOffCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="%function(self)
-SetVariablesFor('ScreenSelectStyle2');
+InitScreen('ScreenSelectStyle2');
end">
<children>
<BitmapText
</children>
</ActorFrame>
<!--Screen Transition-->
+ <Layer Type="Quad" InitCommand="diffusealpha,0;" GoOffCommand="%function(self) ScreenTransitionWhoosh('in'); end"
+ MadeChoiceP1MessageCommand="playcommand,GoOff"
+ MadeChoiceP2MessageCommand="playcommand,GoOff" />
+
<Layer Type="Quad"
OnCommand="x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH;zoomy,SCREEN_HEIGHT;diffuse,1,1,1,0;"
GoOffCommand="@'x,SCREEN_CENTER_X;y,SCREEN_CENTER_Y;zoomx,SCREEN_WIDTH*2;zoomy,SCREEN_HEIGHT*2;diffuse,1,1,1,1;diffusealpha,0.05;linear,0.1;diffusealpha,0;'"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
<ActorFrame InitCommand="queuecommand,Start;"
StartCommand="%function(self)
- SetVariablesFor('GradeModels');
+ InitScreen('GradeModels');
gnSameGrade = gnSameGrade + 1;
self:queuecommand('SameGradeCheck');
end"
-- ===SET SCREEN SPECIFIC VARIABLES===
-function SetVariablesFor(scn)
+function InitScreen(scn)
if scn == 'ScreenCompany' then
return 0;
end
if scn == 'ScreenSelectPlayMode' then
+ScreenTransitionWhoosh('long');
-- nothing to add yet
end
if scn == 'ScreenSelectStyle2' then
+ScreenTransitionWhoosh('short');
gnSongsP1 = nil;
gnSongsP1Total = nil;
gnTotalP1 = nil;
if scn == 'ScreenSelectMusic' then
+ScreenTransitionWhoosh('short');
+RateRestoreMessage(false);
if curRate == nil then curRate = 1 end
gnBlazedP1 = 0;
gnBlazedP2 = 0;
gnStatFrequency = gnStatFrequency + 1;
gnOptionMod = 0;
gnOptionModType = 0;
- RateRestoreMessage(false)
end
if scn == 'ScreenPlayerOptions' then
+ScreenTransitionWhoosh('short');
if GAMESTATE:IsPlayerEnabled(PLAYER_1) then
gnP1Sound = 0;
else
end
+if scn == 'ScreenStage' then
+ScreenTransitionWhoosh('short');
+end
+
+
if scn == 'ScreenGameplay' then
GreenQuadP1Flag = 0;
GreenQuadP2Flag = 0;
if scn == 'ScreenEvaluation' then
+ScreenTransitionWhoosh('short');
gnSongCount = gnSongCount + 1;
RateRestoreMessage(false);
end
if scn == 'ScreenNameEntry' then
+ScreenTransitionWhoosh('short');
-- nothing to add yet
end
SCREENMAN:SystemMessage('Rate Modifier has been restored to 1.0x')
end
end
+
+
+
+
+
+-- ===PLAY SCREEN TRANSITION SOUND===
+-- Makes the arrow go whooshy whoosh
+function ScreenTransitionWhoosh(i)
+ local Path = THEME:GetPath( EC_SOUNDS, 'gnScreenTransition', 'whoosh '..i );
+ SOUND:PlayOnce(Path);
+end