[Autres]Anti Lag

La section pour les scripts de RPG Maker XP !

[Autres]Anti Lag

Message par Lawrence » 20 Nov 2007, 18:37

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.
Dernière édition par Lawrence le 20 Nov 2007, 22:51, édité 1 fois.
Avatar de l’utilisateur
Lawrence
Membre privilégié
Membre privilégié
 
Message(s) : 359
Inscription : 07 Nov 2007, 19:05
Localisation : Marseille

Re: Anti Lag!!

Message par Martial » 20 Nov 2007, 18:42

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:
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Anti Lag!!

Message par Lawrence » 20 Nov 2007, 19:15

Cela va de soit d'aider ces camarades!!
Avatar de l’utilisateur
Lawrence
Membre privilégié
Membre privilégié
 
Message(s) : 359
Inscription : 07 Nov 2007, 19:05
Localisation : Marseille

Re: Anti Lag!!

Message par leo » 20 Nov 2007, 19:17

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".
Dernière édition par Martial le 20 Nov 2007, 21:26, édité 1 fois.
Raison : Essaye d'upload tes images directement sur le site ! Ainsi, les images seront directement redimensionnées (ça ne déformera pas l'écran) et, resteront éternellement ici (à moins que le site s'éffondre ^^) !
Avatar de l’utilisateur
leo
Membre privilégié
Membre privilégié
 
Message(s) : 203
Inscription : 17 Oct 2007, 13:28

Re: Anti Lag!!

Message par Amathlog » 20 Nov 2007, 20:53

Vire le "Script : Anti lag" en huat de ton script et ça marchera ! :D
Avatar de l’utilisateur
Amathlog
Modérateur
Modérateur
 
Message(s) : 1510
Inscription : 14 Jan 2007, 19:53
Meilleurs scores: 2

Re: Anti Lag!!

Message par Lawrence » 20 Nov 2007, 21:59

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.
Avatar de l’utilisateur
Lawrence
Membre privilégié
Membre privilégié
 
Message(s) : 359
Inscription : 07 Nov 2007, 19:05
Localisation : Marseille

Re: Anti Lag!!

Message par Martial » 20 Nov 2007, 22:41

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 !
L'important n'est pas de connaître mais de savoir trouver !
La gentillesse ou la franchise ? Que choisir ?
Vive les otakus !!
Retourner sur le site
Avatar de l’utilisateur
Martial
Administrateur
Administrateur
 
Message(s) : 2520
Inscription : 10 Nov 2006, 23:41
Localisation : Rambouillet
Meilleurs scores: 12

Re: Anti Lag!!

Message par Lawrence » 20 Nov 2007, 22:52

Voila maintenant cela devrait fonctionnait
a+
Avatar de l’utilisateur
Lawrence
Membre privilégié
Membre privilégié
 
Message(s) : 359
Inscription : 07 Nov 2007, 19:05
Localisation : Marseille

Re: Anti Lag!!

Message par leo » 21 Nov 2007, 13:39

tout marche bien c'est parfait merci encore! :D
Avatar de l’utilisateur
leo
Membre privilégié
Membre privilégié
 
Message(s) : 203
Inscription : 17 Oct 2007, 13:28


Retour vers Scripts (RGSS)

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit et 1 invité

cron