Day.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker


Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Jeux: puie z / Jeux: Citymaime - Chapitre 1 / Jeux: Mer, îles et fous / News: Du neuf dans le making / News: Muma|Rope est disponible en (...) / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

375 connectés actuellement

30732275 visiteurs
depuis l'ouverture

2253 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Eclipso

Planète Glutko

Zarok

Leo-Games

Tous nos partenaires

Devenir
partenaire



Fullscreen++

Nouveau mode plein écran sans cadre noir. Pour VX et VX Ace.

Script pour RPG Maker VX Ace
Ecrit par Zeus81
Publié par zeus81 (lui envoyer un message privé)
Signaler un script cassé

❤ 0

Auteur : Zeus81
Logiciel : RPG Maker VX et VX Ace
Nombre de scripts : 1

Fonctionnalités
Ce script enlève le cadre noir en mode plein écran.

Conditions d'utilisation
Ce script est sous licence Creative Commons BY-SA 3.0 :
- Vous devez créditer l'auteur (Zeus81)
- Vous pouvez l'utiliser dans vos projets commerciaux
- Vous pouvez distribuer le script original ou modifié, sous les mêmes conditions.

Installation


A placer au-dessus de Main.

Utilisation
Pour avoir le mode plein écran optimisé, le joueur doit presser F5. Vous pouvez désactiver partiellement l'ancien mode en mettant la ligne 9 à true au lieu de falsme, ce qui supprimera le fonctionnement via ALT+F4. Mais si vous pressez ALT+Entrée, vous aurez quand même le screen plein écran par défaut (avec les bordures).
Pour changer le ratio, vous devez presser F6.
Les données modifiées sont enregistrées dans le fichier Game.Ini, et reprises lors du changement du jeu, donc n'oubliez pas de les configurer dans le fichier avant de partager votre jeu.

Il existe différentes commandes de script utilisables en appel de script :
Pour VX :
Graphics.vx_fullscreen? : retourne si l'écran est en plein écran.
Graphics.vx_fullscreen_mode : Passer en plein écran.
Graphics.vx_windowed_mode : Passer en fenêtré.
Graphics.toggle_fullscreen : Intervertir le mode (si en fenêtré, on passe en plein écran, et vice versa).

Pour VX Ace :
Graphics.fullscreen? : retourne si l'écran est en plein écran.
Graphics.fullscreen_mode : Passer en plein écran
Graphics.windowed_mode : Passer en fenêtré
Graphics.toggle_fullscreen : Intervertir le mode (si en fenêtré, on passe en plein écran, et vice versa).
Graphics.toggle_ratio : Intervertir le mode (si en fenêtré, on passe en plein écran, et vice versa).

Pour les deux :
Graphics.ratio : retourne le ratio.
Graphics.ratio = n : remplace le ratio.[/quote]

Version 2.2 (recommandée)

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
# Fullscreen++ v2.2 for VX and VXace by Zeus81
# Free for non commercial and commercial use
# Licence : http://creativecommons.org/licenses/by-sa/3.0/
# Contact : zeusex81@gmail.com
# (fr) Manuel d'utilisation : http://pastebin.com/raw.php?i=1TQfMnVJ
# (en) User Guide           : http://pastebin.com/raw.php?i=EgnWt9ur
 
$imported ||= {}
$imported[:Zeus_Fullscreen] = __FILE__
 
class << Graphics
  Disable_VX_Fullscreen = false
 
  CreateWindowEx            = Win32API.new('user32'  , 'CreateWindowEx'           , 'ippiiiiiiiii', 'i')
  GetClientRect             = Win32API.new('user32'  , 'GetClientRect'            , 'ip'          , 'i')
  GetDC                     = Win32API.new('user32'  , 'GetDC'                    , 'i'           , 'i')
  GetSystemMetrics          = Win32API.new('user32'  , 'GetSystemMetrics'         , 'i'           , 'i')
  GetWindowRect             = Win32API.new('user32'  , 'GetWindowRect'            , 'ip'          , 'i')
  FillRect                  = Win32API.new('user32'  , 'FillRect'                 , 'ipi'         , 'i')
  FindWindow                = Win32API.new('user32'  , 'FindWindow'               , 'pp'          , 'i')
  ReleaseDC                 = Win32API.new('user32'  , 'ReleaseDC'                , 'ii'          , 'i')
  SendInput                 = Win32API.new('user32'  , 'SendInput'                , 'ipi'         , 'i')
  SetWindowLong             = Win32API.new('user32'  , 'SetWindowLong'            , 'iii'         , 'i')
  SetWindowPos              = Win32API.new('user32'  , 'SetWindowPos'             , 'iiiiiii'     , 'i')
  ShowWindow                = Win32API.new('user32'  , 'ShowWindow'               , 'ii'          , 'i')
  SystemParametersInfo      = Win32API.new('user32'  , 'SystemParametersInfo'     , 'iipi'        , 'i')
  UpdateWindow              = Win32API.new('user32'  , 'UpdateWindow'             , 'i'           , 'i')
  GetPrivateProfileString   = Win32API.new('kernel32', 'GetPrivateProfileString'  , 'ppppip'      , 'i')
  WritePrivateProfileString = Win32API.new('kernel32', 'WritePrivateProfileString', 'pppp'        , 'i')
  CreateSolidBrush          = Win32API.new('gdi32'   , 'CreateSolidBrush'         , 'i'           , 'i')
  DeleteObject              = Win32API.new('gdi32'   , 'DeleteObject'             , 'i'           , 'i')
 
  unless method_defined?(:zeus_fullscreen_update)
    HWND     = FindWindow.call('RGSS Player', 0)
    BackHWND = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
    alias zeus_fullscreen_resize_screen resize_screen
    alias zeus_fullscreen_update        update
  end
private
  def initialize_fullscreen_rects
    @borders_size    ||= borders_size
    @fullscreen_rect ||= screen_rect
    @workarea_rect   ||= workarea_rect
  end
  def borders_size
    GetWindowRect.call(HWND, wrect = [0, 0, 0, 0].pack('l4'))
    GetClientRect.call(HWND, crect = [0, 0, 0, 0].pack('l4'))
    wrect, crect = wrect.unpack('l4'), crect.unpack('l4')
    Rect.new(0, 0, wrect[2]-wrect[0]-crect[2], wrect[3]-wrect[1]-crect[3])
  end
  def screen_rect
    Rect.new(0, 0, GetSystemMetrics.call(0), GetSystemMetrics.call(1))
  end
  def workarea_rect
    SystemParametersInfo.call(0x30, 0, rect = [0, 0, 0, 0].pack('l4'), 0)
    rect = rect.unpack('l4')
    Rect.new(rect[0], rect[1], rect[2]-rect[0], rect[3]-rect[1])
  end
  def hide_borders() SetWindowLong.call(HWND, -16, 0x14000000) end
  def show_borders() SetWindowLong.call(HWND, -16, 0x14CA0000) end
  def hide_back()    ShowWindow.call(BackHWND, 0)              end
  def show_back
    ShowWindow.call(BackHWND, 3)
    UpdateWindow.call(BackHWND)
    dc    = GetDC.call(BackHWND)
    rect  = [0, 0, @fullscreen_rect.width, @fullscreen_rect.height].pack('l4')
    brush = CreateSolidBrush.call(0)
    FillRect.call(dc, rect, brush)
    ReleaseDC.call(BackHWND, dc)
    DeleteObject.call(brush)
  end
  def resize_window(w, h)
    if @fullscreen
      x, y, z = (@fullscreen_rect.width-w)/2, (@fullscreen_rect.height-h)/2, -1
    else
      w += @borders_size.width
      h += @borders_size.height
      x = @workarea_rect.x + (@workarea_rect.width  - w) / 2
      y = @workarea_rect.y + (@workarea_rect.height - h) / 2
      z = -2
    end
    SetWindowPos.call(HWND, z, x, y, w, h, 0)
  end
  def release_alt
    inputs = [1,18,2, 1,164,2, 1,165,2].pack('LSx2Lx16'*3)
    SendInput.call(3, inputs, 28)
  end
public
  def load_fullscreen_settings
    buffer = [].pack('x256')
    section = 'Fullscreen++'
    filename = './Game.ini'
    get_option = Proc.new do |key, default_value|
      l = GetPrivateProfileString.call(section, key, default_value, buffer, buffer.size, filename)
      buffer[0, l]
    end
    @fullscreen       = get_option.call('Fullscreen'     , '0') == '1'
    @fullscreen_ratio = get_option.call('FullscreenRatio', '0').to_i
    @windowed_ratio   = get_option.call('WindowedRatio'  , '1').to_i
    toggle_vx_fullscreen if Disable_VX_Fullscreen and vx_fullscreen?
    fullscreen? ? fullscreen_mode : windowed_mode
  end
  def save_fullscreen_settings
    section = 'Fullscreen++'
    filename = './Game.ini'
    set_option = Proc.new do |key, value|
      WritePrivateProfileString.call(section, key, value.to_s, filename)
    end
    set_option.call('Fullscreen'     , @fullscreen ? '1' : '0')
    set_option.call('FullscreenRatio', @fullscreen_ratio)
    set_option.call('WindowedRatio'  , @windowed_ratio)
  end
  def fullscreen?
    @fullscreen or vx_fullscreen?
  end
  def vx_fullscreen?
    rect = screen_rect
    rect.width == 640 and rect.height == 480
  end
  def toggle_fullscreen
    fullscreen? ? windowed_mode : fullscreen_mode
  end
  def toggle_vx_fullscreen
    windowed_mode if @fullscreen and !vx_fullscreen?
    inputs = [1,18,0, 1,13,0, 1,13,2, 1,18,2].pack('LSx2Lx16'*4)
    SendInput.call(4, inputs, 28)
    zeus_fullscreen_update
    self.ratio += 0 # refresh window size
  end
  def vx_fullscreen_mode
    return if vx_fullscreen?
    toggle_vx_fullscreen
  end
  def fullscreen_mode
    return if vx_fullscreen?
    initialize_fullscreen_rects
    show_back
    hide_borders
    @fullscreen = true
    self.ratio += 0 # refresh window size
  end
  def windowed_mode
    toggle_vx_fullscreen if vx_fullscreen?
    initialize_fullscreen_rects
    hide_back
    show_borders
    @fullscreen = false
    self.ratio += 0 # refresh window size
  end
  def toggle_ratio
    return if vx_fullscreen?
    self.ratio += 1
  end
  def ratio
    return 1 if vx_fullscreen?
    @fullscreen ? @fullscreen_ratio : @windowed_ratio
  end
  def ratio=(r)
    return if vx_fullscreen?
    initialize_fullscreen_rects
    r = 0 if r < 0
    if @fullscreen
      @fullscreen_ratio = r
      w_max, h_max = @fullscreen_rect.width, @fullscreen_rect.height
    else
      @windowed_ratio = r
      w_max = @workarea_rect.width  - @borders_size.width
      h_max = @workarea_rect.height - @borders_size.height
    end
    if r == 0
      w, h = w_max, w_max * height / width
      h, w = h_max, h_max * width / height if h > h_max
    else
      w, h = width * r, height * r
      return self.ratio = 0 if w > w_max or h > h_max
    end
    resize_window(w, h)
    save_fullscreen_settings
  end
  def update
    release_alt if Disable_VX_Fullscreen and Input.trigger?(Input::ALT)
    zeus_fullscreen_update
    toggle_fullscreen if Input.trigger?(Input::F5)
    toggle_ratio      if Input.trigger?(Input::F6)
  end
  def resize_screen(width, height)
    zeus_fullscreen_resize_screen(width, height)
    self.ratio += 0 # refresh window size
  end
end
Graphics.load_fullscreen_settings



Spoiler (cliquez pour afficher)




Mis à jour le 4 juillet 2020.






FoxFiesta - posté le 05/02/2012 à 16:35:02 (443 messages postés)

❤ 0

OMG c'est génial ! Merci !
Par contre j'aimerais savoir :
- comment faire en sorte que l'ancien mode soit impossible à activer
- ce que je dois écrire à la ligne 36 pour que ce nouveau mode soit activable avec Alt+Entrée s'il vous plaît.


Zeus81 - posté le 05/02/2012 à 16:53:59 (11071 messages postés)

❤ 0

Y'a rien à faire pour désactiver l'ancien mode.


Itemporel - posté le 09/02/2012 à 21:17:42 (211 messages postés)

❤ 0

Plus les scripts sont simples, plus ils sont intéressant...


Zeus81 - posté le 14/06/2013 à 17:14:22 (11071 messages postés)

❤ 0

Mise à jour.
Log Change :
- fonctionne mieux par rapport au mode plein écran par défaut.
- on peut désactiver le mode plein écran par défaut.
- on peut changer le ratio de la fenêtre en appuyant sur F6.
- la configuration est sauvegardée dans le Game.ini.
Script : http://pastebin.com/kc1hzBek


yulemath - posté le 22/08/2013 à 22:20:27 (1 messages postés)

❤ 0

Où doit-on mettre ce script svp? merci d'avance :sourit


Zeus81 - posté le 23/08/2013 à 16:13:19 (11071 messages postés)

❤ 0

Celui là tu peux le mettre où tu veux mais d'habitude on les met au dessus du Main dans Materials à l'endroit où y'a écrit "Insert here".


Roi of the Suisse - posté le 23/08/2013 à 22:59:54 (30339 messages postés) - honor -

❤ 0

Chanter l'hyperchleuasme

yulemath a dit:

Où doit-on mettre ce script svp? :sourit



image

Es-tu une star ? | Kujira no Hara | Muma|Rope | Polaris 03 | La 7e porte


Avalon - posté le 02/05/2015 à 16:56:51 (2 messages postés)

❤ 0

Master's Slayer

c'est génial ce script.. mais peux tu m'aider.les bandes noir en fullscreen sont toujours présent pour moi.


zeus81 - posté le 04/05/2015 à 14:37:29 (11071 messages postés)

❤ 0

Ce script n'enlève pas les bords du plein écran Alt+Entrée, il rajoute un nouveau mode plein écran sans bordure en appuyant sur F5/F6.


MarcLewis666 - posté le 28/11/2015 à 21:50:57 (46 messages postés)

❤ 0

deux lettres sur une tache d'encre #bestlogoever

Je comprend pas, j'ai plus les bandes noir en haut et en bas mais j'ai toujours ceux sur les côtés, pourtant j'ai jouer à un jeu qui lui, le plein écran marchait correctement, comment ça se fait?:help

(Les Trésors De Nilo 10%) (Life Sim 4%)


Mrludo - posté le 13/01/2016 à 20:14:54 (1 messages postés)

❤ 0

bonjour tout le monde .


je viens demander conseil ,je suis nouveaux est débutant en RPG est j'utilise RPG Maker Vx Ace est je souligne que ce code ne fonctionne pas chez moi.

quand je clic F5 l'écran clignote est je vois mon bureau derrière le jeux (c'est pas beau) :(

y a t'il une solution ou pas ?

merci a vous


Athanazya - posté le 25/03/2016 à 20:35:06 (9 messages postés)

❤ 0

MarcLewis666 a dit:


Je comprend pas, j'ai plus les bandes noir en haut et en bas mais j'ai toujours ceux sur les côtés, pourtant j'ai jouer à un jeu qui lui, le plein écran marchait correctement, comment ça se fait?:help



meme chose pour moi ...


ray-yami2 - posté le 15/10/2019 à 22:05:02 (33 messages postés)

❤ 0

Existe t'il sous XP ? Merci d'avance


Ichiro - posté le 10/10/2020 à 21:10:26 (12 messages postés)

❤ 0

Celeste Best Game ever

Mrludo a dit:


bonjour tout le monde .


je viens demander conseil ,je suis nouveaux est débutant en RPG est j'utilise RPG Maker Vx Ace est je souligne que ce code ne fonctionne pas chez moi.

quand je clic F5 l'écran clignote est je vois mon bureau derrière le jeux (c'est pas beau) :(

y a t'il une solution ou pas ?

merci a vous


Probablement un problème avec ta carte graphique mon ami !
Met à jour ton pilote Nvidia
https://www.nvidia.fr/Download/index.aspx?lang=fr

Pour AMD je sais pas comment faut faire (peut être acheter une Nvidia du coup vu que c'est meilleur)


VRP024 - posté le 22/02/2021 à 05:26:02 (24 messages postés)

❤ 0

Tapez avec votre B*** sur un clavier et c'est pareil.
Non, je plaisante mais c'est un script vu encore et encore, mal codé et incomplet c'est inutile, trop de lignes #pour meubler le tout#.
Trop drôle la flippe de plagiat plagié avec les #Zeus# dans le script, j'adore!

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers