Page 1 sur 2 • 1, 2
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mar 22 Avr 2014 - 22:12
Tout d'abord je tiens à signaler que ce topic n'a pas pour but de résoudre des problèmes de script comme une incompatibilité ni de faire un cours pour configurer des scripts particuliers. Il a pour but d'aider les débutants et les futurs scripteurs dans leur progression
Le but est simple :
Posez vos questions et je tenterais d'y répondre
Cela peut aussi être des demandes de cours de Ruby adaptés a RPG maker
Versions de RM que je sais utiliser : VX/VX ACE
Exemple de question (certes vous pouvez toujours demander plus simple ^^) :
Comment utiliser les notes d'un item dans un script ?
Comment démarrer un script ?
Comment afficher une image par le script ?
Que signifie telle ou telle ligne de commande dans un script ?
Voila Voila
EDIT : Tuto de scriptage en cours de préparation
Le but est simple :
Posez vos questions et je tenterais d'y répondre
Cela peut aussi être des demandes de cours de Ruby adaptés a RPG maker
Versions de RM que je sais utiliser : VX/VX ACE
Exemple de question (certes vous pouvez toujours demander plus simple ^^) :
Comment utiliser les notes d'un item dans un script ?
Comment démarrer un script ?
Comment afficher une image par le script ?
Que signifie telle ou telle ligne de commande dans un script ?
Voila Voila
EDIT : Tuto de scriptage en cours de préparation
- Kira'hMembre
- Nombre de messages : 588
Age : 29
Localisation : Devant mon écran... Si pas, dans mon jeu^^
Distinction : aucune
Date d'inscription : 25/02/2012
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mar 22 Avr 2014 - 22:44
C'est une très bonne idée, je suis sur qu'il y aura plein de membres qui viendront sur ce topic!
Bonne continuation!^^
Bonne continuation!^^
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mar 22 Avr 2014 - 23:09
Merci bcp
- KaiserYoshiMembre
- Nombre de messages : 82
Age : 31
Localisation : Dans le Nord
Distinction : aucune
Date d'inscription : 08/02/2013
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 14:03
Très belle initiative.
Comment afficher une images par le script ? J'aimerai avoir quelques réponses sur ce sujet.
Bonne journée.
Comment afficher une images par le script ? J'aimerai avoir quelques réponses sur ce sujet.
Bonne journée.
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 14:38
Il faut utiliser plusieur lgne pour cela :
@image = Sprite.new #Va permettre de définir un nouveau sprite a la variable @image
@image.bitmap = ... permet d'assigner l'image au sprite ex:
@image.bitmap = Cache.picture("Nom_de_ton_image")
Cache.picture() permet d'aller chercher une image qui ce trouve dans le dossier pictures
@image.x = X permet de définir sa position x (origine au coin haut gauche de base)
@image.y = X permet de définir sa position y (origine au coin haut gauche de base)
les coordonnée x commence a 0 a gauche et sont croissante jusqu’à la droite
les coordonnée y commence a 0 en haut et sont croissante jusqu'au bas de l'écran
Complément :
@image.ox = X permet de changer l'origine x de l'image (origine au coin haut gauche de base) a un emplacement autre sur l'image
@image.oy = X de même mais pour le y
@image.z = X permet de définir sa priorité d'affichage plus z est grand plus l'image serat au dessus des autre
@image.zoom_x = X permet de zoomer ou dézoomer une image selon les x. X doit être un chiffre a virgules de base c'est 1.0
@image.zoom_y = X De même mais selon les y
@image.bitmap.width permet de récupérer la largeur de image
@image.bitmap.height permet de récupérer la hauteur de image
il existe d'autre fonction plus spécifique si besoin (genre découper une image ou autre)
@image = Sprite.new #Va permettre de définir un nouveau sprite a la variable @image
@image.bitmap = ... permet d'assigner l'image au sprite ex:
@image.bitmap = Cache.picture("Nom_de_ton_image")
Cache.picture() permet d'aller chercher une image qui ce trouve dans le dossier pictures
@image.x = X permet de définir sa position x (origine au coin haut gauche de base)
@image.y = X permet de définir sa position y (origine au coin haut gauche de base)
les coordonnée x commence a 0 a gauche et sont croissante jusqu’à la droite
les coordonnée y commence a 0 en haut et sont croissante jusqu'au bas de l'écran
Complément :
@image.ox = X permet de changer l'origine x de l'image (origine au coin haut gauche de base) a un emplacement autre sur l'image
@image.oy = X de même mais pour le y
@image.z = X permet de définir sa priorité d'affichage plus z est grand plus l'image serat au dessus des autre
@image.zoom_x = X permet de zoomer ou dézoomer une image selon les x. X doit être un chiffre a virgules de base c'est 1.0
@image.zoom_y = X De même mais selon les y
@image.bitmap.width permet de récupérer la largeur de image
@image.bitmap.height permet de récupérer la hauteur de image
il existe d'autre fonction plus spécifique si besoin (genre découper une image ou autre)
- InvitéInvité
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 14:44
Ton idée est sympa Vincent mais il y a pas mal de fautes d'orthographes (je t'enverrai un MP ce soir si tu veux) et tu devrais mettre un tuto des bases (ou au moins un lien)
Mais j'aime beaucoup l'idée quand même
Mais j'aime beaucoup l'idée quand même
- KaiserYoshiMembre
- Nombre de messages : 82
Age : 31
Localisation : Dans le Nord
Distinction : aucune
Date d'inscription : 08/02/2013
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 14:53
Merci ! Ça me sera utile !
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 15:10
Wi désolé pour les fautes c'est vraiment pas mon fort
Je fais un mini tuto dès que j'ai le temps
Je fais un mini tuto dès que j'ai le temps
- InvitéInvité
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 15:18
Je peux ajouter quelque chose ?
- Spoiler:
Cache est un module qui permet l'accès rapide aux dossiers contenant les images. Il renvoie un Bitmap. En fait, c'est plus compliqué que ça.
Si tu veux afficher une image tout en te laissant la possibilité de l'afficher avec des caractéristiques précises, passe par cette méthode :
- Code:
@image = Sprite.new
@image.bitmap = Bitmap.new(width, height)
bmp = Cache.dossier("nom")
rect = Rect.new(x, y, w, h)
@image.bitmap.blt(x, y, bmp, rect, opacité)
Après, faut préciser que .ox et .oy servent à placer le centre de rotation de la méthode .angle qui est disponible sur n'importe quel objet Sprite !
Enfin, je rentre dans les détails bien sur. Ta méthode fonctionne aussi Vinc'
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 15:23
disons que je fait simple mais que si il faut approfondir il y a pas de soucis
Il faudrait faire une explication détaillé des script fournit avec le jeu un de ces jour
Pour des truc sympa il existe aussi des fonctions pour faire onduler une image , pour lui donner un effet de vague
Il faudrait faire une explication détaillé des script fournit avec le jeu un de ces jour
Pour des truc sympa il existe aussi des fonctions pour faire onduler une image , pour lui donner un effet de vague
- SelverMembre
- Nombre de messages : 14
Distinction : aucune
Date d'inscription : 05/04/2014
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 18:50
Est-ce que peut-on faire un jeu totalement scripté sans que ça rame au retour ? Par exemple, j'aimerais faire un système de combat basé sur le temps en fonction d'une horloge et que le héros débloquera des compétences uniques à une certaine heure du jeu (ça sera bien évidement du combat en temps réel comme on a l'habitude de voir sur les autres scripts).
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 19:45
A vrai dire ça risque de moins ramer si tu script entièrement un jeu (a condition que tu script bien bien sur ^^) car l’affichage des map ou la gestion d'event , étant prévus pour simplifier la tache, délaisse quelque peut le caractère optimisation que le script offre.
Aprés cela dépend de ce que tu appel un jeu totalement scripté
Sinon il me semble que tu peut toujours optimiser pour réduire la latence tu peut même toucher au script fourni avec le jeu
Aprés cela dépend de ce que tu appel un jeu totalement scripté
Sinon il me semble que tu peut toujours optimiser pour réduire la latence tu peut même toucher au script fourni avec le jeu
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 21:07
Quelle bande de frimeurs ces scripteurs
Merci pour ton aide Vincent ton topic est très intéressant !
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 23 Avr 2014 - 21:11
^^ merci
A on ce demande ce que les maker fairait sans nous XD
A on ce demande ce que les maker fairait sans nous XD
- XandiarMembre
- Nombre de messages : 497
Age : 28
Localisation : Suisse
Distinction : aucune
Date d'inscription : 12/10/2013
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Jeu 24 Avr 2014 - 19:40
Plop, j'aurais besoin de ton aide,
J'ai un scripte qui permet au joueur de pouvoir modifier le son du jeu, mais le problème c'est qu'il n'est pas centré, voila un screenshot :
C'est plutôt... moche, tu pourrais m'aider à le recentrer ? ^^
Voila le scripte :
J'ai un scripte qui permet au joueur de pouvoir modifier le son du jeu, mais le problème c'est qu'il n'est pas centré, voila un screenshot :
- Screenshot:
C'est plutôt... moche, tu pourrais m'aider à le recentrer ? ^^
Voila le scripte :
- Scripte:
- Code:
#Basic Options Menu v1.2.1
#----------#
#Features: Provides a simple option menu for the player to do optiony stuff...
# Like volume effects for all, bgm, and se's. Fancy!
#
# Also additional options if you have Basic Window Resizer,
# Basic Message SE, and Basic Autosave.
#
#Usage: Plug and play unless you want a bit more. Customization below.
#
#----------#
#-- Script by: V.M of D.T
#
#- Questions or comments can be:
# posted on the thread for the script
# given by email: sumptuaryspade@live.ca
# provided on facebook: http://www.facebook.com/DaimoniousTailsGames
#
#- Free to use in any project with credit given, donations always welcome!
#This lets you set the order of the windows via an array
WINDOW_ORDER = [:master,:bgm,:se,:resolution,:message_se,:switch]
#Basic options are:
# :master - Master Volume :bgm - Background Music Volume
# :se - Sound Effect Volume :switch - Allow the player to turn on/off a switch
#
#-- Additional Options are:
# :resolution - If you have Basic Window Resizer installed
# :message_se - If you have Basic Message SE installed
# :autosave - If you have Basic Autosave installed
#These are all the strings for the help window and headers:
module OPT_STR
#When the command window is selected
COMMAND_HELP = "Confirmer et quitter/Quitter"
#Details for :master
MASTER_VOLUME = "Volume principal"
MASTER_VOLUME_HELP = "Règler le volume principal du jeu"
#Details for :bgm
BGM_VOLUME = "Volume BGM"
BGM_VOLUME_HELP = "Règler le volume de la musique"
SE_VOLUME = "Volume SE "
SE_VOLUME_HELP = "Règler le volume des effets"
#Details for :resolution
RESOLUTION = "Résolution"
RESOLUTION_HELP = "Change la résulution de l'écran"
#Details for :autosave
AUTOSAVE = "Sauvegarde automatique"
AUTOSAVE_HELP = "Enclancher/déclancher la sauvegarde auto"
#Details for :message
MESSAGE_SE = "Message SE"
MESSAGE_SE_HELP = "Enclancher/déclancher les sons des messages"
#Details for :switch
SWITCH_ID = 5
SWITCH = "Aide"
SWITCH_HELP = "Message d'aide"
SWITCH_COMMAND = ["On","Off"]
end
class Scene_Options < Scene_MenuBase
def start
super
$game_options.memorize_options
create_base_windows
@current_index = 1
@window_index = []
@size = 0
WINDOW_ORDER.each do |symbol|
create_resolution_window if symbol == :resolution
create_autosave_window if symbol == :autosave
create_master_window if symbol == :master
create_bgm_window if symbol == :bgm
create_se_window if symbol == :se
create_message_se_window if symbol == :message_se
create_window_switch if symbol == :switch
end
create_command_window
@index = 0
@old_index = @index
activate_window(0)
end
def create_base_windows
@help_window = Window_Help.new(1)
@help_window.set_text("Options")
@back_window = Window_Options.new
@back_window.height = (WINDOW_ORDER.size + 1)* 48 + 24
@back_window.create_contents
end
def create_command_window
@window_command = Window_OCommand.new(48+24 * @current_index)
@window_command.set_handler(:ok, method(:command_ok))
@window_index.push(:command)
@back_window.draw_line(24 * (@current_index - 1))
end
def create_resolution_window
if Module.const_defined?(:Window_Resize)
@window_resolution = Window_OR.new(48+24 * @current_index)
@window_resolution.set_handler(:ok, method(:resolution_ok))
@back_window.add_text(24 * (@current_index - 1),OPT_STR::RESOLUTION)
@current_index += 2
@size += 1
@window_index.push(:resolution)
end
end
def create_autosave_window
if Module.const_defined?(:AUTOSAVE_FILE_NAME)
@window_autosave = Window_OAS.new(48+24 * @current_index)
@window_autosave.set_handler(:ok, method(:autosave_ok))
@back_window.add_text(24 * (@current_index - 1),OPT_STR::AUTOSAVE)
@current_index += 2
@size += 1
@window_index.push(:autosave)
end
end
def create_master_window
@window_masterbar = Window_OBar.new(48+24 * @current_index)
@back_window.add_text(24 * (@current_index - 1),OPT_STR::MASTER_VOLUME)
@current_index += 2
@size += 1
@window_masterbar.refresh($game_options.master_volume)
@window_index.push(:master)
end
def create_bgm_window
@window_bgmbar = Window_OBar.new(48+24 * @current_index)
@back_window.add_text(24 * (@current_index - 1),OPT_STR::BGM_VOLUME)
@current_index += 2
@size += 1
@window_bgmbar.refresh($game_options.bgm_volume)
@window_index.push(:bgm)
end
def create_se_window
@window_sebar = Window_OBar.new(48+24*@current_index)
@back_window.add_text(24 * (@current_index - 1),OPT_STR::SE_VOLUME)
@current_index += 2
@size += 1
@window_sebar.refresh($game_options.se_volume)
@window_index.push(:se)
end
def create_message_se_window
if Window_Message.const_defined?(:DEFAULT_SE_FREQ)
@window_message = Window_OMSE.new(48+24 * @current_index)
@window_message.set_handler(:ok, method(:message_ok))
@back_window.add_text(24 * (@current_index - 1),OPT_STR::MESSAGE_SE)
@current_index += 2
@size += 1
@window_index.push(:message)
end
end
def create_window_switch
@window_switch = Window_OSW.new(48+24 * @current_index)
@window_switch.set_handler(:ok, method(:switch_ok))
@back_window.add_text(24 * (@current_index - 1),OPT_STR::SWITCH)
@current_index += 2
@size += 1
@window_index.push(:switch)
end
def activate_window(index)
case @window_index[index]
when :resolution
@window_resolution.select(0)
@window_resolution.activate
@help_window.set_text(OPT_STR::RESOLUTION_HELP)
when :autosave
@window_autosave.select(0)
@window_autosave.activate
@help_window.set_text(OPT_STR::AUTOSAVE_HELP)
when :master
@window_masterbar.select(0)
@window_masterbar.activate
@help_window.set_text(OPT_STR::MASTER_VOLUME_HELP)
when :bgm
@window_bgmbar.select(0)
@window_bgmbar.activate
@help_window.set_text(OPT_STR::BGM_VOLUME_HELP)
when :se
@window_sebar.select(0)
@window_sebar.activate
@help_window.set_text(OPT_STR::SE_VOLUME_HELP)
when :message
@window_message.select(0)
@window_message.activate
@help_window.set_text(OPT_STR::MESSAGE_SE_HELP)
when :command
@window_command.select(0)
@window_command.activate
@help_window.set_text(OPT_STR::COMMAND_HELP)
when :switch
@window_switch.select(0)
@window_switch.activate
@help_window.set_text(OPT_STR::SWITCH_HELP)
end
end
def deactivate_window(index)
case @window_index[index]
when :resolution
@window_resolution.select(-1)
@window_resolution.deactivate
when :autosave
@window_autosave.select(-1)
@window_autosave.deactivate
when :master
@window_masterbar.select(-1)
@window_masterbar.deactivate
when :bgm
@window_bgmbar.select(-1)
@window_bgmbar.deactivate
when :se
@window_sebar.select(-1)
@window_sebar.deactivate
when :message
@window_message.select(-1)
@window_message.deactivate
when :command
@window_command.select(-1)
@window_command.deactivate
when :switch
@window_switch.select(-1)
@window_switch.deactivate
end
end
def update
super
update_input
update_index
end
def update_input
if Input.trigger?(:UP)
@index -= 1
@index = @size if @index < 0
elsif Input.trigger?(:DOWN)
@index += 1
@index = 0 if @index > @size
elsif Input.repeat?(:LEFT)
change_volume(@index, -0.01)
elsif Input.repeat?(:RIGHT)
change_volume(@index, 0.01)
elsif Input.trigger?(:B)
@index = @size
end
end
def update_index
return if @index == @old_index
deactivate_window(@old_index)
activate_window(@index)
Sound.play_cursor
@old_index = @index
end
def change_volume(index, value)
return unless audio_index(index)
$game_options.set_volume(:master, value) if @window_index[index] == :master
$game_options.set_volume(:bgm, value) if @window_index[index] == :bgm
$game_options.set_volume(:se, value) if @window_index[index] == :se
@window_masterbar.refresh($game_options.master_volume)
@window_bgmbar.refresh($game_options.bgm_volume)
@window_sebar.refresh($game_options.se_volume)
Sound.play_cursor
$game_map.autoplay
end
def audio_index(index)
return true if @window_index[index] == :master
return true if @window_index[index] == :bgm
return true if @window_index[index] == :se
return false
end
def resolution_ok
case @window_resolution.index
when 0
$game_options.set_resolution(Graphics.width,Graphics.height)
when 1
$game_options.set_resolution(Graphics.width*2,Graphics.height*2)
when 2
$game_options.set_fullscreen
end
@window_resolution.refresh
@window_resolution.activate
end
def autosave_ok
$game_options.auto_save = true if @window_autosave.index == 0
$game_options.auto_save = false if @window_autosave.index == 1
@window_autosave.refresh
@window_autosave.activate
end
def message_ok
$game_options.message_se = true if @window_message.index == 0
$game_options.message_se = false if @window_message.index == 1
@window_message.refresh
@window_message.activate
end
def switch_ok
$game_switches[OPT_STR::SWITCH_ID] = true if @window_switch.index == 0
$game_switches[OPT_STR::SWITCH_ID] = false if @window_switch.index == 1
@window_switch.refresh
@window_switch.activate
end
def command_ok
case @window_command.index
when 0
$game_options.save_options
$game_options.clear_memorize
return_scene
when 1
$game_options.copy_memorize
$game_options.clear_memorize
return_scene
end
end
end
class Window_Options < Window_Base
def initialize
super(0,48,544,416-48)
self.contents.font.color = Color.new(150,100,255,200)
end
def add_text(y,string)
draw_text(15,y,544-24,24,string)
end
def draw_line(y)
contents.fill_rect(15,y+12,544-24,1,Color.new(75,75,75))
end
end
class Window_OR < Window_Selectable
TEXT = ["Normal","Large","plein-écran"]
def initialize(y)
super(24,y,544-48,48)
refresh
self.opacity = 0
end
def item_width; self.contents.width / 4; end
def item_max; return 3; end
def col_max; return item_max; end
def row_max; return 1; end
def draw_item(index)
rect = item_rect(index)
change_color(normal_color, index == $game_options.resolution_index)
draw_text(rect, TEXT[index],1)
end
end
class Window_OAS < Window_Selectable
def initialize(y)
super(24,y,544-48,48)
refresh
self.opacity = 0
end
def item_width; return 118; end
def item_max; return 2; end
def col_max; return item_max; end
def row_max; return 1; end
def draw_item(index)
rect = item_rect(index)
$game_options.auto_save ? id = 0 : id = 1
change_color(normal_color, id == index)
draw_text(rect, ["Oui","Non"][index],1)
end
end
class Window_OSW < Window_Selectable
def initialize(y)
super(24,y,544-48,48)
refresh
self.opacity = 0
end
def item_width; return 118; end
def item_max; return 2; end
def col_max; return item_max; end
def row_max; return 1; end
def draw_item(index)
rect = item_rect(index)
$game_switches[OPT_STR::SWITCH_ID] ? id = 0 : id = 1
change_color(normal_color, id == index)
draw_text(rect, [OPT_STR::SWITCH_COMMAND[0],OPT_STR::SWITCH_COMMAND[1]][index],1)
end
end
class Window_OCommand < Window_Selectable
def initialize(y)
super(24+96,y,544-48,48)
refresh
self.opacity = 0
end
def item_width; return 118; end
def item_max; return 2; end
def col_max; return item_max; end
def row_max; return 1; end
def draw_item(index)
rect = item_rect(index)
draw_text(rect, ["Ok","Annuler"][index],1)
end
end
class Window_OMSE < Window_OAS
def initialize(y)
super
self.y = y
refresh
self.opacity = 0
end
def draw_item(index)
rect = item_rect(index)
$game_options.message_se ? id = 0 : id = 1
change_color(normal_color, id == index)
draw_text(rect, ["Yes","No"][index],1)
end
end
class Window_OBar < Window_Selectable
def initialize(y)
super(24,y,544-48,48)
self.opacity = 0
end
def item_width; return contents.width; end
def item_max; return 1; end
def col_max; return item_max; end
def row_max; return 1; end
def refresh(temp_value)
contents.clear
temp_value *= 100
temp_value.to_i.times do |i|
rect = Rect.new(4+i*4,6,2,8)
contents.fill_rect(rect, Color.new(75,100,255))
end
(100-temp_value).to_i.times do |i|
rect = Rect.new(396-i*4,6,2,8)
contents.fill_rect(rect, Color.new(0,0,0))
end
draw_text(0,0,contents.width,24,temp_value.to_i.to_s + "%",2)
end
end
class Game_Options
attr_accessor :fullscreen
attr_accessor :resolution
attr_accessor :master_volume
attr_accessor :bgm_volume
attr_accessor :se_volume
attr_accessor :auto_save
attr_accessor :message_se
def default_options
@fullscreen = false
@resolution = [544,416]
@master_volume = 1.0
@bgm_volume = 1.0
@se_volume = 1.0
@auto_save = true
@message_se = true
save_options
end
def load_options
if FileTest.exist?("System/Options.dt")
File.open("System/Options.dt", "rb") do |file|
$game_options = Marshal.load(file)
end
else
default_options
end
reset_screen
end
def reset_screen
if Module.const_defined?(:Window_Resize)
if self.fullscreen
Window_Resize.f
else
Window_Resize.r($game_options.resolution[0],$game_options.resolution[1])
end
end
end
def save_options
File.open("System/Options.dt", "wb") do |file|
Marshal.dump($game_options, file)
end
end
def memorize_options
@old_options = Marshal.load(Marshal.dump($game_options))
end
def copy_memorize
$game_options = Marshal.load(Marshal.dump(@old_options))
reset_screen
end
def clear_memorize
@old_options = nil
end
def resolution_index
return 2 if @fullscreen
return 1 if @resolution[0] == 544*2
return 0
end
def set_resolution(w,h)
@resolution = [w,h]
@fullscreen = false
Window_Resize.window
Window_Resize.r(@resolution[0],@resolution[1])
end
def set_fullscreen
@fullscreen = true
Window_Resize.full
end
def set_volume(symbol, value)
case symbol
when :master
@master_volume += value
@master_volume = [[@master_volume, 1].min, 0].max
when :bgm
@bgm_volume += value
@bgm_volume = [[@bgm_volume, 1].min, 0].max
when :se
@se_volume += value
@se_volume = [[@se_volume, 1].min, 0].max
end
end
end
class RPG::BGM < RPG::AudioFile
def play(pos = 0)
if @name.empty?
Audio.bgm_stop
@@last = RPG::BGM.new
else
if $game_options
volume = @volume * $game_options.master_volume
volume *= $game_options.bgm_volume
else
volume = @volume
end
Audio.bgm_play('Audio/BGM/' + @name, volume.to_i, @pitch, pos)
@@last = self.clone
end
end
end
class RPG::BGS < RPG::AudioFile
def play(pos = 0)
if @name.empty?
Audio.bgs_stop
@@last = RPG::BGS.new
else
if $game_options
volume = @volume * $game_options.master_volume
volume *= $game_options.bgm_volume
else
volume = @volume
end
Audio.bgs_play('Audio/BGS/' + @name, volume.to_i, @pitch, pos)
@@last = self.clone
end
end
end
class RPG::ME < RPG::AudioFile
def play
if @name.empty?
Audio.me_stop
else
if $game_options
volume = @volume * $game_options.master_volume
volume *= $game_options.se_volume
else
volume = @volume
end
Audio.me_play('Audio/ME/' + @name, volume.to_i, @pitch)
end
end
end
class RPG::SE < RPG::AudioFile
def play
unless @name.empty?
if $game_options
volume = @volume * $game_options.master_volume
volume *= $game_options.se_volume
else
volume = @volume
end
Audio.se_play('Audio/SE/' + @name, volume.to_i, @pitch)
end
end
end
module SceneManager
def self.run
DataManager.init
Audio.setup_midi if use_midi?
$game_options = Game_Options.new
$game_options.load_options
@scene = first_scene_class.new
@scene.main while @scene
end
end
class Window_MenuCommand < Window_Command
def add_original_commands
add_command("Options", :options)
end
end
class Scene_Menu < Scene_MenuBase
alias options_create_command_window create_command_window
def create_command_window
options_create_command_window
@command_window.set_handler(:options, method(:command_options))
end
def command_options
SceneManager.call(Scene_Options)
end
end
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Jeu 24 Avr 2014 - 19:47
Salut, précise un peu!
Quel est ta résolution de ton projet, veux-tu juste centrer la fenêtre de Volume? (Et non la description)
Ou mettre dans toute la fenêtre de ton projet?
Quel est ta résolution de ton projet, veux-tu juste centrer la fenêtre de Volume? (Et non la description)
Ou mettre dans toute la fenêtre de ton projet?
- XandiarMembre
- Nombre de messages : 497
Age : 28
Localisation : Suisse
Distinction : aucune
Date d'inscription : 12/10/2013
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Jeu 24 Avr 2014 - 19:51
Okay, je vais mieux expliquer :
J'utilise la définition par défaut du jeu (je ne sais plus de combien par combien elle est)
Ensuite, j'aimerais que la fenêtre qui permet de changer le son prenne tout l'espace, qu'il n'y ai plus de zone noir... Je ne sais pas si c'est beaucoup plus précis xD
J'utilise la définition par défaut du jeu (je ne sais plus de combien par combien elle est)
Ensuite, j'aimerais que la fenêtre qui permet de changer le son prenne tout l'espace, qu'il n'y ai plus de zone noir... Je ne sais pas si c'est beaucoup plus précis xD
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Jeu 24 Avr 2014 - 19:58
Ok je vois!
Utilise-tu un script pour réglé la résolution?
Sinon ligne 86: @back_window.height = (WINDOW_ORDER.size + 1)* 48 + 24
Change ce qui a en rouge!
Je pense que ce bout de code permet de réglé la fenêtre d'option!
Le mieux c'est de discuter en privé!
Utilise-tu un script pour réglé la résolution?
Sinon ligne 86: @back_window.height = (WINDOW_ORDER.size + 1)* 48 + 24
Change ce qui a en rouge!
Je pense que ce bout de code permet de réglé la fenêtre d'option!
Le mieux c'est de discuter en privé!
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Ven 25 Avr 2014 - 12:17
Salut désoler je n'avais pas vue ta question ^^
il faut changer a la ligne 86 par cela :
@back_window.height = Graphics.height-@help_window.height
et ajouter une ligne avec ça :
@back_window.width = Graphics.width
Mais cela ne fait que augmenter le fond et ne recentre en rien les texte et commande
chaque commande est une fenêtre différente qui doit être recentrer indépendamment
il faut changer a la ligne 86 par cela :
@back_window.height = Graphics.height-@help_window.height
et ajouter une ligne avec ça :
@back_window.width = Graphics.width
Mais cela ne fait que augmenter le fond et ne recentre en rien les texte et commande
chaque commande est une fenêtre différente qui doit être recentrer indépendamment
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Ven 25 Avr 2014 - 12:22
J'étais presque!
Merci pour ta réponse, je m'en souviendrais la prochaine fois!
Merci pour ta réponse, je m'en souviendrais la prochaine fois!
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Ven 25 Avr 2014 - 12:47
^^ Graphics.height permet de faire des ajustement auto en fonction de la taille de l'écran
- XandiarMembre
- Nombre de messages : 497
Age : 28
Localisation : Suisse
Distinction : aucune
Date d'inscription : 12/10/2013
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Ven 25 Avr 2014 - 13:08
Merci, c'est exactement se que je voulais =D
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Ven 25 Avr 2014 - 13:12
Ya pas de quoi
- vincent26Membre
- Nombre de messages : 766
Age : 28
Localisation : baume de transit le village paumé
Distinction : aucune
Date d'inscription : 17/08/2010
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 7 Mai 2014 - 23:00
Petit up pour montrer que le sujet et toujour présent avec en prime une petite astuce pour afficher un texte a l'écran avec une certaine police et une certaine taille :
@font = Font.new("Chiller",72)
@test = Sprite.new
@test.bitmap = Bitmap.new(416,544)
@test.bitmap.font = @font
@test.bitmap.draw_text(0, 0, 416, 544, "test")
@test.x = 0
@test.y = 0
dans le font "Chiller" et la police et 72 la taille du texte
@test.x = 0
@test.y = 0
permettent de définir l'emplacement
Bon ce morceaux n'est pas optimiser niveaux taille de l'image pour les scripteur raleur (Biwi XD)
mais c'est surtout a titre d'exemple
@font = Font.new("Chiller",72)
@test = Sprite.new
@test.bitmap = Bitmap.new(416,544)
@test.bitmap.font = @font
@test.bitmap.draw_text(0, 0, 416, 544, "test")
@test.x = 0
@test.y = 0
dans le font "Chiller" et la police et 72 la taille du texte
@test.x = 0
@test.y = 0
permettent de définir l'emplacement
Bon ce morceaux n'est pas optimiser niveaux taille de l'image pour les scripteur raleur (Biwi XD)
mais c'est surtout a titre d'exemple
- InvitéInvité
Re: Si vous voullez débuter le scriptage ou avoir de petite astuce concernant les script c'est ici
Mer 7 Mai 2014 - 23:14
Je savais pas pour Font.new, tu m'apprends un truc xD
Par contre, avec l'expérience, j'ai capté que (avec la taille de police initiale du jeu, soit 20, je crois) :
Merci pour l'astuce en tout cas!!
Par contre, avec l'expérience, j'ai capté que (avec la taille de police initiale du jeu, soit 20, je crois) :
- Code:
@test.bitmap.draw_text(0, -200, 544, 416, "Texte")
Merci pour l'astuce en tout cas!!
- Contenu sponsorisé
Page 1 sur 2 • 1, 2
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|