Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -45%
WHIRLPOOL OWFC3C26X – Lave-vaisselle pose libre ...
Voir le deal
339 €

Partagez
 

 RMVXace / Sauter

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Heaven
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
Heaven

Masculin
Messages postés : 755
Date d'inscription : 01/04/2013
Jauge LPC :
RMVXace / Sauter 891527140055 / 10055 / 100RMVXace / Sauter 8915271400

RMVXace / Sauter Membre10
RMVXace / Sauter Partag10
RMVXace / Sauter 140126073300967155
RMVXace / Sauter Collec10
RMVXace / Sauter Collec11


RMVXace / Sauter Empty
MessageSujet: RMVXace / Sauter   RMVXace / Sauter EmptySam 21 Sep 2013 - 20:01

Yo !

Je vous partage un script plutôt sympas et qui marche super bien.
Ce script vous donne le pouvoir de sauter, à votre héros/vos héros.

Auteur : Galv'
Site de l'auteur : (vous y trouverez plein de scripts cool) : http://galvs-scripts.com/



Screen :



RMVXace / Sauter Jump-ability


Script :

Code:

#------------------------------------------------------------------------------#
#  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
Instructions :

Placez le script en dessus de Main.

Comment utiliser l'option "sauter" In-Game ?

Appuyez sur la touche "A".

Démo :

Demo – Version 1.6 >


Heav'n
Revenir en haut Aller en bas
City Hunter
Administrateur
Administrateur
City Hunter

Masculin
Messages postés : 6523
Date d'inscription : 25/05/2011
Jauge LPC :
RMVXace / Sauter 891527140040 / 10040 / 100RMVXace / Sauter 8915271400

RMVXace / Sauter Staffe10
RMVXace / Sauter Mappeu10
RMVXace / Sauter Membre15
RMVXace / Sauter Testeu10
RMVXace / Sauter Promot10
RMVXace / Sauter Projet10
RMVXace / Sauter Projet16
RMVXace / Sauter Riche_10
RMVXace / Sauter Travai10
RMVXace / Sauter Collec10
RMVXace / Sauter Collec11
RMVXace / Sauter Collec12
RMVXace / Sauter Collec13
RMVXace / Sauter Pandac10
RMVXace / Sauter 10000011


RMVXace / Sauter Empty
MessageSujet: Re: RMVXace / Sauter   RMVXace / Sauter EmptySam 21 Sep 2013 - 20:52

Merci du partage Smile

Où.. D'une façon alternative à l'endroit voulu mettre un évent avec une condition si la touche A pressé
=> Sauté

Qui pourrait à mon humble avis suffire amplement Smile
Revenir en haut Aller en bas
Heaven
Chevalier Dragon (niveau 1)
Chevalier Dragon (niveau 1)
Heaven

Masculin
Messages postés : 755
Date d'inscription : 01/04/2013
Jauge LPC :
RMVXace / Sauter 891527140055 / 10055 / 100RMVXace / Sauter 8915271400

RMVXace / Sauter Membre10
RMVXace / Sauter Partag10
RMVXace / Sauter 140126073300967155
RMVXace / Sauter Collec10
RMVXace / Sauter Collec11


RMVXace / Sauter Empty
MessageSujet: Re: RMVXace / Sauter   RMVXace / Sauter EmptySam 21 Sep 2013 - 21:04

Hum, je pense que si on utilise ce script, le joueur ne sait pas quoi faire lorsqu'il y a un ravin devant lui alors qu'avec l'événement, je pense, que le joueur va savoir qu'il doit sauter.

Heav'n
Revenir en haut Aller en bas
City Hunter
Administrateur
Administrateur
City Hunter

Masculin
Messages postés : 6523
Date d'inscription : 25/05/2011
Jauge LPC :
RMVXace / Sauter 891527140040 / 10040 / 100RMVXace / Sauter 8915271400

RMVXace / Sauter Staffe10
RMVXace / Sauter Mappeu10
RMVXace / Sauter Membre15
RMVXace / Sauter Testeu10
RMVXace / Sauter Promot10
RMVXace / Sauter Projet10
RMVXace / Sauter Projet16
RMVXace / Sauter Riche_10
RMVXace / Sauter Travai10
RMVXace / Sauter Collec10
RMVXace / Sauter Collec11
RMVXace / Sauter Collec12
RMVXace / Sauter Collec13
RMVXace / Sauter Pandac10
RMVXace / Sauter 10000011


RMVXace / Sauter Empty
MessageSujet: Re: RMVXace / Sauter   RMVXace / Sauter EmptySam 21 Sep 2013 - 21:20

Hum.. Je ne suis pas convaincu pour moi ca revient au même Smile
Revenir en haut Aller en bas
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
RMVXace / Sauter 891527140097 / 10097 / 100RMVXace / Sauter 8915271400

RMVXace / Sauter Membre15
RMVXace / Sauter Event-10
RMVXace / Sauter Altrui10
RMVXace / Sauter Action10
RMVXace / Sauter Travai10
RMVXace / Sauter Collec10
RMVXace / Sauter Collec11
RMVXace / Sauter Collec12
RMVXace / Sauter Staffe11
RMVXace / Sauter Dessin10


RMVXace / Sauter Empty
MessageSujet: Re: RMVXace / Sauter   RMVXace / Sauter EmptyDim 22 Sep 2013 - 1:18

Effectivement, l'effet du script est reproductible à l'identique en événement.
Mais bon, je suppose que ça servira à tous les allergiques aux événements. ^^'
Revenir en haut Aller en bas
Contenu sponsorisé




RMVXace / Sauter Empty
MessageSujet: Re: RMVXace / Sauter   RMVXace / Sauter Empty

Revenir en haut Aller en bas
 
RMVXace / Sauter
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [VX] Faire sauter le personnage
» [XP] Sauter au dessus de terrains
» [RMVXAce] Etosae
» RMVXAce - JMB Title
» [RMVXAce] Akhdesia

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker VXAce :: Système-
Sauter vers: