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

Jump Plus

Iniciado por Raizen, 03/12/2012 às 15:51

Jump Plus

Compativel com: RMVXAce
Compatibilidade :boa
Facilidade de uso: fácil
Lag gerado: baixo
[box class=titlebg]
Condições de Uso
[/box]
  Pode ser modificado, e divulgado, mas mantenha os créditos a mim obrigado.

[box class=titlebg]
Para que serve o script
[/box]
  O script adiciona algumas funções no pulo, além de corrigir 3 erros ao pular, que seriam o seguinte.

- Corrige o erro dos seguidores ficarem parados enquanto o personagem pula
- Corrige o erro do personagem cair em um tile não passável
- Corrige o erro do personagem poder pular sobre paredes, configurável no database para decidir quais tiles
será considerado como paredes que não podem ser puladas sobre.

Assista o video abaixo para entender melhor sobre o que estou falando.

[box class=titlebg]
Script.
[/box]

#=======================================================
#         Jump Plus
# Autor : Raizen

# Descrição: O script corrigirá os bugs dos pulos, que
# é de atravessar tilesets e pular em tiles não passaveis.
# Adiciona também uma pequena função de pulo simples.
#=======================================================

module Lune_jump_plus
# tag de terreno para o pulo, para escolher tags de terreno
# vá no database, na aba tileset e procure a opção terreno.
# Terrenos com essa tag, o personagem não conseguirá pular
# sobre.
Tag = 1

# Switch que liga a tecla de pulo
Switch = 2
# Tecla de pulo
# coloque um : na frente, veja a seguir a lista
# X = Tecla A  ;  Y = Tecla S  ;  Z = Tecla D
# L = Tecla Q  ;  R = Tecla W  ;  SHIFT
Key = :X
# Som do Pulo
# nome do arquivo dentro de aspas ""
# se não quiser som coloque desse modo 
# Sound = ""
Sound = "Jump1"
# Atraso do Pulo em segundos/2
Jump_Delay = 2
#=======================
# Distancias dos pulos
#=======================
# Correndo
Run = 4
# Andando
Walk = 2
end

#===================================================================#
#======================= Aqui Começa o Script ======================#
#===================================================================#


#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
#  Esta classe gerencia o jogador. 
# A instância desta classe é referenciada por $game_player.
#==============================================================================
class Game_Player < Game_Character
alias lune_jump jump
alias lune_initialize_jump initialize
alias lune_update_map update
  def initialize(*args)
    @jump_delay = Lune_jump_plus::Jump_Delay
    lune_initialize_jump(*args)
  end
  #--------------------------------------------------------------------------
  # * Atualização da tela
  #--------------------------------------------------------------------------
  def update
    @jump_delay += 1 if Graphics.frame_count % 30 == 1 && @jump_delay < Lune_jump_plus::Jump_Delay
    if Input.trigger?(:X) && $game_switches[Lune_jump_plus::Switch] && @jump_delay == Lune_jump_plus::Jump_Delay
      dash? ? (get_jump = Lune_jump_plus::Run) : (get_jump = Lune_jump_plus::Walk)
      get_jump = 0 unless moving?
      @jump_delay = 0
      RPG::SE.new(Lune_jump_plus::Sound).play
      case @direction 
      when 2
        jump(0, get_jump)
      when 4
        jump(-get_jump, 0)
      when 6
        jump(get_jump, 0)
      when 8
        jump(0, -get_jump)
      end
    end
    lune_update_map
  end
  #--------------------------------------------------------------------------
  # * Movimento de Pulo
  #--------------------------------------------------------------------------
  def jump(x_plus, y_plus)
    @get_to_x = 0
    @get_to_y = 0
    while @get_to_x.abs < x_plus.abs # Loop para a tag de terreno em x
      x_plus > 0 ? @get_to_x += 1 : @get_to_x -= 1
      break if $game_map.terrain_tag(@x + @get_to_x, @y) == Lune_jump_plus::Tag
    end
    while @get_to_y.abs < y_plus.abs # Loop para a tag de terreno em y
      y_plus > 0 ? @get_to_y += 1 : @get_to_y -= 1
      break if $game_map.terrain_tag(@x + @get_to_x, @y + @get_to_y) == Lune_jump_plus::Tag
    end  
    x_plus = @get_to_x
    y_plus = @get_to_y
    # Loop de passabilidade
    while !$game_map.check_passage(x_plus + @x, y_plus + @y, 0x0f)
      if x_plus.abs > y_plus.abs
        x_plus > 0 ? (x_plus -= 1) : (x_plus += 1 unless x_plus == 0)
      else
        y_plus > 0 ? (y_plus -= 1) : (y_plus += 1 unless y_plus == 0)
      end
      break if x_plus == 0 && y_plus == 0
    end
    super(x_plus, y_plus) 
    # Pulo dos seguidores
    if x_plus == 0 && y_plus == 0
      @followers.each {|follower| follower.jump(0, 0)}
    else
      @followers.each {|follower| follower.jump(@x - follower.x, @y - follower.y)}
    end
  end
end


[box class=titlebg]
Videos
[/box]



[box class=titlebg]
Download
[/box]

Não necessário

[box class=titlebg]
Créditos e Avisos
[/box]

Raizen

Esse script não tem suporte ao Full Keyboard ?
Se não lembra(são tantas obras de arte, hehe), ele foi feito por você. kkk'  :O_O:

Muito bom, diferencia dos outros pelas correções dos bugs.

Belo script, vai ajudar muito em sistemas de acrobacias e etc...
Queria saber uma coisa, se eu quiser pular por cima de uma parede para chegar em um lugar atravessável, o script proíbe, ou só bloqueia quando deveria chegar em um lugar nao atravessável?

revivento outro tópico T-T...

Não intendi muito bem essa parte ...


"# tag de terreno para o pulo, para escolher tags de terreno
# vá no database, na aba tileset e procure a opção terreno.
# Terrenos com essa tag, o personagem não conseguirá pular
# sobre."

Quando eu vou na database, tileset, e quando clico em "Terreno" não aparece nenhuma janela .-. o que eu faço? para proibir um "piso" ?
Tudo vai dar certo (y(8.

Citação de: katumblo online 10/03/2014 às 17:11
revivento outro tópico T-T...

Não intendi muito bem essa parte ...


"# tag de terreno para o pulo, para escolher tags de terreno
# vá no database, na aba tileset e procure a opção terreno.
# Terrenos com essa tag, o personagem não conseguirá pular
# sobre."

Quando eu vou na database, tileset, e quando clico em "Terreno" não aparece nenhuma janela .-. o que eu faço? para proibir um "piso" ?
Ai é mais como usar no rpg maker os terrenos, você tem que clicar terreno escolher um número e preencher ele no mapa, assim você consegue colocar paredes e talz um certo terreno.

Tendi .-.

É porque nunca usei o Vx Ace, só usava o Vx :c
Tudo vai dar certo (y(8.

Raizen, teria como dar uma modificada no script, para ele pular meio que na diagonal?  ou então para simplesmente pular para cima, e eu poder apertar a tecla *LADO* e ele subir em cima de alguma coisa ... ?

* Se for fazer na diagonal, pode fazer uso de scripts adicionais

* Por favor, tente >< preciso disso um pouco urgente
Tudo vai dar certo (y(8.

Caraca se a alemanha nazista tivesse grupos como esse em seus exércitos
certamente venceriam, olha como eles são perfeitamente entrosados pulam
na mesma hora!
:=p:

Tirando brincadeiras de lado, o sistema de pulo de do rpg maker é estranho mesmo
esse script ajuda a "ajustá-lo melhor" bom trabalho tio! :ok:

Raizen, só ta dando para pular usando a tecla A  T_T
Teria como arrumar esse bug ? para poder pular com a tecla Q ou E, tanto faz ...
Se for de ajuda, pode "mesclar" aquele script de keyboard seu nesse daí para poder usar as outras teclas  ( se isso tiver como )

Obrigado *-*
Tudo vai dar certo (y(8.

Citação de: katumblo online 16/03/2014 às 18:14
Raizen, só ta dando para pular usando a tecla A  T_T
Teria como arrumar esse bug ? para poder pular com a tecla Q ou E, tanto faz ...
Se for de ajuda, pode "mesclar" aquele script de keyboard seu nesse daí para poder usar as outras teclas  ( se isso tiver como )

Obrigado *-*
Os outros eu vou ver man, sobre esse dai cara...

# coloque um : na frente, veja a seguir a lista
# X = Tecla A  ;  Y = Tecla S  ;  Z = Tecla D
# L = Tecla Q  ;  R = Tecla W  ;  SHIFT
Key = :X


tem dentro do script, da uma lida nele x).
E sim pode usar o meu script que funfa o keyboard module

Citação de: SimonMuran online 14/03/2014 às 20:37
Caraca se a alemanha nazista tivesse grupos como esse em seus exércitos
certamente venceriam, olha como eles são perfeitamente entrosados pulam
na mesma hora!
:=p:

Tirando brincadeiras de lado, o sistema de pulo de do rpg maker é estranho mesmo
esse script ajuda a "ajustá-lo melhor" bom trabalho tio! :ok:
Ah sim kkk :P, é meio antigo o script, mas vlws ai manolo.

Citação de: Raizen online 17/03/2014 às 00:01
Os outros eu vou ver man, sobre esse dai cara...

# coloque um : na frente, veja a seguir a lista
# X = Tecla A  ;  Y = Tecla S  ;  Z = Tecla D
# L = Tecla Q  ;  R = Tecla W  ;  SHIFT
Key = :X


tem dentro do script, da uma lida nele x).
E sim pode usar o meu script que funfa o keyboard module


O problema é que não funciona .-. só funciona a A já troquei milhares de vezes
Tudo vai dar certo (y(8.