Ressource Hunter
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Ressource Hunter

RPG Maker, Ressources, Scripts, Tutoriaux, Forum
 
AccueilRechercherDernières imagesS'enregistrerConnexion
Le Deal du moment : -50%
WiMiUS S27 – Mini projecteur portable rotatif ...
Voir le deal
69.99 €

 

 Prendre des screens du jeu

Aller en bas 
3 participants
AuteurMessage
Karel
Medium
Medium
Karel


Nombre de messages : 126
Age : 32
Localisation : devant toi innocent
Profession : Nirvaniste
Date d'inscription : 21/10/2006

[R~P]
Prénom: Karel
Race: Humain
Métier: Chercheur de quetes, buteur proffesionel

Prendre des screens du jeu Empty
MessageSujet: Prendre des screens du jeu   Prendre des screens du jeu Icon_minitimeDim 26 Nov 2006 - 19:27

Auteur:
Version 1 : Andreas21
Version 2 : cybersam

Alors voila un truc utile pour montrer l'effet d'un script ou montrer un nouveau projet, une demo ect... Ce script permet de prendre des screens du jeu.

Script:
Au dessus de Main, créez un nouveau script nommé "Screenshot"

Code:
#==============================================================
#
# Screenshot V2
#
# Screenshot Script v1 & screenshot.dll v1 created by: Andreas21
# Screenshot Script v2 created/edit by: cybersam
# the autor is found on a german board...
# the comments are added by me...
# since the autor didnt want to add any comment...
# so thats it from here...
# have fund with it... ^-^
#
# oh yea.. the needed command line is found in "Scene_Map" in "def update"
#
#================================================================

module Screen

@screen = Win32API.new 'screenshot', 'Screenshot', %w(l l l l p l l), ''
@readini = Win32API.new 'kernel32', 'GetPrivateProfileStringA', %w(p p p p l p), 'l'
@findwindow = Win32API.new 'user32', 'FindWindowA', %w(p p), 'l'

module_function

#-------------------------------------------------------------------
# here comes the stuff...
# i add here the stuff for automatic change of the number for the screenshot
# so it wont overrite the old one...
# if you want to change so stuff change them in this line below
# or you can change them in your command line... like
# Screen::shot("screenshot", 2)
# this change the name and the type of the screenshot
# (0 = bmp, 1 = jpg and 2 = png)
# --------------------------------------------------------------------
def shot(file = "New_Picture", typ = 2)

# to add the right extension...
if typ == 0
typname = ".bmp"
elsif typ == 1
typname = ".jpg"
elsif typ == 2
typname = ".png"
end

file_index = 0

dir = "Graphics/Pictures/"

# make the filename....
file_name = dir + file.to_s + typname.to_s

# make the screenshot.... Attention dont change anything from here on....
@screen.call(0,0,640,480,file_name,handel,typ)
end
# find the game window...
def handel
game_name = "\0" * 256
@readini.call('Game','Title','',game_name,255,".\\Game.ini")
game_name.delete!("\0")
return @findwindow.call('RGSS Player',game_name)
end
end

Ensuite, créez un second script au dessus de Main nommé "Everything"

Code:
# ---------------------------
# BigKev's Picture Camera
# -----------------------------

class Game_Stored
attr_accessor :picture_database
attr_accessor :picture_events
def initialize
@new_picture_calling = false
@picture_database = []
@picture_events = []
end

def check_picture_events # Whenever you want to check if an event that had it's picture taken use $game_stored.check_picture_events
for i in 1...6 # Cycles through each picture to see the events located within
for j in 0...299 # Cycles through every possible event in each picture
if $game_stored.picture_events[i] != nil
if $game_stored.picture_events[i][j] == "PurpleFlower" # Events taken by pictures are recognized by name
$game_switches[2] = true # PurpleFlower
$game_map.refresh # You gotta refresh the map everytime you turn a switch on/off if you want it to take effect.
end
if $game_stored.picture_events[i][j] == "Fairy"
$game_switches[3] = true # fairy
$game_map.refresh
end
if $game_stored.picture_events[i][j] == "Sticks"
$game_switches[5] = true # sticks
$game_map.refresh
end
if $game_stored.picture_events[i][j] == "Fire"
$game_switches[4] = true # campfire
$game_map.refresh
end
if $game_stored.picture_events[i][j] == "Lich"
for k in 0...299 # Recycles through every possible event in each picture
if $game_stored.picture_events[i][k] == "Ghost"
$game_switches[7] = true # CaughtGhosts
$game_map.refresh
end
end
end
# Insert other pictures you want taken here
end
end
end
end
end



class Scene_Photo_Menu # Menu that displays all the pictures you have taken
def initialize(menu_index = 0)
@menu_index = menu_index
end

def main
# Sets up the information on the picture that shows in Window_Photo_Display
@selected_picture = Sprite.new
@selected_picture.x = 75
@selected_picture.y = 20
@selected_picture.z = 9998
@selected_picture.zoom_x = 0.75
@selected_picture.zoom_y = 0.75

@window_photo_select = Window_Photo_Select.new
@window_photo_select.index = @menu_index
@window_photo_select.x = 0
@window_photo_select.y = 400
@photo_display_window = Window_Photo_Display.new
@photo_display_window.x = 0
@photo_display_window.y = 0
@photo_options_window = Window_Photo_Options.new
@photo_options_window.index = @menu_index
@photo_options_window.x = 0
@photo_options_window.y = 400
@photo_options_window.visible = false
@photo_options_window.active = false
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@window_photo_select.dispose
@photo_display_window.dispose
@photo_options_window.dispose
end

def update
@window_photo_select.update
@photo_display_window.update
@photo_options_window.update
if @window_photo_select.active
case @window_photo_select.index
when 0
# Checks to see what slot you are using and shows the corresponding picture
if $game_stored.picture_database[1] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture1")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
when 1
if $game_stored.picture_database[2] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture2")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
when 2
if $game_stored.picture_database[3] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture3")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
when 3
if $game_stored.picture_database[4] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture4")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
when 4
if $game_stored.picture_database[5] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture5")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
when 5
if $game_stored.picture_database[6] != nil
@selected_picture.bitmap = RPG::Cache.picture("Picture6")
else
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
end
end
if Input.trigger?(Input::C)
# Enters Photo Options Menu
if $game_stored.picture_database[@window_photo_select.index+1] != nil
@window_photo_select.active = false
@window_photo_select.visible = false
@photo_options_window.visible = true
@photo_options_window.active = true
$game_system.se_play($data_system.decision_se)
else
$game_system.se_play($data_system.cancel_se)
end
end
# Leaves the Menu
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@selected_picture.dispose
$scene = Scene_Map.new
end
return
end
if @photo_options_window.active
if Input.trigger?(Input::B)
$game_system.se_play($data_system.cancel_se)
@window_photo_select.active = true
@window_photo_select.visible = true
@photo_options_window.visible = false
@photo_options_window.active = false
end
if Input.trigger?(Input::C)
case @photo_options_window.index
when 0 # Deletes the picture
$game_stored.picture_database[@window_photo_select.index+1] = nil
$game_stored.picture_events[@window_photo_select.index+1] = []
RPG::Cache.picture("Picture"+(@window_photo_select.index+1).to_s).dispose
@selected_picture.bitmap = RPG::Cache.picture("NoPicture")
$game_system.se_play($data_system.decision_se)
when 1 # Returns to Photo Select Menu
@window_photo_select.active = true
@window_photo_select.visible = true
@photo_options_window.visible = false
@photo_options_window.active = false
$game_system.se_play($data_system.cancel_se)
end
end
return
end
end
end

class Scene_New_Picture # Menu when you take the picture
def initialize(index, menu_index = 0)
@menu_index = menu_index
@index = index
end

def main
@window_save_picture = Window_Save_Picture.new
@column_max = 2
@window_save_picture.index = @menu_index
@window_save_picture.x = 0
@window_save_picture.y = 400
@new_picture_window = Window_New_Picture.new(@index)
@new_picture_window.x = 0
@new_picture_window.y = 0
Graphics.transition
loop do
Graphics.update
Input.update
update
if $scene != self
break
end
end
Graphics.freeze
@window_save_picture.dispose
@new_picture_window.dispose
end

def update
@window_save_picture.update
@new_picture_window.update
if @window_save_picture.active
if Input.trigger?(Input::C)
case @window_save_picture.index
when 0
$game_system.se_play($data_system.decision_se)
for i in 1..6 # Checks to see if there is an open slot available
if $game_stored.picture_database[i] == nil
$game_stored.picture_database[i] = 1
events_within_range(i)
break
end
end
$scene = Scene_Map.new
when 1
# Deletes the picture
$game_system.se_play($data_system.cancel_se)
$scene = Scene_Map.new
RPG::Cache.picture("Picture" + @index.to_s).dispose
return
end
end
return
end
end

def events_within_range(id) # Checking to see what events are within the picture
$game_stored.picture_events[id] = []
for i in 0...$game_map.events.keys.max+1
if $game_map.events[i] != nil
if $game_map.events[i].real_x >= $game_map.display_x + 64
if $game_map.events[i].real_x <= $game_map.display_x + 2496
if $game_map.events[i].real_y >= $game_map.display_y + 128
if $game_map.events[i].real_y <= $game_map.display_y + 1792
$game_stored.picture_events[id].push($game_map.events[i].event.name)
end
end
end
end
end
end
end
end

class Window_Photo_Options < Window_Selectable
def initialize
super(0, 400, 640, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
@item_max = 2
@column_max = 2
@commands = ["Supprimer", "Retour"]
draw_item(0, normal_color)
draw_item(1, normal_color)
self.index = 0
end

def refresh
self.contents.clear
end

def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(160 + index * 160, 0, 128, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index], 1)
end

def update_cursor_rect
self.cursor_rect.set(160 + index * 160, 0, 128, 32)
end
end

class Window_Photo_Select < Window_Selectable
def initialize
super(0, 400, 640, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
@item_max = 6
@column_max = 6
@commands = ["Photo1", "Photo2", "Photo3", "Photo4", "Photo5", "Photo6"]
draw_item(0, normal_color)
draw_item(1, normal_color)
draw_item(2, normal_color)
draw_item(3, normal_color)
draw_item(4, normal_color)
draw_item(5, normal_color)
self.index = 0
end

def refresh
self.contents.clear
end

def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(40 + index * 90, 0, 84, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index], 1)
end

def update_cursor_rect
self.cursor_rect.set(40 + index * 90, 0, 84, 32)
end
end

class Window_Photo_Display < Window_Base
def initialize
super(0, 0, 640, 400)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
end

def refresh
self.contents.clear
@frame = Sprite.new
@frame.bitmap = RPG::Cache.picture("Picture Frame")
@frame.x = 75
@frame.y = 20
@frame.z = 9999
@frame.zoom_x = 0.75
@frame.zoom_y = 0.75
end

def dispose
@frame.dispose
super
end
end

class Window_New_Picture < Window_Base
def initialize(index)
super(0, 0, 640, 400)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
@index = index
@temp_picture = Sprite.new
refresh
end

def refresh
self.contents.clear
@frame = Sprite.new
@frame.bitmap = RPG::Cache.picture("Picture Frame")
@frame.x = 75
@frame.y = 20
@frame.z = 9999
@frame.zoom_x = 0.75
@frame.zoom_y = 0.75
@temp_picture.bitmap = RPG::Cache.picture("Picture"+@index.to_s)
@temp_picture.x = 75
@temp_picture.y = 20
@temp_picture.z = 9998
@temp_picture.zoom_x = 0.75
@temp_picture.zoom_y = 0.75
end

def dispose
@frame.dispose
@temp_picture.dispose
super
end
end

class Window_Save_Picture < Window_Selectable
def initialize
super(0, 400, 640, 80)
self.contents = Bitmap.new(width - 32, height - 32)
self.contents.font.name = $defaultfonttype
self.contents.font.size = $defaultfontsize
refresh
@item_max = 2
@column_max = 2
@commands = ["Keep", "Delete"]
draw_item(0, normal_color)
draw_item(1, normal_color)
self.index = 0
end

def refresh
self.contents.clear
end

def draw_item(index, color)
self.contents.font.color = color
rect = Rect.new(160 + index * 160 + 4, 0, 128 - 10, 32)
self.contents.fill_rect(rect, Color.new(0, 0, 0, 0))
self.contents.draw_text(rect, @commands[index], 1)
end

def update_cursor_rect
self.cursor_rect.set(160 + index * 160, 0, 128, 32)
end
end

class Scene_Map
alias bksm_photography_update update
def update
if Input.trigger?(Input::F5) # Takes a new picture
if $game_stored.picture_database[1] != nil
if $game_stored.picture_database[2] != nil
if $game_stored.picture_database[3] != nil
if $game_stored.picture_database[4] != nil
if $game_stored.picture_database[5] != nil
if $game_stored.picture_database[6] != nil
print "No vacancy available" # If no slot is available
end
end
end
end
end
end
for i in 1...6
if $game_stored.picture_database[i] == nil
# If slot is available
Screen::shot("Picture" + i.to_s, 2)
$game_player.straighten
$scene = Scene_New_Picture.new(i, 0)
break
end
end
end
if Input.trigger?(Input::F6) # Calls the Photo Menu
$game_player.straighten
$scene = Scene_Photo_Menu.new
end
bksm_photography_update
end
end

class Scene_Title
alias bksm_camera_command_new_game command_new_game
def command_new_game
$game_stored = Game_Stored.new
bksm_camera_command_new_game
end
end

class Scene_Load
def read_save_data(file)
characters = Marshal.load(file)
Graphics.frame_count = Marshal.load(file)
$game_system = Marshal.load(file)
$game_switches = Marshal.load(file)
$game_variables = Marshal.load(file)
$game_self_switches = Marshal.load(file)
$game_screen = Marshal.load(file)
$game_actors = Marshal.load(file)
$game_party = Marshal.load(file)
$game_troop = Marshal.load(file)
$game_map = Marshal.load(file)
$game_player = Marshal.load(file)

$game_stored = Marshal.load(file)

if $game_system.magic_number != $data_system.magic_number
$game_map.setup($game_map.map_id)
$game_player.center($game_player.x, $game_player.y)
end
$game_party.refresh
end
end

class Scene_Save
def write_save_data(file)
characters = []
for i in 0...$game_party.actors.size
actor = $game_party.actors[i]
characters.push([actor.character_name, actor.character_hue])
end
Marshal.dump(characters, file)
Marshal.dump(Graphics.frame_count, file)
$game_system.save_count += 1
$game_system.magic_number = $data_system.magic_number
Marshal.dump($game_system, file)
Marshal.dump($game_switches, file)
Marshal.dump($game_variables, file)
Marshal.dump($game_self_switches, file)
Marshal.dump($game_screen, file)
Marshal.dump($game_actors, file)
Marshal.dump($game_party, file)
Marshal.dump($game_troop, file)
Marshal.dump($game_map, file)
Marshal.dump($game_player, file)

Marshal.dump($game_stored, file)
end
end

class Game_Event
attr_reader :event
end

pour savoir comment prendre des screens et comment les regarder, je crois qu'il va nous falloir étudier le script :s
Revenir en haut Aller en bas
http://jenniferlobez.oldiblog.com/
Faust
Modo Scripts
Modo Scripts
Faust


Nombre de messages : 494
Age : 32
Localisation : tu en sais deja trop....
Profession : balanceur de connerie a toute heure (sa rime en plus ^^)
Date d'inscription : 07/07/2006

[R~P]
Prénom: Faust
Race: Sorcier
Métier:

Prendre des screens du jeu Empty
MessageSujet: Re: Prendre des screens du jeu   Prendre des screens du jeu Icon_minitimeLun 27 Nov 2006 - 21:39

Bon je met en pause ^^ , je traite deja les autre et je verai celui ci en dernier, a moin que quelqu'un me dise comment on prend une screen ^^ , en attandant je modifie un peu la presentation ^^

Et merci de bien vouloir preciser l'auteur, si il est inconnu, mettre auteur inconnue ^^ je vais tout de meme regarder dans le script si c'est preciser ^^

edit: j'ai trouver ^^
Revenir en haut Aller en bas
http://terresdegradgoll.skyblog.com
Mark417
Medium
Medium
Mark417


Nombre de messages : 100
Date d'inscription : 20/09/2006

Prendre des screens du jeu Empty
MessageSujet: Re: Prendre des screens du jeu   Prendre des screens du jeu Icon_minitimeMar 28 Nov 2006 - 4:48

Tu devrais te servir de ce script pour mettre des screens à tes autres script...
Revenir en haut Aller en bas
Faust
Modo Scripts
Modo Scripts
Faust


Nombre de messages : 494
Age : 32
Localisation : tu en sais deja trop....
Profession : balanceur de connerie a toute heure (sa rime en plus ^^)
Date d'inscription : 07/07/2006

[R~P]
Prénom: Faust
Race: Sorcier
Métier:

Prendre des screens du jeu Empty
MessageSujet: Re: Prendre des screens du jeu   Prendre des screens du jeu Icon_minitimeMar 28 Nov 2006 - 18:05

Encore faut il savoir comment on s'en sert... je vais voir les autre script avant et apres j'etudierai ce script Smile

Enfin si quelqu'un veut vien le faire Smile , qu'il le dise biensur ^^
Revenir en haut Aller en bas
http://terresdegradgoll.skyblog.com
Contenu sponsorisé





Prendre des screens du jeu Empty
MessageSujet: Re: Prendre des screens du jeu   Prendre des screens du jeu Icon_minitime

Revenir en haut Aller en bas
 
Prendre des screens du jeu
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Ressource Hunter :: RPG Maker XP :: Scripts :: Proposition de Script-
Sauter vers:  
Ne ratez plus aucun deal !
Abonnez-vous pour recevoir par notification une sélection des meilleurs deals chaque jour.
IgnorerAutoriser