O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

Translocação aleatoria

Iniciado por Blackmege, 18/03/2016 às 20:32

18/03/2016 às 20:32 Última edição: 19/03/2016 às 14:47 por Blackmege
ola esse e um scripit onde o evento transloca aleatoriamente a qualquer lugar do mapa perfeito para slenders
#==============================================================================
#   XaiL System - Random Event Positions
#   Author: Nicke
#   Created: 04/11/2012
#   Edited: 06/11/2012
#   Version: 1.0
#==============================================================================
# Instructions
# -----------------------------------------------------------------------------
# To install this script, open up your script editor and copy/paste this script
# to an open slot below ? Materials but above ? Main. Remember to save.
#==============================================================================
# Requires: XS - Core Script.
#==============================================================================
# The snippet enables you to specify a permanent random location in a
# region tile, for a specific event using a comment:
# <RANDOM_POS: n>
#
# Examples:
# <RANDOM_POS: 1> Enables the event to spawn at random location inside region id 1.
# <RANDOM_POS: 9> Enables the event to spawn at random location inside region id 9.
#
# This can be neat if you want to include a bit more randomness inside your
# game.
#
# *** Only for RPG Maker VX Ace. ***
#==============================================================================
($imported ||= {})["XAIL-RAND-EVT-POS"] = true
# *** Don't edit below unless you know what you are doing. ***
#==============================================================================#
# ** Error Handler
#==============================================================================#
  unless $imported["XAIL-XS-CORE"]
    # // Error handler when XS - Core is not installed.
    msg = "The script %s requires the latest version of XS - Core in order to function properly."
    name = "XS - Random Event Positions"
    msgbox(sprintf(msg, name))
    exit
  end
#==============================================================================#
# ** Game_System
#==============================================================================#
class Game_System
  
  attr_accessor :random_event_pos
  
  alias xail_rand_evt_gm_sys_init initialize
  def initialize(*args, &block)
    # // Method to initialize game system.
    xail_rand_evt_gm_sys_init(*args, &block)
    @random_event_pos = {}
  end
  
end
#==============================================================================#
# ** Game_Map
#==============================================================================#
class Game_Map
  
  def random_region_tile(id)
    # // Method to get random tile in specified region id.
    reg_tiles = []
    for x in 0...width
      for y in 0...height
        next unless region_id(x, y) == id
        next if x == $game_player.x and y == $game_player.y
        next if $game_player.collide_with_characters?(x, y)
        reg_tiles << ([x, y])
      end
    end
    return reg_tiles.sample
  end
  
end
#==============================================================================#
# ** Game_Event
#==============================================================================#
class Game_Event < Game_Character
  
  alias xail_rand_evt_pos_setup_page_settings setup_page_settings
  def setup_page_settings(*args, &block)
    # // Method to setup page settings for the event.
    xail_rand_evt_pos_setup_page_settings(*args, &block)
    random_pos(comment_int?("RANDOM_POS"))
  end
  
  def random_pos(id)
    # // Method to determine random spawn location.
    pos = $game_map.random_region_tile(id)
    return if pos.nil? or id == 0
    if $game_system.random_event_pos[[@map_id, @id]].nil?
      $game_system.random_event_pos[[@map_id, @id]] = [pos[0], pos[1]]
      moveto(pos[0],pos[1])
    else
      x = $game_system.random_event_pos[[@map_id, @id]][0]
      y = $game_system.random_event_pos[[@map_id, @id]][1]
      moveto(x, y)
    end
  end
  
end # END OF FILE

#=*==========================================================================*=#
# ** END OF FILE
#=*==========================================================================*=#

agradecimentos:Eu:por desponibilizar,Xail(por fazer) [user]Blackmege[/user]
[button]https://www.youtube.com/watch?v=-wN_vxQWYs0 :rainbow:[/button]
Master_Ilutium-Ilutium games

Hm, bem, não leu o que foi dito no tópico anterior não?

Você já foi advertido sobre postagens de scripts de terceiros aqui no fórum. Tem a permissão do autor? Se tem, ele lhe permitiu divulgar o script sem creditação? Imagino que não, então você esta implicitamente violando as regras, pois a partir do momento em que divulga algo sem creditação, pode estar tomando como de sua autoria, oque pode ser considerado errado.

E também foi dito para usar a tag de códigos...

Cuidado, mas um erro desses e você poderá ser punido, deixarei esta mensagem como um último aviso. Isso não é falta de tolerância, pois você já foi alertado e cometeu o mesmo erro seguidamente. Toma mais cuidado, beleza?  :ok: