RPG Creator : créez votre MMORPG ou RPG sans aucune connaissance en programmation


Disponible le 4 Juin !




- Jouez à votre jeu sur tablettes tactiles, Smartphones et navigateurs Web
- Personnalisez vos menus
- Dessinez facilement et rapidement vos cartes
- Créez des actions pour le combat A-RPG


www.rpgcreator.net


Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 2 messages ] 
Auteur Message
 Sujet du message: Revenir dans un lieu après GameOver v2
MessagePublié: 24 Juin 2008, 15:41 
Roi
Roi
Avatar de l’utilisateur

Inscrit le: 08 Mai 2005, 15:00
Messages: 2994
Localisation: Lyon
Niveau RPG Maker: Expert
Logiciel(s) préféré(s): RMXP ; IGM
Point(s) Fort(s): HTML5, PHP, Javascript, Ruby
Sexe: Masculin
Points d'aide: Illimité

Créations :

- RPG JS : Votre RPG en ligne sur votre navigateur


Voir ses créations

Bonjour,

Revenir dans un lieu après GameOver v2


- Auteur : Samarium
- Créé le 20 Juin 2008
- Version 2
- Incompatibilité : Peu
- Libre d'utilisation et de distribution
- RPG Maker XP

[]Fonctions
Après l'écran GameOver, le héros pourra revenir à la dernière auberge
visité. Cependant, si vous le souhaitez, l'argent du héros sera divisé par 2 ou un nombre de votre choix. Système comme le jeu Dragon Quest - L'odyssée du roi maudit (PS2)

[]Caractéristiques et remarque
=> Diviser l'argent par 2 ... après GameOver
=> Désactiver dès le départ, la sélection, "Auberge", tant que le héros na pas visité une auberge
=> Fenêtre indiquant que le joueur perd de l'argent en bas de l'écran
=> Commande d'évènement "Fin de jeu" utilisable (ce n'était pas le cas pour la version 1)

Non disponible pour le moment sous RPG Maker VX

[]Screen
[spolier]Image[/spoiler]

[]Utilisation
[spolier]Pour les options, lisez les commentaires vers la ligne 34. Pour sauvergarder les dernières positions du héros dans une auberge, mettez dans un évènement grâce à "Insérez un script" :
Code: Tout sélectionner
End2.new_position

[/spoiler]


[]Installation et scripts

1) Mettez le scripts "Système de sauvegarde des données" au dessus de "Main" disponible ici :
script XP Système de sauvegarde des données par Samarium

2) Copiez ce script et collez le au dessus "main" :


Code: Tout sélectionner
#========================================================================
#                    Revenir dans un lieu après GameOver v2
#                               RPG Maker XP
#========================================================================
=begin

=> Auteur : Samarium

Version 2 (20/06/2008)
Version 1 (--/--/2006)

=> Fonction :
Après l'écran GameOver, le héros pourra revenir à la dernière auberge
visité. Cependant, si vous le souhaitez, l'argent du héros sera divié par 2 ou un nombre
de votre choix. Système comme le jeu Dragon Quest - L'odyssée du roi maudit (PS2)

=> Utilisation :
Pour les options, lisez les commentaires vers la ligne 34. Pour sauvergarder les
dernières positions du héros dans une auberge, mettez dans un évènement
grâce à "Insérez un script" :

      End2.new_position

=> Site du créateur : [url=http://www.rpgcreative.net" target="_blank]www.rpgcreative.net[/url] (si besoin d'aide, n'hésitez pas ;))

=> Remarque :
Vous devez avoir le script "Système de sauvegarde de données" par Samarium

=> Modifications :
Depuis la version 1, vous pouvez retirer de l'argent et revenir sur le dernier lieu visité
après GameOver

=end
#------------------------------------------------------------------------
module End2
 
  # Position par défaut, si aucune nouvelle position est enregistrée et que
  # DISABLE_START ci-dessous vaut "false"
  DEFAUT_MAP_ID = 1 # ID de la map
  DEFAUT_MAP_X = 1  # Position X
  DEFAUT_MAP_Y = 1  # Position Y
 
  # Dès le départ, la commande "auberge" est désactivé jusqu'à enregistrement
  # d'une nouvelle position pour le héros. "false" pour ignorer cette option.
  # "true" pour l'appliquer.
  DISABLE_START = false
 
  # Le nombre d'argent total divisé par ... après Game Over
  # Mettez 0 pour ne pas enlever de l'argent et ne pas afficher la fenêtre
  # indiquant que le joueur perd de l'argent en bas de l'écran
  GOLD_DIVIS = 2
 
  class << self
     def new_position
      $game_data['map_id_End2v2'] = $game_map.map_id
      $game_data['x_End2v2'] = $game_player.x
      $game_data['y_End2v2'] = $game_player.y
    end
    def var_position
      hash_pos = {'map_id' => $game_data['map_id_End2v2'],
      'x' => $game_data['x_End2v2'],
      'y' => $game_data['y_End2v2'],}
      return hash_pos
    end
  end
end
# --------------------------------------------------
#            Scene_End2
# Reprise de la classe de la version 1. Permet de
# de mettre à jour les fenêtres et faire intérargir
# le joueur
# --------------------------------------------------
class Scene_End2
  def main
    # Fenêtre de sélection définit
    s1 = "Écran-Titre"
    s2 = "Revenir à l'auberge" # Ici, vous pouvez changer le nom de la destination.
    @command_window = Window_Command.new(192, [s1, s2])
    @command_window.x = 320 - @command_window.width / 2
    @command_window.y = 50
    # Désative/Active dès le départ selon les options choisises la sélection "Auberge"
    @disable_start = false
    @disable_start = true if End2::DISABLE_START and $game_end2.position.empty?
    @command_window.disable_item(1) if @disable_start
    # Fenêtre de destination ("Auberge") définit
    @destination_window = Window_Destination.new
    @destination_window.visible = false
    # Fond GameOver définit
    @sprite = Sprite.new
    @sprite.bitmap = RPG::Cache.gameover($data_system.gameover_name)
    # Boucle infinie de mise çjour des graphismes et entrée du clavier
    Graphics.transition
    loop do
      Graphics.update
      Input.update
      update
      if $scene != self
        break
      end
    end
    $game_temp.gameover = false if $scene.is_a?(Scene_Map)
    # Suppression des fenêtres après avoir "gelé" les graphismes
    Graphics.freeze
    @command_window.dispose
    @destination_window.dispose
  end
  def update
    # Mise àjour des fenêtres
    @command_window.update
    @destination_window.update
   # Affiche la feêtre Window_Destination selon les options
   if End2::DISABLE_START
     if !$game_end2.position.empty?
      @destination_window.visible = @command_window.index == 1 ? true : false if End2::GOLD_DIVIS != 0
     end
   else
     @destination_window.visible = @command_window.index == 1 ? true : false if End2::GOLD_DIVIS != 0
   end
   # Quand on appuie sur C/Entrée/Espace
    if Input.trigger?(Input::C)
      # Selon index de la sélection
      case @command_window.index
      when 0
        # Aller à l'écran titre
        command_to_title
      when 1
        # Son "Buzzer" si sélection désactivée
        if @disable_start
          $game_system.se_play($data_system.buzzer_se)
        else
          # Aller vers la destination de "l'auberge"
          new_position = End2.var_position
          if new_position.empty?
            command_destination
          else         
            command_destination(new_position['map_id'], new_position['x'], new_position['y'])
          end
        end
      return
    end
  end
 # Aller vers l'écran titre
  def command_to_title
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    $scene = Scene_Title.new
  end
  def command_destination(map_id = End2::DEFAUT_MAP_ID, map_x = End2::DEFAUT_MAP_X, map_y = End2::DEFAUT_MAP_Y)
    $game_system.se_play($data_system.decision_se)
    Audio.bgm_fade(800)
    Audio.bgs_fade(800)
    Audio.me_fade(800)
    # On divise l'argent par un nombre choisit. Evite la division par 0
    gold_divis = End2::GOLD_DIVIS != 0 ? End2::GOLD_DIVIS : 1
    for i in 1...$game_party.actors.size
      $game_actors[i].recover_all
    end
    $game_party.lose_gold($game_party.gold / gold_divis)
    # Téléportation vers ID, X et Y de la map
    $game_map.setup(map_id) 
    $game_player.moveto(map_x, map_y) 
    $game_player.refresh 
    $game_map.autoplay
    $game_map.update
    $scene = Scene_Map.new 
  end
  end
end
# --------------------------------------------------
#            Window_Destination
# La fenêtre d'information selon la perte d'argent
# --------------------------------------------------
class Window_Destination < Window_Base
  def initialize
    @win_width  = 400
    win_height = 100
    # Centrer la fenêtre
    x = 640 / 2 - @win_width / 2
    y =  480  - win_height - 10
    super(x, y, @win_width,  win_height)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = 20
    refresh
  end
  # Textes
  def refresh
    self.contents.clear
    self.contents.draw_text(@win_width/2 - 170, 0, 400, 32, "Revenez dans la dernère auberge visitée.")
    self.contents.draw_text(@win_width/2 - 170, 16, 400, 32, "Attention, vous gardez vos caratéristiques")
    self.contents.draw_text(@win_width/2 - 140, 32, 400, 32, "mais votre argent sera divisé par #{End2::GOLD_DIVIS}")
  end
end
# --------------------------------------------------
#            Scene_Gameover
# Appelle de la classe Scene_End2 quand la scène
# Game Over a lieu
# --------------------------------------------------
class Scene_Gameover
  def update  
    $scene = Scene_End2.new
  end
end
# --------------------------------------------------
#            Interpreter
# Commande d'évènement "Fin de jeu" redefinit.
# Evite les appels infinies de "Game Over"
# --------------------------------------------------
class Interpreter
  def command_353
    $game_temp.gameover = true
    return true
  end
end

_________________
Site officiel de RPG Creator : http://rpgcreator.net

RPG Creator permet de créer des RPG ou MMORPG sans aucune connaissance en programmation et de jouer au jeu sur les tablettes tactiles, Smartphones et navigateurs Web.
Disponible le 4 Juin


Haut
 Profil  
 
 Sujet du message: Re: Revenir dans un lieu après GameOver v2
MessagePublié: 11 Fév 2012, 13:42 
Seigneur (Nv 2)
Avatar de l’utilisateur

Inscrit le: 22 Mai 2011, 13:55
Messages: 428
Niveau RPG Maker: Pas dégueu
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Polyvalence
Sexe: Masculin
Points d'aide: 44/60

Créations :

- Interaction avec l'équipe (sur la carte)

- Script Manager: partagez vos scripts entre plusieurs projets

- Générateur de characters RGSS

- Animated Custom Menu System


Voir ses créations

Je me permets de signaler un bug qui fait planter le script: il y a deux =begin au début, il faudrait supprimer le premier.

_________________
Des bons RPG, j'en ai connus, ça oui... Enfin, après réflexion, peut-être pas.

Image
Image
Image
Image
Image


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 2 messages ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728