Code: |
#=============================================================================== # * Dual Screen Script by Crazyninjaguy * # The Resolution and Screen modules are not by me! The author is nowhere to be # found :/ # http://www.planetdev.net #=============================================================================== class Scene_Menu def initialize(menu_index = 0) @menu_index = menu_index end def main s1 = "Items" s2 = "Skills" s3 = "Stats" s4 = "Equip" s5 = "Save" s6 = "Quit" @spriteset = Spriteset_Map.new @command_window = Window_Command.new(172, [s1, s2, s3, s4, s5, s6]) @command_window.index = @menu_index @command_window.y = 500 @command_window.visible = false @menu_background = Sprite.new @menu_background.bitmap = RPG::Cache.picture("menu_tile_picture") @menu_background.z = 53 @menu_background.oy = 500 @menu = Sprite.new @menu.bitmap = RPG::Cache.picture("lower_screen_bg") @menu.y = 500 @menu.z = 52 @menu_warning = Sprite.new @menu_warning.bitmap = RPG::Cache.picture("menu_warning") @menu_warning.y = 420 @item_icon = Sprite.new @item_icon.bitmap = RPG::Cache.picture("item_icon") @item_icon.x = 32 @item_icon.y = 532 @item_icon.z = 9999 @skill_icon = Sprite.new @skill_icon.bitmap = RPG::Cache.picture("skill_icon") @skill_icon.x = 232 @skill_icon.y = 532 @skill_icon.z = 9999 @stat_icon = Sprite.new @stat_icon.bitmap = RPG::Cache.picture("stats_icon") @stat_icon.x = 32 @stat_icon.y = 660 @stat_icon.z = 9999 @equip_icon = Sprite.new @equip_icon.bitmap = RPG::Cache.picture("equip_icon") @equip_icon.x = 232 @equip_icon.y = 660 @equip_icon.z = 9999 @save_icon = Sprite.new @save_icon.bitmap = RPG::Cache.picture("save_icon") @save_icon.x = 32 @save_icon.y = 778 @equip_icon.z = 9999 @end_icon = Sprite.new @end_icon.bitmap = RPG::Cache.picture("end_icon") @end_icon.x = 232 @end_icon.y = 778 @equip_icon.z = 9999 @selection = Sprite.new @selection.bitmap = RPG::Cache.picture("selection") @selection.z = 9999 @selection.x = @item_icon.x - 4 @selection.y = @item_icon.y - 4 @slide = true Graphics.transition loop do Graphics.update Input.update update if $scene != self break end end Graphics.freeze @command_window.dispose @selection.dispose @item_icon.dispose @spriteset.dispose @skill_icon.dispose @stat_icon.dispose @equip_icon.dispose @save_icon.dispose @end_icon.dispose @menu_warning.dispose @menu.dispose @menu_background.dispose end def update @menu_background.ox += 1 @menu_background.oy += 1 @command_window.update if @command_window.active update_command end end def update_command case @command_window.index when 0 @selection.x = @item_icon.x - 4 @selection.y = @item_icon.y - 4 when 1 @selection.x = @skill_icon.x - 4 @selection.y = @skill_icon.y - 4 when 2 @selection.x = @stat_icon.x - 4 @selection.y = @stat_icon.y - 4 when 3 @selection.x = @equip_icon.x - 4 @selection.y = @equip_icon.y - 4 when 4 @selection.x = @save_icon.x - 4 @selection.y = @save_icon.y - 4 when 5 @selection.x = @end_icon.x - 4 @selection.y = @end_icon.y - 4 end if Input.trigger?(Input::C) case @command_window.index when 0 $scene = Scene_Item.new when 1 $scene = Scene_Skill.new(0) when 2 $scene = Scene_Status.new(0) when 3 $scene = Scene_Equip.new(0) when 4 $scene = Scene_Save.new when 5 $scene = Scene_End.new end end if Input.trigger?(Input::LEFT) case @command_window.index when 0 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 5 when 1 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 0 when 2 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 1 when 3 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 2 when 4 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 3 when 5 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 4 end end if Input.trigger?(Input::RIGHT) case @command_window.index when 0 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 1 when 1 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 2 when 2 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 3 when 3 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 4 when 4 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 5 when 5 Audio.se_play("Audio/SE/001-System01", 100, 100) @command_window.index = 0 end end if Input.trigger?(Input::B) $scene = Scene_Map.new end end end module Resolution GetWindowPlacement = Win32API.new('user32','GetWindowPlacement',['l','p'],'l') GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics',['i'],'i') MoveWindow = Win32API.new('user32','MoveWindow',['l','i','i','i','i','l'],'l') FindWindowEx = Win32API.new('user32','FindWindowEx',['l','l','p','p'],'i') def self.windowloc(window) string = ' ' * 44 Resolution::GetWindowPlacement.call(window,string) windowdetails = string.unpack('L11') result = [] result.push((windowdetails[9] - windowdetails[7])) result.push((windowdetails[10] - windowdetails[8])) result.push(windowdetails[7]) result.push(windowdetails[8]) return result end end class Screen def self.center window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) width,height = Resolution.windowloc(window)[0..1] screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) Resolution::MoveWindow.call(window,(screenwidth - width) / 2,(screenheight - height) / 2,width,height,1) end def self.resize2(width,height,x,y) window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) Resolution::MoveWindow.call(window,x,y,width,height,1) end def self.move(x,y) window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) width,height = Resolution.windowloc(window)[0..1] screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) Resolution::MoveWindow.call(window,x,y,width,height,1) end def self.resize(width,height,center = true) window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) if center Resolution::MoveWindow.call(window,(screenwidth - width) / 2,(screenheight - height) / 2,width,height,1) else x,y = Resolution.windowloc(window)[2..3] Resolution::MoveWindow.call(window,x,y,width,height,1) end end def self.half(center = true) window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) if center Resolution::MoveWindow.call(window,(screenwidth - 326) / 2,(screenheight - 272) / 2,326,272,1) else x,y = Resolution.windowloc(window)[2..3] Resolution::MoveWindow.call(window,x,y,326,272,1) end end def self.default window = Resolution::FindWindowEx.call(0,0,"RGSS Player",0) screenwidth = Resolution::GetSystemMetrics.call(0) screenheight = Resolution::GetSystemMetrics.call(1) Resolution::MoveWindow.call(window,(screenwidth - 646) / 2,(screenheight / 2) - 273,646,512,1) end end Screen.resize(645,1005) @spacer = Sprite.new @spacer.bitmap = RPG::Cache.picture("spacer") @spacer.y = 480 @spacer.z = 9999999 @background = Sprite.new @background.bitmap = RPG::Cache.picture("menu_tile_picture") @background.y = 500 @background.z = 51 @menu = Sprite.new @menu.bitmap = RPG::Cache.picture("lower_screen_bg") @menu.y = 500 @menu.z = 52 @item_icon = Sprite.new @item_icon.bitmap = RPG::Cache.picture("item_icon") @item_icon.x = 32 @item_icon.y = 532 @item_icon.z = 9999 @skill_icon = Sprite.new @skill_icon.bitmap = RPG::Cache.picture("skill_icon") @skill_icon.x = 232 @skill_icon.y = 532 @skill_icon.z = 9999 @stat_icon = Sprite.new @stat_icon.bitmap = RPG::Cache.picture("stats_icon") @stat_icon.x = 32 @stat_icon.y = 660 @stat_icon.z = 9999 @equip_icon = Sprite.new @equip_icon.bitmap = RPG::Cache.picture("equip_icon") @equip_icon.x = 232 @equip_icon.y = 660 @equip_icon.z = 9999 @save_icon = Sprite.new @save_icon.bitmap = RPG::Cache.picture("save_icon") @save_icon.x = 32 @save_icon.y = 778 @save_icon.z = 9999 @end_icon = Sprite.new @end_icon.bitmap = RPG::Cache.picture("end_icon") @end_icon.x = 232 @end_icon.y = 778 @end_icon.z = 9999 module Graphics def self.wait(frames) return if frames<=0 frames.times do |i| self.update end end end |
PokéAzur a écrit: |
J'espère que tu es fier de toi, tu viens de dévoilé une exclusivité de quelques projets... -_-" |
PokéAzur a écrit: |
J'espère que tu es fier de toi, tu viens de dévoilé une exclusivité de quelques projets... -_-" |
PokéAzur a écrit: |
J'espère que tu es fier de toi, tu viens de dévoilé une exclusivité de quelques projets... -_-" |
d-black a écrit: |
Oui, nooob ! Mais bon, j'ai une petite idée, pour utiliser un script ressemblant à celui-ci, et d'en faire un1*1 :D Mais ton idée n'est pas du tout bonne! 30% (je pense) des projets y sont basés :? |
Lén a écrit: |
J'espère qu'il est fier ! C'est cool de partager. |
PokéAzur a écrit: |
J'vous adore vous les gens de Psp, Il y a un moment il n'y avait que un ou deux projet qui avait le Ds, puis tout les projets on demandé comment on fait, ils se sont fais évidemment envoyé baladé, disant que les détenteurs des scripts étaient " radins ", Puis ces projets ont tout de même réussi à trouver le Ds, mais d'autres projet ne l'avait pas encore, donc rebelote se sont eux qui se sont retrouvés en position de radin, Mais si vraiment, on avait voulu dévoilé impunément ce script, on l'aurait fait il y a longtemps... Maintenant plus aucun projet ne peut être admirer par son DualScreen, donc les projets qui n'avaient vraiment que çà pour se démarquer reviennent au point de départ, Pour conclure en beauté, j'espère de tout cœur que RASM va dévoilés sa 3D, comme çà plus aucun projet n'attirera l'attention, mis a part le scénario, ils ne se démarqueront plus, |
PokéAzur a écrit: |
J'vous adore vous les gens de Psp, Il y a un moment il n'y avait que un ou deux projet qui avait le Ds, puis tout les projets on demandé comment on fait, ils se sont fais évidemment envoyé baladé, disant que les détenteurs des scripts étaient " radins ", Puis ces projets ont tout de même réussi à trouver le Ds, mais d'autres projet ne l'avait pas encore, donc rebelote se sont eux qui se sont retrouvés en position de radin, Mais si vraiment, on avait voulu dévoilé impunément ce script, on l'aurait fait il y a longtemps... Maintenant plus aucun projet ne peut être admirer par son DualScreen, donc les projets qui n'avaient vraiment que çà pour se démarquer reviennent au point de départ, Pour conclure en beauté, j'espère de tout cœur que RASM va dévoilés sa 3D, comme çà plus aucun projet n'attirera l'attention, mis a part le scénario, ils ne se démarqueront plus, |
Lén a écrit: | ||
Je me rappelle que ça avait fait la même chose pour les interfaces de SPINELLE y'a quelques mois ... |
d-black a écrit: |
En faite c'est un machin pas ingénieux du tout que n'importe qui peut faire en affichant des images, régler les coordonnées ... A mon avis, ce script ne sert à rien, tout le monde auras la même chose, sauf si on change, et qu'on y mets quelques gouttes d'innovation. Mais c'est pas le cas pour ceux qui n'avaient pas le 2*2. Fin' bon, je jette. |
Palbolsky a écrit: |
Ca ne sert à rien de rendre ce script compatible puisque d'ici quelques semaines je sortirais une nouvelle version de PSP, nommé PSP DS. Elle inclue le 1*1 pixel ainsi que le dual screen, avec des améliorations au niveau des interfaces. Si ça vous amuse, vous pouvez toujours mais c'est une perte de temps. Et pour info', PSP DS n'inclue pas le tactile, car ce n'est pas le plus important à l'heure actuelle. Il le sera peut-être plus tard, si j'améliore la version. Voilà quelques screens de PSP DS (en construction) : {{{Screens}}} |
Palbolsky a écrit: |
Le problème c'est que dans Pokémon Ranger on avait 8 directions alors que là j'en ai que 4. Il est vrai que le NM7 permet l'utilisation de 8 directions, mais je pense que ça ferait bien. Par contre, pour le reste, je suis tout à fait d'accord. |
eclipse a écrit: |
il EST fonctionnel faut seulemnt trouver un sapcer et voila |
Citation: |
Je pense pas que la confiance et vraiment un rapport ... ici c'est premier arrivé, premier servi ! |
mika63270 a écrit: |
Je crois qu'il parlait de la hauteur. |
Azur' a écrit: |
et alors ? |
RL77LUC a écrit: |
Un nécropost est AUTORISé comme l'a dit 100 fois Sphinx ! C'est le nécroflood qui est gênant ! Sinon PSP DS est sorti, donc ce script ne sert plus à rien ! En tout cas je trouve ridicule que les gens veulent garder des scripts rien que pour eux, ça me rappelle le script Cartepillar ! Ce qui constitue l'originalité d'un projet, c'est son contenu, pas ses fonctions 'extras', aussi bien soit-elles ! |
Citation: |
En tout cas je trouve ridicule que les gens veulent garder des scripts rien que pour eux, ça me rappelle le script Cartepillar ! Ce qui constitue l'originalité d'un projet, c'est son contenu, pas ses fonctions 'extras', aussi bien soit-elles ! |