Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
343 connectés actuellement
30678528 visiteurs depuis l'ouverture
825 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
❤ 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)
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) Version 1
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
| # Fullscreen++ v1.0 by Zeus81
# Description :
# Permet d'avoir un mode plein écran plus intelligent qui utilise un maximum
# de la surface de l'écran tout en gardant le bon ratio.
# Alt+Entreé utilise toujours l'ancien mode plein.
# Pour utiliser ce nouveau mode plein écran appuyez sur F5.
# Pour faire démarrer le jeu automatiquement en plein écran voir ligne 14.
# Méthodes :
# Graphics.fullscreen? : pour savoir si on est en mode plein écran ou pas.
# Graphics.fullscreen_mode : passe en mode plein écran.
# Graphics.windowed_mode : passe en mode fenêtré.
# Graphics.toggle_mode : passe d'un mode à l'autre.
class << Graphics
fullscreen_start = false # 'true' pour démarrer en plein écran sinon 'false'
FindWindow = Win32API.new('user32', 'FindWindow' , 'pp' , 'l')
CreateWindowEx = Win32API.new('user32', 'CreateWindowEx' , 'lpplllllllll', 'l')
UpdateWindow = Win32API.new('user32', 'UpdateWindow' , 'l' , 'l')
ShowWindow = Win32API.new('user32', 'ShowWindow' , 'll' , 'l')
SetWindowLong = Win32API.new('user32', 'SetWindowLong' , 'lll' , 'l')
SetWindowPos = Win32API.new('user32', 'SetWindowPos' , 'lllllll' , 'l')
GetSystemMetrics = Win32API.new('user32', 'GetSystemMetrics', 'l' , 'l')
GetDC = Win32API.new('user32', 'GetDC' , 'l' , 'l')
FillRect = Win32API.new('user32', 'FillRect' , 'lpl' , 'l')
CreateSolidBrush = Win32API.new('gdi32' , 'CreateSolidBrush', 'l' , 'l')
if first_start = !method_defined?(:zeus81_fullscreen_update)
@@MainWindow = FindWindow.call('RGSS Player', 0)
@@BackWindow = CreateWindowEx.call(0x08000008, 'Static', '', 0x80000000, 0, 0, 0, 0, 0, 0, 0, 0)
@@FillRectArgs = [GetDC.call(@@BackWindow), [0,0,0xFFFF,0xFFFF].pack('L4'), CreateSolidBrush.call(0)]
@@fullscreen = false
alias zeus81_fullscreen_resize_screen resize_screen
alias zeus81_fullscreen_update update
end
def update
zeus81_fullscreen_update
toggle_mode if Input.trigger?(Input::F5)
end
def resize_screen(width, height)
zeus81_fullscreen_resize_screen(width, height)
fullscreen_mode if fullscreen?
end
def fullscreen?() @@fullscreen end
def toggle_mode() fullscreen? ? windowed_mode : fullscreen_mode end
def fullscreen_mode
client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
w, h = client_w, client_w * height / width
h, w = client_h, client_h * width / height if h > client_h
ShowWindow.call(@@BackWindow, 3)
UpdateWindow.call(@@BackWindow)
FillRect.call(*@@FillRectArgs)
SetWindowPos.call(@@MainWindow, -1, (client_w-w)/2, (client_h-h)/2, w, h, 0)
SetWindowLong.call(@@MainWindow, -16, 0x14000000)
@@fullscreen = true
end
def windowed_mode
client_w, client_h = GetSystemMetrics.call(0), GetSystemMetrics.call(1)
w = width + (GetSystemMetrics.call(5)+2)*2
h = height + (GetSystemMetrics.call(6)+2)*2 + GetSystemMetrics.call(4)
ShowWindow.call(@@BackWindow, 0)
SetWindowPos.call(@@MainWindow, -2, (client_w-w)/2, (client_h-h)/2, w, h, 0)
SetWindowLong.call(@@MainWindow, -16, 0x14CA0000)
@@fullscreen = false
end
Graphics.fullscreen_mode if first_start and fullscreen_start
end |
Mis à jour le 4 juillet 2020.
|
FoxFiesta -
posté le 05/02/2012 à 16:35:02 (443 messages postés)
| | 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)
| | Y'a rien à faire pour désactiver l'ancien mode.
|
Itemporel -
posté le 09/02/2012 à 21:17:42 (211 messages postés)
| | Plus les scripts sont simples, plus ils sont intéressant...
|
Zeus81 -
posté le 14/06/2013 à 17:14:22 (11071 messages postés)
| | 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)
| | Où doit-on mettre ce script svp? merci d'avance
|
Zeus81 -
posté le 23/08/2013 à 16:13:19 (11071 messages postés)
| | 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".
|
| Chanter l'hyperchleuasme | yulemath a dit: Où doit-on mettre ce script svp? |
|
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)
| 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)
| | 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)
| 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?
|
(Les Trésors De Nilo 10%) (Life Sim 4%) |
Mrludo -
posté le 13/01/2016 à 20:14:54 (1 messages postés)
| | 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)
| | 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?
|
meme chose pour moi ...
|
ray-yami2 -
posté le 15/10/2019 à 22:05:02 (32 messages postés)
| | Existe t'il sous XP ? Merci d'avance
|
Ichiro -
posté le 10/10/2020 à 21:10:26 (12 messages postés)
| 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)
| | 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!
| |
|
|