Últimos temas
» Necesito Charas de Aves para VX
por ChronoTXT Hoy a las 2:17 am

» Ayuda con el temporizador
por navivy Ayer a las 9:44 pm

» Eventos comunes que siga en todo los mapas
por navivy Ayer a las 5:11 pm

» [MV]Butterfly Paradox
por DopellSerch Mar Sep 17, 2019 6:29 am

» INSANE (juego de terror y puzzles)
por GRECO21 Lun Sep 16, 2019 4:25 am

» [Engine Vx Ace] Forzar Cerraduras (Versión 1.3)
por IvalteK_Dev Dom Sep 15, 2019 10:48 pm

» Como cambio esto?...
por Shy_Cream Dom Sep 15, 2019 9:05 pm

» [MV] ¿Cómo mover un sprite?
por DopellSerch Dom Sep 15, 2019 8:14 pm

» Zaza no konpasu (La Brújula de Zaza) [VXACE]
por Pocari Dom Sep 15, 2019 7:17 pm

» Pokemon Destiny
por Xaveguex Dom Sep 15, 2019 7:07 pm

» El Dia Z - Demo
por EdwarPlay Sáb Sep 14, 2019 8:08 pm

» Animación Habilidad de Enemigos RPGMAKER VX ACE
por Metatron Sáb Sep 14, 2019 3:16 am


[VX] Antilag

Ir abajo

[VX] Antilag Empty [VX] Antilag

Mensaje por Alojzy el Lun Mar 10, 2014 2:44 pm

Hola!

Aquí traigo un script que reduce el lag al jugar/testear nuestro proyecto

Script:

Código:
#==========================================================================
# Anti-Lag Script
#==========================================================================
# Creado por: Drizz
# Basado en el script de RMXP, de Near Fantastica's
# Versión Beta
# Traducción: Alojzy
#==========================================================================
 
module GameBaker
  AntiLagDisable = 0
  AntiLagModifierX = 408
  AntiLagModifierWidth = 272
  AntiLagModifierY = 272
  AntiLagModifierHeight = 408
  AntiLagNeverEvent = '@'
end
 
class Game_CommonEvent
  alias gamebaker_antilag_commonrefresh refresh
  def refresh
    gamebaker_antilag_commonrefresh
    #if self.trigger == 1
    #  gamebaker_antilag_add if $game_switches[common_event.switch_id]
    #  gamebaker_antilag_remove if !$game_switches[common_event.switch_id]
    #else
      gamebaker_antilag_add if @interpreter
      gamebaker_antilag_remove if !@interpreter
    #end
  end
 
  def gamebaker_antilag_remove
    return if !$game_map.gb_antilagcommons.include?(@common_event_id)
    $game_map.gb_antilagcommons -= [@common_event_id]
  end
 
  def gamebaker_antilag_add
    return if $game_map.gb_antilagcommons.include?(@common_event_id)
    $game_map.gb_antilagcommons += [@common_event_id]
  end
end
 
class Game_Event
  alias gamebaker_antilag_init initialize
  def initialize(map_id, event)
    gamebaker_antilag_init(map_id, event)
    if event.name.include?(GameBaker::AntiLagNeverEvent)
      $game_map.gb_antilagnever += [@id]
    end
  end
 
  alias gamebaker_antilag_evsetup setup
  def setup(new_page)
    gamebaker_antilag_evsetup(new_page)
    if @trigger == 3 or @trigger == 4
      if !$game_map.gb_antilagevents.include?(@id)
        $game_map.gb_antilagevents += [@id]
      end
    else
      if $game_map.gb_antilagevents.include?(@id)
        $game_map.gb_antilagevents -= [@id]
      end
    end
    if @character_name == "" && @tile_id == 0
      if !$game_map.gb_antilagnever2.include?(@id)
        $game_map.gb_antilagnever2 += [@id]
      end
    else
      if $game_map.gb_antilagnever2.include?(@id)
        $game_map.gb_antilagnever2 -= [@id]
      end
    end
  end
end
 
class Game_Map
  attr_accessor :gb_antilagcommons, :gb_antilagevents,
                :gb_antilagnever, :gb_antilagnever2
 
  def gamebaker_antilag?(sg)
    return false if sg.real_x < @gb_antilagscreen_x or
                    sg.real_x > @gb_antilagscreen_width or
                    sg.real_y < @gb_antilagscreen_y or
                    sg.real_y > @gb_antilagscreen_height
    return true
  end
 
  def gamebaker_antilag2?(sg)
    return @gb_antilagevents.include?(sg.id)
  end
 
  alias gamebaker_antilag_setupev setup_events
  def setup_events
    gamebaker_antilag_getscreen
    @gb_antilagevents = []
    @gb_antilagnever = []
    @gb_antilagnever2 = []
    @gb_antilagcommons = [] if !@gb_antilagcommons
    gamebaker_antilag_setupev
  end
 
  def gamebaker_antilag_getscreen
    @gb_antilagscreen_x = @display_x - GameBaker::AntiLagModifierX
    @gb_antilagscreen_y = @display_y - GameBaker::AntiLagModifierY
    @gb_antilagscreen_width =
      @display_x + (Graphics.width * 8) + GameBaker::AntiLagModifierWidth
    @gb_antilagscreen_height =
      @display_y + (Graphics.height * 8) + GameBaker::AntiLagModifierHeight
  end
 
  alias gamebaker_antilag_ue update_events
  def update_events
    return gamebaker_antilag_ue if $game_switches[GameBaker::AntiLagDisable]
    gamebaker_antilag_getscreen
    if @gb_antilagnever != []
      for i in @events.values
        next if @gb_antilagnever.include?(i.id)
        i.update if gamebaker_antilag?(i) or @gb_antilagevents.include?(i.id)
      end
    else
      for i in @events.values
        i.update if gamebaker_antilag?(i) or @gb_antilagevents.include?(i.id)
      end
    end
    for i in 0...@gb_antilagcommons.size
      @common_events[@gb_antilagcommons[i]].update
    end
  end
end
 
class Spriteset_Map
  alias gamebaker_antilag_uc update_characters
  def update_characters
    return gamebaker_antilag_uc if $game_switches[GameBaker::AntiLagDisable]
    sg = $game_map.gb_antilagnever2
    for sprite in @character_sprites
      next if sg.include?(sprite.character.id)
      if $game_map.gamebaker_antilag?(sprite.character) or
        $game_map.gamebaker_antilag2?(sprite.character)
        sprite.update
      end
    end
  end
end

Instrucciones:
- Pegar encima de Main

Créditos:
- Drizz (Creación)
- LegendX (Developer)
- Alojzy (Traducciones menores)

Eso es todo, cualquier duda, presentadla!

Un saludo!

_________________
Staff tú tienes que comprender, mi firma se pasa en excesooo:

==========================================================================
[VX] Antilag Farachel 

Nadie sabe que le pasó a esta mujer...
Las leyendas de Magvel dicen que tuvo una explosión cerebral causada por el torso desnudo de Ephraim, otros dicen que El Rey Demonio la tiene poseída, ¿quién sabe?... 
==========================================================================
Alojzy
Alojzy
Moderador
Moderador

Masculino
Chile
RPG Maker : Xp
Mensajes : 297
Monedas : 223
Reputación : 59
Edad : 28
Localización : Ginnungagap.

Volver arriba Ir abajo

Volver arriba


 
Permisos de este foro:
No puedes responder a temas en este foro.