- SkilloStaffeux retraité
- Nombre de messages : 526
Age : 35
Localisation : Rennes
Distinction : J'aime ce gars
(by Coco')
Scripteur apprenti, futur Berka !
(par Tretian)
Membre anonyme de la communauté, caché derrière son PC
(???)
super prof de script
[Dudu']
Résident permanent de la Chat Box
[Autoproclamé]
Adepte du XDDD [Yak' ]
Fanatique hystérique de Raymond le français [Un connu]
Date d'inscription : 19/01/2008
[Script][RGSS3]Se téléporter à l'interrieur d'un vaisseau
Sam 5 Jan 2013 - 2:36
Bonjour,
Voici un script que j'avais fait sur VX et que je porte surAce vous permettant de rentrer à l'intérieur du vaisseau (le véhicule volant) lors de l'appuie de Echap. Et cela à l'aide d'un event commun de 3 ligne avec declenchement donc sans processus parallele et donc sans lag.
Script Teleport_In_Airship, toutes les explications se trouvent dans le script.
Une petite démo pour ceux qui n'aurai pas compris le principe.http://www.mediafire.com/?gcl6xtnggr4gx1y
Voilà laissez vos coms.
+5 pts de participation
Voici un script que j'avais fait sur VX et que je porte surAce vous permettant de rentrer à l'intérieur du vaisseau (le véhicule volant) lors de l'appuie de Echap. Et cela à l'aide d'un event commun de 3 ligne avec declenchement donc sans processus parallele et donc sans lag.
Script Teleport_In_Airship, toutes les explications se trouvent dans le script.
- Spoiler:
- Code:
#==============================================================================
# **Teleport_In_Airship fait par Skillo
#------------------------------------------------------------------------------
# Ce script vous permet de vous téléporter dans une map définie, aux coordonné définies lorsque
# vous appuyez sur B (Echap par default) .
#==============================================================================
module AirShipTeleport
# Pour fonctionner ce script nécessite un evenement commun à declenchement automatique via
# un interrupteur défini plus bas et contenant les commandes suivantes:
# |> Attendre : 1 Frames
# |> Afficher l'écran en fondu
# |> Opération : Interrupteur [ id de l'interrupteur défini plus pas] Désactivé
# Deplus pour sortir du vaisseau, il faut faire un event avec un appel de script contenant:
# $game_map.exit_airship
# et le joueur sera automatiquement téléporté à la map d'origine.
# Ici sera définie l'id de la map faisant réference au vaisseau, les coordonnées d'arrivé
# et la direction du héros
# Map_airship = [id de la map, x, y, direction]
# direction => 2:bas, 4:gauche, 6:droite, 8:haut
Map_airship = [2, 8, 8, 8]
# Ici sera définie l'id de l'interrupteur appelant l'evenement commun nécessaire au fonctionnement de ce script
# Switch = id de l'interrupteur
Switch = 1
end
#==============================================================================
# ** Game_System
#------------------------------------------------------------------------------
# This class handles system data. It saves the disable state of saving and
# menus. Instances of this class are referenced by $game_system.
#==============================================================================
class Game_System
#--------------------------------------------------------------------------
# * Public Instance Variables
#--------------------------------------------------------------------------
attr_accessor :backup_map
#--------------------------------------------------------------------------
# * Object Initialization
#--------------------------------------------------------------------------
alias airshipteleport_initialize initialize
def initialize
airshipteleport_initialize
@backup_map = [0, 0, 0, 0]
end
end
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
# This class performs the map screen processing.
#==============================================================================
class Scene_Map
#--------------------------------------------------------------------------
# * Determine if Menu is Called due to Cancel Button
#--------------------------------------------------------------------------
def update_call_menu
if $game_system.menu_disabled || $game_map.interpreter.running?
@menu_calling = false
else
@menu_calling ||= Input.trigger?(:B)
calling = @menu_calling && !$game_player.moving?
if calling && $game_player.in_airship?
call_airship
elsif calling
call_menu
end
end
end
#--------------------------------------------------------------------------
# * Call Menu Screen
#--------------------------------------------------------------------------
def call_airship
Sound.play_ok
$game_map.go_in_airship
end
end
#==============================================================================
# ** Game_Map
#------------------------------------------------------------------------------
# This class handles maps. It includes scrolling and passage determination
# functions. The instance of this class is referenced by $game_map.
#==============================================================================
class Game_Map
#--------------------------------------------------------------------------
# * Go in Airship
#--------------------------------------------------------------------------
def go_in_airship
screen.start_fadeout(1)
screen.update
backup_map = [@map_id,$game_player.x,$game_player.y,$game_player.direction]
$game_system.backup_map = backup_map
airship_teleport = AirShipTeleport::Map_airship
map_id = airship_teleport[0]
x = airship_teleport[1]
y = airship_teleport[2]
direction = airship_teleport[3]
$game_player.get_off_airship
$game_player.reserve_transfer(map_id, x, y, direction)
$game_switches[1] = true
end
#--------------------------------------------------------------------------
# * Exit Airship
#--------------------------------------------------------------------------
def exit_airship
screen.start_fadeout(1)
$game_player.get_on_airship
backup_map = $game_system.backup_map
map_id = backup_map[0]
x = backup_map[1]
y = backup_map[2]
direction = backup_map[3]
$game_player.reserve_transfer(map_id, x, y, direction)
$game_switches[1] = true
end
end
#==============================================================================
# ** Game_Player
#------------------------------------------------------------------------------
# This class handles the player. It includes event starting determinants and
# map scrolling functions. The instance of this class is referenced by
# $game_player.
#==============================================================================
class Game_Player < Game_Character
#--------------------------------------------------------------------------
# * Get Off airship
#--------------------------------------------------------------------------
def get_off_airship
@followers.synchronize(@x, @y, @direction)
vehicle.get_off
@vehicle_getting_off = true
@move_speed = 4
@through = false
make_encounter_count
@followers.gather
@vehicle_getting_off
end
#--------------------------------------------------------------------------
# * Board airship
#--------------------------------------------------------------------------
def get_on_airship
@vehicle_type = :airship
@move_speed = vehicle.speed
@vehicle_getting_on = false
@transparent = true
@through = true
vehicle.get_on
@followers.gather
end
end
Une petite démo pour ceux qui n'aurai pas compris le principe.http://www.mediafire.com/?gcl6xtnggr4gx1y
Voilà laissez vos coms.
+5 pts de participation
- IceCoffeeMembre
- Nombre de messages : 49
Age : 25
Localisation : Bordeaux
Distinction : aucune
Date d'inscription : 03/08/2011
Re: [Script][RGSS3]Se téléporter à l'interrieur d'un vaisseau
Sam 5 Jan 2013 - 16:17
Ouaw. Vraiment super comme principe je vais tester tout de suite !
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum