¡Bienvenido a Universo Maker!
¿Es esta la primera vez que visitas el foro? Si es así te recomendamos que te registres para tener completo acceso a todas las áreas y secciones del foro, así también podrás participar activamente en la comunidad. Si ya tienes una cuenta, conectate cuanto antes.
Iniciar Sesión Registrarme

No estás conectado. Conéctate o registrate

Ver el tema anterior Ver el tema siguiente Ir abajo Mensaje [Página 1 de 1.]

#1 Blizz-ABS Event Anti-Lag el Miér Nov 11, 2015 2:47 am

Reputación del mensaje :100% (1 voto)

LuRen

avatar

 
BLIZZ-ABS ANTI-LAG
 RPG Maker XP
Este es un script anti-lag Ópalo Sonrisa Grande.
 
Sobre el Script:
Este script reduce el lag causado por multiples eventos en el mapa. Al parecer deshabilita los eventos mas allá de la pantalla visible, substituyendolos por un controlador que maneja los sprites. En este caso no me parece práctico poner imagenes (¿como puedo mostrar adecuadamente el lag y el anti-lag en imagenes? Ópalo Sonrisa Grande), asi que en su lugar pongo la demo disponible con el script.

Esta es la publicación original, que contiene más información sobre la licencia, y detalles adicionales de compatibilidad.
Demo:
Spoiler:

Si tuvieran problemas al ver las letras o algo, solo creen un nuevo proyecto y reemplacen las carpetas con las de esta demo.
Instrucciones:
♦️ Pasos: Ve al editor de script y luego haz click derecho sobre Main. Elige "Insertar" y en ese nuevo espacio pega el script. Eso es todo.
Código:

Código:
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
# Blizz-ABS Event Anti-Lag (ABSEAL) by Blizzard
# Version: 3.0b
# Type: Performance Improving System
# Date: 25.10.2006
# Date v2.0: 16.8.2007
# Date v3.0: 6.5.2008
# Date v3.0b: 14.7.2008
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#  
#  This work is protected by the following license:
# #----------------------------------------------------------------------------
# #  
# #  Creative Commons - Attribution-NonCommercial-ShareAlike 3.0 Unported
# #  ( http://creativecommons.org/licenses/by-nc-sa/3.0/ )
# #  
# #  You are free:
# #  
# #  to Share - to copy, distribute and transmit the work
# #  to Remix - to adapt the work
# #  
# #  Under the following conditions:
# #  
# #  Attribution. You must attribute the work in the manner specified by the
# #  author or licensor (but not in any way that suggests that they endorse you
# #  or your use of the work).
# #  
# #  Noncommercial. You may not use this work for commercial purposes.
# #  
# #  Share alike. If you alter, transform, or build upon this work, you may
# #  distribute the resulting work only under the same or similar license to
# #  this one.
# #  
# #  - For any reuse or distribution, you must make clear to others the license
# #    terms of this work. The best way to do this is with a link to this web
# #    page.
# #  
# #  - Any of the above conditions can be waived if you get permission from the
# #    copyright holder.
# #  
# #  - Nothing in this license impairs or restricts the author's moral rights.
# #  
# #----------------------------------------------------------------------------
#
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=
#
# IMPORTANT NOTE:
#
#   This EAL is a simplified version of Blizz-ABS's original EAL. If you are
#   using Blizz-ABS, please remove this script. Blizz-ABS has the full version
#   of Blizz-ABSEAL built-in.
#
#
# Compatibility:
#
#   99% compatible with SDK v1.x. 80% compatible with SDK v2.x. Can cause
#   incompatibility issues with map graphic manipulating scripts. This script
#   comes UNDER all scripts that manipulate the Sprite_Character class.
#   Can cause problems with Scripts that manipulate instances of the
#   Sprite_Character class from the "outside".
#
#
# Advantages compared to other Anti-Lag Systems:
#
#   - much more compatible
#   - faster and better processing
#   - about 5 times less code
#   - built-in option to disable in specific maps
#   - maximum possible performance
#
# new in 2.0:
#   - an incredible performance improvement was achieved through a new system
#
# new in 3.0:
#   - increased performance improvement to the highest possible level
#   - new smart system: no need to configure the strength anymore
#
# new in 3.0b:
#   - disallows the usage of this script if Blizz-ABS is already installed
#   - now beta
#
#
# Explanation:
#
#   This script will decrease the lag caused by events on the map by disabling
#   the update of events beyond the visible screen when their sprite is not
#   visible on the screen anymore. All graphical sprites for events are
#   substituted with a controller that handles those sprites. If an event's
#   update is disabled, the event's sprite will be disposed and completely
#   removed from the memory. "Auto-Start" and "Parallel Process" events are NOT
#   affected by this script. If a character is moving outside of the screen, he
#   will be updated as event, but not as sprite.
#
#
# Configuration:
#
#   NO_ABSEAL_IDS - Add any map IDs and separate them with commas if you want
#                   to turn off Blizz-ABSEAL in those maps.
#       AUTO_KILL - If you turn this on, all events without a spriteset will be
#                   stopped updating automatically. If you need invisible
#                   events, use any spriteset with opacity = 0 in this case or
#                   even better a 8x4 pixel-sized empty dummy spriteset. This
#                   does not affect "Auto-Start" and "Parallel Processes".
#
#
# If you find any bugs, please report them here:
# http://forum.chaos-project.com
#:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=:=

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# START Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

NO_ABSEAL_IDS = []
AUTO_KILL = false

#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
# END Configuration
#::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::

if $BlizzABS
  raise 'Blizz-ABS was detected! Please remove the additional Blizz-ABSEAL!'
end

#==============================================================================
# Game_Character
#==============================================================================

class Game_Character
  
  attr_accessor :sprite_size
  
  alias init_abseal_later initialize
  def initialize
    @sprite_size = [0, 1600, 0, 1600]
    init_abseal_later
  end
  
end
  
#==============================================================================
# Game_Event
#==============================================================================

class Game_Event < Game_Character
  
  alias upd_player_abseal_later update
  def update
    upd_player_abseal_later if self.update? || self.moving?
  end
  
  def update?
    return true if NO_ABSEAL_IDS.include?($game_map.map_id)
    return true if [3, 4].include?(self.trigger)
    return false if AUTO_KILL && @character_name == '' && @tile_id < 384
    return false if @real_x >= $game_map.display_x + 20 * 128 - @sprite_size[0]
    return false if @real_x < $game_map.display_x - @sprite_size[1]
    return false if @real_y >= $game_map.display_y + 15 * 128 - @sprite_size[2]
    return false if @real_y < $game_map.display_y - @sprite_size[3]
    return true
  end
  
end

#==============================================================================
# Control_Sprite_Character
#==============================================================================

class Control_Sprite_Character
  
  attr_reader :character
  
  def initialize(viewport, character = nil)
    self.character = character
    @viewport = viewport
  end
  
  def character=(char)
    @character = char
    @sprite.character = char unless @sprite == nil
  end
  
  def update
    if @character != nil && (@character.is_a?(Game_Event) &&
        @character.update? || !@character.is_a?(Game_Event))
      if @sprite == nil || @sprite.disposed?
        @sprite = Sprite_Character_ABSEAL_ed.new(@viewport, @character)
      else
        @sprite.update
      end
      if @sprite.bitmap != nil
        @character.sprite_size = [64-@sprite.src_rect.width*2,
            60+@sprite.src_rect.width*2, 128-@sprite.src_rect.height*4, 124]
        if @character.is_a?(Game_Event) && !@character.update?
          @sprite.dispose unless @sprite.disposed?
          @sprite = nil
        end
      else
        @character.size = [0, 124, 0, 124]
      end
    elsif @sprite != nil
      @sprite.dispose unless @sprite.disposed?
      @sprite = nil
    end
  end
  
  def dispose
    unless @sprite == nil || @sprite.disposed?
      @sprite.dispose
      @sprite = nil
    end
  end
  
end

#==============================================================================
# Sprite_Character_ABSEAL_ed
#==============================================================================

class Sprite_Character_ABSEAL_ed < Sprite_Character
  
end

#==============================================================================
# Sprite_Character
#==============================================================================

class Sprite_Character < Control_Sprite_Character
  
end
   
Créditos:
Créditos a Blizzard

Saludos. Opalo Hola

#2 Re: Blizz-ABS Event Anti-Lag el Miér Nov 11, 2015 5:24 pm

Matimike

avatar
¡Llevaba buscando un script asi desde hace tiempo! Me servira de mucho Ópalo Reputación

Ver el tema anterior Ver el tema siguiente Volver arriba  Mensaje [Página 1 de 1.]

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