2D - Gamers
Bienvenu dans la communauté 2D-Gamers!

Vous pouvez vous inscrire pour visiter des endroits pour les membres!
(Script, Tutoriels, etc...)
Vous pouvez parler avec nos membres, est demander plein de chose etc... .
Est si vous jouer a minecraft, vous pouvez venir sur notre server de la communauté!

Bonne Visite!
Administrateur: Vergix

Rejoignez le forum, c’est rapide et facile

2D - Gamers
Bienvenu dans la communauté 2D-Gamers!

Vous pouvez vous inscrire pour visiter des endroits pour les membres!
(Script, Tutoriels, etc...)
Vous pouvez parler avec nos membres, est demander plein de chose etc... .
Est si vous jouer a minecraft, vous pouvez venir sur notre server de la communauté!

Bonne Visite!
Administrateur: Vergix
2D - Gamers
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Le deal à ne pas rater :
Pokémon EV06 : où acheter le Bundle Lot 6 Boosters Mascarade ...
Voir le deal

VX Ace Quest Manager

2 participants

Aller en bas

En cours VX Ace Quest Manager

Message par iVarlix Dim 23 Mar - 21:57

Bonjour ou bonsoir!^^
Je vient vous présenter mon premier projet en C#!^^

Je me suis servir d'un Template: Quest Designer.
J'ai demander à l'auteur (Zarby), m'a autoriser de refaire le logiciel.
Donc, le logiciel n'est pas réellement fait par moi, mais de Zarby.
Tout ce que j'ai fait et de corriger des bugs, refaire l'apparence, rajouter etc... .

J’espère qui vous plaira!^^

VX Ace Quest Manager
Il vous permet de faciliter la création des quêtes, pour le script "Quest Journal" de Modern Algebra!

ChangeLog:
Spoiler:

Image:
Spoiler:

Composant requis{1.0.0 à 2.0.0}:
Spoiler:

Les bugs/Indisponibilité{2.0.0}:
Spoiler:

Prochaine Version{2.x.x}:
Spoiler:


Téléchargement du logiciel:

[Vous devez être inscrit et connecté pour voir ce lien]


Téléchargement pack de langage du logiciel:

[Vous devez être inscrit et connecté pour voir ce lien]


Téléchargement Aide:

{01/2.0.0/Fr-1.0}Télécharger...[/url]
{02/2.0.0/En-1.0}Télécharger...[/url]

Les remerciements:
-Zarby d'avoir créer le logiciel: Quest Designer
-Biwy de m'avoir aider a créer les scripts: QuestDatabase &  a modifier Quest MA
-Est a vous, qui utiliseront ce logiciel.


La création du .rvdata2:
Il seras mis dans l'aide, vous avez juste a prendre le script avec l'icon de script, et cliquer sur "Modifier", copier coller le
script au dessous de main ou material, et vous copier ceci au dessus de main (Obligatoire):
Code:
################################################################################
##### QUEST DATABASE
####################
################################################################################
##### Pour ajouter une nouvelle quête dans la QuestDatabase :
#
# /!\ Il faut faire tout ça avant de faire quest(id) /!\
#
# Pour ajouter une quête par le .txt, il faut ajouter une ligne comme ceci :
# ID|NAME|LEVEL|ICONE_INDEX|DESCRIPTION|OBJECTIF1#OBJECTIF2#OBJECTIF3#OBJECTIF4|OBJPRIME1#OBJPRIME2|CATEGORIE|BANNIERE|TEINTE|GIVER|LOCATION|EVENTCOMMUN|TYPE/ID/NUMBER#TYPE/NUMBER|LAYOUT
#
# Suivez l'exemple de la démo !
#
# /!\ Il faut faire tout ça avant de faire quest(id) /!\
#
################################################################################
##### Début du Script
#####################
#####################
# DataManager
# - Création et sauvegarde du fichier Quests.rvdata2
#####################
module DataManager  
  class << self
    alias lnd_quest load_normal_database
    def load_normal_database
      lnd_quest
      load_data_quest # Chargement
    end    
    def load_data_quest
      name = "Data/Quests.rvdata2"
      if FileTest.exist?(name)
        $data_quests = load_data(name)
      else
        initialize_data_quests(name) # Si le fichier n'existe pas, on le crée
      end
      update_quest if $quests
    end
    
    alias sgwr_quest save_game_without_rescue
    def save_game_without_rescue(index)
      save_data_quests
      sgwr_quest(index)
    end
    
    def initialize_data_quests(name)
      File.open(name.to_s, "a+")
     $data_quests = Hash.new   # il faut que $data_quests contienne au moins une ligne, sinon ça plante
      save_data_quests          # on le sauvegarde
    end
    
    def save_data_quests
      name = "Data/Quests.rvdata2"
      File.open(name, "w") do |file|
        Marshal.dump($data_quests, file)
      end
    end
    # Lecture des Quêtes contenues dans Quest.txt
    def update_quest
      $quests.each do |quest|
        $data_quests[quest[0]] = Quest.new
        $data_quests[quest[0]].name                 = quest[1]
        $data_quests[quest[0]].level                = quest[2]
        $data_quests[quest[0]].iconindex            = quest[3]
        $data_quests[quest[0]].description          = quest[4]
        $data_quests[quest[0]].objectives.mission   = quest[5]
        $data_quests[quest[0]].objectives.prime     = quest[6]
        $data_quests[quest[0]].categorie            = quest[7]
        $data_quests[quest[0]].banniere             = quest[8]
        $data_quests[quest[0]].teinte               = quest[9]
        $data_quests[quest[0]].giver                = quest[10]
        $data_quests[quest[0]].location             = quest[11]
        $data_quests[quest[0]].evcommun             = quest[12]
        $data_quests[quest[0]].rewards              = quest[13]
        $data_quests[quest[0]].layout               = quest[14]
      end
      $quests.clear
      save_data_quests          # on le sauvegarde
    end
  end
end

#####################
# Quest
# - Object qui correspond aux quêtes
#####################
class Quest
  attr_accessor :name, :giver, :description, :questnote, :location, :level, :iconindex, :teinte, :evcommun, :categorie, :banniere,
  :objectives, :rewards, :layout
  
  def initialize(*args) # Même ordre qu'au-dessus
    @name = args[0] ? args[0] : ""
   @giver = args[1] ? args[1] : ""
   @description = args[2] ? args[2] : ""
   @questnote = args[3] ? args[3] : ""
   @location = args[4] ? args[4] : ""
    @level = args[5] ? args[5] : 0
   @iconindex = args[6] ? args[6] : 0
    @teinte = args[7] ? args[7] : 0
    @evcommun = args[8] ? args[8] : 0
    @categorie = args[9] ? args[9] : 0
    @banniere = args[10] ? args[10] : ""
    @objectives = args[11] ? args[11] : Quest_Objectives.new
    @rewards = args[12] ? args[12] : Quest_Rewards.new
    @layout = args[13] ? args[13] : false
  end
end

#####################
# Quest Rewards
# - Object qui correspond aux primes des quêtes
#####################
class Quest_Rewards
  def initialize(*args) # Même ordre qu'au-dessus
    @rewards = args
  end
  def []=(id, a)
    @rewards[id] = a
  end
  def tb
    @rewards
  end
end

#####################
# Quest Rewards
# - Object qui correspond aux objectifs des quêtes (et le numéro des objectifs qui ont des primes)
#####################
class Quest_Objectives
  attr_accessor :mission, :prime
  def initialize(*args) # Même ordre qu'au-dessus
    @mission = args[0] ? args[0] : []
    @prime = args[1] ? args[1] : []
  end
end

#####################
# QuestData
# - Ajout de notre $data_quests au script de ModernAlgebra
#####################
module QuestData
  class << self
    def setup_quest(quest_id)
      if $data_quests.keys.include?(quest_id)
        q = { :objectives => [], :prime_objectives => [] }
        q[:name]          = $data_quests[quest_id].name
        q[:level]         = $data_quests[quest_id].level
        q[:iconindex]     = $data_quests[quest_id].iconindex
        q[:description]   = $data_quests[quest_id].description
        q[:client]        = $data_quests[quest_id].giver
        q[:location]      = $data_quests[quest_id].location
        $data_quests[quest_id].objectives.mission.each do |obj|
          q[:objectives] << obj
        end
        q[:prime_objectives]  = $data_quests[quest_id].objectives.prime
        q[:custom_categories] = $data_quests[quest_id].categorie
        q[:banner]            = $data_quests[quest_id].banniere
        q[:banner_hue]        = $data_quests[quest_id].teinte
        q[:common_event_id]   = $data_quests[quest_id].evcommun
        q[:rewards]           = $data_quests[quest_id].rewards
        q[:layout]            = false
        return q
      else
        print "Quête non configurée !\n"
        return {}
      end
    end
  end
end




module Quest_Text
  extend self
  
  def open_file
    name = "Quest.txt"
   @file = File.open(name.to_s, "a+")# if FileTest.exist?(name)    
  end
  
  def close_file
    return unless @file
    @file.close
  end
  
  def read
    return unless @file
    quests = Array.new
    @file.each_line { |line| quests << line.split("|") }
    return quests
  end
end

################################################################################
##### Lecture du .txt
# > se lance avant main
#####################
begin  
  Quest_Text.open_file
  $quests = []
  quests = Quest_Text.read
  Quest_Text.close_file  
  quests.each do |quest|
    quest[0] = quest[0].to_i # ID
    quest[2] = quest[2].to_i # Level
    quest[3] = quest[3].to_i # IconIndex
    quest[5] = quest[5].split("#")
    quest[6] = quest[6].split("#")
    quest[6].size.times { |i| quest[6][i] = quest[6][i].to_i }
    quest[9] = quest[9].to_i # Teinte
    quest[12] = quest[12].to_i # Event Commun
    quest[13] = quest[13].split("#")
    quest[13].size.times do |i|
      quest[13][i] = quest[13][i].split("/")
      quest[13][i].size.times do |i2|
        quest[13][i][i2] = :item if i2 == 0 && quest[13][i][i2] == ":item"
        quest[13][i][i2] = :gold if i2 == 0 && quest[13][i][i2] == ":gold"
        quest[13][i][i2] = quest[13][i][i2].to_i if i2 > 0
      end
    end
    quest[14] = false if quest[14] == "false" || quest[14] == "nil"
    $quests << quest
  end
end
###################
##### Fin du Script
################################################################################
Maintenant, vous avez juste a enregistrer en .rvdata2 (icône du .rvdata2).


Dernière édition par iVarlix le Lun 1 Juin - 20:31, édité 3 fois
iVarlix
iVarlix
Admin
Admin

Messages : 22
Date d'inscription : 18/04/2012
Age : 27

Caractéristique du personnage
Participation:
VX Ace Quest Manager Left_bar_bleue0/500VX Ace Quest Manager Empty_bar_bleue  (0/500)

https://2d-gamers.forumsrpg.com/

Revenir en haut Aller en bas

En cours Re: VX Ace Quest Manager

Message par Pix'nLove Ven 10 Avr - 17:52

Est-il possible de rajouter des icones dans l'Icon selector?
Pix'nLove
Pix'nLove
N°1
N°1

Messages : 3
Date d'inscription : 10/04/2015
Age : 23

Caractéristique du personnage
Participation:
VX Ace Quest Manager Left_bar_bleue0/0VX Ace Quest Manager Empty_bar_bleue  (0/0)

Revenir en haut Aller en bas

En cours Re: VX Ace Quest Manager

Message par iVarlix Lun 1 Juin - 20:32

Oui, il récupère l'image IconSet, directement dans le projet.
PS: Le topic et mis à jour, il avait pas la 2.0.0! Smile
iVarlix
iVarlix
Admin
Admin

Messages : 22
Date d'inscription : 18/04/2012
Age : 27

Caractéristique du personnage
Participation:
VX Ace Quest Manager Left_bar_bleue0/500VX Ace Quest Manager Empty_bar_bleue  (0/500)

https://2d-gamers.forumsrpg.com/

Revenir en haut Aller en bas

En cours Re: VX Ace Quest Manager

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut


 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum