Partagez
Aller en bas
Zarby
Zarby
Membre

Nombre de messages : 71
Age : 30
Distinction : aucune
Date d'inscription : 15/12/2011

Convertir un projet Vx en Vx Ace Empty Convertir un projet Vx en Vx Ace

le Lun 26 Déc 2011 - 14:07
Un petit script que je suis entrain de realiser, je met une version Beta pour le moment je vais continuer de le mettre a jours
pour le moment il convertis les compétences, les items, les armes, les armures, et les ennemis et VX a VXAce et j'espere quand il va etre fini
pouvoir tout convertir a au moin 80%, sois hero,classes,competences,items,armes,armures,ennemis,groupe ennemis,etats et peut etre les map ainsi que les event Smile

Comment l'utiliser :
1) Creer un nouveau projet Ace
2) Creer un dossier datavx dans le dossier du projet Ace
3) Aller dans votre projet VX, ouvrez le dossier data copier tout les fichier dans le dossier datavx que vous venez de creer
4) Copier le script ci dessous juste avant main du projet Ace sauvegarder, lancer le jeu et fermer le
5) Fermer votre projet vxace (sans sauvegarder)
6) Reouvrez votre projet vxace et voila Smile
7) Penser a retirer le script une fois convertis ! pour voir si ca as bien eter convertis voir le dossier DATA qui devrais contenir des fichier backup

Je ne sais pas pourquoi mais le "Print" ne fonctionne plus sur VXAce, jai essayer p,print,puts, et quelque autre fonction mais rien a faire si quelqun le sais merci de me le dire Smile

Il ya plusieurs informations qui ne peuvent pas etre transferer de VX a ACE a cause des changement comme par exemple
les 8 stats quil ya dans ACE alors que VX en as que 4, et quelque petits truc mais les partie essentiel sont la comme les nom/description
ca evite de tout retranscrire si jamais on passe un projet VX a VX Ace Smile

Spoiler:
Code:
#==================================
#Convertis vos bases de donnée RMVX
#En bases de données RMVXACE ! :)
#==================================
module SceneManager

  def self.run
    DataManager.init
    Convert.init
    Audio.setup_midi if use_midi?
    @scene = first_scene_class.new
    @scene.main while @scene
  end
end
#On ajoutes les Valeur de VX dans le module RPG
#de VXAce qui ne sont pas deja la :)
module RPG
class BaseItem
  def initialize
    @id = 0
    @name = ''
    @icon_index = 0
    @description = ''
    @features = []
    @note = ''
    @kind = 0
    @def = 0
    @agi = 0
    @atk = 0
    @base_damage = 0
    @variance = 0
  end
  attr_accessor :id
  attr_accessor :name
  attr_accessor :icon_index
  attr_accessor :description
  attr_accessor :features
  attr_accessor :note
  attr_accessor :kind
  attr_accessor :atk
  attr_accessor :def
  attr_accessor :agi
  attr_accessor :base_damage
  attr_accessor :variance
end





class Enemy < BaseItem
  def initialize
    super
    @battler_name = ''
    @battler_hue = 0
    @params = [100,0,10,10,10,10,10,10]
    @exp = 0
    @gold = 0
    @drop_items = Array.new(3) { RPG::Enemy::DropItem.new }
    @actions = [RPG::Enemy::Action.new]
    @features.push(RPG::BaseItem::Feature.new(22, 0, 0.95))
    @features.push(RPG::BaseItem::Feature.new(22, 1, 0.05))
    @features.push(RPG::BaseItem::Feature.new(31, 1, 0))
    @maxhp = 0
    @maxmp = 0
    @hit = 0
    @eva = 0
    @drop_item1 = RPG::Enemy::DropItem.new
    @drop_item2 = RPG::Enemy::DropItem.new
    @note = ''
  end
  attr_accessor :battler_name
  attr_accessor :battler_hue
  attr_accessor :params
  attr_accessor :exp
  attr_accessor :gold
  attr_accessor :drop_items
  attr_accessor :actions
  attr_accessor :maxhp
  attr_accessor :maxmp
  attr_accessor :hit
  attr_accessor :eva
  attr_accessor :drop_item1
  attr_accessor :drop_item2
end

end


module Convert
 
def self.init
#===============================================
#            Convertis les armures       
#Le nom,description,icon,note
#prix,ATK,DEF,AGI sont convertis           
#                           
#Les Attributs sont pas inclus puisque le format
#a changer, et les nouvelles stats sont a 0
#================================================

f = File.open('datavx/armors.rvdata','rb')
$vxdata_armors = Marshal.load(f)
f.close
$new_armors = $data_armors.dup
for i in 1..$data_armors.size-1
if $vxdata_armors[i] != nil
$new_armors[i].name = $vxdata_armors[i].name # nom
$new_armors[i].icon_index = $vxdata_armors[i].icon_index #icon
$new_armors[i].description = $vxdata_armors[i].description
$new_armors[i].note = $vxdata_armors[i].note #note
$new_armors[i].price = $vxdata_armors[i].price #prix
$new_armors[i].etype_id = ($vxdata_armors[i].kind)+1 #type
#Stats comme beaucoup n'existe pas dans VX il sont initialiser a 0
$new_armors[i].params[0] = 0 # HP
$new_armors[i].params[1] = 0 # MP
$new_armors[i].params[2] = $vxdata_armors[i].atk # ATK
$new_armors[i].params[3] = $vxdata_armors[i].def # DEF
$new_armors[i].params[4] = 0 # M.ATCK
$new_armors[i].params[5] = 0 # M.DEF
$new_armors[i].params[6] = $vxdata_armors[i].agi # AGI
$new_armors[i].params[7] = 0 # LUK
end
end



#===============================================
#            Convertis les armes       
#Le nom,description,icon,note
#prix,ATK,DEF,AGI sont convertis           
#                           
#Les Attributs sont pas inclus puisque le format
#a changer, et les nouvelles stats sont a 0
#================================================

f = File.open('datavx/weapons.rvdata','rb')
$vxdata_weapons = Marshal.load(f)
f.close
$new_weapons = $data_weapons.dup
for i in 1..$data_weapons.size-1
if $vxdata_weapons[i] != nil
$new_weapons[i].name = $vxdata_weapons[i].name # nom
$new_weapons[i].icon_index = $vxdata_weapons[i].icon_index #icon
$new_weapons[i].description = $vxdata_weapons[i].description
$new_weapons[i].note = $vxdata_weapons[i].note #note
$new_weapons[i].price = $vxdata_weapons[i].price #prix
$new_weapons[i].etype_id = 0 #type
#Stats comme beaucoup n'existe pas dans VX il sont initialiser a 0
$new_weapons[i].params[0] = 0 # HP
$new_weapons[i].params[1] = 0 # MP
$new_weapons[i].params[2] = $vxdata_weapons[i].atk # ATK
$new_weapons[i].params[3] = $vxdata_weapons[i].def # DEF
$new_weapons[i].params[4] = 0 # M.ATCK
$new_weapons[i].params[5] = 0 # M.DEF
$new_weapons[i].params[6] = $vxdata_weapons[i].agi # AGI
$new_weapons[i].params[7] = 0 # LUK
end
end


#===================================================
#Conversion des items VXACE lis le data des item VX
#
#Vous devez quand meme changer les attributs par exemple
#dans VX une potion qui donne du hp dans VXACE aura aucun
#effet si vous ne l'ajouter pas en haut a droite
#===================================================


#===============================================
#            Convertis les Competences     
#
#Vous devez quand meme changer les attributs par exemple
#Les Soins et les Degat sont de base a vous de les regler :)
#================================================


f = File.open('datavx/Skills.rvdata','rb')
$vxdata_skills = Marshal.load(f)
f.close
$new_skills = $data_skills.dup
for i in 1..$data_skills.size-1
if $vxdata_skills[i] != nil
$new_skills[i].name = $vxdata_skills[i].name # nom
$new_skills[i].icon_index = $vxdata_skills[i].icon_index #icon
$new_skills[i].description = $vxdata_skills[i].description
$new_skills[i].note = $vxdata_skills[i].note #note
$new_skills[i].scope = $vxdata_skills[i].scope #Cible
$new_skills[i].occasion = $vxdata_skills[i].occasion #Cible
$new_skills[i].speed = $vxdata_skills[i].speed #speed
$new_skills[i].animation_id = $vxdata_skills[i].animation_id #animation
$new_skills[i].tp_gain = 0 #tp gagné 0
$new_skills[i].tp_cost = 0
$new_skills[i].repeats = 1 # Numbre de coup 1
$new_skills[i].success_rate = 100 # Chance de toucher initialiser a 100 %
$new_skills[i].hit_type = 0
#LE DAMAGE N'EST PEUT ETRE PAS LE BON mais au moin il ont une valeur de base
#Baser sur vos sort vx
#TOUT LES SORT SONT PAR DEFAUT SUR TYPE "DEGAT HP"
dmg = RPG::UsableItem::Damage.new
dmg.type = 1
dmg.element_id = 0
if $vxdata_skills[i].base_damage < 0
dmg.type = 3
end
if $vxdata_skills[i].base_damage >= 0
dmg.type = 1 
end
dmg.formula = ($vxdata_skills[i].base_damage.abs).to_s
dmg.variance = $vxdata_skills[i].variance
$new_skills[i].damage = dmg
$new_skills[i].mp_cost = $vxdata_skills[i].mp_cost
$new_skills[i].message1 = $vxdata_skills[i].message1
$new_skills[i].message1 = $vxdata_skills[i].message2

end
end





#===============================================
#            Convertis les Ennemis   
#
#Changement entre VX et Ace, les attribut et
#Les actions des ennemis qui ne peuvent plus effectuer
#daction basique comme Attaquer mais seulement
#utiliser une competences, tout les Basic vont etre retirer
#================================================


f = File.open('datavx/Enemies.rvdata','rb')
$vxdata_enemies = Marshal.load(f)
f.close
$new_enemies = $data_enemies.dup
for i in 1..$data_enemies.size-1
if $vxdata_enemies[i] != nil
$new_enemies[i].name = $vxdata_enemies[i].name # nom
$new_enemies[i].battler_name = $vxdata_enemies[i].battler_name #icon
$new_enemies[i].gold = $vxdata_enemies[i].gold
$new_enemies[i].note = $vxdata_enemies[i].note #note
$new_enemies[i].exp = $vxdata_enemies[i].exp #prix

#Stats comme beaucoup n'existe pas dans VX il sont initialiser a 0
$new_enemies[i].params[0] = $vxdata_enemies[i].maxhp # HP
$new_enemies[i].params[1] = $vxdata_enemies[i].maxmp # MP
$new_enemies[i].params[2] = $vxdata_enemies[i].atk # ATK
$new_enemies[i].params[3] = $vxdata_enemies[i].def # DEF
$new_enemies[i].params[4] = 0 # M.ATCK
$new_enemies[i].params[5] = 0 # M.DEF
$new_enemies[i].params[6] = $vxdata_enemies[i].agi # AGI
$new_enemies[i].params[7] = 0 # LUK

$new_enemies[i].actions = $vxdata_enemies[i].actions
#LES DROPS DES MONSTRES NE SONT PAS CONVERTIS
#PEUT AUSSI CAUSER DES PROBLEMES SI LES FICHIER IMAGE DE VX
#NE SONT PAS LES MEME DANS VXACE
end
end

#Backup et Remplacement des fichier
f = File.open("datavx/Items.rvdata",'rb')
$new_items = Marshal.load(f)
f.close

File.rename('Data/Items.rvdata2','Data/Items.backup2')
f = File.open("Data/Items.rvdata2",'wb')
Marshal.dump($new_items,f)
f.close


File.rename('data/armors.rvdata2','data/armors.backup2')
f = File.open('data/armors.rvdata2','wb')
Marshal.dump($new_armors,f)
f.close

File.rename('data/weapons.rvdata2','data/weapons.backup2')
f = File.open('data/weapons.rvdata2','wb')
Marshal.dump($new_weapons,f)
f.close

File.rename('data/skills.rvdata2','data/skills.backup2')
f = File.open('data/skills.rvdata2','wb')
Marshal.dump($new_skills,f)
f.close

File.rename('data/enemies.rvdata2','data/enemies.backup2')
f = File.open('data/enemies.rvdata2','wb')
Marshal.dump($new_enemies,f)
f.close

end
end

avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 27 Déc 2011 - 5:02
Franchement, joli travail. Merci du partage, aussi!
Tu as commencé pour la conversion des mapping/événements? Parce que recoder un interpréteur, c'est plutôt lourd, long et chiant. x)
M'enfin, t'as reconverti tout ça, tu dois bien avoir de la motivation pour ce qui est du reste, allons. x)

Ah, puis pour le print, il fonctionne, juste qu'il faut que tu ouvres la console RGSS3 au démarrage du jeu, c'est là dedans que ça s'affiche. Bien pratique comme fonction. Wink

Bon courage à toi, puis si t'as besoin de quelque chose, tu demandes Wink
Zarby
Zarby
Membre

Nombre de messages : 71
Age : 30
Distinction : aucune
Date d'inscription : 15/12/2011

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 27 Déc 2011 - 7:47
Ah merci Smile c'est pratique la console Smile
j'ai commencer un peu les maps mais je suis sur plusieur projet en meme temp en ce moment Smile
c'est sourtout long, la difficulté est pas tres présente donc je dirais peut etre dans quelque jours je devrais avoir une version final qui devrais convertir au moin 80% des donnée VX a Ace y compris les maps

Edit1 : Apres plusieur essai je vien de voir que les map Ace sont Identique au moin a 95% avec ceux de Vx y compris les event Smile
avatar
Az'
Membre

Nombre de messages : 3317
Age : 74
Date d'inscription : 22/12/2007

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 27 Déc 2011 - 11:42
De rien Wink

Pour ce qui est des événements, à part les quelques nouveautés de VXAce qui ont été ajoutées, il me semble qu'il n'y a rien qui ai disparu, si?
Enfin, le fait que les maps VXAce soient aussi proches de VX ne m'étonne guère. Il y a juste deux ou trois options en supplément dans le paramétrage des maps, ainsi qu'une fonction dans la BDD pour pouvoir utiliser les Tilesets de RMVX.

On dirait qu'Enterbrain envisageait la possibilité d'une conversion en VX et VXAce, manquait plus que le code. x)

Bonne continuation. Wink
Balbereith
Balbereith
Staffeux retraité

Nombre de messages : 4129
Age : 27
Localisation : dans l'ombre...
Distinction : Péripatéticienne à temps perdu
Helly n°666 [Coco' ;D]
mon ptit balbounet p'tit jardinier en herbe(les râteaux ça le connait) [tonton Adurna]
Cultivateur professionnel de la commu' (il a de bons outils en de nombreux exemplaires Convertir un projet Vx en Vx Ace 522164 ) [Coco' Smile]
Date d'inscription : 13/05/2009

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 27 Déc 2011 - 12:34
Mais convertir les héros et les classes risquent d'être ardu non ? Puisque ces deux catégories ne sont absolument pas gérer comme sous VX après j'y connait toujours pas grand chose en RGSS3 donc voilou ^^ Mais la façon dont tu va procéder m'intrigue ^^ A moins que cette conversion soit que partielle pour cette catégories de la BDD genre juste pour éviter la réaffectation des compétences.
Zarby
Zarby
Membre

Nombre de messages : 71
Age : 30
Distinction : aucune
Date d'inscription : 15/12/2011

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 27 Déc 2011 - 13:18
Bah pas mal tout est seulement partiellement convertit parcequil ont tous quelque chose qui as eter rajouter
pour voir ce que ca donne (c'est pas encore fini) mais ca va ressembler un peu a ca au final a partir d'un projet vierge de rmvx
pour ce qui est des graphic comme les icones/ect pour avoir les meme que sur vx il suffit de loader les icon_set de vx ^^

sinon ca convertit en gros les noms, descriptions, notes, pour les competences et les items ca convertit avec une formule de base le degat/soin
c'est sur que ca peut pas convertir a 100% un projet vx en projet Ace et meme si ca le pourrais les données serais pas necessairement les bonnes
pour plusieur truc comme la formule de degat par exemple qui nous offre maintenant la chance de pouvoir ce servir des stats des personnes ect Smile

Spoiler:

Convertir un projet Vx en Vx Ace Animm.th
Convertir un projet Vx en Vx Ace Armexk.th
Convertir un projet Vx en Vx Ace Armuret.th
Convertir un projet Vx en Vx Ace Classesv.th
Convertir un projet Vx en Vx Ace Etat.th
Convertir un projet Vx en Vx Ace Groupeso.th
Convertir un projet Vx en Vx Ace Objet.th
Convertir un projet Vx en Vx Ace Skillsh.th
Convertir un projet Vx en Vx Ace Actorn.th
Convertir un projet Vx en Vx Ace Monstres.th

Darkness_fall
Darkness_fall
Membre

Nombre de messages : 29
Age : 28
Localisation : Quebec
Distinction : aucune
Date d'inscription : 03/04/2012

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 1 Mai 2012 - 8:39
J'attend vivement le code pour la convertion des maps O_O Si sa peux me permettre de ne pas avoir a tout remappé... je te donne le titre de Zarby sama !!!
Pixelvengeur360
Pixelvengeur360
Membre

Nombre de messages : 638
Age : 25
Localisation : Metz/France
Distinction : Gracié par nous autres, dieux.
DRUGS : I've told you that was bad !
Date d'inscription : 21/12/2008

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mar 1 Mai 2012 - 23:26
J'accompagne Darkness-fall dans son nécropost, faut se soutenir entre kikoo ._.
Gummy
Gummy
Staffeux retraité

Nombre de messages : 2666
Age : 28
Localisation : Belgique
Distinction : Modérateur imprévisible

Papy Lolo' [Nabots Nimousse]


Date d'inscription : 27/01/2008

Convertir un projet Vx en Vx Ace Empty Re: Convertir un projet Vx en Vx Ace

le Mer 2 Mai 2012 - 8:46
Nécropost non constructif, désolé les gars mais c'est un avertissement.
Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum