Você não está conectado. Conecte-se ou registre-se

Ver o tópico anterior Ver o tópico seguinte Ir em baixo  Mensagem [Página 1 de 1]

FrozenGraveyard

avatar
Membro Honorário I
Membro Honorário I
Amethyst Platform System 1.2
por Khas


Caracteristicas:

- Transforma mapas selecionados em Plataforma, estilo Super Mario
- Plug'n'Play
- Tecla de Pulo, força configuravel
- Sistema de gravidade, age sobre o jogador e eventos


Instruções de uso:

Código:
================================================================================
 Instruções - Instalação
================================================================================
 1 - Cole este script acima de todos os seus scripts adicionais
 2 - Configure-o na parte de configuração

================================================================================
 Instruções - Criando mapas
================================================================================
 Os tiles não passaveis serão a plataforma e os tiles passaveis são aonde
 o personagem pode cair\pular. Os eventos de mapa também sofrem ação da
 gravidade do sistema, ou seja, podem cair em buracos também


Script:

Código:
=begin
================================================================================
 Amethyst Platform System - Versão 1.2 RMVX - 25/03/2010
================================================================================

--------------------------------------------------------------------------------
 Creditos\Condições de uso
--------------------------------------------------------------------------------
 Criado por Khas.
 Todos os scripts Amethyst estão licenciados sobre Creative Commons
 Todos os scripts Amethyst só podem ser usados em projetos não-comerciais,
 caso use em projeto comercial envie uma PM com o pedido.
 
--------------------------------------------------------------------------------
 Caracteristicas
--------------------------------------------------------------------------------
 O Amethyst Platform System transforma os mapas selecionados na constante
 Amp_System_Maps (veja a parte de configuração) em mapas estilo plataforma.
 
--------------------------------------------------------------------------------
 Instruções - Instalação
--------------------------------------------------------------------------------
 1 - Cole este script acima de todos os seus scripts adicionais
 2 - Configure-o na parte de configuração

--------------------------------------------------------------------------------
 Instruções - Criando mapas
--------------------------------------------------------------------------------
 Os tiles não passaveis serão a plataforma e os tiles passaveis são aonde
 o personagem pode cair\pular. Os eventos de mapa também sofrem ação da
 gravidade do sistema, ou seja, podem cair em buracos também
 
--------------------------------------------------------------------------------
 Importante
--------------------------------------------------------------------------------
 Por algum motivo este script não reconhece os tiles não passaveis do TileA
 Então todo o mapeamento deve ser feito com os Tilesets restantes

--------------------------------------------------------------------------------
 Configuração
--------------------------------------------------------------------------------
=end
module Amp_Config
  # Mapas estilo plataforma, coloque o ID dentro do [], separados por virgulas
  Amp_System_Maps = [1,3,4]
  # Força da gravidade, varia de 0~2
  GForce = 1
  # Tecla para pular
  Jump_Key = Input::X
  # Força do pulo, valores de 0~5
  Jump_Force = 1
  # Som reproduzido ao pular
  Jump_Sound = "Jump1"
end
#-------------------------------------------------------------------------------
#      Não altere nada abaixo, a menos que saiba o que está fazendo!
#-------------------------------------------------------------------------------

$Amethyst_Scripts = {} if $Amethyst_Scripts.nil?
$Amethyst_Scripts["Am Platform System"] = ["1.2","25/03/2010"]

class Game_Character
  alias amp_original_initialize initialize
  alias amp_original_update update
  alias amp_original_move_up move_up
  alias amp_original_move_down move_down
  alias amp_original_move_left move_left
  alias amp_original_move_right move_right
  alias amp_original_move_random move_random
  alias amp_original_turn_random turn_random
  alias amp_original_move_toward_player move_toward_player
  alias amp_original_move_away_from_player move_away_from_player
  def amp_map?
    $game_map.nil? ? i = false : i = Amp_Config::Amp_System_Maps.include?($game_map.map_id)
    return i
  end
  def initialize
    if amp_map?
      @gforce = false; @nforce = false; @sforce = nil
    end
    amp_original_initialize
  end
  def update
    amp_original_update
    return unless amp_map?
    force_gravity if @gforce
    stop_gravity_force if @nforce
  end
  def force_gravity
    return if moving?
    @move_speed = Amp_Config::GForce+4
    @y = $game_map.round_y(@y+1)
    @real_y = (@y-1)*256
    if passable?(@x, @y+1); @gforce = true
      else; @nforce = true; @gforce = false
    end
  end
  def check_gravity_force
    if passable?(@x, @y+1)
      @sforce = @move_speed
      @gforce = true
      @walk_anime = false
    else
      check_event_trigger_touch(@x, @y+1)
    end
  end
  def stop_gravity_force
    return if moving?
    @nforce = false
    @gforce = false
    @walk_anime = true
    @move_speed = @sforce
    @sforce = nil
  end
  def move_up(turn_ok = true)
    amp_map? ? amp_move_up(turn_ok) : amp_original_move_up(turn_ok)
  end
  def move_down(turn_ok = true)
    amp_map? ? amp_move_down(turn_ok) : amp_original_move_down(turn_ok)
  end
  def move_left(turn_ok = true)
    amp_map? ? amp_move_left(turn_ok) : amp_original_move_left(turn_ok)
  end
  def move_right(turn_ok = true)
    amp_map? ? amp_move_right(turn_ok) : amp_original_move_right(turn_ok)
  end
  def move_random
    amp_map? ? amp_move_random : amp_original_move_random
  end
  def move_toward_player
    amp_map? ? amp_move_toward_player : amp_original_move_toward_player
  end
  def move_away_from_player
    amp_map? ? amp_move_away_from_player : amp_original_move_away_from_player
  end
  def turn_random
    amp_map? ? amp_turn_random : amp_original_turn_random
  end
  def amp_move_up(turn_ok)
    if passable?(@x, @y-1)
      @y = $game_map.round_y(@y-1)
      @real_y = (@y+1)*256
      increase_steps
      @move_failed = false
    else
      check_event_trigger_touch(@x, @y-1)
      @move_failed = true
    end
  end
  def amp_move_down(turn_ok)
    if passable?(@x, @y+1)
      @y = $game_map.round_y(@y+1)
      @real_y = (@y-1)*256
      increase_steps
      @move_failed = false
    else
      check_event_trigger_touch(@x, @y+1)
      @move_failed = true
    end
  end
  def amp_move_left(turn_ok)
    if passable?(@x-1, @y)
      turn_left if turn_ok
      @x = $game_map.round_x(@x-1)
      @real_x = (@x+1)*256
      increase_steps
      check_gravity_force
      @move_failed = false
    else
      turn_left if turn_ok
      check_event_trigger_touch(@x-1, @y)
      @move_failed = true
    end
  end
  def amp_move_right(turn_ok)
    if passable?(@x+1, @y)
      turn_right if turn_ok
      @x = $game_map.round_x(@x+1)
      @real_x = (@x-1)*256
      increase_steps
      check_gravity_force
      @move_failed = false
    else
      turn_right if turn_ok
      check_event_trigger_touch(@x+1, @y)
      @move_failed = true
    end
  end
  def amp_move_random
    case rand(2)
    when 0;  move_left(false)
    when 1;  move_right(false)
    end
  end
  def amp_move_toward_player
    sx = distance_x_from_player
    return if sx == 0
    sx > 0 ? move_right : move_left
  end
  def amp_move_away_from_player
    sx = distance_x_from_player
    return if sx == 0
    sx > 0 ? move_right : move_left
  end
  def amp_turn_random
    case rand(2)
    when 0; turn_right
    when 1; turn_left
    end
  end
end


class Game_Player < Game_Character
  alias amp_2original_initialize initialize
  alias amp_2original_update update
  alias amp_2original_move_by_input move_by_input
  def initialize
    amp_2original_initialize
    @jforce = 0
  end
  def update
    amp_2original_update
    update_jump_force if amp_map? and !@gforce
  end
  def update_jump_force
    if @jforce > 0
      return if moving?
      if @jforce > 1
        if Input.press?(Input::RIGHT)
          turn_right
          jump_upper_right
        elsif Input.press?(Input::LEFT)
          turn_left
          jump_upper_left
        else
          jump_up
        end
      else
        @move_speed = 4
        @walk_anime = true
        check_gravity_force
      end
      @jforce -= 1
    else
      if Input.trigger?(Amp_Config::Jump_Key)
        RPG::SE.new(Amp_Config::Jump_Sound,80).play
        dash? ? @jforce = 4+Amp_Config::Jump_Force : @jforce = 3+Amp_Config::Jump_Force
        @move_speed = 5
        @walk_anime = false
        @pattern = 0
      end
    end
  end
  def force_gravity
    return if moving?
    @move_speed = Amp_Config::GForce+4
    if Input.press?(Input::RIGHT)
      turn_right
      gforce_lower_right
    elsif Input.press?(Input::LEFT)
      turn_left
      gforce_lower_left
    else
      @y = $game_map.round_y(@y+1)
      @real_y = (@y-1)*256
    end
    check_touch_event
    if passable?(@x, @y+1); @gforce = true
      else; @nforce = true; @gforce = false
    end
  end
  def gforce_lower_left
    if (passable?(@x, @y+1) and passable?(@x-1, @y+1)) or
      (passable?(@x-1, @y) and passable?(@x-1, @y+1))
      @x -= 1
      @y += 1
    else
      @y = $game_map.round_y(@y+1)
      @real_y = (@y-1)*256
    end
  end
  def gforce_lower_right
    if (passable?(@x, @y+1) and passable?(@x+1, @y+1)) or
      (passable?(@x+1, @y) and passable?(@x+1, @y+1))
      @x += 1
      @y += 1
    else
      @y = $game_map.round_y(@y+1)
      @real_y = (@y-1)*256
    end
  end
  def jump_up
    if passable?(@x, @y-1)
      @y = $game_map.round_y(@y-1)
      @real_y = (@y+1)*256
      @move_failed = false
    else
      check_event_trigger_touch(@x, @y-1)
      @move_failed = true
      @jforce = 0
      check_gravity_force
    end
  end
  def jump_upper_left
    unless @direction_fix
      @direction = (@direction == 6 ? 4 : @direction == 2 ? 8 : @direction)
    end
    if (passable?(@x, @y-1) and passable?(@x-1, @y-1)) or
      (passable?(@x-1, @y) and passable?(@x-1, @y-1))
      @x -= 1
      @y -= 1
    else
      jump_up
    end
  end
  def jump_upper_right
    unless @direction_fix
      @direction = (@direction == 4 ? 6 : @direction == 2 ? 8 : @direction)
    end
    if (passable?(@x, @y-1) and passable?(@x+1, @y-1)) or
      (passable?(@x+1, @y) and passable?(@x+1, @y-1))
      @x += 1
      @y -= 1
    else
      jump_up
    end
  end
  def move_by_input
    amp_map? ? amp_move_by_input : amp_2original_move_by_input
  end
  def amp_move_by_input
    return if @gforce
    return unless movable?
    return if $game_map.interpreter.running?
    case Input.dir4
    when 4; move_left
    when 6; move_right
    end
  end
end


Demo:

[Você precisa estar registrado e conectado para ver este link.]


Screenshots:

Não há nescessidade, baixe a demo para ver como fica ingame.


Creditos:

Criado por Khas


[Você precisa estar registrado e conectado para ver esta imagem.]

Ver perfil do usuário

Dr.

avatar
Banido
Banido
rsrs !legeal



Este usuário foi banido do fórum, não responderá mensagens privadas nem nada até 2038.
Ver perfil do usuário

FrozenGraveyard

avatar
Membro Honorário I
Membro Honorário I
Tbm achei legal então decidi postar pro pessoal Piscando

Ver perfil do usuário

The Lucas Wugades

avatar
Membro Honorário III
Membro Honorário III
Desculpe-me mas eu já tinha postado ele a mesma versão pesquise antes de postar:
[Você precisa estar registrado e conectado para ver este link.]



[Você precisa estar registrado e conectado para ver esta imagem.]

1.0.0 v da assinatura
Ver perfil do usuário http://templorpgmakerbr.forumeiros.com/forum

DeathMaker

avatar
Membro Honorário I
Membro Honorário I
Lucas para de ressucitar tópicos... Esse tópico foi no mês 8 estamos no mês 12.

Ver perfil do usuário

The Lucas Wugades

avatar
Membro Honorário III
Membro Honorário III
Cara só postei pra avisar que eu já tinha postado a mesma script a mesma versão [Você precisa estar registrado e conectado para ver este link.]



[Você precisa estar registrado e conectado para ver esta imagem.]

1.0.0 v da assinatura
Ver perfil do usuário http://templorpgmakerbr.forumeiros.com/forum

BrunoFox

avatar
Administrador
Administrador
Tópico trancado.
Ia punir o membro, porém ele nem entra no fórum mais (o Frozen).



[Você precisa estar registrado e conectado para ver esta imagem.]
Ver perfil do usuário http://templorpgmakerbr.forumeiros.com

Conteúdo patrocinado


Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo  Mensagem [Página 1 de 1]

Permissão deste fórum:
Você não pode responder aos tópicos neste fórum