Final Fantasy RPG Maker

Anti Lag

Copiez tout simplement ce script dans un nouveau script nommé Game_Map et placez-le au dessus du script MAIN.

#======================================
# ¦ Anti Event Lag Script
#======================================
# By: Near Fantastica
# Date: 12.06.05
# Version: 3
# Addon by Rabu
#======================================
# Addon: Auch Events werden upgedatet die ausserhalb des range?-Bereichs
# liegen, aber als erste Event-Zeile einen "comment"-Befehl beinhalten.
# Also Events will be updated, that have a "Comment"-command
# in the first line of the event - (inspired by Rataime)
#======================================
# ¦ Game_Map
#======================================
 
class Game_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map.display_x
screne_x -= 256
screne_y = $game_map.display_y
screne_y -= 256
screne_width = $game_map.display_x
screne_width += 2816
screne_height = $game_map.display_y
screne_height += 2176
return false if object&#46;real_x <= screne_x
return false if object&#46;real_x >= screne_width
return false if object&#46;real_y <= screne_y
return false if object&#46;real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update
if $game_map&#46;need_refresh
refresh
end
if @scroll_rest > 0
distance = 2 ** @scroll_speed
case @scroll_direction
when 2
scroll_down(distance)
when 4
scroll_left(distance)
when 6
scroll_right(distance)
when 8
scroll_up(distance)
end
@scroll_rest -= distance
end
for event in @events&#46;values
#===== Änderung / Modification- Rabu ==========
if in_range?(event) or event&#46;trigger == 3 or event&#46;trigger == 4 or (event&#46;list!=nil and event&#46;list&#91;0&#93;&#46;code == 108)
#==============================================
event&#46;update
end
end
for common_event in @common_events&#46;values
common_event&#46;update
end
@fog_ox -= @fog_sx / 8&#46;0
@fog_oy -= @fog_sy / 8&#46;0
if @fog_tone_duration >= 1
d = @fog_tone_duration
target = @fog_tone_target
@fog_tone&#46;red = (@fog_tone&#46;red * (d - 1) + target&#46;red) / d
@fog_tone&#46;green = (@fog_tone&#46;green * (d - 1) + target&#46;green) / d
@fog_tone&#46;blue = (@fog_tone&#46;blue * (d - 1) + target&#46;blue) / d
@fog_tone&#46;gray = (@fog_tone&#46;gray * (d - 1) + target&#46;gray) / d
@fog_tone_duration -= 1
end
if @fog_opacity_duration >= 1
d = @fog_opacity_duration
@fog_opacity = (@fog_opacity * (d - 1) + @fog_opacity_target) / d
@fog_opacity_duration -= 1
end
end
end
 
#======================================
# ¦ Spriteset_Map
#======================================
 
class Spriteset_Map
#--------------------------------------------------------------------------
def in_range?(object)
screne_x = $game_map&#46;display_x
screne_x -= 256
screne_y = $game_map&#46;display_y
screne_y -= 256
screne_width = $game_map&#46;display_x
screne_width += 2816
screne_height = $game_map&#46;display_y
screne_height += 2176
return false if object&#46;real_x <= screne_x
return false if object&#46;real_x >= screne_width
return false if object&#46;real_y <= screne_y
return false if object&#46;real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update
if @panorama_name != $game_map&#46;panorama_name or
@panorama_hue != $game_map&#46;panorama_hue
@panorama_name = $game_map&#46;panorama_name
@panorama_hue = $game_map&#46;panorama_hue
if @panorama&#46;bitmap != nil
@panorama&#46;bitmap&#46;dispose
@panorama&#46;bitmap = nil
end
if @panorama_name != ""
@panorama&#46;bitmap = RPG&#58;&#58;Cache&#46;panorama(@panorama_name, @panorama_hue)
end
Graphics&#46;frame_reset
end
if @fog_name != $game_map&#46;fog_name or @fog_hue != $game_map&#46;fog_hue
@fog_name = $game_map&#46;fog_name
@fog_hue = $game_map&#46;fog_hue
if @fog&#46;bitmap != nil
@fog&#46;bitmap&#46;dispose
@fog&#46;bitmap = nil
end
if @fog_name != ""
@fog&#46;bitmap = RPG&#58;&#58;Cache&#46;fog(@fog_name, @fog_hue)
end
Graphics&#46;frame_reset
end
@tilemap&#46;ox = $game_map&#46;display_x / 4
@tilemap&#46;oy = $game_map&#46;display_y / 4
@tilemap&#46;update
@panorama&#46;ox = $game_map&#46;display_x / 8
@panorama&#46;oy = $game_map&#46;display_y / 8
@fog&#46;zoom_x = $game_map&#46;fog_zoom / 100&#46;0
@fog&#46;zoom_y = $game_map&#46;fog_zoom / 100&#46;0
@fog&#46;opacity = $game_map&#46;fog_opacity
@fog&#46;blend_type = $game_map&#46;fog_blend_type
@fog&#46;ox = $game_map&#46;display_x / 4 + $game_map&#46;fog_ox
@fog&#46;oy = $game_map&#46;display_y / 4 + $game_map&#46;fog_oy
@fog&#46;tone = $game_map&#46;fog_tone
i=0
for sprite in @character_sprites
if sprite&#46;character&#46;is_a?(Game_Event)
#===== Änderung / Modification- Rabu ==========
if in_range?(sprite&#46;character) or sprite&#46;character&#46;trigger == 3 or sprite&#46;character&#46;trigger == 4 or (sprite&#46;character&#46;list!=nil and sprite&#46;character&#46;list&#91;0&#93;&#46;code == 108)
#==============================================
sprite&#46;update
i+=1
end
else
sprite&#46;update
i+=1
end
end
#p i
@weather&#46;type = $game_screen&#46;weather_type
@weather&#46;max = $game_screen&#46;weather_max
@weather&#46;ox = $game_map&#46;display_x / 4
@weather&#46;oy = $game_map&#46;display_y / 4
@weather&#46;update
for sprite in @picture_sprites
sprite&#46;update
end
@timer_sprite&#46;update
@viewport1&#46;tone = $game_screen&#46;tone
@viewport1&#46;ox = $game_screen&#46;shake
@viewport3&#46;color = $game_screen&#46;flash_color
@viewport1&#46;update
@viewport3&#46;update
end
end



Isuus de ce site: http://www.rpg-maker.fr/index.php?page=scripts&id=35
Il paraît que sa marche donc voila je le poste.


Ajouté par Lawrence
le 20/11/2007 à 17:37:22
Vu 8882 fois
Dernière modification par Lawrence
le 20/11/2007 à 21:51:07


(édité 1 fois !)




Page générée en 0.0001 secondes
©2011 Site créé par Martial, le Webmaster
Me contacter - Livre d'or - Forum - Plan du site
Mentions légales - Remerciements
Final-RPG