- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Script Equipment Skill
Sam 2 Fév 2013 - 11:40
Salut la compagnie !
Alors voilà, je cale un peu sur un truc qu'on peut qualifier de mineur mais il faut dire que je ne suis pas très compétent en matière de script...
Voici les info :
Ce script sert surtout à pouvoir utiliser un système de compétence à la Final Fantasy Tactics : apprendre une compétence lorsque qu'on a un certain stuff équipé.
J'ai réussi à mettre le script, je suis arrivé tant bien que mal à le configurer pour faire en sorte que ce soit fonctionnel mais voilà je n'arrive pas à faire en sorte que le total "d'AP" requis soit mis dans la fiche...
En bref, je veux "AP actuels / AP requis" et je n'ai que "AP actuels".
Quelqu'un peut m'aider ?
PS : le script se trouve ici : http://cobbtocs.co.uk/wp/?p=36
Alors voilà, je cale un peu sur un truc qu'on peut qualifier de mineur mais il faut dire que je ne suis pas très compétent en matière de script...
Voici les info :
Ce script sert surtout à pouvoir utiliser un système de compétence à la Final Fantasy Tactics : apprendre une compétence lorsque qu'on a un certain stuff équipé.
J'ai réussi à mettre le script, je suis arrivé tant bien que mal à le configurer pour faire en sorte que ce soit fonctionnel mais voilà je n'arrive pas à faire en sorte que le total "d'AP" requis soit mis dans la fiche...
En bref, je veux "AP actuels / AP requis" et je n'ai que "AP actuels".
Quelqu'un peut m'aider ?
PS : le script se trouve ici : http://cobbtocs.co.uk/wp/?p=36
Re: Script Equipment Skill
Sam 2 Fév 2013 - 13:53
Je n'ai pas compris ce que tu veux.
Normalement ça devrait être bon non ?
Cela ne s'affiche pas comme ça chez toi ?
Normalement ça devrait être bon non ?
Cela ne s'affiche pas comme ça chez toi ?
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 15:05
Bah bizarrement non, je n'ai pas "5 /5" mais juste "5", tu vois ce que je veux dire ?
Regarde : http://www.hostingpics.net/viewer.php?id=546141screen1.jpg
Regarde : http://www.hostingpics.net/viewer.php?id=546141screen1.jpg
Re: Script Equipment Skill
Sam 2 Fév 2013 - 19:08
Bizarre, j'ai placer les 2 script sur un projet vierge et ça marche nickel:
Quels autres scripts utilise-tu ?
Quels autres scripts utilise-tu ?
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 19:28
Effectivement, j'arrive à ce résultat sur un projet vierge... Bizarre !
J'utilise les scripts suivants :
- Yanfly Engine - Core Engine v1.09
- Yanfly Engine - Battle Engine v1.22
- Yanfly Engine - Visual Battlers v1.0
- Battle Add-On: Enemy HP Bars v1.1
- Battle Add-On: Enemy Target Info v1.02
- Yanfly Engine - Combat Log Display v1.02
- Unique Classes Script
- AP System Script II
- Equipment Skills System Script
Tu penses qu'il y a un conflit quelque part ?
Dans tous les cas, merci de m'aider
J'utilise les scripts suivants :
- Yanfly Engine - Core Engine v1.09
- Yanfly Engine - Battle Engine v1.22
- Yanfly Engine - Visual Battlers v1.0
- Battle Add-On: Enemy HP Bars v1.1
- Battle Add-On: Enemy Target Info v1.02
- Yanfly Engine - Combat Log Display v1.02
- Unique Classes Script
- AP System Script II
- Equipment Skills System Script
Tu penses qu'il y a un conflit quelque part ?
Dans tous les cas, merci de m'aider
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 20:36
Merci beaucoup !!
Re: Script Equipment Skill
Sam 2 Fév 2013 - 21:35
Fait, toujours aucun problème:
Peux-tu me dire comment as-tu configuré les scripts de Fomar ?
Peux-tu me dire comment as-tu configuré les scripts de Fomar ?
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 21:54
Je te fais un copier coller de ce que j'ai :
Unique Classes
AP System Script II
Equipment Skills System Script
Donc en résumé, je n'ai bougé que la ligne 49 et 50 pour faire des tests avec la compétence soin dans le Script "Equipment Skills System".
J'ai aussi mis dans ma base de donnée dans l'onglet skills, notebox de la compétence Soin -> AP:50
Unique Classes
- Code:
=begin
Unique Classes Script
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
Useless by itself.
This script allows for scripters to develop more individual
characters or classes with less concern for
----------------------
Instructions
----------------------
Edit the case like this:
when class_id # Class Name
@data[actor_id] ||= Game_ClassName.new(actor_id)
Follow the instructions in any Unique Class you add
----------------------
Known Bugs
----------------------
None
=end
class Game_Actors
#--------------------------------------------------------------------------
# ● Rewrites []
#--------------------------------------------------------------------------
def [](actor_id)
return nil unless $data_actors[actor_id]
case $data_actors[actor_id].class_id
# All edits should take place in this case
when 1 # Weapon Master
@data[actor_id] ||= Game_WeaponMaster.new(actor_id)
when 2, 3 # Blue Mage
@data[actor_id] ||= Game_BlueMage.new(actor_id)
when 4 # Skill Master
@data[actor_id] ||= Game_SkillMaster.new(actor_id)
else
@data[actor_id] ||= Game_Actor.new(actor_id)
end
end
end
AP System Script II
- Code:
=begin
AP System Script II
by Fomar0153
Version 1.0
----------------------
Notes
----------------------
No requirements
Implements an ap system for you to use when creating skill
systems that utilise AP.
----------------------
Instructions
----------------------
Notetag <ap x> e.g. <ap 4> <ap 100>
----------------------
Known bugs
----------------------
None
=end
module Vocab
ObtainAp = "%s AP was obtained!"
end
class Game_Actor < Game_Battler
#--------------------------------------------------------------------------
# ● New Method gain_ap
#--------------------------------------------------------------------------
def gain_ap(ap)
# your code goes here
end
end
module BattleManager
#--------------------------------------------------------------------------
# ● Rewrote self.display_exp
#--------------------------------------------------------------------------
def self.display_exp
if $game_troop.exp_total > 0
text = sprintf(Vocab::ObtainExp, $game_troop.exp_total)
$game_message.add('\.' + text)
end
if $game_troop.ap_total > 0
text = sprintf(Vocab::ObtainAp, $game_troop.ap_total)
$game_message.add('\.' + text)
end
end
#--------------------------------------------------------------------------
# ● Rewrote self.gain_exp
#--------------------------------------------------------------------------
def self.gain_exp
$game_party.all_members.each do |actor|
actor.gain_exp($game_troop.exp_total)
end
wait_for_message
$game_party.all_members.each do |actor|
actor.gain_ap($game_troop.ap_total)
end
wait_for_message
end
end
class Game_Troop < Game_Unit
#--------------------------------------------------------------------------
# ● New Method ap_total
#--------------------------------------------------------------------------
def ap_total
dead_members.inject(0) {|r, enemy| r += enemy.ap }
end
end
class Game_Enemy < Game_Battler
#--------------------------------------------------------------------------
# ● New Method ap_total
#--------------------------------------------------------------------------
def ap
if enemy.note =~ /<ap (.*)>/i
return $1.to_i
else
return 0
end
end
end
Equipment Skills System Script
- Code:
=begin
Equipment Skills System Script
by Fomar0153
Version 1.1
----------------------
Notes
----------------------
Requires an AP System if you want characters to
learn skills pernamently.
If using my Custom Equipment Slots script then
make sure this script is above the Equipment Slots Script
and make sure you have the compatability patch.
Allows learning of skills by equipment with the
option to learn skills pernamently.
----------------------
Instructions
----------------------
Set Learn_Skills to false if you want the skills to
only be temporary.
If you can learn skills then you need to set up AP for
each skill you put on an item.
In the notes section put:
AP:n
where n is the ap required to learn pernamently.
Then follow the instructions below about how to add skills
to weapons and armor.
----------------------
Change Log
----------------------
1.0 -> 1.1 Fixed a bug which caused skills learnt from
armour to not display they were learnt.
----------------------
Known bugs
----------------------
None
=end
module Equipment_Skills
# If set to false then characters will not
# learn the skills pernamently and you will
# not need an ap system
Learn_Skills = true
Weapons = []
# Add weapon skills in this format
# Weapons[weapon_id] = [skillid1, skillid2]
Weapons[37] = [137]
Weapons[31] = [137]
Armors = []
# Add weapon skills in this format
# Armors[armor_id] = [skillid1, skillid2]
Armors[3] = [9]
def self.get_ap_cost(skill_id)
t = $data_skills[skill_id].note
if t.include?("AP:")
ap = /AP:(\d+)/.match(t)
ap = ap[0].split(":")
return ap[1].to_i
end
return 999
end
end
class Game_Actor < Game_Battler
attr_reader :ap
#--------------------------------------------------------------------------
# ● Aliases setup
#--------------------------------------------------------------------------
alias eqskills_setup setup
def setup(actor_id)
eqskills_setup(actor_id)
if Equipment_Skills::Learn_Skills
@ap = []
end
end
#--------------------------------------------------------------------------
# ● Rewrites change_equip
#--------------------------------------------------------------------------
def change_equip(slot_id, item)
return unless trade_item_with_party(item, equips[slot_id])
if equips[slot_id].is_a?(RPG::Weapon)
unless Equipment_Skills::Weapons[equips[slot_id].id] == nil
for skill in Equipment_Skills::Weapons[equips[slot_id].id]
if Equipment_Skills::Learn_Skills
if @ap[skill] == nil
@ap[skill] = 0
end
unless @ap[skill] >= Equipment_Skills.get_ap_cost(skill)
forget_skill(skill)
end
else
forget_skill(skill)
end
end
end
end
if equips[slot_id].is_a?(RPG::Armor)
unless Equipment_Skills::Armors[equips[slot_id].id] == nil
for skill in Equipment_Skills::Armors[equips[slot_id].id]
if Equipment_Skills::Learn_Skills
if @ap[skill] == nil
@ap[skill] = 0
end
unless @ap[skill] >= Equipment_Skills.get_ap_cost(skill)
forget_skill(skill)
end
else
forget_skill(skill)
end
end
end
end
return if item && equip_slots[slot_id] != item.etype_id
@equips[slot_id].object = item
refresh
end
#--------------------------------------------------------------------------
# ● New Method or Rewrites gain_ap
#--------------------------------------------------------------------------
def gain_ap(ap)
if Equipment_Skills::Learn_Skills
for item in self.equips
if item.is_a?(RPG::Weapon)
unless Equipment_Skills::Weapons[item.id] == nil
for skill in Equipment_Skills::Weapons[item.id]
if @ap[skill] == nil
@ap[skill] = 0
end
last_ap = @ap[skill]
@ap[skill] += ap
if last_ap < Equipment_Skills.get_ap_cost(skill) and Equipment_Skills.get_ap_cost(skill) <= @ap[skill]
SceneManager.scene.add_message(actor.name + " learns " + $data_skills[skill].name + ".")
end
end
end
end
if item.is_a?(RPG::Armor)
unless Equipment_Skills::Armors[item.id] == nil
for skill in Equipment_Skills::Armors[item.id]
if @ap[skill] == nil
@ap[skill] = 0
end
last_ap = @ap[skill]
@ap[skill] += ap
if last_ap < Equipment_Skills.get_ap_cost(skill) and Equipment_Skills.get_ap_cost(skill) <= @ap[skill]
SceneManager.scene.add_message(actor.name + " learns " + $data_skills[skill].name + ".")
end
end
end
end
end
end
end
#--------------------------------------------------------------------------
# ● Aliases refresh
#--------------------------------------------------------------------------
alias eqskills_refresh refresh
def refresh
eqskills_refresh
for item in self.equips
if item.is_a?(RPG::Weapon)
unless Equipment_Skills::Weapons[item.id] == nil
for skill in Equipment_Skills::Weapons[item.id]
learn_skill(skill)
end
end
end
if item.is_a?(RPG::Armor)
unless Equipment_Skills::Armors[item.id] == nil
for skill in Equipment_Skills::Armors[item.id]
learn_skill(skill)
end
end
end
end
# relearn any class skills you may have forgotten
self.class.learnings.each do |learning|
learn_skill(learning.skill_id) if learning.level <= @level
end
end
end
class Window_EquipItem < Window_ItemList
#--------------------------------------------------------------------------
# ● Rewrites col_max
#--------------------------------------------------------------------------
def col_max
return 1
end
#--------------------------------------------------------------------------
# ● Aliases update_help
#--------------------------------------------------------------------------
alias eqskills_update_help update_help
def update_help
eqskills_update_help
if @actor && @status_window
@status_window.refresh(item)
end
end
end
class Scene_Equip < Scene_MenuBase
#--------------------------------------------------------------------------
# ● Rewrites create_item_window
#--------------------------------------------------------------------------
alias eqskills_create_item_window create_item_window
def create_item_window
wx = @status_window.width # Edited line if you need to merge
wy = @slot_window.y + @slot_window.height
ww = @slot_window.width # Edited line if you need to merge
wh = Graphics.height - wy
@item_window = Window_EquipItem.new(wx, wy, ww, wh)
@item_window.viewport = @viewport
@item_window.help_window = @help_window
@item_window.status_window = @status_window
@item_window.actor = @actor
@item_window.set_handler(:ok, method(:on_item_ok))
@item_window.set_handler(:cancel, method(:on_item_cancel))
@slot_window.item_window = @item_window
end
end
class Window_EquipStatus < Window_Base
#--------------------------------------------------------------------------
# ● Rewrites window_height
#--------------------------------------------------------------------------
def window_height
Graphics.height - (2 * line_height + standard_padding * 2)#fitting_height(visible_line_number)
end
#--------------------------------------------------------------------------
# ● Aliases refresh
#--------------------------------------------------------------------------
alias eqskills_refresh refresh
def refresh(item = nil)
eqskills_refresh
contents.clear
draw_actor_name(@actor, 4, 0) if @actor
6.times {|i| draw_item(0, line_height * (1 + i), 2 + i) }
unless item == nil
if item.is_a?(RPG::Weapon)
unless Equipment_Skills::Weapons[item.id] == nil
skills = Equipment_Skills::Weapons[item.id]
end
end
if item.is_a?(RPG::Armor)
unless Equipment_Skills::Armors[item.id] == nil
skills = Equipment_Skills::Armors[item.id]
end
end
unless skills == nil
change_color(normal_color)
draw_text(4, 168, width, line_height, "Equipment Skills")
change_color(system_color)
i = 1
for skill in skills
draw_text(4, 168 + 24 * i, width, line_height, $data_skills[skill].name)
if Equipment_Skills::Learn_Skills and @actor.ap[skill] == nil
@actor.ap[skill] = 0
end
i = i + 1
if Equipment_Skills::Learn_Skills
draw_current_and_max_values(4, 168 + 24 * i, width - 50, [@actor.ap[skill],Equipment_Skills.get_ap_cost(skill)].min, Equipment_Skills.get_ap_cost(skill), system_color, system_color)
i = i + 1
end
end
end
end
end
end
class Window_EquipSlot < Window_Selectable
#--------------------------------------------------------------------------
# ● Aliases update
#--------------------------------------------------------------------------
alias eqskills_update update
def update
eqskills_update
@status_window.refresh(self.item) if self.active == true
end
end
class Scene_Battle < Scene_Base
#--------------------------------------------------------------------------
# ● New method add_text
#--------------------------------------------------------------------------
def add_message(text)
$game_message.add('\.' + text)
end
end
Donc en résumé, je n'ai bougé que la ligne 49 et 50 pour faire des tests avec la compétence soin dans le Script "Equipment Skills System".
J'ai aussi mis dans ma base de donnée dans l'onglet skills, notebox de la compétence Soin -> AP:50
Re: Script Equipment Skill
Sam 2 Fév 2013 - 22:46
L'id de ta compétence soins c'est 137 ?
J'ai pris l'id 26 (celle de base) et ça marche.
Aussi, le script unique class me donne un bug au démarrage du jeu.
J'ai pris l'id 26 (celle de base) et ça marche.
Aussi, le script unique class me donne un bug au démarrage du jeu.
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 22:56
RitoJS a écrit:L'id de ta compétence soins c'est 137 ?
J'ai pris l'id 26 (celle de base) et ça marche.
Aussi, le script unique class me donne un bug au démarrage du jeu.
Oui j'ai dû chipoté un peu et le foutre en l'air, je viens de le virer (a)
Sinon, oui, l'id c'est 137... Je ne vois pas ce qui foire
Je viens de tester avec la même attaque que toi et ça ne change absolument rien
- Mistik26Membre
- Nombre de messages : 17
Distinction : aucune
Date d'inscription : 06/01/2013
Re: Script Equipment Skill
Sam 2 Fév 2013 - 23:34
J'ai déjà essayé en aprèm, ça ne change rien
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum