venom12314

MustafaMenu

Dec 30th, 2017
383
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 17.72 KB | None | 0 0
  1. class PokemonMustafaMenuScene
  2.  
  3. def update
  4. pbUpdateSpriteHash(@sprites)
  5. end
  6. X=[40,286,40,286,40,286]
  7. Y=[62,62,158,158,246,246,384]
  8.  
  9. def pbStartScene
  10. pbSetViableDexes
  11. @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
  12. @viewport.z=99999
  13. base=Color.new(248,248,248)
  14. shadow=Color.new(40,40,40)
  15. @close=false
  16. @commands_menu=[]
  17. @commands_menu.push("Party") if $Trainer.party.length>0
  18. @commands_menu.push("Pokegear") if $Trainer.pokegear
  19. @commands_menu.push("Bag")
  20. @commands_menu.push("#{$Trainer.name}") if $game_switches[75]
  21. @commands_menu.push("Save")
  22. @commands_menu.push("Options")
  23. @select=0
  24. @oldsel=0
  25. @sprites={}
  26. @sprites["bg"]=Sprite.new(@viewport)
  27. @sprites["bg"].bitmap=BitmapCache.load_bitmap("Graphics/Pictures/mustafa/bg")
  28. @sprites["bg"].x=0
  29. @sprites["bg"].y=0
  30. @sprites["bg"].opacity=0
  31. for i in 0...@commands_menu.length
  32. cmdname=@commands_menu[i]=="" ? "#{$Trainer.name}" : @commands_menu[i]
  33. pbMenuIcon("icon#{i}","#{cmdname}",X[i],Y[i])
  34. end
  35. pbUpdateCursor
  36. pbOpenMenu
  37. end
  38.  
  39. def pbMenuIcon(name,iconame,x,y,opacity=0,visible=true)
  40. base=Color.new(248,248,248)
  41. shadow=Color.new(40,40,40)
  42. iconame="Card" if iconame=="#{$Trainer.name}"
  43. @sprites["#{name}"]=Sprite.new(@viewport)
  44. @sprites["#{name}"].bitmap=Bitmap.new(Graphics.width,Graphics.height)
  45. @sprites["#{name}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon"),Rect.new(0,0,Graphics.width,Graphics.height))
  46. @sprites["#{name}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
  47. @sprites["#{name}"].x=x
  48. @sprites["#{name}"].y=y+Y[6]#6 is position of y for animation
  49. @sprites["#{name}"].visible=visible
  50. @sprites["#{name}"].opacity = opacity
  51. iconame="#{$Trainer.name}" if iconame=="Card"
  52. textpos=[]
  53. textpos.push([_INTL("#{iconame}"),88,22,false,base,shadow])
  54. pbDrawTextPositions(@sprites["#{name}"].bitmap,textpos)
  55. end
  56.  
  57. def pbEndScene
  58. pbDisposeSpriteHash(@sprites)
  59. @viewport.dispose
  60. end
  61.  
  62. def pbRefresh
  63. Graphics.update
  64. Input.update
  65. self.update
  66. pbUpdateCursor
  67. end
  68.  
  69. def pbOpenMenu
  70. 10.times do
  71. for i in 0...@commands_menu.length
  72. @sprites["icon#{i}"].y-=38.4
  73. @sprites["icon#{i}"].opacity+=25.5
  74. end
  75. @sprites["bg"].opacity+=15
  76. pbWait(1)
  77. end
  78. end
  79.  
  80. def pbCloseMenu
  81. 10.times do
  82. for i in 0...@commands_menu.length
  83. @sprites["icon#{i}"].y+=38.4
  84. @sprites["icon#{i}"].opacity-=25.5
  85. end
  86. @sprites["bg"].opacity-=15
  87. pbWait(1)
  88. end
  89. end
  90.  
  91. def pbIndex(index)
  92. case index
  93. when "Party"
  94. sscene=PokemonScreen_Scene.new
  95. sscreen=PokemonScreen.new(sscene,$Trainer.party)
  96. hiddenmove=nil
  97. pbFadeOutIn(99999) {
  98. hiddenmove=sscreen.pbPokemonScreen
  99. if hiddenmove
  100. pbCloseMenu
  101. @close=true
  102. else
  103. pbRefresh
  104. end
  105. }
  106. if hiddenmove
  107. Kernel.pbUseHiddenMove(hiddenmove[0],hiddenmove[1])
  108. return
  109. end
  110. when "Pokegear"
  111. pbLoadRpgxpScene(Scene_Pokegear.new)
  112. when "Bag"
  113. item=0
  114. scene=PokemonBag_Scene.new
  115. screen=PokemonBagScreen.new(scene,$PokemonBag)
  116. pbFadeOutIn(99999) {
  117. item=screen.pbStartScreen
  118. if item>0
  119. pbCloseMenu
  120. @close=true
  121. else
  122. pbRefresh
  123. end
  124. }
  125. if item>0
  126. Kernel.pbUseKeyItemInField(item)
  127. return
  128. end
  129. when "#{$Trainer.name}"
  130. scene=PokemonTrainerCardScene.new
  131. screen=PokemonTrainerCard.new(scene)
  132. pbFadeOutIn(99999) {
  133. screen.pbStartScreen
  134. pbRefresh
  135. }
  136. when "Save"
  137. pbCloseMenu
  138. scene=PokemonSaveScene.new
  139. screen=PokemonSave.new(scene)
  140. if screen.pbSaveScreen
  141. pbCloseMenu
  142. endscene=false
  143. @close=true
  144. else
  145. pbOpenMenu
  146. end
  147. when "Options"
  148. scene=PokemonOptionScene.new
  149. screen=PokemonOption.new(scene)
  150. pbFadeOutIn(99999) {
  151. screen.pbStartScreen
  152. pbUpdateSceneMap
  153. pbRefresh
  154. }
  155. end
  156. end
  157.  
  158. def pbUpdateCursor
  159. base=Color.new(248,248,248)
  160. shadow=Color.new(40,40,40)
  161. iconame="icon3" ? "Card": "#{@commands_menu[@oldsel]}"
  162. @sprites["icon#{@oldsel}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon"),Rect.new(0,0,Graphics.width,Graphics.height))
  163. @sprites["icon#{@oldsel}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
  164. iconame="icon3" ? "Card": "#{@commands_menu[@select]}"
  165. @sprites["icon#{@select}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/cursor"),Rect.new(0,0,Graphics.width,Graphics.height))
  166. @sprites["icon#{@select}"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/mustafa/Icon_#{iconame}"),Rect.new(0,0,Graphics.width,Graphics.height))
  167. textpos=[]
  168. textpos2=[]
  169. textpos.push([_INTL("#{@commands_menu[@select]}"),88,22,false,base,shadow])
  170. name=@commands_menu[@oldsel]
  171. textpos2.push([_INTL("#{name}"),88,22,false,base,shadow])
  172. pbDrawTextPositions(@sprites["icon#{@select}"].bitmap,textpos)
  173. pbDrawTextPositions(@sprites["icon#{@oldsel}"].bitmap,textpos2)
  174. @oldsel=@select
  175. end
  176.  
  177. def pbMustafaMenu
  178. loop do
  179. Graphics.update
  180. Input.update
  181. self.update
  182. pbUpdateCursor
  183. for icons in 0...@commands_menu.length
  184. if $mouse.over?(@sprites["icon#{icons}"])
  185. @select=icons
  186. pbUpdateCursor
  187. end
  188. end
  189. if Input.repeat?(Input::RIGHT)
  190. if @select%5 == 4 && @commands_menu.length>6
  191. @select+=5
  192. end
  193. @select += 1
  194. @select = 0 if @select > @commands_menu.length - 1
  195. pbSEPlay("SE_Select1")
  196. elsif Input.repeat?(Input::LEFT)
  197. if @select%5 == 0 && @commands_menu.length>6
  198. @select-=5
  199. end
  200. @select -= 1
  201. @select = @commands_menu.length - 1 if @select < 0
  202. pbSEPlay("SE_Select1")
  203. elsif Input.repeat?(Input::UP)
  204. @select-=2
  205. @select=0 if @select<0
  206. elsif Input.repeat?(Input::DOWN)
  207. @select+=2
  208. @select=@commands_menu.length - 1 if @select>=@commands_menu.length
  209. elsif Input.trigger?(Input::C) || $mouse.leftClick?(@sprites["icon#{@select}"])
  210. pbIndex(@commands_menu[@select])
  211. end
  212. if Input.trigger?(Input::F9) && $DEBUG
  213. pbFadeOutIn(99999) {
  214. pbDebugMenu
  215. pbRefresh
  216. }
  217. end
  218. if Input.trigger?(Input::B) || @close
  219. pbCloseMenu
  220. pbEndScene
  221. break
  222. end
  223. end
  224. end
  225.  
  226. end
  227.  
  228. class PokemonMustafaMenu
  229.  
  230. def initialize(scene)
  231. @scene=scene
  232. end
  233.  
  234. def pbStartScreen
  235. @scene.pbStartScene
  236. @scene.pbMustafaMenu
  237. @scene.pbEndScene
  238. end
  239.  
  240. end
  241.  
  242. def pbMustafaMenu
  243. scene=PokemonMustafaMenuScene.new
  244. screen=PokemonMustafaMenu.new(scene)
  245. screen.pbStartScreen
  246. end
  247.  
  248. #===============================================================================
  249. # € Simple Map Clock by KleinStudio
  250. #===============================================================================
  251. # Positions
  252. #===============================================================================
  253. # Clock
  254. CLOCKX=440
  255. CLOCKY=6
  256.  
  257. # Menu button
  258. #===================================================================
  259.  
  260. FADEIN=0
  261. FADEOUT=1
  262.  
  263. def clockDisabled?
  264. return $CLOCKBLACK.visible if $CLOCKBLACK && !$CLOCKBLACK.disposed?
  265. end
  266.  
  267. def disableClock
  268. $CLOCKBLACK.visible=true if $CLOCKBLACK && !$CLOCKBLACK.disposed?
  269. end
  270.  
  271. def enableClock
  272. $CLOCKBLACK.visible=false if $CLOCKBLACK && !$CLOCKBLACK.disposed?
  273. end
  274. class Scene_Map
  275.  
  276. alias _sceneMiniUpdate miniupdate
  277.  
  278. def miniupdate
  279. _sceneMiniUpdate
  280. updateClockmini if @clockrendered
  281. end
  282.  
  283. def createSpritesets
  284. @spritesets={}
  285. clockRender if $Trainer #&& $PokemonSystem.interactivemenu==0
  286. for map in $MapFactory.maps
  287. @spritesets[map.map_id]=Spriteset_Map.new(map)
  288. end
  289. $MapFactory.setSceneStarted(self)
  290. updateSpritesets
  291. end
  292.  
  293. def disposeSpritesets
  294. return if !@spritesets
  295. clockDispose if @clockrendered
  296. for i in @spritesets.keys
  297. if @spritesets[i]
  298. @spritesets[i].dispose
  299. @spritesets[i]=nil
  300. end
  301. end
  302. @spritesets.clear
  303. @spritesets={}
  304. end
  305.  
  306.  
  307. def main
  308. createSpritesets
  309. Graphics.transition
  310. loop do
  311. Graphics.update
  312. Input.update
  313. update
  314. clockUpdate if @clockrendered
  315. if $scene != self
  316. break
  317. end
  318. end
  319. Graphics.freeze
  320. disposeSpritesets
  321. if $game_temp.to_title
  322. Graphics.transition
  323. Graphics.freeze
  324. end
  325. end
  326. alias call_menu_old call_menu
  327. def call_menu
  328. $game_temp.menu_calling = false
  329. $game_temp.in_menu = true
  330. $game_player.straighten
  331. $game_map.update
  332. pbMustafaMenu
  333. $game_temp.in_menu = false
  334. end
  335.  
  336.  
  337. def clockRender
  338. @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
  339. @viewport.z=99999
  340. @sprites= {}
  341. @fade=false
  342. @frame=0
  343. @baseColorW=Color.new(255,255,255)
  344. @shadowColorW=Color.new(51,51,51)
  345. @sprites["bg"]=Sprite.new(@viewport)
  346. @sprites["bg"].bitmap=Bitmap.new(512,102)
  347. @sprites["bg"].bitmap.blt(0,0,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/menu_bg"),Rect.new(0,0,512,102))
  348. @sprites["bg"].bitmap.blt(20,5,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/playericon"),Rect.new(0,0,88,88))
  349. @sprites["bg"].bitmap.blt(330,5,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/area"),Rect.new(0,0,182,92))
  350. @sprites["bg"].bitmap.blt(262,0,BitmapCache.load_bitmap("Graphics/Pictures/Mustafa/menu_open"),Rect.new(0,0,34,24))
  351. @sprites["bg"].y=384
  352. @sprites["bg"].opacity=$PokemonSystem.interactivemenuopacity
  353. # @sprites["bg"].visible=$PokemonSystem.interactivemenu ? true : false
  354. @oldopacity=$PokemonSystem.interactivemenuopacity
  355. @oldmoney=$Trainer.money
  356. @oldmap=$game_map.name
  357. @sprites["overlay_band"]=BitmapSprite.new(@sprites["bg"].bitmap.width,@sprites["bg"].bitmap.height,@viewport)
  358. @sprites["overlay_band"].x=@sprites["bg"].x
  359. @sprites["overlay_band"].y=@sprites["bg"].y
  360. # @sprites["bg"].visible=$PokemonSystem.interactivemenu ? true : false
  361. pbSetSmallFont(@sprites["overlay_band"].bitmap)
  362. textpos=[]
  363. textpos.push([_INTL("#{$Trainer.name}"),112,20,false,@baseColorW,@shadowColorW])
  364. textpos.push([_INTL("$#{$Trainer.money}"),112,48,false,@baseColorW,@shadowColorW])
  365. textpos.push([_INTL("#{$game_map.name}"),372,38,false,@baseColorW,@shadowColorW])
  366. pbDrawTextPositions(@sprites["overlay_band"].bitmap,textpos)
  367. $CLOCKBLACK=@sprites["black"]
  368. @clockrendered=true
  369. end
  370.  
  371. def clockToneScreen(value)
  372. @clocktonescreen=value
  373. end
  374.  
  375. def clockDispose
  376. pbDisposeSpriteHash(@sprites)
  377. end
  378.  
  379. def clockUpdate
  380. if !$game_system.map_interpreter.running? or !$game_temp.message_window_showing
  381. enableClock
  382. end
  383. updateHour
  384. end
  385.  
  386. def updateClockmini
  387. updateHour
  388. end
  389.  
  390. def updateHour
  391. if $game_system.map_interpreter.running? or $game_temp.message_window_showing
  392. disableClock
  393. end
  394. if $PokemonSystem.interactivemenuopacity!=@oldopacity
  395. @sprites["bg"].opacity=$PokemonSystem.interactivemenuopacity
  396. if $PokemonSystem.interactivemenuopacity<=0
  397. $PokemonSystem.interactivemenu=1
  398. end
  399. end
  400. if $Trainer.money!=@oldmoney || $game_map.name!=@oldmap
  401. @sprites["overlay_band"].bitmap.clear
  402. textpos=[]
  403. textpos.push([_INTL("$#{$Trainer.money}"),112,48,false,@baseColorW,@shadowColorW])
  404. textpos.push([_INTL("#{$game_map.name}"),372,38,false,@baseColorW,@shadowColorW])
  405. pbDrawTextPositions(@sprites["overlay_band"].bitmap,textpos)
  406. end
  407. end
  408. end
  409.  
  410. def pbDoorTone1(tone=Tone.new(-255,-255,-255,0),duration=6)
  411. $game_screen.start_tone_change(tone,duration * 2)
  412. for picture in $game_screen.pictures
  413. picture.start_tone_change(tone,duration * 2) if picture
  414. end
  415. #$scene.clockToneScreen(FADEIN)
  416. end
  417.  
  418. def pbDoorTone2(tone=Tone.new(0,0,0,0),duration=6)
  419. $game_screen.start_tone_change(tone,duration * 2)
  420. for picture in $game_screen.pictures
  421. picture.start_tone_change(tone,duration * 2) if picture
  422. end
  423. #$scene.clockToneScreen(FADEOUT)
  424. end
  425.  
  426. class PokemonSystem
  427. attr_accessor :interactivemenu
  428. attr_accessor :interactivemenuopacity
  429.  
  430. def interactivemenuopacity
  431. return (!@interactivemenuopacity) ? 255 : @interactivemenuopacity
  432. end
  433.  
  434. alias initialize_old initialize
  435. def initialize
  436. @interactivemenuopacity=255
  437. @interactivemenu=0
  438. end
  439. end
  440.  
  441. class PokemonOptionScene
  442. alias pbStartScene_old pbStartScene
  443. def pbStartScene(inloadscreen=false)
  444. @sprites={}
  445. @viewport=Viewport.new(0,0,Graphics.width,Graphics.height)
  446. @viewport.z=99999
  447. @sprites["title"]=Window_UnformattedTextPokemon.newWithSize(
  448. _INTL("Options"),0,0,Graphics.width,64,@viewport)
  449. @sprites["textbox"]=Kernel.pbCreateMessageWindow
  450. @sprites["textbox"].letterbyletter=false
  451. @sprites["textbox"].text=_INTL("Speech frame {1}.",1+$PokemonSystem.textskin)
  452. # These are the different options in the game. To add an option, define a
  453. # setter and a getter for that option. To delete an option, comment it out
  454. # or delete it. The game's options may be placed in any order.
  455. @PokemonOptions=[
  456. SliderOption.new(_INTL("Menu Opacity"),0,255,25.5,
  457. proc { $PokemonSystem.interactivemenuopacity },
  458. proc {|value|
  459. if $PokemonSystem.interactivemenuopacity!=value
  460. $PokemonSystem.interactivemenuopacity=value
  461. end
  462. }
  463. ),
  464. SliderOption.new(_INTL("Music Volume"),0,100,5,
  465. proc { $PokemonSystem.bgmvolume },
  466. proc {|value|
  467. if $PokemonSystem.bgmvolume!=value
  468. $PokemonSystem.bgmvolume=value
  469. if $game_system.playing_bgm != nil && !inloadscreen
  470. $game_system.playing_bgm.volume=value
  471. playingBGM=$game_system.getPlayingBGM
  472. $game_system.bgm_pause
  473. $game_system.bgm_resume(playingBGM)
  474. end
  475. end
  476. }
  477. ),
  478. SliderOption.new(_INTL("SE Volume"),0,100,5,
  479. proc { $PokemonSystem.sevolume },
  480. proc {|value|
  481. if $PokemonSystem.sevolume!=value
  482. $PokemonSystem.sevolume=value
  483. if $game_system.playing_bgs != nil
  484. $game_system.playing_bgs.volume=value
  485. playingBGS=$game_system.getPlayingBGS
  486. $game_system.bgs_pause
  487. $game_system.bgs_resume(playingBGS)
  488. end
  489. pbPlayCursorSE()
  490. end
  491. }
  492. ),
  493. EnumOption.new(_INTL("Text Speed"),[_INTL("Slow"),_INTL("Normal"),_INTL("Fast")],
  494. proc { $PokemonSystem.textspeed },
  495. proc {|value|
  496. $PokemonSystem.textspeed=value
  497. MessageConfig.pbSetTextSpeed(pbSettingToTextSpeed(value))
  498. }
  499. ),
  500. EnumOption.new(_INTL("Menu"),[_INTL("On"),_INTL("Off")],
  501. proc { $PokemonSystem.interactivemenu },
  502. proc {|value| $PokemonSystem.interactivemenu=value }
  503. ),
  504. EnumOption.new(_INTL("Battle Effects"),[_INTL("On"),_INTL("Off")],
  505. proc { $PokemonSystem.battlescene },
  506. proc {|value| $PokemonSystem.battlescene=value }
  507. ),
  508. EnumOption.new(_INTL("Battle Style"),[_INTL("Switch"),_INTL("Set")],
  509. proc { $PokemonSystem.battlestyle },
  510. proc {|value| $PokemonSystem.battlestyle=value }
  511. ),
  512. EnumOption.new(_INTL("Running Key"),[_INTL("Hold"),_INTL("Toggle")],
  513. proc { $PokemonSystem.runstyle },
  514. proc {|value|
  515. if $PokemonSystem.runstyle!=value
  516. $PokemonSystem.runstyle=value
  517. $PokemonGlobal.runtoggle=false if $PokemonGlobal
  518. end
  519. }
  520. ),
  521. NumberOption.new(_INTL("Speech Frame"),1,$SpeechFrames.length,
  522. proc { $PokemonSystem.textskin },
  523. proc {|value|
  524. $PokemonSystem.textskin=value
  525. MessageConfig.pbSetSpeechFrame("Graphics/Windowskins/"+$SpeechFrames[value])
  526. }
  527. ),
  528. NumberOption.new(_INTL("Menu Frame"),1,$TextFrames.length,
  529. proc { $PokemonSystem.frame },
  530. proc {|value|
  531. $PokemonSystem.frame=value
  532. MessageConfig.pbSetSystemFrame($TextFrames[value])
  533. }
  534. ),
  535. EnumOption.new(_INTL("Font Style"),[_INTL("Em"),_INTL("R/S"),_INTL("FRLG"),_INTL("DP")],
  536. proc { $PokemonSystem.font },
  537. proc {|value|
  538. $PokemonSystem.font=value
  539. MessageConfig.pbSetSystemFontName($VersionStyles[value])
  540. }
  541. ),
  542. # ------------------------------------------------------------------------------
  543. # Quote this section out if you don't want to allow players to change the screen
  544. # size.
  545. EnumOption.new(_INTL("Screen Size"),[_INTL("S"),_INTL("M"),_INTL("L"),_INTL("XL"),_INTL("Full")],
  546. proc { $PokemonSystem.screensize },
  547. proc {|value|
  548. oldvalue=$PokemonSystem.screensize
  549. $PokemonSystem.screensize=value
  550. if value!=oldvalue
  551. pbSetResizeFactor($PokemonSystem.screensize)
  552. ObjectSpace.each_object(TilemapLoader){|o| next if o.disposed?; o.updateClass }
  553. end
  554. }
  555. ),
  556. # ------------------------------------------------------------------------------
  557. EnumOption.new(_INTL("Screen Border"),[_INTL("Off"),_INTL("On")],
  558. proc { $PokemonSystem.border },
  559. proc {|value|
  560. oldvalue=$PokemonSystem.border
  561. $PokemonSystem.border=value
  562. if value!=oldvalue
  563. pbSetResizeFactor($PokemonSystem.screensize)
  564. ObjectSpace.each_object(TilemapLoader){|o| next if o.disposed?; o.updateClass }
  565. end
  566. }
  567. )
  568. ]
  569. @PokemonOptions=pbAddOnOptions(@PokemonOptions)
  570. @sprites["option"]=Window_PokemonOption.new(@PokemonOptions,0,
  571. @sprites["title"].height,Graphics.width,
  572. Graphics.height-@sprites["title"].height-@sprites["textbox"].height)
  573. @sprites["option"].viewport=@viewport
  574. @sprites["option"].visible=true
  575. # Get the values of each option
  576. @sprites["option"][i]=(@PokemonOptions[i].get || 0)
  577. end
  578. pbDeactivateWindows(@sprites)
  579. pbFadeInAndShow(@sprites) { pbUpdate }
  580. end
  581. end
Advertisement
Add Comment
Please, Sign In to add comment