Final Fantasy RPG Maker

Saut



Description

Permet au Héros de sauter par-dessus des obstacles sur la carte.

Auteur(s) : Huitzilopoctli

Note du script: Pas de note

Installation


Copiez le code, ouvrez l'éditeur de script (F11) et créez en un nouveau au dessus de "Main".
Nommez ce script "Jump_Script" et collez-y ce code:

#==============================================================================
# ■ Jump Script
#------------------------------------------------------------------------------
# Enables jumping around the map
# Made by: Huitzilopoctli @ rmxp.net
# Traduction Française par: Martial de Final-RPG
#------------------------------------------------------------------------------
#
# Appuyez sur la touche Z (ou Shift) pour sauter
# Le joueur sera capable de sauter au-dessus de tous les Tiles traversable, ou
# tous les Tiles qui ont le même ID que la variable JumpID (l. 27)
# Le joueur doit atterir sur une case sans évènement qui pourrait le bloquer
# Si le joueur ne peut pas sauter 2 cases, il ne sautera que d'une case, et s'il
# ne peut pas non plus, il ne fera rien
# Pour empêcher le joueur de sauter au-dessus d'un évènement particulier, il
# faut que sa première commande d'évènement soit un commentaire contenant ce mot:
# \Tall
# Pour créer un Tile 'Tall' qui empêchera le joueur de sauter au-dessus même
# si la case du dessous est "sautable", il faut fixer l'ID de ce Tile a une
# valeur différente de la valeur de la variable JumpID
#==============================================================================
 
#==============================================================================
# ● Customisation
#==============================================================================
 
JumpID = 1 # L'ID du terrain par dessus lequel on peut sauter
 
#==============================================================================
# ● Game_Player
#==============================================================================
 
class Game_Player < Game_Character
 
def leap
xdir = (@direction == 6 ? 1 : @direction == 4 ? -1 : 0)
ydir = (@direction == 2 ? 1 : @direction == 8 ? -1 : 0)
 
dist = 0
 
clear_jump = true
clear_land1 = true
e = $game_map.events[$game_map.check_event(@x + xdir, @y + ydir)]
if e
clear_jump = !(e.list[0].code == 108 && e.list[0].parameters[0] =~ "\Tall")
clear_land1 = e.through
end
 
clear_land2 = true
e = $game_map.events[$game_map.check_event(@x + xdir * 2, @y + ydir * 2)]
if e
clear_land2 = e.through
end
 
pass1 = $game_map.passable?(@x + xdir, @y + ydir, @direction)
pass2 = $game_map.passable?(@x + xdir * 2, @y + ydir * 2, @direction)
 
jumpid = $game_map.terrain_tag(@x + xdir, @y + ydir) == JumpID
 
dist = 0
if clear_jump
if clear_land2 & pass2 & (jumpid | pass1)
dist = 2
elsif clear_land1 & pass1
dist = 1
end
end
 
route = RPG::MoveRoute.new
route.list.clear
route.list.push(RPG::MoveCommand.new(37))
route.list.push(RPG::MoveCommand.new(14, [xdir * dist, ydir * dist]))
route.list.push(RPG::MoveCommand.new(38))
route.list.push(RPG::MoveCommand.new(0))
route.repeat = false
$route = route
 
Audio.se_play("Audio/SE/015-jump01")
$game_player.force_move_route(route)
end
 
alias update_primary update
def update
update_primary
 
leap if Input.trigger?(Input::A) && !moving?
end
end


Appuyez sur la touche Z (ou Shift) pour sauter.

Le joueur sera capable de sauter au-dessus de tous les Tiles traversable, ou tous les Tiles qui ont le même ID que la variable JumpID (voir ligne 27)

Le joueur doit atterrir sur une case sans évènement solide (qui pourrait le bloquer).

Si le joueur ne peut pas sauter 2 cases, il ne sautera que d'une case, et s'il ne peut pas non plus, il sautera sur place.

Pour empêcher le joueur de sauter au-dessus d'un évènement particulier, il faut que sa première commande d'évènement soit un commentaire contenant ceci: "\Tall" (sans les guillemets)

Pour créer un Tile 'Tall' qui empêchera le joueur de sauter au-dessus même si la case du dessous est "sautable", il faut fixer l'ID de ce Tile a une valeur différente de la valeur de la variable JumpID.

Télécharger la démo du script
(Téléchargée 497 fois !)


Ajouté par Martial
le 13/08/2009 à 18:03:42
Vu 3582 fois
Dernière modification par Martial
le 30/04/2011 à 02:54:25


(édité 2 fois !)



Commentaires

Page: 1


BibiTony92 a écrit:

Script sans bug, très sympa. Merci ! ^^

Message posté le 13/06/2012 à 18:46:47 IP: 78.220.36.47


Page générée en 0.0001 secondes
©2011 Site créé par Martial, le Webmaster
Me contacter - Livre d'or - Forum - Plan du site
Mentions légales - Remerciements
Final-RPG