Page 1 sur 1

[Autres]Anti Lag

Message Publié : 20 Nov 2007, 18:37
par Lawrence
Copiez tout simplement ce script dans un nouveau script nommé Game_Map et placez-le au dessus du script MAIN.

Code : Tout sélectionner
#======================================
# ¦ 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.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update
if $game_map.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.values
#===== Änderung / Modification- Rabu ==========
if in_range?(event) or event.trigger == 3 or event.trigger == 4 or (event.list!=nil and event.list[0].code == 108)
#==============================================
event.update
end
end
for common_event in @common_events.values
common_event.update
end
@fog_ox -= @fog_sx / 8.0
@fog_oy -= @fog_sy / 8.0
if @fog_tone_duration >= 1
d = @fog_tone_duration
target = @fog_tone_target
@fog_tone.red = (@fog_tone.red * (d - 1) + target.red) / d
@fog_tone.green = (@fog_tone.green * (d - 1) + target.green) / d
@fog_tone.blue = (@fog_tone.blue * (d - 1) + target.blue) / d
@fog_tone.gray = (@fog_tone.gray * (d - 1) + target.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.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.real_x <= screne_x
return false if object.real_x >= screne_width
return false if object.real_y <= screne_y
return false if object.real_y >= screne_height
return true
end
#--------------------------------------------------------------------------
def update
if @panorama_name != $game_map.panorama_name or
@panorama_hue != $game_map.panorama_hue
@panorama_name = $game_map.panorama_name
@panorama_hue = $game_map.panorama_hue
if @panorama.bitmap != nil
@panorama.bitmap.dispose
@panorama.bitmap = nil
end
if @panorama_name != ""
@panorama.bitmap = RPG::Cache.panorama(@panorama_name, @panorama_hue)
end
Graphics.frame_reset
end
if @fog_name != $game_map.fog_name or @fog_hue != $game_map.fog_hue
@fog_name = $game_map.fog_name
@fog_hue = $game_map.fog_hue
if @fog.bitmap != nil
@fog.bitmap.dispose
@fog.bitmap = nil
end
if @fog_name != ""
@fog.bitmap = RPG::Cache.fog(@fog_name, @fog_hue)
end
Graphics.frame_reset
end
@tilemap.ox = $game_map.display_x / 4
@tilemap.oy = $game_map.display_y / 4
@tilemap.update
@panorama.ox = $game_map.display_x / 8
@panorama.oy = $game_map.display_y / 8
@fog.zoom_x = $game_map.fog_zoom / 100.0
@fog.zoom_y = $game_map.fog_zoom / 100.0
@fog.opacity = $game_map.fog_opacity
@fog.blend_type = $game_map.fog_blend_type
@fog.ox = $game_map.display_x / 4 + $game_map.fog_ox
@fog.oy = $game_map.display_y / 4 + $game_map.fog_oy
@fog.tone = $game_map.fog_tone
i=0
for sprite in @character_sprites
if sprite.character.is_a?(Game_Event)
#===== Änderung / Modification- Rabu ==========
if in_range?(sprite.character) or sprite.character.trigger == 3 or sprite.character.trigger == 4 or (sprite.character.list!=nil and sprite.character.list[0].code == 108)
#==============================================
sprite.update
i+=1
end
else
sprite.update
i+=1
end
end
#p i
@weather.type = $game_screen.weather_type
@weather.max = $game_screen.weather_max
@weather.ox = $game_map.display_x / 4
@weather.oy = $game_map.display_y / 4
@weather.update
for sprite in @picture_sprites
sprite.update
end
@timer_sprite.update
@viewport1.tone = $game_screen.tone
@viewport1.ox = $game_screen.shake
@viewport3.color = $game_screen.flash_color
@viewport1.update
@viewport3.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.

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 18:42
par Martial
Je connaissais ce script ! Il est utilisé pour les grandes maps (comme les cartes du monde) lorsqu'elle contient beaucoup d'évènement !

Merci pour le script en tout cas :wink:

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 19:15
par Lawrence
Cela va de soit d'aider ces camarades!!

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 19:17
par leo
ah! c'est magnifique! dans une de mes villes de mon jeu (qui fait 186x120) avec plein d'evenements sa n'arrêtait pas de lager alors j'espere que ça marchera , en tout cas merci bien! :D
(quelques minutes plus tard)

bon j'ai dû mal comprendre car ça marche pas moi, pourtant j'ai bien mis un nouveau script en dessus de "Main" qui se trouve tout en bas ,j'ai nommé ce nouveau script Game_Map,et j'ai bien copié collé le script entier donné mais quand je démmarre le jeu ça me met ça :
leo1.png
Message d'erreur.

pour que vous puissiez comprendre mieux peut être je vous envoie ma page de script
leo2.png
Script "Anti-lag".

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 20:53
par Amathlog
Vire le "Script : Anti lag" en huat de ton script et ça marchera ! :D

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 21:59
par Lawrence
T'es sur qu'il faut supprimer le script anti lag en haut? Parce que si t'es vraiment sur je le supprime et je met la bonne version.
J'attent aussi la réponse de léo qui me dira si Amatholog à en effet raison.

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 22:41
par Martial
Oui, je peux t'affirmer que Amathlog à raison !

Cette ligne n'est pas en commentaire (il n'y a pas de "#" devant), par conséquent, le logiciel vas essayer de lire cette ligne. Or, cette ligne n'a rien à voir avec de la programmation en Ruby, elle fera planté le jeu !

Re: Anti Lag!!

Message Publié : 20 Nov 2007, 22:52
par Lawrence
Voila maintenant cela devrait fonctionnait
a+

Re: Anti Lag!!

Message Publié : 21 Nov 2007, 13:39
par leo
tout marche bien c'est parfait merci encore! :D