|
Auteur | Message |
---|
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: [VX] Screenshot Dim 29 Mai 2011 - 16:20 | |
| Bonjour j ai trouvé ce script pour faire des screen d'une map Utilisation: permet de prendre un screenchot du jeu en appuyant sur une touche (F5) ou le forcer avec un appel de script ($scene.take_screenshot) pas besoin de screenshot.dll pour ce script Auteur: modern algebra le script: - Spoiler:
- Code:
-
#============================================================================== # Screenshot # Version: 1.0 # Author: modern algebra (rmrk.net) # Date: April 5, 2010 #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Description: # This script allows the player to take a screenshot of any area in the game # that he/she wants. Useful for sharing achievements I suppose. #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Instructions: # All you need to do is set which button you want to use for taking # screenshots with at line 31, and set the destination folder for screenshots # at line 33. # If you want to force a screenshot, you can put this code in a call script: # $scene.take_screenshot #============================================================================== #============================================================================== # ** Scene_Base #++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ # Summary of Changes: # new constant - MA_SCREENSHOT_BUTTON, MA_SCREENSHOT_PATH # aliased method - update #==============================================================================
class Scene_Base #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * CONSTANTS #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # MA_SCREENSHOT_BUTTON - the button to press to take a Screenshot MA_SCREENSHOT_BUTTON = Input::F5 # MA_SCREENSHOT_PATH - the path to save the file MA_SCREENSHOT_PATH = "Screenshot " #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Frame Update #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ alias modag_screenshot_upd_9ik2 update def update (*args) modag_screenshot_upd_9ik2 (*args) # Run Original Method if Input.trigger? (MA_SCREENSHOT_BUTTON) take_screenshot end end #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ # * Take Screenshot #~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ def take_screenshot x = 1 while FileTest.exist? ("#{MA_SCREENSHOT_PATH}#{x}.png") x += 1 end Graphics.snap_to_bitmap.make_png (x.to_s, MA_SCREENSHOT_PATH, 1) end end #============================================================================== # Everything below this point is the PNG Saver script, written by 66rpg.com #==============================================================================
# PNG Saver by 66rpg.com
module Zlib class Png_File < GzipWriter def make_png(bitmap, mode = 0) @bitmap, @mode = bitmap, mode self.write(make_header) self.write(make_ihdr) self.write(make_idat) self.write(make_iend) end def make_header return [0x89, 0x50, 0x4e, 0x47, 0x0d, 0x0a, 0x1a, 0x0a].pack('C*') end def make_ihdr ih_size = [13].pack('N') ih_sign = 'IHDR' ih_width = [@bitmap.width].pack('N') ih_height = [@bitmap.height].pack('N') ih_bit_depth = [8].pack('C') ih_color_type = [6].pack('C') ih_compression_method = [0].pack('C') ih_filter_method = [0].pack('C') ih_interlace_method = [0].pack('C') string = ih_sign + ih_width + ih_height + ih_bit_depth + ih_color_type + ih_compression_method + ih_filter_method + ih_interlace_method ih_crc = [Zlib.crc32(string)].pack('N') return ih_size + string + ih_crc end def make_idat header = "\x49\x44\x41\x54" data = @mode == 0 ? make_bitmap_data0 : make_bitmap_data1 data = Zlib::Deflate.deflate(data, 8) crc = [Zlib.crc32(header + data)].pack('N') size = [data.length].pack('N') return size + header + data + crc end def make_bitmap_data0 gz = Zlib::GzipWriter.open('png2.tmp') t_Fx = 0 w = @bitmap.width h = @bitmap.height data = [] for y in 0...h data.push(0) for x in 0...w t_Fx += 1 if t_Fx % 10000 == 0 Graphics.update if t_Fx % 100000 == 0 s = data.pack('C*') gz.write(s) data.clear end end color = @bitmap.get_pixel(x, y) data.push(color.red, color.green, color.blue, color.alpha) end end s = data.pack('C*') gz.write(s) gz.close data.clear gz = Zlib::GzipReader.open('png2.tmp') data = gz.read gz.close File.delete('png2.tmp') return data end def make_bitmap_data1 w = @bitmap.width h = @bitmap.height data = [] for y in 0...h data.push(0) for x in 0...w color = @bitmap.get_pixel(x, y) data.push(color.red, color.green, color.blue, color.alpha) end end return data.pack('C*') end def make_iend ie_size = [0].pack('N') ie_sign = 'IEND' ie_crc = [Zlib.crc32(ie_sign)].pack('N') return ie_size + ie_sign + ie_crc end end end
#============================================================================= # ** Bitmap #============================================================================= class Bitmap def make_png(name = 'like', path = '', mode = 0) Zlib::Png_File.open('png.tmp') { |gz| gz.make_png(self, mode) } Zlib::GzipReader.open('png.tmp') { |gz| $read = gz.read } f = File.open(path + name + '.png', 'wb') f.write($read) f.close File.delete('png.tmp') end end
voilà A+
Dernière édition par Brandobscure001 le Lun 30 Mai 2011 - 14:34, édité 2 fois |
|
| |
Mage Lv.11
Age : 29 Inscrit le : 20/04/2011 Messages : 572
| Sujet: Re: [VX] Screenshot Dim 29 Mai 2011 - 17:27 | |
| La balise Spoiler c'est pas une bonne idée, regarde dans le script y a un smiley qui s'est glissé ... donc si on copie-colle ... ben ca marche pas ... Utilise le plutôt dans une balise code. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: [VX] Screenshot Dim 29 Mai 2011 - 17:52 | |
| Voilà c est corrigé |
|
| |
Révolutionnaire mais ça rentrait pas alors autre chose
Age : 30 Inscrit le : 28/05/2010 Messages : 1537
| Sujet: Re: [VX] Screenshot Dim 29 Mai 2011 - 18:52 | |
| Avant de tester, qu'est ce qui le différencie de celui de Zeus 81 ? - Flood de merde a écrit:
Quoi ? Frozen a une autre sign ? Tu verra, on va te la mettre en spoiler, celle que je t'avais faite était plus petite, tu la regrettera
Dernière édition par Malum le Lun 30 Mai 2011 - 7:32, édité 2 fois |
|
| |
Maître des Duels
Age : 32 Inscrit le : 29/07/2009 Messages : 7841
| Sujet: Re: [VX] Screenshot Dim 29 Mai 2011 - 18:56 | |
| Non, recopie tout dans une balise code. Là l'indentation est partie et c'est la merde à lire. |
|
| |
Mage Lv.11
Age : 29 Inscrit le : 20/04/2011 Messages : 572
| Sujet: Re: [VX] Screenshot Dim 29 Mai 2011 - 19:26 | |
| Brandobscure001 > QUand tu dis que c'est corrigé, ça veut dire que t'as mis la balise code ou que t'as supprimé le smiley ? Malum > J'ai vérifié les normes des signatures autorisées, et elle est pas trop grande NIARK NIARK NIARK ! Et surtout je l'ai faite moi même Et oui c'est moche mais je suis fier de moi xD |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 13:43 | |
| J'ai enlevé le smiley Qui était dans le script |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 13:49 | |
| *facepalm* Si tu l'as supprimé manuellement, tout ce que tu as fait c'est enlever du code. Après c'était peut-être du commentaire, je ne sais pas, mais c'est une très mauvaise idée. C'est pour ça qu'on t'avait demandé de mettre les balises [code] pour rechanger le smiley "en texte". Par exemple, 8 ) ( sans espace ) devient " " |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 13:58 | |
| Donc je dois le modifié ? Parce que je ne sais pas c est quoi les balisse de code |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 14:05 | |
| Remets le script tel que tu l'as posté initialement ( avec le smiley ) et mets des balises "code" autour de ton script. - Code:
-
[spoiler] [code] Blablabla script [/code] [/spoiler]
Comme ça. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 14:37 | |
| J'ai remis le script avec le smiley. mais ce que tu me dis de faire c est pas trop mon point fort Si quellqu un pourait me le faire ce srait super si non je vais ésayer |
|
| |
Age : 33 Inscrit le : 27/06/2008 Messages : 10881
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 14:45 | |
| En quoi est-ce dur de rajouter une balise ? Tu l'as bien mis en spoiler, je ne vois pas la différente entre ajouter une balise spoiler et une balise de code x)
Bref je l'ai fait, c'est bon maintenant. |
|
| |
Seigneur Lv.18
Age : 28 Inscrit le : 26/12/2010 Messages : 2220
| Sujet: Re: [VX] Screenshot Lun 30 Mai 2011 - 14:58 | |
| Merci beaucoup Matsuo Kaito |
|
| |
| Sujet: Re: [VX] Screenshot | |
| |
|
| |
|