Jump to content
Rpg²S Forum

*Galv's Jump Ability


Ste
 Share

Recommended Posts

Galv's Jump Ability

Descrizione


Questo semplice script permette al vostro personaggio di saltare alla pressione di un tasto da voi definito!
E' un buon script e l'ho anche utilizzato in OH!Origins :)


Autore

Galv


Allegati

Demo


Istruzioni per l'uso

- E' possibile rendere un evento NON saltabile, scrivendo il commento come primo comando dell'evento;

- E' possibile creare oggetti (armi, armature) o personaggi che abbiano un bonus di salto: basta aggiungere nel loro notetag, dove x corrisponde al numero di tile di salto bonus, che verranno aggiunti (es: salto normale=1, equipaggi Molla con salto bonus=2, il salto effettivo attuale sarà 1+2=3)

Dalla linea 62 è possibile personalizzare lo script:

- DISABLE_SWITCH è il numero della switch che, quando è ON, NON permette di saltare;

- BUTTON è dove potete impostare il vostro tasto preferito (tra quelli disponibili in RpgMaker) per effetturare il salto!

- DEFAULT_DISTANCE qui impostate la distanza in tile standard del salto;

- SPRINT_BONUS per impostare un eventuale incremento di distanza del salto quando il player è in corsa!

- JUMP_SE è il suono che viene avviato quando premete il tasto salto;

- MAX_JUMP_BONUS è il bonus salto massimo raggiungibile, equipaggiando oggetti che conferiscono bonus di salto;

- NO_JUMP_REGIONS permette di rendere qualsiasi area passabile NON saltabile, impostando qui le regioni che volete rendere non saltabili.


Script

 

 

#------------------------------------------------------------------------------#
#  Galv's Jump Ability
#------------------------------------------------------------------------------#
#  For: RPGMAKER VX ACE
#  Version 1.6
#------------------------------------------------------------------------------#
#  2013-06-02 - Version 1.6 - fixed a bug with region block jumping
#  2013-03-14 - Version 1.5 - fixed priority bug when jumping behind things
#                           - cleaned up code a bit
#  2013-01-15 - Version 1.4 - added follower jumping
#  2013-01-11 - Version 1.3 - added ability to make event pages block jumping
#  2012-12-05 - Version 1.2 - fixed some more bugs
#  2012-11-30 - Version 1.1 - fixed jumping in vehicles bug
#  2012-11-29 - Version 1.0 - release
#------------------------------------------------------------------------------#
#  This script allows the player to jump with the press of a button. The player
#  will jump as far as their max distance will take them without landing on a
#  blocked tile. Use regions to block players jumping completely to prevent the
#  player from doing things like jumping between rooms.
#------------------------------------------------------------------------------#
#  INSTRUCTIONS:
#  Put script under Materials and above Main
#  Read options and settings below.
#------------------------------------------------------------------------------#
  
#------------------------------------------------------------------------------#
#  COMMENT FOR EVENT (Must be first event command)
#------------------------------------------------------------------------------#
#
#  <block>
#
#  add this comment as the first event command of a page to make it unable to
#  be jumped over. Change the page to a new event page without the comment when
#  you want it to be jumpable.
  
#------------------------------------------------------------------------------#
#  NOTETAG FOR ACTORS, ARMORS, WEAPONS
#------------------------------------------------------------------------------#
#
#  <jump_bonus: x>        # Adds that many tiles to jump distance
#
#------------------------------------------------------------------------------#
#  Only the jump bonus for the party leader and his/her equips are calculated
#------------------------------------------------------------------------------#
#  SCRIPT CALL:
#  You can change an actor's jump bonus (that was set with the notetag) during
#  the game with a script call:
#
#  jump_bonus(actor_id,jump_bonus)
#
#  EXAMPLE:
#  jump_bonus(3,2)         # Changes actor 3's jump bonus to 2
#------------------------------------------------------------------------------#
  
($imported ||= {})["Galvs_Jump_Ability"] = true
module Galv_Jump
    
#------------------------------------------------------------------------------#
#  SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
    
  DISABLE_SWITCH = 1         # Cannot jump when this switch is ON
    
  BUTTON = :X                # Button to press to jump. :X is "a" key.
    
  DEFAULT_DISTANCE = 2       # Distance player can jump with no bonuses
  SPRINT_BONUS = 1           # Distance increased with a running jump
    
  JUMP_SE = ["Jump2", 50, 120]
    
  MAX_JUMP_BONUS = 3         # The maximum bonus you can get from equips/actors
    
  NO_JUMP_REGIONS = [1,2,3]  # Region ID's that the player cannot jump over
  
#------------------------------------------------------------------------------#
#  END SCRIPT SETUP OPTIONS
#------------------------------------------------------------------------------#
  
end
  
class RPG::BaseItem
  def jump_bonus
    if @jump_bonus.nil?
      if @note =~ /<jump_bonus: (.*)>/i
        @jump_bonus = $1.to_i
      else
        @jump_bonus = 0
      end
    end
    @jump_bonus
  end
end # RPG::BaseItem
  
  
class Game_Player < Game_Character
  attr_accessor :priority_type
    
  alias galv_jump_player_initialize initialize
  def initialize
    galv_jump_player_initialize
    @jump_equip_bonus = 0
  end
  
  alias galv_jump_player_refresh refresh
  def refresh
    get_jump_equip_bonus
    galv_jump_player_refresh
  end
    
  def get_jump_equip_bonus
    bonus = 0 + $game_party.leader.jump_bonus
    $game_party.leader.equips.each { |eq| bonus += eq.jump_bonus if !eq.nil?}
    @jump_equip_bonus = [bonus,Galv_Jump::MAX_JUMP_BONUS].min
  end
    
  alias galv_jump_move_by_input move_by_input
  def move_by_input
    return if jumping?
    @priority_type = 1 if !jumping?
    galv_jump_move_by_input
    if !$game_switches[Galv_Jump::DISABLE_SWITCH] && Input.trigger?(Galv_Jump::BUTTON)
      do_jump if !$game_map.interpreter.running? && !jumping? && normal_walk?
    end
  end
    
  def do_jump
    get_bonuses
    @distance = Galv_Jump::DEFAULT_DISTANCE + @jump_bonus
    check_region
    check_distance
    if @can_jump
      RPG::SE.new(Galv_Jump::JUMP_SE[0], Galv_Jump::JUMP_SE[1], Galv_Jump::JUMP_SE[2]).play
      jump(@jump_x, @jump_y)
      @followers.each { |f| f.jump(@x - f.x, @y - f.y) }
    end
  end
    
  def get_bonuses
    @jump_bonus = 0 + @jump_equip_bonus
    @jump_bonus += Galv_Jump::SPRINT_BONUS if dash? && moving?
  end
    
  def check_region
    @max_x = 0
    @max_y = 0
    case @direction
    when 2
      @max_y = @distance
      (@distance+1).times { |i| return @max_y = i if stopper?(@x, @y+i+1) }
    when 4
      @max_x = -@distance
      (@distance+1).times { |i| return @max_x = -i if stopper?(@x-i-1, @y) }
    when 6
      @max_x = @distance
      (@distance+1).times { |i| return @max_x = i if stopper?(@x+i+1, @y) }
    when 8
      @max_y = -@distance
      (@distance+1).times { |i| return @max_y = -i if stopper?(@x, @y-i-1) }
    end
  end
    
  def stopper?(x,y)
    Galv_Jump::NO_JUMP_REGIONS.include?($game_map.region_id(x,y)) ||
      !$game_map.stopper_event?(x,y)
  end
    
  def canpass?(x,y)
    map_passable?(x, y, @direction) &&
    $game_map.blocking_event?(x,y) ||
    Galv_Jump::NO_JUMP_REGIONS.include?($game_map.region_id(x,y))
  end
    
  def check_distance
    @jump_x = 0
    @jump_y = 0
    ch = []
    @can_jump = true
  
    case @direction
    when 2
      @jump_y = @distance
      @distance.times { |i| ch << @jump_y - i if canpass?(@x, @y + @jump_y - i) }
      ch.delete_if {|x| x > @max_y }
      @jump_y = ch.max if !ch.empty?
    when 4
      @jump_x = -@distance
      @distance.times { |i| ch << @jump_x + i if canpass?(@x + @jump_x + i, @y) }
      ch.delete_if {|x| x < @max_x }
      @jump_x = ch.min if !ch.empty?
    when 6
      @jump_x = @distance
      @distance.times { |i| ch << @jump_x - i if canpass?(@x + @jump_x - i, @y) }
      ch.delete_if {|x| x > @max_x }
      @jump_x = ch.max if !ch.empty?
    when 8
      @jump_y = -@distance
      @distance.times { |i| ch << @jump_y + i if canpass?(@x, @y + @jump_y + i) }
      ch.delete_if {|x| x < @max_y }
      @jump_y = ch.min if !ch.empty?
    end
    if ch.empty?
      @jump_y = 0
      @jump_x = 0
      @can_jump = false
    end
  end
    
  def jump(x_plus, y_plus)
    @priority_type = 1.5
    super
  end
end # Game_Player < Game_Character
  
  
class Game_Map
  def blocking_event?(x,y)
    events_xy(x,y).each { |e| return false if e.priority_type == 1 }
     return true
   end
  
  def stopper_event?(x,y)
    events_xy(x,y).each { |e|
      next if e.list.nil?
      return false if e.list[0].code == 108 && e.list[0].parameters[0] == "<block>"
    }
     return true
   end
end # Game_Map
  
  
class Game_Actor < Game_Battler
  attr_accessor :jump_bonus
    
  alias galv_jump_actor_initialize initialize
  def initialize(actor_id)
    galv_jump_actor_initialize(actor_id)
    @jump_bonus = $data_actors[actor_id].jump_bonus
  end
end # Game_Actor < Game_Battler
  
  
class Scene_Menu < Scene_MenuBase
  def return_scene
    $game_player.refresh
    super
  end
end # Scene_Menu < Scene_MenuBase
  
class Game_Interpreter
  def jump_bonus(actor,bonus)
    $game_actors[actor].jump_bonus = bonus
    $game_player.refresh
  end
end # Game_Interpreter

 

 


Bugs e Conflitti Noti

N/A

 

Link to comment
Share on other sites

Mi par un ottimo script molto customizzabile, soprattutto per la parte di oggetti che ti permettono di modificare il salto! E:3

Sembra però non esserci un bonus permanente del salto senza che equipaggi un oggetto.

^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Non necessariamente. :)

 

Il tag di bonus lo si può inserire anche nelle Note degli Actors. Quindi può esserci un bonus anche senza Oggetti.

Inoltre questo bonus può essere modificato in-game tramite il call script:

jump_bonus(actor_id,jump_bonus)

Aurora Dreaming


The Dreamer (v. 1.1) - standalone


72 MB - Il prequel ad Aurora Dreaming



segui il dev-diary ufficiale di Aurora Dreaming!



Bacheca Premi


http://www.rpg2s.net/forum/uploads/monthly_01_2014/post-6-0-39588100-1390575633.png

Link to comment
Share on other sites

Ah ottimo, intendevo proprio la parte del modificare il valore tramite call script come se bevessi ad un certo punto un goccio di acqua salterina permanente... col save rimane, giusto? ^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Ottimo allora! Mi vedo in proposito un po' di dati e come li gestisce! ^ ^

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...