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

VX Ace Quest Manager

Voir le sujet précédent Voir le sujet suivant Aller en bas

En cours VX Ace Quest Manager

Message par iVarlix le 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:
{1.0.0}
-Créer des quêtes.
-Sauvegarder les quêtes.
-Fichier "Aide".
-Aucune limite.
-Script "Quest Journal" intégrer.
{1.2.6}
-Suppression du convertisseur.
-Suppression des 4 boutons +|-.
-Menu pour Ajouter/Supprimer des récompenses. (Clique Droit sur les récompenses)
-Menu pour Ajouter/Supprimer des objectives. (Clique Droit sur les objectives)
{2.0.0} *NEWS*
-Démarrage optimiser.
-Fini les bugs du "Ouverture impossible: Un projet est ouvert!".
-L'image "IconSet.png", seras dans le dossier "Projet\\Graphics\\System"! (Il récupère l'image sans copier)
-Plus besoins de supprimer les fichiers, ils se mettent a jour tout seul!
-Nouvelle apparence.
-Création d'un .txt pour convertir en .rvdata2

Image:
Spoiler:
Interface:
[Vous devez être inscrit et connecté pour voir ce lien]
Icône sélection:
[Vous devez être inscrit et connecté pour voir ce lien]

Composant requis{1.0.0 à 2.0.0}:
Spoiler:
-.NET Framework 4 ou plus.
-Windows xp/vista/7/8.

Les bugs/Indisponibilité{2.0.0}:
Spoiler:
Aucun pour le moment.

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


Téléchargement du logiciel:

[Vous devez être inscrit et connecté pour voir ce lien]
[Vous devez être inscrit et connecté pour voir ce lien]
[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]
[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
avatar
iVarlix
Admin
Admin

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

Caractéristique du personnage
Participation:
0/500  (0/500)

http://2d-gamers.activebb.net/

Revenir en haut Aller en bas

En cours Re: VX Ace Quest Manager

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

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

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

Caractéristique du personnage
Participation:
0/0  (0/0)

Revenir en haut Aller en bas

En cours Re: VX Ace Quest Manager

Message par iVarlix le 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
avatar
iVarlix
Admin
Admin

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

Caractéristique du personnage
Participation:
0/500  (0/500)

http://2d-gamers.activebb.net/

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

Voir le sujet précédent Voir le sujet suivant Revenir en haut

- Sujets similaires

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