Advertisement
TechSkylander1518

Score Script

Mar 2nd, 2021 (edited)
272
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 7.35 KB | None | 0 0
  1. #The variables for Energy, Expertise, and Comfort
  2. StatVariables = [
  3.  137,#energy
  4.  140,#expertise
  5.  141#comfort
  6. ]
  7.  
  8. #The score required to get a Gold for each case
  9. ScoreRequirements = [
  10. 25,#Case 1
  11. 25,#Case 2
  12. 25,#Case 3
  13. 25,#Case 4
  14. 25#Case 5
  15. ]
  16.  
  17. #The switches for if the case has been completed (not necessarily successful)
  18. CompleteSwitches = [
  19. 76,#case 1
  20. 77,#case 2
  21. 78,#case 3
  22. 79,#case 4
  23. 127#case 5
  24. ]
  25.  
  26. #The switches for if the case was successful
  27. SuccessSwitches = [
  28. 80,#case 1
  29. 81,#case 2
  30. 82,#case 3
  31. 83,#case 4
  32. 129#case 5
  33. ]
  34.  
  35.  
  36. #The switches for if the Extra Mile has been obtained (perfect ending)
  37. MileSwitches = [
  38. 84,#case 1
  39. 85,#case 2
  40. 86,#case 3
  41. 87,#case 4
  42. 128#case 5
  43. ]
  44.  
  45. #Gets the case number by counting how many Complete Switches are true
  46. def getCase
  47.   caseno=0
  48.     for i in 0...CompleteSwitches.length
  49.       if $game_switches[CompleteSwitches[i]]==true
  50.         caseno+=1
  51.       end
  52.     end
  53.   return caseno
  54. end
  55.  
  56.  
  57. #Saves the player's current score to the given variable
  58. def getScore(var)
  59.   energy = $game_variables[StatVariables[0]]
  60.   expertise = $game_variables[StatVariables[1]]
  61.   comfort = $game_variables[StatVariables[2]]
  62.   total = comfort+expertise+energy
  63.   $game_variables[var]=total
  64. end
  65.  
  66. #Saves the player's current rank to the given variable
  67. #Bronze is 0, Silver is 1, Gold is 2, Perfect is 3
  68. def getRank(var)
  69.   energy = $game_variables[StatVariables[0]]
  70.   expertise = $game_variables[StatVariables[1]]
  71.   comfort = $game_variables[StatVariables[2]]
  72.   total = comfort+expertise+energy
  73.   caseno=getCase
  74.   caseno-=1
  75.   #scoring
  76.   if $game_switches[CompleteSwitches[caseno]]==true
  77.     $game_variables[var]=0
  78.   end
  79.   if $game_switches[SuccessSwitches[caseno]]==true
  80.     $game_variables[var]=1
  81.   end
  82.   if total>ScoreRequirements[2]
  83.     $game_variables[var]=2
  84.   end
  85.   if $game_switches[MileSwitches[caseno]] == true
  86.     $game_variables[var]=3
  87.   end
  88. end
  89.  
  90. #Creates the number of medals as an attribute of the player
  91. module Score_Medals
  92.   attr_accessor  :bronze
  93.   attr_accessor  :silver
  94.   attr_accessor  :gold
  95.   attr_accessor  :perfect
  96.     @bronze              = 0
  97.     @silver              = 0
  98.     @gold                = 0
  99.     @perfect             = 0
  100. end
  101.  
  102.  
  103. class PokeBattle_Trainer
  104.   include Score_Medals
  105. end
  106.  
  107. #Checks how many of each ending the player has gotten,
  108. #and sets the variable to whichever ending is the highest
  109. #Bronze is 0, Silver is 1, Gold is 2, Perfect is 3
  110. def checkMedals(var)
  111.     bronze=$Trainer.bronze
  112.     silver=$Trainer.silver
  113.     gold=$Trainer.gold
  114.     perfect=$Trainer.perfect
  115.     highest=[bronze, silver, gold, perfect].max
  116.     if highest==perfect
  117.       $game_variables[var]=3
  118.     elsif highest==gold
  119.       $game_variables[var]=2
  120.     elsif highest==silver
  121.       $game_variables[var]=1
  122.     elsif highest==bronze
  123.       $game_variables[var]=0
  124.     end
  125. end
  126.  
  127. #Displays the score screen
  128. def displayScore
  129. #Makes sure the score can be saved
  130.   if !$Trainer.bronze
  131.     $Trainer.bronze=0
  132.     $Trainer.silver=0
  133.     $Trainer.gold=0
  134.     $Trainer.perfect=0
  135.   end
  136.   #transition to score screen
  137.   previousBGM = $game_system.getPlayingBGM
  138.   pbBGMStop(1.0)
  139.   pbToneChangeAll(Tone.new(-255,-255,-255),8)
  140.   pbWait(8)
  141.   #creates the graphics
  142.   @viewport = Viewport.new(0,0,Graphics.width,Graphics.height)
  143.   @viewport.z = 99999
  144.   @sprites = {}
  145.   @sprites["background"] = IconSprite.new(0,0,@viewport)
  146.   @sprites["background"].setBitmap("Graphics/Pictures/Badges/badgebg")
  147.   @sprites["overlay"] = BitmapSprite.new(Graphics.width,Graphics.height,@viewport)
  148.   overlay = @sprites["overlay"].bitmap
  149.   bstage=0
  150.   sstage=0
  151.   gstage=0
  152.   mstage=0
  153.   @sprites["bronze"]=IconSprite.new(0,312,@viewport)
  154.   @sprites["bronze"].setBitmap(sprintf("Graphics/Pictures/Badges/badgebronze"))
  155.   @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
  156.   @sprites["silver"]=IconSprite.new(40,258,@viewport)
  157.   @sprites["silver"].setBitmap(sprintf("Graphics/Pictures/Badges/badgesilver"))
  158.   @sprites["silver"].src_rect.set(90*sstage,0,90,100)
  159.   @sprites["gold"]=IconSprite.new(130,218,@viewport)
  160.   @sprites["gold"].setBitmap(sprintf("Graphics/Pictures/Badges/badgegold"))
  161.   @sprites["gold"].src_rect.set(108*gstage,0,108,136)
  162.   @sprites["mile"]=IconSprite.new(126,256,@viewport)
  163.   @sprites["mile"].setBitmap(sprintf("Graphics/Pictures/Badges/badgeextramile"))
  164.   @sprites["mile"].src_rect.set(318*mstage,0,318,128)
  165.   #gets the scores
  166.   energy = $game_variables[StatVariables[0]]
  167.   expertise = $game_variables[StatVariables[1]]
  168.   comfort = $game_variables[StatVariables[2]]
  169.   total = comfort+expertise+energy
  170.   #creates the text
  171.   base   = Color.new(248,248,248)
  172.   shadow = Color.new(104,104,104)
  173.   pbSetSystemFont(@sprites["overlay"].bitmap)
  174.   categoryx=Graphics.width/4
  175.   textpos = [
  176.        [_INTL("COMFORT:"),categoryx,5,0,base,shadow],
  177.        [_INTL("ENERGY:"),categoryx,35,0,base,shadow],
  178.        [_INTL("EXPERTISE:"),categoryx,65,0,base,shadow],
  179.        [_INTL("TOTAL:"),categoryx,125,0,base,shadow]
  180.     ]
  181.   pbDrawTextPositions(overlay,textpos)
  182.   scorex=categoryx+100
  183.   pbWait(15)
  184.   pbDrawShadowText(@sprites["overlay"].bitmap,scorex,5,118,28,_INTL("{1}",comfort),base,shadow,2)
  185.   pbSEPlay("Battle ball shake")
  186.   pbWait(30)
  187.   pbDrawShadowText(@sprites["overlay"].bitmap,scorex,35,118,28,_INTL("{1}",energy),base,shadow,2)
  188.   pbSEPlay("Battle ball shake")
  189.   pbWait(30)
  190.   pbDrawShadowText(@sprites["overlay"].bitmap,scorex,65,118,28,_INTL("{1}",expertise),base,shadow,2)
  191.   pbSEPlay("Battle ball shake")
  192.   pbWait(40)
  193.   pbDrawShadowText(@sprites["overlay"].bitmap,scorex,125,118,28,_INTL("{1}",total),base,shadow,2)
  194.   pbSEPlay("Mining item get")
  195.   pbWait(30)
  196.   #scoring
  197.   caseno=getCase
  198.   caseno-=1
  199.   if $game_switches[CompleteSwitches[caseno]]==true
  200.     bstage=1
  201.   end
  202.   if $game_switches[SuccessSwitches[caseno]]==true
  203.     sstage=1
  204.   end
  205.   if total>ScoreRequirements[caseno]
  206.     gstage=1
  207.   end
  208.   if $game_switches[MileSwitches[caseno]] == true
  209.     mstage=1
  210.   end
  211.   #play the animations for each medal
  212.   if bstage>0
  213.     pbSEPlay("GUI Trainer card open")
  214.     @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
  215.     pbWait(5)
  216.     bstage=2
  217.     @sprites["bronze"].src_rect.set(72*bstage,0,72,72)
  218.     $Trainer.bronze+=1
  219.     if sstage>0
  220.       pbWait(15)
  221.       pbSEPlay("Mining reveal")
  222.       @sprites["silver"].src_rect.set(90*sstage,0,90,100)
  223.       pbWait(5)
  224.       sstage=2
  225.       @sprites["silver"].src_rect.set(90*sstage,0,90,100)
  226.       $Trainer.bronze-=1
  227.       $Trainer.silver+=1
  228.       if gstage>0
  229.         pbWait(15)
  230.         pbSEPlay("Mining reveal full")
  231.         @sprites["gold"].src_rect.set(108*gstage,0,108,136)
  232.         pbWait(5)
  233.         gstage=2
  234.         @sprites["gold"].src_rect.set(108*gstage,0,108,136)
  235.         $Trainer.silver-=1
  236.         $Trainer.gold+=1
  237.         if mstage>0
  238.           pbWait(15)
  239.           pbSEPlay("Mining found all")
  240.           @sprites["mile"].src_rect.set(318*mstage,0,318,128)
  241.           pbWait(5)
  242.           mstage=2
  243.           @sprites["mile"].src_rect.set(318*mstage,0,318,128)
  244.           $Trainer.gold-=1
  245.           $Trainer.perfect+=1
  246.           pbWait(5)
  247.         end
  248.       end
  249.     end
  250.   end
  251.   loop do
  252.     Graphics.update
  253.     Input.update
  254.       if Input.trigger?(Input::C) || Input.trigger?(Input::B)
  255.         pbDisposeSpriteHash(@sprites)
  256.         @viewport.dispose
  257.         pbToneChangeAll(Tone.new(0,0,0),8)
  258.         pbBGMPlay(previousBGM)
  259.          break
  260.       end
  261.   end
  262. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement