- oO-Hony-OoMembre
- Nombre de messages : 139
Age : 28
Localisation : Sur RPGMVX =)
Distinction : aucune
Date d'inscription : 31/07/2008
Script de changement de classe
Sam 9 Aoû 2008 - 13:14
Bonjour ! j'ai trouver ce petit script permettant de changer de classe, à placer au dessus de main :
Voici pour appeler le script à partir d'un event : $scene = Scene_Job.new
Source : http://www.rpgmakervx.net/?showtopic=3039 (ce n'est pas de la pub )
Screen :
Voila, si ça existe déjà, hé ben désolé supprimé le.
Cordialement
- Spoiler:
- #===============================================================
#
# rpgmakervx.1fr1.net
#
#===============================================================
#==============================================================================
# ** Scene_Job
#------------------------------------------------------------------------------
# This Script was written by The Black Knight
# (aka tk_blackknight, aka Keith Brewer, aka rockstar1986)
#
# IF YOU USE THIS SCRIPT, ALL I ASK IS THAT YOU PUT MY NAME IN THE CREDITS
# It's free to use as long as you do put me in the credits.
#
#
# WHAT IT DOES:
# This script basically just gives you a graphical interface to allow
# the player to select which job to switch to for a character.
#
# This script was created upon request by Baka Artses Studios Inc.
#==============================================================================
class Scene_Job < Scene_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor_index : actor index
#--------------------------------------------------------------------------
def initialize(actor_index = 0, from_menu = false)
@actor_index = actor_index
@from_menu = from_menu
end
#--------------------------------------------------------------------------
# * Start processing
#--------------------------------------------------------------------------
def start
super
@actor = $game_party.members[@actor_index]
create_menu_background
@actor = $game_party.members[@actor_index]
@class_status_window = Window_ClassStatus.new(@actor)
@scenename_window = Window_SceneName.new(0, 0, "Job Change")
@help_window = Window_Help.new
@help_window.x = 160
@help_window.y = 0
@help_window.width = 384
create_class_list
create_option_list
@command_window.active = false
@command_window2.active = true
end
#--------------------------------------------------------------------------
# * Create Option List
#--------------------------------------------------------------------------
def create_option_list
s1 = "Change Class"
s2 = "Cancel"
@command_window2 = Window_Command.new(544, [s1, s2], 2)
@command_window2.x = 0
@command_window2.y = 56
@command_window2.height = 56
end
#--------------------------------------------------------------------------
# * Create Class List
#--------------------------------------------------------------------------
def create_class_list
s1 = $data_classes[1].name
s2 = $data_classes[2].name
s3 = $data_classes[3].name
s4 = $data_classes[4].name
s5 = $data_classes[5].name
s6 = $data_classes[6].name
s7 = $data_classes[7].name
s8 = $data_classes[8].name
@command_window = Window_Command.new(544, [s1, s2, s3, s4, s5, s6, s7, s8], 2)
@command_window.x = 0
@command_window.y = 240
@command_window.height = 176
end
#--------------------------------------------------------------------------
# * Termination Processing
#--------------------------------------------------------------------------
def terminate
super
dispose_menu_background
@class_status_window.dispose
@scenename_window.dispose
@command_window.dispose
@command_window2.dispose
@help_window.dispose
end
#--------------------------------------------------------------------------
# * Switch to Next Actor Screen
#--------------------------------------------------------------------------
def next_actor
@actor_index += 1
@actor_index %= $game_party.members.size
$scene = Scene_Job.new(@actor_index, @from_menu)
end
#--------------------------------------------------------------------------
# * Switch to Previous Actor Screen
#--------------------------------------------------------------------------
def prev_actor
@actor_index += $game_party.members.size - 1
@actor_index %= $game_party.members.size
$scene = Scene_Job.new(@actor_index, @from_menu)
end
#--------------------------------------------------------------------------
# * Update Class Selection Window >> This allows it to check for input
#--------------------------------------------------------------------------
def update_class_selection
if Input.trigger?(Input::B)
Sound.play_cancel
@command_window2.active = true
@command_window.active = false
elsif Input.trigger?(Input::C)
Sound.play_decision
case @command_window.index
when 0
@actor.class_id = 1
$scene = Scene_Job.new(@actor_index, @from_menu)
when 1
@actor.class_id = 2
$scene = Scene_Job.new(@actor_index, @from_menu)
when 2
@actor.class_id = 3
$scene = Scene_Job.new(@actor_index, @from_menu)
when 3
@actor.class_id = 4
$scene = Scene_Job.new(@actor_index, @from_menu)
when 4
@actor.class_id = 5
$scene = Scene_Job.new(@actor_index, @from_menu)
when 5
@actor.class_id = 6
$scene = Scene_Job.new(@actor_index, @from_menu)
when 6
@actor.class_id = 7
$scene = Scene_Job.new(@actor_index, @from_menu)
when 7
@actor.class_id = 8
$scene = Scene_Job.new(@actor_index, @from_menu)
end
end
end
#--------------------------------------------------------------------------
# * Update Class Selection Window >> This allows it to check for input
#--------------------------------------------------------------------------
def update_option_selection
if Input.trigger?(Input::B)
Sound.play_cancel
if @from_menu == false
$scene = Scene_Map.new
else
$scene = Scene_Menu.new
end
elsif Input.trigger?(Input::C)
Sound.play_decision
case @command_window2.index
when 0
Sound.play_decision
@command_window.active = true
@command_window2.active = false
when 1
Sound.play_decision
if @from_menu == false
$scene = Scene_Map.new
else
$scene = Scene_Menu.new
end
end
end
end
#--------------------------------------------------------------------------
# * Frame Update
#--------------------------------------------------------------------------
def update
update_menu_background
if @command_window.active
#If the Command Window is active, tell the help window to say this:
@help_window.set_text("Change to which class?")
else
#Otherwise, tell it to say this:
@help_window.set_text("")
end
if @command_window2.active
update_option_selection
else
update_class_selection
end
@command_window.update
@command_window2.update
@class_status_window.update
@help_window.update
if Input.trigger?(Input::R)
Sound.play_cursor
next_actor
elsif Input.trigger?(Input::L)
Sound.play_cursor
prev_actor
end
super
end
end
#==============================================================================
# ** Window_ClassStatus
#------------------------------------------------------------------------------
# This window displays full status specs on the Job Change screen.
#==============================================================================
class Window_ClassStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 112, 544, 128)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 128, 0)
draw_actor_class(@actor, 128, 24)
draw_actor_face(@actor, 0, 0)
draw_actor_graphic(@actor, 96, 96)
draw_basic_info(216, 0)
#~ draw_parameters(32, 160)
draw_exp_info(364, 0)
#~ draw_equipments(288, 160)
end
#--------------------------------------------------------------------------
# * Draw Basic Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, x, y + WLH * 0)
draw_actor_state(@actor, x, y + WLH * 1)
draw_actor_hp(@actor, x, y + WLH * 2)
draw_actor_mp(@actor, x, y + WLH * 3)
end
#--------------------------------------------------------------------------
# * Draw Parameters
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
#~ def draw_parameters(x, y)
#~ draw_actor_parameter(@actor, x, y + WLH * 0, 0)
#~ draw_actor_parameter(@actor, x, y + WLH * 1, 1)
#~ draw_actor_parameter(@actor, x, y + WLH * 2, 2)
#~ draw_actor_parameter(@actor, x, y + WLH * 3, 3)
#~ end
#--------------------------------------------------------------------------
# * Draw Experience Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_exp_info(x, y)
s1 = @actor.exp_s
s2 = @actor.next_rest_exp_s
s_next = sprintf(Vocab::ExpNext, Vocab::level)
self.contents.font.color = system_color
self.contents.draw_text(x, y + WLH * 0, 180, WLH, Vocab::ExpTotal)
self.contents.draw_text(x, y + WLH * 2, 180, WLH, s_next)
self.contents.font.color = normal_color
self.contents.draw_text(x, y + WLH * 1, 180, WLH, s1, 0)
self.contents.draw_text(x, y + WLH * 3, 180, WLH, s2, 0)
end
#--------------------------------------------------------------------------
# * Draw Equipment
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
#~ def draw_equipments(x, y)
#~ self.contents.font.color = system_color
#~ self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
#~ for i in 0..4
#~ draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
#~ end
#~ end
end
#==============================================================================
# ** Window_ClassStatus
#------------------------------------------------------------------------------
# This window displays full status specs on the Job Change screen.
#==============================================================================
class Window_ClassStatus < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# actor : actor
#--------------------------------------------------------------------------
def initialize(actor)
super(0, 112, 544, 128)
@actor = actor
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
draw_actor_name(@actor, 128, 0)
draw_actor_class(@actor, 128, 24)
draw_actor_face(@actor, 0, 0)
draw_actor_graphic(@actor, 96, 96)
draw_basic_info(216, 0)
#~ draw_parameters(32, 160)
draw_exp_info(364, 0)
#~ draw_equipments(288, 160)
end
#--------------------------------------------------------------------------
# * Draw Basic Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_basic_info(x, y)
draw_actor_level(@actor, x, y + WLH * 0)
draw_actor_state(@actor, x, y + WLH * 1)
draw_actor_hp(@actor, x, y + WLH * 2)
draw_actor_mp(@actor, x, y + WLH * 3)
end
#--------------------------------------------------------------------------
# * Draw Parameters
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
#~ def draw_parameters(x, y)
#~ draw_actor_parameter(@actor, x, y + WLH * 0, 0)
#~ draw_actor_parameter(@actor, x, y + WLH * 1, 1)
#~ draw_actor_parameter(@actor, x, y + WLH * 2, 2)
#~ draw_actor_parameter(@actor, x, y + WLH * 3, 3)
#~ end
#--------------------------------------------------------------------------
# * Draw Experience Information
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
def draw_exp_info(x, y)
s1 = @actor.exp_s
s2 = @actor.next_rest_exp_s
s_next = sprintf(Vocab::ExpNext, Vocab::level)
self.contents.font.color = system_color
self.contents.draw_text(x, y + WLH * 0, 180, WLH, Vocab::ExpTotal)
self.contents.draw_text(x, y + WLH * 2, 180, WLH, s_next)
self.contents.font.color = normal_color
self.contents.draw_text(x, y + WLH * 1, 180, WLH, s1, 0)
self.contents.draw_text(x, y + WLH * 3, 180, WLH, s2, 0)
end
#--------------------------------------------------------------------------
# * Draw Equipment
# x : Draw spot X coordinate
# y : Draw spot Y coordinate
#--------------------------------------------------------------------------
#~ def draw_equipments(x, y)
#~ self.contents.font.color = system_color
#~ self.contents.draw_text(x, y, 120, WLH, Vocab::equip)
#~ for i in 0..4
#~ draw_item_name(@actor.equips[i], x + 16, y + WLH * (i + 1))
#~ end
#~ end
end
class Window_SceneName < Window_Base
#--------------------------------------------------------------------------
# * Object Initialization
# x : window X coordinate
# y : window Y coordinate
#--------------------------------------------------------------------------
def initialize(x, y, text)
super(x, y, 160, 56)
@text = text
refresh
end
#--------------------------------------------------------------------------
# * Refresh
#--------------------------------------------------------------------------
def refresh
self.contents.clear
self.contents.draw_text(4, 0, 128, WLH, @text, 1)
end
end
Voici pour appeler le script à partir d'un event : $scene = Scene_Job.new
Source : http://www.rpgmakervx.net/?showtopic=3039 (ce n'est pas de la pub )
Screen :
- Spoiler:
Voila, si ça existe déjà, hé ben désolé supprimé le.
Cordialement
- ZodiakMembre
- Nombre de messages : 209
Age : 29
Localisation : Entre l'Enfer et le Paradis
Distinction : Souffre douleur
Ne sert pas à grand chose
Mais on l'aime quand même
[ Zang ]
Date d'inscription : 26/05/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 13:20
C'est un bon script, même si je ne l'utiliserais pas,
je le trouve super !
je le trouve super !
- AzakiModérateur
- Nombre de messages : 1742
Age : 31
Localisation : Dans ton cul(stom), t'as vu, tarba? é_è
Distinction : Commentateur sportif
Indépendantiste Breton
Chevalier de lumière
Membre du Haruhi fan-club
Membre du Tsukasa Nishino fan-club.
[Chou n°3]
Mist'
Fils caché de Francis L'Alan
[Coco' ]
Chevalier Noir
Ex-Empereur d'Erem Vehyx (ou pas!! x) )
Date d'inscription : 14/05/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 13:45
C'est super comme script ça! Bonne trouvaille!
- HiginiaMembre
- Nombre de messages : 191
Age : 31
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 13:48
C'est pas mal ouais !
Mais est ce que c'est compatible avec le Ring_Menu ?
Mais est ce que c'est compatible avec le Ring_Menu ?
- killclankillMembre
- Nombre de messages : 7
Distinction : aucune
Date d'inscription : 22/06/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 13:51
je ne sais pas higinia test quand même tu me tiendras au courant ^^
- HiginiaMembre
- Nombre de messages : 191
Age : 31
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 14:01
Parfait ! Aucun probleme puisque c'est un event.
Sui-je béte !
Ps: Pour modifier "Change Class" et "Cancel"
Ligne 36 : @scenename_window = Window_SceneName.new(0, 0, "Changer de Classe")
Ligne 51: s1 = "Changer de Classe"
Ligne 52: s2 = "Partir"
Voila , Merci hony de l'avoir mis ici , mais tu aurais pu préciser le nom de l'auteur !
L'auteur est: The Black Knight
Ca donne ca une fois fini :
Sui-je béte !
Ps: Pour modifier "Change Class" et "Cancel"
Ligne 36 : @scenename_window = Window_SceneName.new(0, 0, "Changer de Classe")
Ligne 51: s1 = "Changer de Classe"
Ligne 52: s2 = "Partir"
Voila , Merci hony de l'avoir mis ici , mais tu aurais pu préciser le nom de l'auteur !
L'auteur est: The Black Knight
Ca donne ca une fois fini :
- killclankillMembre
- Nombre de messages : 7
Distinction : aucune
Date d'inscription : 22/06/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 17:11
excusez moi ^^ j'avais mis le nom du site cependant je navais pas penser a mettre le nom de l'auteur j'suis bête =) (nan c'est pas vrai ^^")
- AdrezoMembre
- Nombre de messages : 233
Age : 36
Distinction : aucune
Date d'inscription : 29/01/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 20:59
Ce script me fais poser une question :
quand on va changer de classe, on va garder ou pas les compétence de l'autre classe ? de plus, ce script ne gère pas le fait que si on est niveau 10 et que on change de classe, on aura pas les compétence du début...
je doute donc de l'efficacité de ce script...
quand on va changer de classe, on va garder ou pas les compétence de l'autre classe ? de plus, ce script ne gère pas le fait que si on est niveau 10 et que on change de classe, on aura pas les compétence du début...
je doute donc de l'efficacité de ce script...
- HiginiaMembre
- Nombre de messages : 191
Age : 31
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 21:29
Oui ! non seulement on les garde mais on gagne les competences de la nouvelle classe.
Donc c'est super
Exemple , vous gagner toutes les competences d'une classe , vous changer pour gagner les competence de l'autre.
A la fin , ca doit faire un paquet de competences
Donc c'est super
Exemple , vous gagner toutes les competences d'une classe , vous changer pour gagner les competence de l'autre.
A la fin , ca doit faire un paquet de competences
- AdrezoMembre
- Nombre de messages : 233
Age : 36
Distinction : aucune
Date d'inscription : 29/01/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 22:39
quand on change de classe, on gagne toutes les compétence que l'on aurait eu avec une autre classe arrivée à ce même niveau ?
- AdrezoMembre
- Nombre de messages : 233
Age : 36
Distinction : aucune
Date d'inscription : 29/01/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 22:43
faudrait que quelqu'un test et me dise...
- HiginiaMembre
- Nombre de messages : 191
Age : 31
Localisation : Somme 80
Distinction : aucune
Date d'inscription : 03/08/2008
Re: Script de changement de classe
Sam 9 Aoû 2008 - 22:52
Non , si vous etes lvl 50 ( exemple ) et que vous avez gagner toute les competences soldat ( encore exemple )
Vous changer de classe tout en gardant les competences acquise depuis le debut de l'aventure.$
Si vous passer de soldat a archer , vous aurez encore vos competence soldat mais aucune de archers ( il faudra les gagner en gagnat des lvl )
Mais après il faut les regler les lvl ou on apprend les competences
car sinon vous allez gagner un lvl et vous retrouvez avec toutes les competences de l'archers.
Vous changer de classe tout en gardant les competences acquise depuis le debut de l'aventure.$
Si vous passer de soldat a archer , vous aurez encore vos competence soldat mais aucune de archers ( il faudra les gagner en gagnat des lvl )
Mais après il faut les regler les lvl ou on apprend les competences
car sinon vous allez gagner un lvl et vous retrouvez avec toutes les competences de l'archers.
- AdrezoMembre
- Nombre de messages : 233
Age : 36
Distinction : aucune
Date d'inscription : 29/01/2008
Re: Script de changement de classe
Dim 10 Aoû 2008 - 9:25
Ouais donc pas cool.
Autant ca créer une interface au début pour que le joueur choisisse sa classe ce qui peut-être pas mal mais sinon je suis moyen convaincu.
Autant ca créer une interface au début pour que le joueur choisisse sa classe ce qui peut-être pas mal mais sinon je suis moyen convaincu.
- mysteriousMembre
- Nombre de messages : 400
Age : 35
Distinction : aucune
Date d'inscription : 24/07/2008
Re: Script de changement de classe
Dim 10 Aoû 2008 - 13:48
je trouve ce script assez inutile mais bon merci quand même
- Jojo la vache AKA la failMembre
- Nombre de messages : 146
Age : 28
Localisation : Sur terre, A moins que...
Distinction : Nounours rose V3, le nouveau est là!
Date d'inscription : 31/07/2009
Re: Script de changement de classe
Mer 2 Déc 2009 - 16:52
Jene peux pas accéder à la démo !
Que faire ?
Que faire ?
- ZangtherOldMembre
- Nombre de messages : 1711
Date d'inscription : 07/08/2009
Re: Script de changement de classe
Mer 2 Déc 2009 - 17:37
Tu copie colle le script dans ton jeu ?
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum