Templo RPG Maker
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.

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

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

1Plataforma Empty Plataforma 7/5/2012, 03:21

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
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:



================================================================================
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
--------------------------------------------------------------------------------
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.

--------------------------------------------------------------------------------


Script:


Código: [Selecionar]
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:

Download v1.2


Screenshots:

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


Creditos:

Criado por Khas



[Tens de ter uma conta e sessão iniciada para poderes visualizar esta imagem]

Amethyst RGSS2 Scripts by Khas are licensed under a
Creative Commons Atribuição-Uso Não-Comercial-Compartilhamento pela mesma Licença 2.5 Brasil License.
Permissions beyond the scope of this license may be available at Santuário RPG Maker

https://templorpgmakerbr.forumeiros.com/forum

2Plataforma Empty Re: Plataforma 8/5/2012, 23:15

Mateushurley

Mateushurley
Membro II
Membro II
bom ^^

3Plataforma Empty Re: Plataforma 8/5/2012, 23:19

BrunoFox

BrunoFox
Administrador
Administrador
Hmm, mais tarde vou testar vamos ver no que dá kkk, +REP

https://templorpgmakerbr.forumeiros.com

4Plataforma Empty Re: Plataforma 8/5/2012, 23:34

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Obrigado aos doisque são meus melhores amigos aki ^^

https://templorpgmakerbr.forumeiros.com/forum

5Plataforma Empty Re: Plataforma 9/5/2012, 02:09

Fetelk13

Fetelk13
Membro Honorário I
Membro Honorário I
Parece ser legal pena que eu não uso rmvx +1 rep por postar vai ajudar muitos.

http://elementosrpgmakerbr.forumeiros.com/forum

6Plataforma Empty Re: Plataforma 9/5/2012, 18:30

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Obrigado

https://templorpgmakerbr.forumeiros.com/forum

7Plataforma Empty Pergunta 25/5/2012, 05:03

batutha

batutha
Membro
Membro
+Rep ta bom mais não deveria ser na area de scripts?

8Plataforma Empty Re: Plataforma 25/5/2012, 18:51

BrunoFox

BrunoFox
Administrador
Administrador
Obrigado por avisar, tópico movido.

https://templorpgmakerbr.forumeiros.com

9Plataforma Empty Re: Plataforma 26/7/2012, 18:50

The Lucas Wugades

The Lucas Wugades
Membro Honorário III
Membro Honorário III
Em breve postarei a demo.

https://templorpgmakerbr.forumeiros.com/forum

Conteúdo patrocinado


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

Permissões neste sub-fórum
Não podes responder a tópicos