❤ 0 Auteur : Moghunter
Logiciel : RPG Maker VX Ace
Nombre de scripts : 1
Source : https://mogplugins.wordpress.com/rpg-maker-vx-ace/
Description
Il permet de désactiver les événements en processus parallèle, ce qui permet de réduire le lag sur de grandes maps.
Conditions d'utilisation
- Vous devez créditer l'auteur.
- Vous pouvez utiliser ce script dans vos projets commerciaux.
- Vous pouvez utiliser ce script dans un jeu pour adulte.
- Vous pouvez traduire ce script.
- Vous pouvez éditer ce script pour vos besoins.
- Vous pouvez distribuer le script dans sa version originale/modifiée, tant que le nom de l'auteur et l'adresse du site sont conservés
- Vous ne pouvez pas vendre ce script/demander des donations.
Installation
A placer au-dessus de Main.
Utilisation
Faites un événement en appel de script puis entrez cette ligne (true pour activer, false pour désactiver) :
1
| $game_system.anti_lag = true |
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
| #==============================================================================
# +++ MOG - Simple Anti Lag (V2.1) +++
#==============================================================================
# By Moghunter
# https://atelierrgss.wordpress.com/
# https://mogplugins.wordpress.com/
#==============================================================================
# Sistema de antilag. Basicamente faz com que o sistema não atualize os eventos
# fora da tela.
#==============================================================================
# Commande à entrer dans un commentaire pour forcer un événement à se mettre à jour quand il ne se trouve pas dans le champ de vision du joueur.
#
# <Force Update>
#
#==============================================================================
# Commande à entrer en appel de script pour activer ou désactiver l'anti lag.
#
# $game_system.anti_lag = true
#
#==============================================================================
# NOTA - Este script não funciona em mapas com efeito LOOP.
#
#==============================================================================
# â— Version History
#==============================================================================
# 2.1 - Compatibilidade com resoluções maiores que o padrão.
#==============================================================================
module MOG_ANTI_LAG
#Area que será atualizada fora da tela.
UPDATE_OUT_SCREEN_RANGE = 3
end
$imported = {} if $imported.nil?
$imported[:mog_anti_lag] = true
#==============================================================================
# â– Game_System
#==============================================================================
class Game_System
attr_accessor :anti_lag
#--------------------------------------------------------------------------
# â— Initialize
#--------------------------------------------------------------------------
alias mog_antilag_initialize initialize
def initialize
@anti_lag = true
mog_antilag_initialize
end
end
#==============================================================================
# â– Game CharacterBase
#==============================================================================
class Game_CharacterBase
attr_accessor :force_update
attr_accessor :can_update
#--------------------------------------------------------------------------
# â— Init Public Members
#--------------------------------------------------------------------------
alias mog_antilag_init_public_members init_public_members
def init_public_members
mog_antilag_init_public_members
@force_update = false ; @can_update = true
end
end
#==============================================================================
# â– Game_Character
#==============================================================================
class Game_Event < Game_Character
#--------------------------------------------------------------------------
# â— Initialize
#--------------------------------------------------------------------------
alias mog_anti_lag_initialize initialize
def initialize(map_id, event)
mog_anti_lag_initialize(map_id, event)
anti_lag_initial_setup
end
#--------------------------------------------------------------------------
# â— Setup Page Setting
#--------------------------------------------------------------------------
alias mog_antilag_setup_page_settings setup_page_settings
def setup_page_settings
mog_antilag_setup_page_settings
set_force_update
end
#--------------------------------------------------------------------------
# â— Set Force Update
#--------------------------------------------------------------------------
def set_force_update
return if @list == nil
for command in @list
if command.code == 108
@force_update = true if command.parameters[0] =~ /<Force Update>/
end
end
end
#--------------------------------------------------------------------------
# â— Anti Lag Initial Setup
#--------------------------------------------------------------------------
def anti_lag_initial_setup
@can_update = true, rg = [(Graphics.width / 32) - 1, (Graphics.height / 32) - 1]
@loop_map = ($game_map.loop_horizontal? or $game_map.loop_vertical?) ? true : false
out_screen = MOG_ANTI_LAG::UPDATE_OUT_SCREEN_RANGE
@antilag_range = [-out_screen, rg[0] + out_screen,rg[1] + out_screen]
end
#--------------------------------------------------------------------------
# â— Anti Lag Force Update
#--------------------------------------------------------------------------
def antilag_force_update?
return true if !$game_system.anti_lag
return true if @loop_map
return true if @force_update
return true if @trigger != nil and @trigger >= 3
return true if anti_lag_event_on_screen?
return false
end
#--------------------------------------------------------------------------
# â— Anti Lag Event On Screen?
#--------------------------------------------------------------------------
def anti_lag_event_on_screen?
distance_x = @x - ($game_map.display_x).truncate
distance_y = @y - ($game_map.display_y).truncate
if distance_x.between?(@antilag_range[0], @antilag_range[1]) and
distance_y.between?(@antilag_range[0], @antilag_range[2])
return true
end
return false
end
#--------------------------------------------------------------------------
# â— Update
#--------------------------------------------------------------------------
alias mog_anti_lag_update update
def update
@can_update = antilag_force_update?
return if !@can_update
mog_anti_lag_update
end
end
#==============================================================================
# â– Sprite Character
#==============================================================================
class Sprite_Character < Sprite_Base
#--------------------------------------------------------------------------
# â— Check Can Update Sprite
#--------------------------------------------------------------------------
def check_can_update_sprite
reset_sprite_effects if (self.visible and !@character.can_update)
self.visible = @character.can_update
@balloon_sprite.visible = self.visible if @balloon_sprite != nil
end
#--------------------------------------------------------------------------
# â— Reset Sprite Effects
#--------------------------------------------------------------------------
def reset_sprite_effects
dispose_animation ; dispose_balloon
end
#--------------------------------------------------------------------------
# â— Update
#--------------------------------------------------------------------------
alias mog_anti_lag_update update
def update
if @character.is_a?(Game_Event)
check_can_update_sprite
return if !self.visible
end
mog_anti_lag_update
end
end |
Mis à jour le 14 juillet 2023.
|