I loved this script, I tried to do something similar but I never managed to make it work, so I gave up.
I noticed that when using the Adventure guide, it was necessary to go through all the tipcards already seen to close, so I made a change to close when I pressed back.
in the 002_Tracking script I replace this:
ItemHandlers::UseFromBag.add(:ADVENTUREGUIDE, proc { |item|
pbRevisitTipCardsGrouped
next 1
})
ItemHandlers::UseInField.add(:ADVENTUREGUIDE, proc { |item|
pbRevisitTipCardsGrouped
next true
})
so:
ItemHandlers::UseFromBag.add(:ADVENTUREGUIDE, proc { |item|
if !$adventure_guide_used
$adventure_guide_used = true
pbRevisitTipCardsGrouped
next 1
end
})
ItemHandlers::UseInField.add(:ADVENTUREGUIDE, proc { |item|
if !$adventure_guide_used
$adventure_guide_used = true
pbRevisitTipCardsGrouped
next true
end
})
ItemHandlers::UseFromBag.add(:ADVENTUREGUIDE, proc { |item|
if !$adventure_guide_used
$adventure_guide_used = true
pbRevisitTipCards
next 1
end
})
ItemHandlers::UseInField.add(:ADVENTUREGUIDE, proc { |item|
if !$adventure_guide_used
$adventure_guide_used = true
pbRevisitTipCards
next true
end
})
and in the 001_Scene script, I modified the controls in def pbScene,
from:
def pbScene
loop do
Graphics.update
Input.update
pbUpdate
oldindex = @index
quit = false
if Input.trigger?(Input::USE)
if @index < @pages - 1
@index += 1
else
pbSEPlay(Settings::TIP_CARDS_DISMISS_SE)
break
end
elsif Input.trigger?(Input::BACK) || Input.trigger?(Input::LEFT)
@index -= 1 if @index > 0
elsif Input.trigger?(Input::RIGHT)
@index += 1 if @index < @pages - 1
end
if oldindex != @index
pbDrawTip
pbSEPlay("GUI sel cursor")
end
end
end
for:
def pbScene
loop do
Graphics.update
Input.update
pbUpdate
oldindex = @index
quit = false
if Input.trigger?(Input::USE)
if @index < @pages - 1
@index += 1
else
pbSEPlay(Settings::TIP_CARDS_DISMISS_SE)
break
end
elsif Input.trigger?(Input::BACK)
if $adventure_guide_used
pbSEPlay(Settings::TIP_CARDS_DISMISS_SE)
break
end
elsif Input.trigger?(Input::LEFT) # Triggers only when the LEFT button is pressed, not BACK
@index -= 1 if @index > 0
elsif Input.trigger?(Input::RIGHT)
@index += 1 if @index < @pages - 1
end
if oldindex != @index
pbDrawTip
pbSEPlay("GUI sel cursor")
end
end
$adventure_guide_used = false # Reset the flag when the Tip Card is closed
end
These modifications only affect the adventure guide item, the first time you see a tip card, the back button will not close, this prevents it from accidentally closing and not seeing the following tip cards and ending up not being able to see them again.
If anyone is going to apply these changes, make a backup beforehand, it worked for my game, but you never know if it will work for everyone (in logic, it's supposed to work hahahaha)
I'm trying to improve the adventure guide, I wanted it to open a choice interface for which tipcard you would like to review, but I haven't been successful with that yet, I'm quite an amateur with script codes. :)