[Resolved] Problem with transition

So I have a part of my app where the credits roll. I had this working (thanks to some help from people in the forum) previously.

Since I have since added a 2-player mode where two players can play together head-to-head on the iPad, I want the credits to work for both players as well.

I have it all working, except that when you leave the credits in the middle of them playing and return to the main menu, then come back to the credits, the credits positioning is off in 2-player (competitive play) mode. In addition to the credits starting over, the credits that did not roll when the user exited to the menu start playing as well.

Here is the code:
[lua]function displayCredits()
if inMenu == true then
timer.cancel( menuTimer )

audio.stop( playSndTheme )
audio.stop( playSndMenuProd )
audio.stop( playSndMenuBackground )
audio.dispose( sndTheme )
audio.dispose( sndMenuProd )
audio.dispose( sndMenuBackground )
sndTheme = nil
sndMenuProd = nil
sndMenuBackground = nil

menuGroup:removeSelf()
menuPanelGroup:removeSelf()
menuGroup = nil
menuPanelGroup = nil

inMenu = false
end

local function backToMenu()
if competitivePlay == false then
transition.cancel( creditsGroupTransition )
else
if transitionH1P1 then
transition.cancel( transitionH1P1 )
end

if transitionH2P1 then
transition.cancel( transitionH2P1 )
end

if transitionH3P1 then
transition.cancel( transitionH3P1 )
end

if transitionH4P1 then
transition.cancel( transitionH4P1 )
end

if transitionH5P1 then
transition.cancel( transitionH5P1 )
end

if transitionH1P2 then
transition.cancel( transitionH1P2 )
end

if transitionH2P2 then
transition.cancel( transitionH2P2 )
end

if transitionH3P2 then
transition.cancel( transitionH3P2 )
end

if transitionH4P2 then
transition.cancel( transitionH4P2 )
end

if transitionH5P2 then
transition.cancel( transitionH5P2 )
end

if transitionT1P1 then
transition.cancel( transitionT1P1 )
end

if transitionT2P1 then
transition.cancel( transitionT2P1 )
end

if transitionT3P1 then
transition.cancel( transitionT3P1 )
end

if transitionT4P1 then
transition.cancel( transitionT4P1 )
end

if transitionT5P1 then
transition.cancel( transitionT5P1 )
end

if ttransitionT1P2 then
transition.cancel( transitionT1P2 )
end

if transitionT2P2 then
transition.cancel( transitionT2P2 )
end

if transitionT3P2 then
transition.cancel( transitionT3P2 )
end

if transitionT4P2 then
transition.cancel( transitionT4P2 )
end

if transitionT5P2 then
transition.cancel( transitionT5P2 )
end

if transitionN1P1 then
transition.cancel( transitionN1P1 )
end

if transitionN1P2 then
transition.cancel( transitionN1P2 )
end

if transitionN2P1 then
transition.cancel( transitionN2P1 )
end

if transitionN2P2 then
transition.cancel( transitionN2P2 )
end
end

audio.stop( playSndCredits )
audio.dispose( sndCredits )
sndCredits = nil

if competitivePlay == false then
creditsGroupPlayer1:removeSelf()
creditsExtraGroup:removeSelf()
creditsGroupPlayer1 = nil
creditsExtraGroup = nil
else
creditsGroupPlayers:removeSelf()
creditsExtraGroup:removeSelf()
creditsGroupPlayers = nil
creditsExtraGroup = nil
end

displayMenu()
end

competitivePlay = true

if competitivePlay == false then
blockBackgroundPlayer1 = display.newImageRect( “Assets/Images/black.png”, display.contentWidth, 350 )
blockBackgroundPlayer1:setReferencePoint( display.TopLeftReferencePoint )
blockBackgroundPlayer1.x = 0
blockBackgroundPlayer1.y = 0
blockBackgroundPlayer1:setFillColor( 0, 0, 0 )

blockLogoPlayer1 = display.newImageRect( “Assets/Images/program_logo.png”, 520, 394 )
blockLogoPlayer1:setReferencePoint( display.TopCenterReferencePoint )
blockLogoPlayer1.x = display.contentWidth/2
blockLogoPlayer1.y = 15
blockLogoPlayer1:scale( 0.8, 0.8 )

blockButtonPlayer1 = display.newRect( 0, 940, display.contentWidth, 84 )
blockButtonPlayer1:setFillColor( 0, 0, 0 )

creditsHeader1Player1 = display.newText( “game concept and design”, 0, 0, “Clean-Bold”, 30 )
creditsHeader1Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText1Player1 = display.newText( “XXX”, 0, 40, “Clean-Regular”, 30 )
creditsText1Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader2Player1 = display.newText( “game programming and content”, 0, 110, “Clean-Bold”, 30 )
creditsHeader2Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText2Player1 = display.newText( “XXX”, 0, 150, “Clean-Regular”, 30 )
creditsText2Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader3Player1 = display.newText( “logo design”, 0, 220, “Clean-Bold”, 30 )
creditsHeader3Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText3Player1 = display.newText( “XXX”, 0, 260, “Clean-Regular”, 30 )
creditsText3Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader4Player1 = display.newText( “music”, 0, 330, “Clean-Bold”, 30 )
creditsHeader4Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText4Player1 = display.newText( “XXX”, 0, 370, “Clean-Regular”, 30 )
creditsText4Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader5Player1 = display.newText( “sound effects”, 0, 440, “Clean-Bold”, 30 )
creditsHeader5Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText5Player1 = display.newText( “XXX”, 0, 480, “Clean-Regular”, 30 )
creditsText5Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsNotice1Player1 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 84, 550, 600, 0, “Clean-Regular”, 26 )
creditsNotice1Player1:setReferencePoint( display.TopLeftReferencePoint )

creditsNotice2Player1 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 84, 680, 600, 0, “Clean-Regular”, 26 )
creditsNotice2Player1:setReferencePoint( display.TopLeftReferencePoint )

buttonBackMenuPlayer1 = ui.newButton{
defaultSrc = “Assets/Images/button_ui.png”,
defaultX = 200,
defaultY = 40,
overSrc = “Assets/Images/button_ui.png”,
overX = 200,
overY = 40,
onRelease = backToMenu,
id = “buttonBackMenuPlayer1”,
text = “Main Menu”,
font = “Clean-Bold”,
size = 16,
offset = 2,
emboss = false
}

buttonBackMenuPlayer1.x = display.contentWidth/2
buttonBackMenuPlayer1.y = 980

creditsGroupPlayer1 = display.newGroup()
creditsGroupPlayer1:insert(creditsHeader1Player1)
creditsGroupPlayer1:insert(creditsText1Player1)
creditsGroupPlayer1:insert(creditsHeader2Player1)
creditsGroupPlayer1:insert(creditsText2Player1)
creditsGroupPlayer1:insert(creditsHeader3Player1)
creditsGroupPlayer1:insert(creditsText3Player1)
creditsGroupPlayer1:insert(creditsHeader4Player1)
creditsGroupPlayer1:insert(creditsText4Player1)
creditsGroupPlayer1:insert(creditsHeader5Player1)
creditsGroupPlayer1:insert(creditsText5Player1)
creditsGroupPlayer1:insert(creditsNotice1Player1)
creditsGroupPlayer1:insert(creditsNotice2Player1)
creditsGroupPlayer1:setReferencePoint( display.TopLeftReferencePoint )

creditsExtraGroup = display.newGroup()
creditsExtraGroup:insert(blockBackgroundPlayer1)
creditsExtraGroup:insert(blockLogoPlayer1)
creditsExtraGroup:insert(blockButtonPlayer1)
creditsExtraGroup:insert(buttonBackMenuPlayer1)
else
blockBackgroundPlayer1 = display.newImageRect( “Assets/Images/black.png”, display.contentWidth, 180 )
blockBackgroundPlayer1:setReferencePoint( display.TopCenterReferencePoint )
blockBackgroundPlayer1.x = display.contentWidth/2
blockBackgroundPlayer1.y = 513

blockBackgroundPlayer2 = display.newImageRect( “Assets/Images/black.png”, display.contentWidth, 180 )
blockBackgroundPlayer2:setReferencePoint( display.TopCenterReferencePoint )
blockBackgroundPlayer2.x = display.contentWidth/2
blockBackgroundPlayer2.y = 512

blockLogoPlayer1 = display.newImageRect( “Assets/Images/program_logo.png”, 520, 394 )
blockLogoPlayer1:setReferencePoint( display.TopCenterReferencePoint )
blockLogoPlayer1.x = display.contentWidth/2
blockLogoPlayer1.y = 528
blockLogoPlayer1:scale( 0.4, 0.4 )

blockLogoPlayer2 = display.newImageRect( “Assets/Images/program_logo.png”, 520, 394 )
blockLogoPlayer2:setReferencePoint( display.TopCenterReferencePoint )
blockLogoPlayer2.x = display.contentWidth/2
blockLogoPlayer2.y = 497
blockLogoPlayer2:scale( 0.4, 0.4 )

blockButtonPlayer1 = display.newRect( 0, 948, display.contentWidth, 76 )
blockButtonPlayer1:setFillColor( 0, 0, 0 )
blockButtonPlayer1:setReferencePoint( display.TopCenterReferencePoint )

blockButtonPlayer2 = display.newRect( 0, 0, display.contentWidth, 76 )
blockButtonPlayer2:setFillColor( 0, 0, 0 )
blockButtonPlayer2:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader1Player1 = display.newText( “game concept and design”, 0, display.contentHeight - 76, “Clean-Bold”, 20 )
creditsHeader1Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader1Player2 = display.newText( “game concept and design”, 0, 76, “Clean-Bold”, 20 )
creditsHeader1Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsText1Player1 = display.newText( “XXX”, 0, display.contentHeight - 46, “Clean-Regular”, 20 )
creditsText1Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText1Player2 = display.newText( “XXX”, 0, 46, “Clean-Regular”, 20 )
creditsText1Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader2Player1 = display.newText( “game programming and content”, 0, display.contentHeight - 76, “Clean-Bold”, 20 )
creditsHeader2Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader2Player2 = display.newText( “game programming and content”, 0, 76, “Clean-Bold”, 20 )
creditsHeader2Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsText2Player1 = display.newText( “XXX”, 0, display.contentHeight - 46, “Clean-Regular”, 20 )
creditsText2Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText2Player2 = display.newText( “XXX”, 0, 46, “Clean-Regular”, 20 )
creditsText2Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader3Player1 = display.newText( “logo design”, 0, display.contentHeight - 76, “Clean-Bold”, 20 )
creditsHeader3Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader3Player2 = display.newText( “logo design”, 0, 76, “Clean-Bold”, 20 )
creditsHeader3Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsText3Player1 = display.newText( “XXX”, 0, display.contentHeight - 46, “Clean-Regular”, 20 )
creditsText3Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText3Player2 = display.newText( “XXX”, 0, 46, “Clean-Regular”, 20 )
creditsText3Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader4Player1 = display.newText( “music”, 0, display.contentHeight - 76, “Clean-Bold”, 20 )
creditsHeader4Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader4Player2 = display.newText( “music”, 0, 76, “Clean-Bold”, 20 )
creditsHeader4Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsText4Player1 = display.newText( “XXX”, 0, display.contentHeight - 46, “Clean-Regular”, 20 )
creditsText4Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText4Player2 = display.newText( “XXX”, 0, 46, “Clean-Regular”, 20 )
creditsText4Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader5Player1 = display.newText( “sound effects”, 0, display.contentHeight - 76, “Clean-Bold”, 20 )
creditsHeader5Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsHeader5Player2 = display.newText( “sound effects”, 0, 76, “Clean-Bold”, 20 )
creditsHeader5Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsText5Player1 = display.newText( “XXX”, 0, display.contentHeight - 46, “Clean-Regular”, 20 )
creditsText5Player1:setReferencePoint( display.TopCenterReferencePoint )

creditsText5Player2 = display.newText( “XXX”, 0, 46, “Clean-Regular”, 20 )
creditsText5Player2:setReferencePoint( display.TopCenterReferencePoint )

creditsNotice1Player1 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 84, display.contentHeight - 76, 600, 0, “Clean-Regular”, 18 )
creditsNotice1Player1:setReferencePoint( display.TopLeftReferencePoint )

creditsNotice1Player2 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 684, 76, 600, 0, “Clean-Regular”, 18 )
creditsNotice1Player2:setReferencePoint( display.TopLeftReferencePoint )

creditsNotice2Player1 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 84, display.contentHeight - 76, 600, 0, “Clean-Regular”, 18 )
creditsNotice2Player1:setReferencePoint( display.TopLeftReferencePoint )

creditsNotice2Player2 = display.newText( “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”, 684, 76, 600, 0, “Clean-Regular”, 18 )
creditsNotice2Player2:setReferencePoint( display.TopLeftReferencePoint )

buttonBackMenuPlayer1 = ui.newButton{
defaultSrc = “Assets/Images/button_ui.png”,
defaultX = 200,
defaultY = 40,
overSrc = “Assets/Images/button_ui.png”,
overX = 200,
overY = 40,
onRelease = backToMenu,
id = “buttonBackMenuPlayer1”,
text = “Main Menu”,
font = “Clean-Bold”,
size = 16,
offset = 2,
emboss = false
}

buttonBackMenuPlayer2 = ui.newButton{
defaultSrc = “Assets/Images/button_ui.png”,
defaultX = 200,
defaultY = 40,
overSrc = “Assets/Images/button_ui.png”,
overX = 200,
overY = 40,
onRelease = backToMenu,
id = “buttonBackMenuPlayer2”,
text = “Main Menu”,
font = “Clean-Bold”,
size = 16,
offset = 2,
emboss = false
}

buttonBackMenuPlayer1:setReferencePoint( display.TopCenterReferencePoint )
buttonBackMenuPlayer1.x = display.contentWidth/2
buttonBackMenuPlayer1.y = 966

buttonBackMenuPlayer2:setReferencePoint( display.TopCenterReferencePoint )
buttonBackMenuPlayer2.x = display.contentWidth/2
buttonBackMenuPlayer2.y = 58

blockBackgroundPlayer2:rotate(180)
blockLogoPlayer2:rotate(180)
buttonBackMenuPlayer2:rotate(180)
creditsHeader1Player2:rotate(180)
creditsText1Player2:rotate(180)
creditsHeader2Player2:rotate(180)
creditsText2Player2:rotate(180)
creditsHeader3Player2:rotate(180)
creditsText3Player2:rotate(180)
creditsHeader4Player2:rotate(180)
creditsText4Player2:rotate(180)
creditsHeader5Player2:rotate(180)
creditsText5Player2:rotate(180)
creditsNotice1Player2:rotate(180)
creditsNotice2Player2:rotate(180)

creditsGroupPlayers = display.newGroup()
creditsGroupPlayers:insert(creditsHeader1Player1)
creditsGroupPlayers:insert(creditsHeader1Player2)
creditsGroupPlayers:insert(creditsText1Player1)
creditsGroupPlayers:insert(creditsText1Player2)
creditsGroupPlayers:insert(creditsHeader2Player1)
creditsGroupPlayers:insert(creditsHeader2Player2)
creditsGroupPlayers:insert(creditsText2Player1)
creditsGroupPlayers:insert(creditsText2Player2)
creditsGroupPlayers:insert(creditsHeader3Player1)
creditsGroupPlayers:insert(creditsHeader3Player2)
creditsGroupPlayers:insert(creditsText3Player1)
creditsGroupPlayers:insert(creditsText3Player2)
creditsGroupPlayers:insert(creditsHeader4Player1)
creditsGroupPlayers:insert(creditsHeader4Player2)
creditsGroupPlayers:insert(creditsText4Player1)
creditsGroupPlayers:insert(creditsText4Player2)
creditsGroupPlayers:insert(creditsHeader5Player1)
creditsGroupPlayers:insert(creditsHeader5Player2)
creditsGroupPlayers:insert(creditsText5Player1)
creditsGroupPlayers:insert(creditsText5Player2)
creditsGroupPlayers:insert(creditsNotice1Player1)
creditsGroupPlayers:insert(creditsNotice1Player2)
creditsGroupPlayers:insert(creditsNotice2Player1)
creditsGroupPlayers:insert(creditsNotice2Player2)

creditsExtraGroup = display.newGroup()
creditsExtraGroup:insert(blockBackgroundPlayer1)
creditsExtraGroup:insert(blockBackgroundPlayer2)
creditsExtraGroup:insert(blockLogoPlayer1)
creditsExtraGroup:insert(blockLogoPlayer2)
creditsExtraGroup:insert(blockButtonPlayer1)
creditsExtraGroup:insert(blockButtonPlayer2)
creditsExtraGroup:insert(buttonBackMenuPlayer1)
creditsExtraGroup:insert(buttonBackMenuPlayer2)
end

local function scrollCredits()
creditsGroupPlayer1.x = 0
creditsGroupPlayer1.y = display.contentHeight

creditsHeader1Player1.x = display.contentWidth/2
creditsText1Player1.x = display.contentWidth/2
creditsHeader2Player1.x = display.contentWidth/2
creditsText2Player1.x = display.contentWidth/2
creditsHeader3Player1.x = display.contentWidth/2
creditsText3Player1.x = display.contentWidth/2
creditsHeader4Player1.x = display.contentWidth/2
creditsText4Player1.x = display.contentWidth/2
creditsHeader5Player1.x = display.contentWidth/2
creditsText5Player1.x = display.contentWidth/2

creditsGroupTransition = transition.to( creditsGroupPlayer1, { time=20000, y=-450, onComplete=scrollCredits } );
end

local function scrollCreditsPlayers()
creditsHeader1Player1.x = display.contentWidth/2
creditsHeader1Player1.y = display.contentHeight - 76
creditsText1Player1.x = display.contentWidth/2
creditsText1Player1.y = display.contentHeight - 46
creditsHeader2Player1.x = display.contentWidth/2
creditsHeader2Player1.y = display.contentHeight - 76
creditsText2Player1.x = display.contentWidth/2
creditsText2Player1.y = display.contentHeight - 46
creditsHeader3Player1.x = display.contentWidth/2
creditsHeader3Player1.y = display.contentHeight - 76
creditsText3Player1.x = display.contentWidth/2
creditsText3Player1.y = display.contentHeight - 46
creditsHeader4Player1.x = display.contentWidth/2
creditsHeader4Player1.y = display.contentHeight - 76
creditsText4Player1.x = display.contentWidth/2
creditsText4Player1.y = display.contentHeight - 46
creditsHeader5Player1.x = display.contentWidth/2
creditsHeader5Player1.y = display.contentHeight - 76
creditsText5Player1.x = display.contentWidth/2
creditsText5Player1.y = display.contentHeight - 46
creditsNotice1Player1.x = 84
creditsNotice1Player1.y = display.contentHeight - 76
creditsNotice2Player1.x = 84
creditsNotice2Player1.y = display.contentHeight - 46

creditsHeader1Player2.x = display.contentWidth/2
creditsHeader1Player2.y = 76
creditsText1Player2.x = display.contentWidth/2
creditsText1Player2.y = 46
creditsHeader2Player2.x = display.contentWidth/2
creditsHeader2Player2.y = 76
creditsText2Player2.x = display.contentWidth/2
creditsText2Player2.y = 46
creditsHeader3Player2.x = display.contentWidth/2
creditsHeader3Player2.y = 76
creditsText3Player2.x = display.contentWidth/2
creditsText3Player2.y = 46
creditsHeader4Player2.x = display.contentWidth/2
creditsHeader4Player2.y = 76
creditsText4Player2.x = display.contentWidth/2
creditsText4Player2.y = 46
creditsHeader5Player2.x = display.contentWidth/2
creditsHeader5Player2.y = 76
creditsText5Player2.x = display.contentWidth/2
creditsText5Player2.y = 46
creditsNotice1Player2.x = 684
creditsNotice1Player2.y = 76
creditsNotice2Player2.x = 684
creditsNotice2Player2.y = 46

local function scrollH1T1()
transitionH1P1 = transition.to( creditsHeader1Player1, { time=9000, y=613 } );
transitionT1P1 = transition.to( creditsText1Player1, { time=9000, y=653 } );

transitionH1P2 = transition.to( creditsHeader1Player2, { time=9000, y=412 } );
transitionT1P2 = transition.to( creditsText1Player2, { time=9000, y=372 } );
end

local function scrollH2T2()
transitionH2P1 = transition.to( creditsHeader2Player1, { time=9000, y=613 } );
transitionT2P1 = transition.to( creditsText2Player1, { time=9000, y=653 } );

transitionH2P2 = transition.to( creditsHeader2Player2, { time=9000, y=412 } );
transitionT2P2 = transition.to( creditsText2Player2, { time=9000, y=372 } );
end

local function scrollH3T3()
transitionH3P1 = transition.to( creditsHeader3Player1, { time=9000, y=613 } );
transitionT3P1 = transition.to( creditsText3Player1, { time=9000, y=653 } );

transitionH3P2 = transition.to( creditsHeader3Player2, { time=9000, y=412 } );
transitionT3P2 = transition.to( creditsText3Player2, { time=9000, y=372 } );
end

local function scrollH4T4()
transitionH4P1 = transition.to( creditsHeader4Player1, { time=9000, y=613 } );
transitionT4P1 = transition.to( creditsText4Player1, { time=9000, y=653 } );

transitionH4P2 = transition.to( creditsHeader4Player2, { time=9000, y=412 } );
transitionT4P2 = transition.to( creditsText4Player2, { time=9000, y=372 } );
end

local function scrollH5T5()
transitionH5P1 = transition.to( creditsHeader5Player1, { time=9000, y=613 } );
transitionT5P1 = transition.to( creditsText5Player1, { time=9000, y=653 } );

transitionH5P2 = transition.to( creditsHeader5Player2, { time=9000, y=412 } );
transitionT5P2 = transition.to( creditsText5Player2, { time=9000, y=372 } );
end

local function scrollN1()
transitionN1P1 = transition.to( creditsNotice1Player1, { time=9000, y=613 } );

transitionN1P2 = transition.to( creditsNotice1Player2, { time=9000, y=412 } );
end

local function scrollN2()
transitionN2P1 = transition.to( creditsNotice2Player1, { time=9000, y=653 } );

transitionN2P2 = transition.to( creditsNotice2Player2, { time=9000, y=372, onComplete=scrollCreditsPlayers } );
end

timer.performWithDelay(2000, scrollH1T1, 1)
timer.performWithDelay(4500, scrollH2T2, 1)
timer.performWithDelay(7000, scrollH3T3, 1)
timer.performWithDelay(9500, scrollH4T4, 1)
timer.performWithDelay(12000, scrollH5T5, 1)
timer.performWithDelay(14500, scrollN1, 1)
timer.performWithDelay(16000, scrollN2, 1)
end

sndCredits = audio.loadSound(“Assets/Audio/credits_loop.m4a”)
playSndCredits = audio.play( sndCredits, { loops=-1 } )

if competitivePlay == false then
scrollCredits()
else
scrollCreditsPlayers()
end
end[/lua]

For the competitive play mode, I can’t do the transition for all the text at the same time since I want them all to scroll at the same speed and stop at the same point where it is hidden behind the logo. If I group them all together, it will scroll up to the other player’s side of the screen.

I am not sure what I need to do to keep those double credits from playing. How do I reset all the credits when I exit? [import]uid: 17827 topic_id: 29647 reply_id: 329647[/import]

I love how things come to me AFTER I post to the forum.

I solved this by changing the timers:
[lua] creditsScrollTimer1 = timer.performWithDelay(2000, scrollH1T1, 1)
creditsScrollTimer2 = timer.performWithDelay(4500, scrollH2T2, 1)
creditsScrollTimer3 = timer.performWithDelay(7000, scrollH3T3, 1)
creditsScrollTimer4 = timer.performWithDelay(9500, scrollH4T4, 1)
creditsScrollTimer5 = timer.performWithDelay(12000, scrollH5T5, 1)
creditsScrollTimer6 = timer.performWithDelay(14500, scrollN1, 1)
creditsScrollTimer7 = timer.performWithDelay(16000, scrollN2, 1)[/lua]

And then doing a timer.cancel() for each one.

Can’t believe that I forgot that. :slight_smile: [import]uid: 17827 topic_id: 29647 reply_id: 118998[/import]

Always the way, isn’t it?

Thanks for both updating with the solution and marking as resolved - very helpful!

Peach :slight_smile: [import]uid: 52491 topic_id: 29647 reply_id: 119052[/import]

Sure thing, Peach.

Figured someone else may run into the same issue at some point and maybe a Google Search will lead them there with something that might help them.

And figured I might hear some comments on how I could clean up that code. Learning that I can code what I want, just not always in the most elegant fashion. :slight_smile: [import]uid: 17827 topic_id: 29647 reply_id: 119064[/import]