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 concis.
-Pensez à éditer votre sujet afin d'ajouter [Résolu] dans le titre, lorsque votre demande est résolue.



Publier un nouveau sujet Répondre au sujet  [ 3 messages ] 
Auteur Message
 Sujet du message: Script 'Meneur d'équipe'
MessagePublié: 19 Fév 2012, 14:05 
Villageois (Nv 3)

Inscrit le: 12 Juil 2010, 10:28
Messages: 43
Niveau RPG Maker: Moyen
Logiciel(s) préféré(s): RMVX et RMXP
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Bonjour,

Je cherche un script qui me permettrait de choisir le meneur d'équipe.
Explications :
Lorsque je vais dans le menu, il y ait un onglet avec marqué
'Meneur'. Lorsque je clique dessus, on me demande ensuite de choisir
l'un des personnages.
En retournant sur la carte, le personnage que je contrôle serait celui que
j'ai choisi.

En revanche, j'ai déjà un script qui m'a modifié le menu. Donc, pour que
se soit compatible, pourriez-vous modifier le script ci-dessous ?

Code: Tout sélectionner
#################################################

# Mog Basic Menu Plus V 1.0 #

##################################################

# By Moghunter

# revu par Berka

##################################################

##############

# Game_Actor #

##############

class Game_Actor < Game_Battler

  def now_exp

    return @exp - @exp_list[@level]

  end

  def next_exp

    return @exp_list[@level+1] > 0 ? @exp_list[@level+1] - @exp_list[@level] : 0

  end

end

###############

# Window_Base #

###############

class Window_Base < Window

  def draw_item_icon(item, x, y)

    if item != nil

      draw_icon(item.icon_index, x, y)

    end

  end

  def draw_actor_level_menu(actor, x, y)

    self.contents.font.color = system_color

    self.contents.draw_text(x, y, 32, WLH, Vocab::level_a)

    self.contents.font.color = normal_color

    self.contents.draw_text(x + 16, y, 24, WLH, actor.level, 2)

  end

  def draw_actor_class_menu(actor, x, y)

    self.contents.font.color = normal_color

    self.contents.draw_text(x, y, 85, WLH, actor.class.name)

  end

  def exp_gauge_color1

    return text_color(30)

  end

  def exp_gauge_color2

    return text_color(31)

  end

  def draw_actor_exp_meter(actor, x, y, width = 100)

    if actor.next_exp != 0

      exp = actor.now_exp

    else

      exp = 1

    end

    gw = width * exp / [actor.next_exp, 1].max

    gc1 = exp_gauge_color1

    gc2 = exp_gauge_color2

    self.contents.fill_rect(x, y + WLH - 8, width, 6, gauge_back_color)

    self.contents.gradient_fill_rect(x, y + WLH - 8, gw, 6, gc1, gc2)

    self.contents.font.color = system_color

    self.contents.draw_text(x, y, 30, WLH, "Exp")

    self.contents.font.color = normal_color

    xr = x + width

    self.contents.draw_text(xr - 60, y, 60, WLH, actor.next_rest_exp_s, 2)

  end

end

#####################

# Window_MenuStatus #

#####################

class Window_MenuStatus < Window_Selectable

  def initialize(x, y)

    super(x, y, 384, 416)

    refresh

    self.active = false

    self.index = -1

  end

  def refresh

    self.contents.clear

    @item_max = $game_party.members.size

    for actor in $game_party.members

      x = 104

      y = actor.index * 96 + WLH / 2

      draw_item_icon($data_weapons[actor.weapon_id], x -92, y + 20)

      if actor.two_swords_style

        draw_item_icon($data_weapons[actor.armor1_id], x -35, y + 20)

      else

        draw_item_icon($data_armors[actor.armor1_id], x -35, y + 20)

      end

      draw_actor_graphic(actor, x -50, y +46)

      draw_actor_name(actor, x, y)

      draw_actor_class_menu(actor, x + 120, y)

      draw_actor_level_menu(actor, x + 200, y)

      draw_actor_state(actor, x, y + WLH * 2)

      draw_actor_hp(actor, x + 120, y + WLH * 1)

      draw_actor_mp(actor, x + 120, y + WLH * 2)

      draw_actor_exp_meter(actor, x , y + WLH * 1)

    end

  end

  def update_cursor

  if @index < 0

    self.cursor_rect.empty

  elsif @index < @item_max

    self.cursor_rect.set(0, @index * 96, contents.width, 96)

  elsif @index >= 100

    self.cursor_rect.set(0, (@index - 100) * 96, contents.width, 96)

  else

    self.cursor_rect.set(0, 0, contents.width, @item_max * 96)

  end

end

end

############

# Game_Map #

############

class Game_Map

  attr_reader :map_id

  def mpname

    $mpname = load_data("Data/MapInfos.rvdata")

    $mpname[@map_id].name

  end

end

###############

# Window_Time #

###############

class Window_Mapname < Window_Base

  def initialize(x, y)

    super(x, y, 160, WLH + 70)

    refresh

  end

  def refresh

    self.contents.clear

    self.contents.font.color = system_color

    self.contents.draw_text(4, 0, 120, 32, "Lieu :")

    self.contents.font.color = normal_color

    self.contents.draw_text(4, 32, 120, 32, $game_map.mpname.to_s, 2)

  end

end

###############

# Window_Time #

###############

class Window_Time < Window_Base

  def initialize(x, y)

    super(x, y, 160, WLH + 66)

    refresh

  end

  def refresh

    self.contents.clear

    self.contents.font.color = system_color

    self.contents.draw_text(4, 0, 120, 32, "Temps de Jeu")

    @total_sec = Graphics.frame_count / Graphics.frame_rate

    hour = @total_sec / 60 / 60

    min = @total_sec / 60 % 60

    sec = @total_sec % 60

    text = sprintf("%02d:%02d:%02d", hour, min, sec)

    self.contents.font.color = normal_color

    self.contents.draw_text(4, 32, 120, 32, text, 2)

  end

  def update

    super

    if Graphics.frame_count / Graphics.frame_rate != @total_sec

      refresh

    end

  end

end

##############

# Scene_Menu #

##############

class Scene_Menu

  def main

    start

    perform_transition

    Input.update

    loop do

      Graphics.update

      Input.update

      update

      break if $scene != self

    end

    Graphics.update

    pre_terminate

    Graphics.freeze

    terminate

  end

  def initialize(menu_index = 0)

    @menu_index = menu_index

  end

  def create_menu_background

    @menuback_sprite = Sprite.new

    @menuback_sprite.bitmap = $game_temp.background_bitmap

    @menuback_sprite.color.set(16, 16, 16, 128)

    update_menu_background

  end

  def create_menu_background

    @menuback_sprite = Sprite.new

    @menuback_sprite.bitmap = $game_temp.background_bitmap

    @menuback_sprite.color.set(16, 16, 16, 128)

    update_menu_background

  end

  def dispose_menu_background

    @menuback_sprite.dispose

  end

  def update_menu_background

  end

  def perform_transition

    Graphics.transition(10)

  end

  def start

    create_menu_background

    create_command_window

    @gold_window = Window_Gold.new(0, 360)

    @status_window = Window_MenuStatus.new(160, 0)

    @playtime_window = Window_Time .new(0, 270)

    @mapname_window = Window_Mapname.new(0, 176)

    @status_window.openness = 0

    @playtime_window.openness = 0

    @mapname_window.openness = 0

    @gold_window.openness = 0

    @status_window.open

    @playtime_window.open

    @mapname_window.open

    @gold_window.open

  end

  def pre_terminate

    @status_window.close

    @playtime_window.close

    @mapname_window.close

    @gold_window.close

    @command_window.close

    begin

      @status_window.update

      @playtime_window.update

      @mapname_window.update

      @gold_window.update

      @command_window.update

      Graphics.update

    end until @status_window.openness == 0

  end

  def terminate

    dispose_menu_background

    @command_window.dispose

    @gold_window.dispose

    @status_window.dispose

    @playtime_window.dispose

    @mapname_window.dispose

  end

  def update

    update_menu_background

    @command_window.update

    @gold_window.update

    @status_window.update

    @mapname_window.update

    @playtime_window.update

    if @command_window.active

      update_command_selection

    elsif @status_window.active

      update_actor_selection

    end

  end

  def create_command_window

    s1 = Vocab::item

    s2 = Vocab::skill

    s3 = Vocab::equip

    s4 = Vocab::status

    s5 = Vocab::save

    s6 = Vocab::game_end

    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])

    @command_window.index = @menu_index

    @command_window.openness = 0

    @command_window.open

    if $game_party.members.size == 0

      @command_window.draw_item(0, false)

      @command_window.draw_item(1, false)

      @command_window.draw_item(2, false)

      @command_window.draw_item(3, false)

    end

    if $game_system.save_disabled

      @command_window.draw_item(4, false)

    end

  end

  def update_command_selection

    if Input.trigger?(Input::B)

      Sound.play_cancel

      $scene = Scene_Map.new

    elsif Input.trigger?(Input::C)

      if $game_party.members.size == 0 and @command_window.index < 4

        Sound.play_buzzer

        return

      elsif $game_system.save_disabled and @command_window.index == 4

        Sound.play_buzzer

        return

      end

      Sound.play_decision

      case @command_window.index

      when 0

        $scene = Scene_Item.new

      when 1,2,3

        start_actor_selection

      when 4

        $scene = Scene_File.new(true, false, false)

      when 5

        $scene = Scene_End.new

      end

    end

  end

  def start_actor_selection

    @command_window.active = false

    @status_window.active = true

    if $game_party.last_actor_index < @status_window.item_max

      @status_window.index = $game_party.last_actor_index

    else

      @status_window.index = 0

    end

  end

  def end_actor_selection

    @command_window.active = true

    @status_window.active = false

    @status_window.index = -1

  end

  def update_actor_selection

    if Input.trigger?(Input::B)

      Sound.play_cancel

      end_actor_selection

    elsif Input.trigger?(Input::C)

      $game_party.last_actor_index = @status_window.index

      Sound.play_decision

      case @command_window.index

      when 1

        $scene = Scene_Skill.new(@status_window.index)

      when 2

        $scene = Scene_Equip.new(@status_window.index)

      when 3

        $scene = Scene_Status.new(@status_window.index)

      end

    end

  end

end

$mogscript = {} if $mogscript == nil

$mogscript["basic_menu_plus"] = true



PS : Script pour VX !
Merci !

_________________
-Tu aimes ton père ?
-Oui maman !
-Alors reprends-en un bout !

Projet en cours :
Titre : Elfyo - Genèse
Avancement du jeu :
Episode 1 : 95%
Episode 2 : 45%


Haut
 Profil  
 
 Sujet du message: Re: Script 'Meneur d'équipe'
MessagePublié: 20 Fév 2012, 03:52 
Villageois (Nv 3)
Avatar de l’utilisateur

Inscrit le: 25 Aoû 2010, 19:24
Messages: 47
Localisation: Québec, Canada
Sexe: Masculin
Points d'aide: 15/60

Créations :

Voir ses créations

Sihn a crée un script dans ce genre permettant de changer le héros sur la map via un ''ring menu'' sans pour autant y accéder via un menu :

f70-map-changer-lordre-des-heeros-via-un-menu-tournant-t102141.html

En espérant que cela te sera utile.
Crédit principal à MakirouAru pour le script de base et à Sihn pour sa modification.

_________________
Simply
Image


Haut
 Profil  
 
 Sujet du message: Re: Script 'Meneur d'équipe'
MessagePublié: 20 Fév 2012, 11:45 
Villageois (Nv 3)

Inscrit le: 12 Juil 2010, 10:28
Messages: 43
Niveau RPG Maker: Moyen
Logiciel(s) préféré(s): RMVX et RMXP
Sexe: Masculin
Points d'aide: 0/60

Créations :

Voir ses créations

Merci beaucoup Mr. Vanderstein !!
C'est encore mieux que ce que j'espérais !

_________________
-Tu aimes ton père ?
-Oui maman !
-Alors reprends-en un bout !

Projet en cours :
Titre : Elfyo - Genèse
Avancement du jeu :
Episode 1 : 95%
Episode 2 : 45%


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 3 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