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


-Mettez un titre clair et explicite, pas un titre vague.
-Fournissez le plus d'informations possible, soyez clair et précis.
-Si votre question est liée à un script, postez le script, un lien vers lui, ou une démo.
-Pensez à éditer votre sujet afin d'ajouter [Résolu] dans le titre, lorsque votre problème est résolu.



Publier un nouveau sujet Répondre au sujet  [ 18 messages ]  Aller à la page Précédent  1, 2
Auteur Message
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 21:49 
Villageois (Nv 1)

Inscrit le: 18 Mai 2009, 00:00
Messages: 12
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RMVX
Point(s) Fort(s): Evenement, Mapping
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Ok pas de soucis donc voilà le scrip qui est afficher plus haut :

Code: Tout sélectionner
#==============================================================================
# ■ Ath_Custom
#------------------------------------------------------------------------------
#  Auteur
#  Version
#  Date
#------------------------------------------------------------------------------
#  Explications
#==============================================================================

class Ath_Custom < Window_Base
 
  #--------------------------------------------------------------------------
  # ● Initialisation
  #--------------------------------------------------------------------------
    def initialize
      #Dimension de la Fenêtre
      super(0, 0, 545, 64)
      #Création Bitmap
      self.contents = Bitmap.new(width - 32, height - 32)
      #Police et taille du texte
      self.contents.font.name = $fontface
      self.contents.font.size = 16
      self.contents.font.color = Color.new(255, 255, 255)
      #Appel de la method refresh pour initialiser le texte
      refresh
    end
   
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------
    def refresh
      #Effacement du contenu de la fenêtre
      self.contents.clear
      #Affichage du texte
      self.contents.draw_text(0, 0, 120, 32, "HP : #{$game_actors[1].hp}/#{$game_actors[1].maxhp}")
      #self.contents.draw_text(0, 0, 120, 32, "MP : #{$game_actors[1].mp}/#{$game_actors[1].maxmp}")     
    end
end

class Fenetre_Ath_Custom
 
  #--------------------------------------------------------------------------
  # ● Main
  #--------------------------------------------------------------------------
  def main
    #On initialise une fenetre
    @window = Ath_Custom.new
    #On enlève le fond de la fenêtre
    #Transition jusqu'a l'ecran actuelle
    Graphics.transition
    #boucle infinie
    loop do
    #mise à jour des entrée clavier et des images
    Graphics.update
    Input.update
    #On appel la methode update
    update
    #Si la scène actuelle est différente de la class main (en gros si on sort de la scene)
    if $scene != self
    #On sort de la boucle et on execute le reste
    break
    end
  end
  Graphics.freeze
  @windows.dispose
  end

  #--------------------------------------------------------------------------
  # ● Mise à Jour
  #--------------------------------------------------------------------------
  def update
    @window.update
  end
end


et le scene_map :
avec les lignes ajouter : 16, 39, 64
Code: Tout sélectionner
#==============================================================================
# ** Scene_Map
#------------------------------------------------------------------------------
#  This class performs the map screen processing.
#==============================================================================

class Scene_Map < Scene_Base
  #--------------------------------------------------------------------------
  # * Start processing
  #--------------------------------------------------------------------------
  def start
    super
    $game_map.refresh
    @spriteset = Spriteset_Map.new
    @message_window = Window_Message.new
    @ath_custom = Ath_Custom.new
  end
  #--------------------------------------------------------------------------
  # * Execute Transition
  #--------------------------------------------------------------------------
  def perform_transition
    if Graphics.brightness == 0       # After battle or loading, etc.
      fadein(30)
    else                              # Restoration from menu, etc.
      Graphics.transition(15)
    end
  end
  #--------------------------------------------------------------------------
  # * Termination Processing
  #--------------------------------------------------------------------------
  def terminate
    super
    if $scene.is_a?(Scene_Battle)     # If switching to battle screen
      @spriteset.dispose_characters   # Hide characters for background creation
    end
    snapshot_for_background
    @spriteset.dispose
    @message_window.dispose
    @ath_custom.dispose
    if $scene.is_a?(Scene_Battle)     # If switching to battle screen
      perform_battle_transition       # Execute pre-battle transition
    end
  end
  #--------------------------------------------------------------------------
  # * Basic Update Processing
  #--------------------------------------------------------------------------
  def update_basic
    Graphics.update                   # Update game screen
    Input.update                      # Update input information
    $game_map.update                  # Update map
    @spriteset.update                 # Update sprite set
  end
  #--------------------------------------------------------------------------
  # * Frame Update
  #--------------------------------------------------------------------------
  def update
    super
    $game_map.interpreter.update      # Update interpreter
    $game_map.update                  # Update map
    $game_player.update               # Update player
    $game_system.update               # Update timer
    @spriteset.update                 # Update sprite set
    @message_window.update            # Update message window
    @ath_custom.refresh
    unless $game_message.visible      # Unless displaying a message
      update_transfer_player
      update_encounter
      update_call_menu
      update_call_debug
      update_scene_change
    end
  end
  #--------------------------------------------------------------------------
  # * Fade In Screen
  #     duration : time
  #    If you use Graphics.fadeout directly on the map screen, a number of
  #    problems can occur, such as weather effects and parallax  scrolling
  #    being stopped. So instead, perform a dynamic fade-in.
  #--------------------------------------------------------------------------
  def fadein(duration)
    Graphics.transition(0)
    for i in 0..duration-1
      Graphics.brightness = 255 * i / duration
      update_basic
    end
    Graphics.brightness = 255
  end
  #--------------------------------------------------------------------------
  # * Fade Out Screen
  #     duration : time
  #    As with the fadein above, Graphics.fadein is not used directly.
  #--------------------------------------------------------------------------
  def fadeout(duration)
    Graphics.transition(0)
    for i in 0..duration-1
      Graphics.brightness = 255 - 255 * i / duration
      update_basic
    end
    Graphics.brightness = 0
  end
  #--------------------------------------------------------------------------
  # * Player Transfer  Processing
  #--------------------------------------------------------------------------
  def update_transfer_player
    return unless $game_player.transfer?
    fade = (Graphics.brightness > 0)
    fadeout(30) if fade
    @spriteset.dispose              # Dispose of sprite set
    $game_player.perform_transfer   # Execute player transfer
    $game_map.autoplay              # Automatically switch BGM and BGS
    $game_map.update
    Graphics.wait(15)
    @spriteset = Spriteset_Map.new  # Recreate sprite set
    fadein(30) if fade
    Input.update
  end
  #--------------------------------------------------------------------------
  # * Encounter Processing
  #--------------------------------------------------------------------------
  def update_encounter
    return if $game_player.encounter_count > 0        # Check steps
    return if $game_map.interpreter.running?          # Event being executed?
    return if $game_system.encounter_disabled         # Encounters forbidden?
    troop_id = $game_player.make_encounter_troop_id   # Determine troop
    return if $data_troops[troop_id] == nil           # Troop is invalid?
    $game_troop.setup(troop_id)
    $game_troop.can_escape = true
    $game_temp.battle_proc = nil
    $game_temp.next_scene = "battle"
    preemptive_or_surprise
  end
  #--------------------------------------------------------------------------
  # * Determine Preemptive Strike and Surprise Attack Chance
  #--------------------------------------------------------------------------
  def preemptive_or_surprise
    actors_agi = $game_party.average_agi
    enemies_agi = $game_troop.average_agi
    if actors_agi >= enemies_agi
      percent_preemptive = 5
      percent_surprise = 3
    else
      percent_preemptive = 3
      percent_surprise = 5
    end
    if rand(100) < percent_preemptive
      $game_troop.preemptive = true
    elsif rand(100) < percent_surprise
      $game_troop.surprise = true
    end
  end
  #--------------------------------------------------------------------------
  # * Determine if Menu is Called due to Cancel Button
  #--------------------------------------------------------------------------
  def update_call_menu
    if Input.trigger?(Input::B)
      return if $game_map.interpreter.running?        # Event being executed?
      return if $game_system.menu_disabled            # Menu forbidden?
      $game_temp.menu_beep = true                     # Set SE play flag
      $game_temp.next_scene = "menu"
    end
  end
  #--------------------------------------------------------------------------
  # * Determine Bug Call Due to F9 key
  #--------------------------------------------------------------------------
  def update_call_debug
    if $TEST and Input.press?(Input::F9)    # F9 key during test play
      $game_temp.next_scene = "debug"
    end
  end
  #--------------------------------------------------------------------------
  # * Execute Screen Switch
  #--------------------------------------------------------------------------
  def update_scene_change
    return if $game_player.moving?    # Is player moving?
    case $game_temp.next_scene
    when "battle"
      call_battle
    when "shop"
      call_shop
    when "name"
      call_name
    when "menu"
      call_menu
    when "save"
      call_save
    when "debug"
      call_debug
    when "gameover"
      call_gameover
    when "title"
      call_title
    else
      $game_temp.next_scene = nil
    end
  end
  #--------------------------------------------------------------------------
  # * Switch to Battle Screen
  #--------------------------------------------------------------------------
  def call_battle
    @spriteset.update
    Graphics.update
    $game_player.make_encounter_count
    $game_player.straighten
    $game_temp.map_bgm = RPG::BGM.last
    $game_temp.map_bgs = RPG::BGS.last
    RPG::BGM.stop
    RPG::BGS.stop
    Sound.play_battle_start
    $game_system.battle_bgm.play
    $game_temp.next_scene = nil
    $scene = Scene_Battle.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Shop Screen
  #--------------------------------------------------------------------------
  def call_shop
    $game_temp.next_scene = nil
    $scene = Scene_Shop.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Name Input Screen
  #--------------------------------------------------------------------------
  def call_name
    $game_temp.next_scene = nil
    $scene = Scene_Name.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Menu Screen
  #--------------------------------------------------------------------------
  def call_menu
    if $game_temp.menu_beep
      Sound.play_decision
      $game_temp.menu_beep = false
    end
    $game_temp.next_scene = nil
    $scene = Scene_Menu.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Save Screen
  #--------------------------------------------------------------------------
  def call_save
    $game_temp.next_scene = nil
    $scene = Scene_File.new(true, false, true)
  end
  #--------------------------------------------------------------------------
  # * Switch to Debug Screen
  #--------------------------------------------------------------------------
  def call_debug
    Sound.play_decision
    $game_temp.next_scene = nil
    $scene = Scene_Debug.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Game Over Screen
  #--------------------------------------------------------------------------
  def call_gameover
    $game_temp.next_scene = nil
    $scene = Scene_Gameover.new
  end
  #--------------------------------------------------------------------------
  # * Switch to Title Screen
  #--------------------------------------------------------------------------
  def call_title
    $game_temp.next_scene = nil
    $scene = Scene_Title.new
    fadeout(60)
  end
  #--------------------------------------------------------------------------
  # * Execute Pre-battle Transition
  #--------------------------------------------------------------------------
  def perform_battle_transition
    Graphics.transition(80, "Graphics/System/BattleStart", 80)
    Graphics.freeze
  end
end


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 21:56 
Seigneur (Nv 1)
Avatar de l’utilisateur

Inscrit le: 22 Mai 2011, 13:55
Messages: 414
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

Ok donc on est d'accord que ta scène Fenetre_Ath_Custom ne sert à rien, puisque tu l'appelles jamais. :mrgreen: Ca fait déjà une portion de moins à se demander ce que ça fout là...

Maintenant, quand tu dis que ça marche pas sous VX, c'est-à-dire? (précisément si possible)

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

Image
Image
Image
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 22:00 
Villageois (Nv 1)

Inscrit le: 18 Mai 2009, 00:00
Messages: 12
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RMVX
Point(s) Fort(s): Evenement, Mapping
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Ha ok pour la scène ^^'
En fait le truc c'est que ma fenêtre s'affiche... mais elle est vide :O


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 22:04 
Seigneur (Nv 1)
Avatar de l’utilisateur

Inscrit le: 22 Mai 2011, 13:55
Messages: 414
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

C'est bizarre. Je suppose que je ne connais pas assez bien VX pour te répondre.

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

Image
Image
Image
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 23:04 
Villageois (Nv 1)

Inscrit le: 18 Mai 2009, 00:00
Messages: 12
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RMVX
Point(s) Fort(s): Evenement, Mapping
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Arf c'est dommage j'ai vraiment à coeur de savoir bien créer des scripts


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 23:08 
Seigneur (Nv 1)
Avatar de l’utilisateur

Inscrit le: 22 Mai 2011, 13:55
Messages: 414
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

C'est tout à ton honneur, mais RMVX c'est le mal. :p

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

Image
Image
Image
Image
Image


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 19 Fév 2012, 23:55 
Garde
Garde
Avatar de l’utilisateur

Inscrit le: 12 Avr 2009, 00:00
Messages: 372
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Ruby
Sexe: Masculin
Points d'aide: Illimité

Créations :

Voir ses créations

Bonjour,

Les tutoriels sont pour XP. Sous VX, la création d'une fenêtre a été "simplifié".

Un simple coup d'œil dans les scripts de bases des deux versions permet de bien voir la différence.

Par exemple, si l'on prend Window_Gold, qui est une fenetre affichant l'or tous ce qu'il y a de plus basique, sous XP (pour les anciennes version d'xp du moins) on as :
Code: Tout sélectionner
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays amount of gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #--------------------------------------------------------------------------
  def initialize
    super(0, 0, 160, 64)
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    cx = contents.text_size($data_system.words.gold).width
    self.contents.font.color = normal_color
    self.contents.draw_text(4, 0, 120-cx-2, 32, $game_party.gold.to_s, 2)
    self.contents.font.color = system_color
    self.contents.draw_text(124-cx, 0, cx, 32, $data_system.words.gold, 2)
  end
end


... et pour VX :
Code: Tout sélectionner
#==============================================================================
# ** Window_Gold
#------------------------------------------------------------------------------
#  This window displays the amount of gold.
#==============================================================================

class Window_Gold < Window_Base
  #--------------------------------------------------------------------------
  # * Object Initialization
  #     x : window X coordinate
  #     y : window Y coordinate
  #--------------------------------------------------------------------------
  def initialize(x, y)
    super(x, y, 160, WLH + 32)
    refresh
  end
  #--------------------------------------------------------------------------
  # * Refresh
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    draw_currency_value($game_party.gold, 4, 0, 120)
  end
end


Donc en gros, sous VX, ces lignes :
Code: Tout sélectionner
    self.contents = Bitmap.new(width - 32, height - 32)
    self.contents.font.name = $fontface
    self.contents.font.size = $fontsize

Sont gérées par Window_Base, donc du coup, tu n'en as plus besoin.
T'as fenetre devient donc :
Code: Tout sélectionner
class Ath_Custom < Window_Base
 
  #--------------------------------------------------------------------------
  # ● Initialisation
  #--------------------------------------------------------------------------
    def initialize
      #Dimension de la Fenêtre
      super(0, 0, 545, 64)
      #Appel de la method refresh pour initialiser le texte
      refresh
    end
   
  #--------------------------------------------------------------------------
  # ● Refresh
  #--------------------------------------------------------------------------
    def refresh
      #Effacement du contenu de la fenêtre
      self.contents.clear
      #Affichage du texte
      self.contents.draw_text(0, 0, 120, 32, "HP : #{$game_actors[1].hp}/#{$game_actors[1].maxhp}")
      #self.contents.draw_text(0, 0, 120, 32, "MP : #{$game_actors[1].mp}/#{$game_actors[1].maxmp}")     
    end
end


Bon après, il y a peut être autre chose qui gêne, mais je n'est rien remarqué d'autre.

Bonne continuation ;)


Haut
 Profil  
 
 Sujet du message: Re: Aide à la création de mon script
MessagePublié: 20 Fév 2012, 14:40 
Villageois (Nv 1)

Inscrit le: 18 Mai 2009, 00:00
Messages: 12
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RMVX
Point(s) Fort(s): Evenement, Mapping
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Haa merci ! :D


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 18 messages ]  Aller à la page Précédent  1, 2

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