Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -40%
-40% sur le Pack Gaming Mario PDP Manette filaire + ...
Voir le deal
29.99 €

Partagez
 

 Quest Legend 2 - 2 inventaires

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Benakin
Paysan (niveau 3)
Paysan (niveau 3)
Benakin

Masculin
Messages postés : 21
Date d'inscription : 19/10/2008
Jauge LPC :
Quest Legend 2 - 2 inventaires 89152714000 / 1000 / 100Quest Legend 2 - 2 inventaires 8915271400


Quest Legend 2 - 2 inventaires Empty
MessageSujet: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires EmptyMar 30 Juin 2015 - 20:36

Domaine concerné: Script
Logiciel utilisé: RPG MAKER VX
Bonjour à tous, actuellement en train de finaliser certaines choses sur mon projet Quest Legend 2, j'ai besoin d'un service.

Voila je souhaite améliorer mon système de quête. Actuellement, l'objectif atterri dans l'inventaire comme sur le screen ci-dessous, on peut même selectionner l'objectif pour le consulter.

Quest Legend 2 - 2 inventaires Sans-titre_imagesia-com_z74t_large

Quest Legend 2 - 2 inventaires Sans-titre2_imagesia-com_z74s_large

Afin d’économiser nombreux interrupteurs, j'ai commencé ce projet en utilisant ces objectifs dans l'inventaire pour activer certain événements (ex : porteur de l'objectif "en tête à tête ", activer l'événement Jeeze ).

Ma requête est la suivante :

Je souhaiterai avoir un deuxième inventaire permettant d'y mettre tout les objectifs du jeu pour les dissocier des ressources (potions/objets...)

A savoir que les objectifs commencent à partir du 200eme objets au 995eme.
A savoir actuellement le menu est le suivant :

Code:
#################################################

# 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

et ce correctif :

Code:
###############
# Window_Base #
###############
class Window_Base < Window
  def draw_actor_level_menu(actor, x, y)
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, 60, WLH, Vocab::level_a)
    self.contents.font.color = normal_color
    self.contents.draw_text(x + 60, 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
end
#####################
# Window_MenuStatus #
#####################
class Window_MenuStatus < Window_Selectable
  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 - 80, y + 50)
      draw_actor_class_menu(actor, x + 140, y)
      draw_actor_level_menu(actor, x + 5, 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
end
$mogscript = {} if $mogscript == nil
$mogscript["basic_menu_plus"] = true

Quest Legend 2 - 2 inventaires Sans-titre_imagesia-com_z751_large
Quest Legend 2 - 2 inventaires Sans-titre2_imagesia-com_z752_large

Afin d'optimiser le menu pour ajouter un deuxieme inventaire, s'il est possible de remplacer l'élément sauvegarde que je n'utilise pas dans le jeu, en effet, la sauvegarde s'effectue avec un objet ou un interrupteur :

Quest Legend 2 - 2 inventaires Sans-titre3_imagesia-com_z74w_large

Donc plutot que d'avoir dans le menu un onglet sauvegarder, avoir un onglet inventaire 2 que l'on pourrait appeler "Objectif"



Voila si quelqu'un se porte volontaire, il fera bien evidemment parti des crédits du jeu. Merci d'avance :sourire2
Revenir en haut Aller en bas
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
Quest Legend 2 - 2 inventaires 891527140097 / 10097 / 100Quest Legend 2 - 2 inventaires 8915271400

Quest Legend 2 - 2 inventaires Membre15
Quest Legend 2 - 2 inventaires Event-10
Quest Legend 2 - 2 inventaires Altrui10
Quest Legend 2 - 2 inventaires Action10
Quest Legend 2 - 2 inventaires Travai10
Quest Legend 2 - 2 inventaires Collec10
Quest Legend 2 - 2 inventaires Collec11
Quest Legend 2 - 2 inventaires Collec12
Quest Legend 2 - 2 inventaires Staffe11
Quest Legend 2 - 2 inventaires Dessin10


Quest Legend 2 - 2 inventaires Empty
MessageSujet: Re: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires EmptyMar 30 Juin 2015 - 22:45

J'ai pas de solution à ton problème, mais si je puis me permettre, ce n'est vraiment pas ergonomique comme système. Quand on a beaucoup d'objectifs ça doit vite devenir très chiant de trouver celui qu'on cherche parmi tous les "Objectif".
A ma connaissance y'a quand même pas mal de systèmes bien fichus sur VX Ace (ou même VX tout court selon celui que tu utilises).
Revenir en haut Aller en bas
Benakin
Paysan (niveau 3)
Paysan (niveau 3)
Benakin

Masculin
Messages postés : 21
Date d'inscription : 19/10/2008
Jauge LPC :
Quest Legend 2 - 2 inventaires 89152714000 / 1000 / 100Quest Legend 2 - 2 inventaires 8915271400


Quest Legend 2 - 2 inventaires Empty
MessageSujet: Re: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires EmptyMar 30 Juin 2015 - 23:07

C'est pas compliqué, les objectifs bleus sont des objectifs accomplis ^^. Mais ce système avait été mis en place au tout début, en 2011, donc dit classique. Je souhaite optimiser cela, c'est pourquoi il me faut une personne capable de retoucher le système.
Revenir en haut Aller en bas
BARVACHE
Paysan (niveau 3)
Paysan (niveau 3)
BARVACHE

Masculin
Messages postés : 21
Date d'inscription : 28/06/2015
Jauge LPC :
Quest Legend 2 - 2 inventaires 89152714008 / 1008 / 100Quest Legend 2 - 2 inventaires 8915271400


Quest Legend 2 - 2 inventaires Empty
MessageSujet: Re: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires EmptyMer 1 Juil 2015 - 21:36

Y'a pas mal de script de classement d'objets sur le net. Tu peux définir le type d'objet en commentaire et bidouiller dans le script pour ne conserver que les types d'objets qui t'intéressent. C'est pas précisément ce que tu souhaites mais ça peut constituer une bonne alternative.
Revenir en haut Aller en bas
Benakin
Paysan (niveau 3)
Paysan (niveau 3)
Benakin

Masculin
Messages postés : 21
Date d'inscription : 19/10/2008
Jauge LPC :
Quest Legend 2 - 2 inventaires 89152714000 / 1000 / 100Quest Legend 2 - 2 inventaires 8915271400


Quest Legend 2 - 2 inventaires Empty
MessageSujet: Re: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires EmptyVen 3 Juil 2015 - 14:48

Problème résolu, avec la programmation faite pour Quest Legend, je ne pouvais pas mettre en place n'importe quel script. Enfin voila, j'ai eu ce que je voulais ^^.
Revenir en haut Aller en bas
Contenu sponsorisé




Quest Legend 2 - 2 inventaires Empty
MessageSujet: Re: Quest Legend 2 - 2 inventaires   Quest Legend 2 - 2 inventaires Empty

Revenir en haut Aller en bas
 
Quest Legend 2 - 2 inventaires
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Mystic quest legend II
» Quest Legend 2 - The magical world ( jeu complet )
» Level Design de "Mystic Quest Legend" [SNES]
» Gérer plusieurs inventaires
» VX Ace Quest Manager

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ APPRENTISSAGE ~ :: Entraide :: Problèmes résolus-
Sauter vers: