- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Compétence en fonction de l'inventaire [résolu]
Lun 25 Oct 2010 - 16:09
Bonsoir
Voilà, j'aurais une question/demande.
Existe t'il un système (event, script, etc) qui fasse en sorte que certaines compétences ne soient utilisable
que lorsque le héros possède un nombre défini d'objets dans son inventaire ?
et je parle de compétence que l'on utilise en combat.
et si non, quelqu'un peut-il se lancer dans la conception d'un truc pareil ?^^
merci de votre attention et de vos futures réponses
Voilà, j'aurais une question/demande.
Existe t'il un système (event, script, etc) qui fasse en sorte que certaines compétences ne soient utilisable
que lorsque le héros possède un nombre défini d'objets dans son inventaire ?
et je parle de compétence que l'on utilise en combat.
et si non, quelqu'un peut-il se lancer dans la conception d'un truc pareil ?^^
merci de votre attention et de vos futures réponses
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Jeu 28 Oct 2010 - 14:57
Je connais un script comme ça :
http://wiki.pockethouse.com/index.php?title=Custom_Skill_Effects
Le probleme , c'est que ça consomme les objets et c'est pas forcement ce que tu veux ... Aprés , tu peux toujours supprimer le "$game_party.consume_item" .
http://wiki.pockethouse.com/index.php?title=Custom_Skill_Effects
Le probleme , c'est que ça consomme les objets et c'est pas forcement ce que tu veux ... Aprés , tu peux toujours supprimer le "$game_party.consume_item" .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Jeu 28 Oct 2010 - 14:59
je vais regarder ça et je te redis.
mais oui, je souhaiterais que ça consomme en même temps les objets.
je ne l'avais pas préciser dans l'énoncé.
mais oui, je souhaiterais que ça consomme en même temps les objets.
je ne l'avais pas préciser dans l'énoncé.
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Jeu 28 Oct 2010 - 17:16
Oui c'est ce que je recherchais,
c'est parfait.
par contre, c'est en anglais :s
y a pas de tuto en français à tout hasard ? parce que je vais souffrir si 'il faut que j'analyse tout ça et doit
traduire en plus.^^
en tout cas, merci
c'est parfait.
par contre, c'est en anglais :s
y a pas de tuto en français à tout hasard ? parce que je vais souffrir si 'il faut que j'analyse tout ça et doit
traduire en plus.^^
en tout cas, merci
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Jeu 28 Oct 2010 - 17:22
Oui , c'est pas forcement évident .
Spécialement la partie "Configuration" . Le pire là-dedans , c'est que tu dois mettre des IDs d'icones . Alors si tu as un iconset fait maison , faut corriger .
C'est dommage parce que tu veux faire devient trés trés simple aprés .
Spécialement la partie "Configuration" . Le pire là-dedans , c'est que tu dois mettre des IDs d'icones . Alors si tu as un iconset fait maison , faut corriger .
C'est dommage parce que tu veux faire devient trés trés simple aprés .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Ven 29 Oct 2010 - 19:58
J'ai plus ou moins trouver la partie d'un des scripts qui permette d'utiliser des compétences en fonction
d'objets prérequis.
Mais par contre, je ne comprend pas trop comment mettre ça en place.
C'est plutôt dans les commentaires des skills ou directement dans le script qu'il faut agir ?
Voici la partie de script si ça peut aider :
Merci d'avance
d'objets prérequis.
Mais par contre, je ne comprend pas trop comment mettre ça en place.
C'est plutôt dans les commentaires des skills ou directement dans le script qu'il faut agir ?
Voici la partie de script si ça peut aider :
- Code:
#===============================================================================
# Lunatic Mode - Custom Skill Costs
#===============================================================================
class Game_Battler
#--------------------------------------------------------------------------
# new method: custom_skill_costs
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# In this section, you can modify the various skill cost types available or
# create your own. By following the examples below, you can effectively
# generate your own skill cost types and using this tag:
#
# <cost: phrase>
#
# Match phrase with a case below and follow the examples below to meet and
# match your custom costs.
#--------------------------------------------------------------------------
def custom_skill_costs(skill, type)
hash = YEM::BATTLE_ENGINE::SKILL_SETTINGS
calc_cost = 0; use_icon = 0; suffix = "%s"; text_cost = "0"
colour = hash[:mp_colour]; font_size = hash[:mp_size]
can_use = false
perform = (type == :perform)
case skill.skill_cost
#------------------------------------------------------------------------
# <cost: x mp>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# This allows you to manually adjust the MP costs skills. Although its
# ability is already present within the editor itself, this tag's purpose
# is to allow you to create skills with an MP cost of higher than 999.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 2000 mp>
# --- WARNING --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# This is a default-used template. Do not remove this.
#------------------------------------------------------------------------
when /(\d+)[ ](?:MP|SP)/i
#---
calc_cost = $1.to_i
calc_cost = apply_skill_cost_changes(skill, calc_cost, "MP")
calc_cost /= 2 if half_mp_cost
#---
text_cost = calc_cost.to_s
use_icon = Icon.mp_cost
suffix = hash[:mp_suffix]
colour = hash[:mp_colour]
font_size = hash[:mp_size]
can_use = @mp >= calc_cost
@mp -= calc_cost if perform
#------------------------------------------------------------------------
# <cost: x% maxmp>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# This tag allows you to create skills that cost a percentage of the
# battler's MaxMP. That said, this value will always fluctuate depending
# on the MaxMP of the battler.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 20% maxmp>
#------------------------------------------------------------------------
when /(\d+)([%%])[ ](?:MP|SP|MAXMP|MAXSP)/i
#---
calc_cost = maxmp * $1.to_i / 100
calc_cost = apply_skill_cost_changes(skill, calc_cost, "MP")
calc_cost /= 2 if half_mp_cost
#---
text_cost = calc_cost.to_s
use_icon = Icon.mp_cost
suffix = hash[:mp_suffix]
colour = hash[:mp_colour]
font_size = hash[:mp_size]
can_use = @mp >= calc_cost
@mp -= calc_cost if perform
#------------------------------------------------------------------------
# <cost: x hp>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# If you wish for skills to cost HP instead of MP, apply this tag to the
# skill's notebox. Unlike MP skills, HP skills cannot bring HP to 0 so
# they will stop short if the skill costs more than exact HP.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 2000 hp>
#------------------------------------------------------------------------
when /(\d+)[ ](?:HP|LP)/i
#---
calc_cost = $1.to_i
calc_cost = apply_skill_cost_changes(skill, calc_cost, "HP")
#---
text_cost = calc_cost.to_s
use_icon = Icon.hp_cost
suffix = hash[:hp_suffix]
colour = hash[:hp_colour]
font_size = hash[:hp_size]
can_use = @hp > calc_cost
@hp -= calc_cost if perform
#------------------------------------------------------------------------
# <cost: x% maxhp>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# To make a skill cost a percentage of the user's MaxHP, use the above
# tag. Just like the tag above, the skill cannot be used if it brings the
# battler's HP to 0 or below.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 20% maxhp>
#------------------------------------------------------------------------
when /(\d+)([%%])[ ](?:HP|LP|MAXHP|MAXLP)/i
#---
calc_cost = maxhp * $1.to_i / 100
calc_cost = apply_skill_cost_changes(skill, calc_cost, "HP")
#---
text_cost = calc_cost.to_s
use_icon = Icon.hp_cost
suffix = hash[:hp_suffix]
colour = hash[:hp_colour]
font_size = hash[:hp_size]
can_use = @hp > calc_cost
@hp -= calc_cost if perform
#------------------------------------------------------------------------
# <cost: x gold>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# To make skills cost gold, use the tag above. x is the amount of gold
# spent when the skill takes action. Note that enemies do not have any
# restrictions on using gold cost skills.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 2000 gold>
#------------------------------------------------------------------------
when /(\d+)[ ](?:GOLD|money)/i
#---
if self.actor?
calc_cost = $1.to_i
calc_cost = apply_skill_cost_changes(skill, calc_cost, "GOLD")
else
calc_cost = 0
end
#---
text_cost = calc_cost.to_s
use_icon = Icon.gold_cost
suffix = hash[:gold_suffix]
colour = hash[:gold_colour]
font_size = hash[:gold_size]
can_use = $game_party.gold > calc_cost
$game_party.lose_gold(calc_cost) if perform
#------------------------------------------------------------------------
# <cost: x% gold>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# To cost a percentage of the player's total gold, use x%. Just like the
# above tag, enemies using gold cost skills will have no restrictions.
# This skill will consume a percentage of the player's total gold.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 20% gold>
#------------------------------------------------------------------------
when /(\d+)([%%])[ ](?:GOLD|money)/i
#---
if self.actor?
calc_cost = $game_party.gold * $1.to_i / 100
calc_cost = apply_skill_cost_changes(skill, calc_cost, "GOLD")
else
calc_cost = 0
end
#---
text_cost = $1.to_s
use_icon = Icon.gold_cost
suffix = hash[:gold_suffixp]
colour = hash[:gold_colour]
font_size = hash[:gold_size]
can_use = $game_party.gold > calc_cost
$game_party.lose_gold(calc_cost) if perform
#------------------------------------------------------------------------
# <cost: x rage>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Rage is a new stat made to function as a new skill currency. It grows
# as battlers take hits or dish out physical attacks themselves. Use the
# tag above to make a skill cost rage instead of MP.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 2 rage>
#------------------------------------------------------------------------
when /(\d+)[ ]RAGE/i
#---
calc_cost = $1.to_i
calc_cost = apply_skill_cost_changes(skill, calc_cost, "RAGE")
#---
text_cost = calc_cost.to_s
use_icon = Icon.rage_cost
suffix = hash[:rage_suffix]
colour = hash[:rage_colour]
font_size = hash[:rage_size]
@rage = 0 if @rage == nil
can_use = @rage >= calc_cost
@rage -= calc_cost if perform
#------------------------------------------------------------------------
# <cost: x item:y>
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# This will allow you to make a skill cost 2 of an item to use. The y
# value will be the database's relative item ID value. This will check
# whether or not the party's inventory has enough to use. Note that if an
# enemy is using this skill, no items will be consumed.
# --- Example --- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# <cost: 2 item:1>
#------------------------------------------------------------------------
when /(\d+)[ ]ITEM:(\d+)/i
#---
calc_cost = self.enemy? ? 0 : $1.to_i
name = $data_items[$2.to_i].name.upcase
calc_cost = apply_skill_cost_changes(skill, calc_cost, name)
#---
item = $data_items[$2.to_i]
text_cost = calc_cost.to_s
use_icon = item.icon_index
can_use = $game_party.item_number(item) >= calc_cost
if perform and self.actor?
calc_cost.times do; $game_party.consume_item(item); end
end
#------------------------------------------------------------------------
# Stop editting past this point.
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
# Values created in the damage formula will be applied here to total HP
# and MP damage after undergoing variance and elemental adjustments.
#------------------------------------------------------------------------
end
use_icon = skill.cost_icon if skill.cost_icon != nil
case type
when :perform; return
when :calc_cost; return calc_cost
when :text_cost; return text_cost
when :can_use; return can_use
when :use_icon; return use_icon
when :suffix; return suffix
when :font_size; return font_size
when :colour; return colour
end
end
end # Game_Battler
Merci d'avance
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Mar 2 Nov 2010 - 16:42
Up du post
Personne n'a une idée de comment fonctionne cette partie du script ?
ps : c'est la section "cost : item" qui m'intéresse, mais je pense qu'elles fonctionne toutes de la même façon.
Personne n'a une idée de comment fonctionne cette partie du script ?
ps : c'est la section "cost : item" qui m'intéresse, mais je pense qu'elles fonctionne toutes de la même façon.
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 10:33
Dans le commentaire du skill , oui .
Je sais que c'est un "lunatic" mode (cad un mode expert) mais ce que tu veux faire est déja codé par défaut .
Je sais que c'est un "lunatic" mode (cad un mode expert) mais ce que tu veux faire est déja codé par défaut .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 10:50
Désolé dricc, mais - mise à part le fait qu'il faille mettre un bout de code dans le commentaire - je n'ai rien compris. :s
là, c'est vraiment compliqué pour moi (ou alors, j'analyse pas correctement).
tu ne pourrais pas me faire un exemple de ce qu'il faudrait rentrer dans le commentaire ?
du genre :
mon sort brasier nécessite deux bout de bois (ID 01) et un briquet (ID 02)
que dois-je inscrire dans les commentaires de mon sort ?
merci
là, c'est vraiment compliqué pour moi (ou alors, j'analyse pas correctement).
tu ne pourrais pas me faire un exemple de ce qu'il faudrait rentrer dans le commentaire ?
du genre :
mon sort brasier nécessite deux bout de bois (ID 01) et un briquet (ID 02)
que dois-je inscrire dans les commentaires de mon sort ?
merci
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 11:27
- Code:
<cost: 2 item:1>
<cost: 1 item:2>
Mais j'ai un doute si on peux mettre plusieurs coûts ou pas .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 12:13
Ok, je viens de tester et ça marche nikel (en fait, c'était vraiment tout simple)
par contre, tu as raison, ça ne prend pas en compte plusieurs objets, mais seulement le dernier demander.
dans l'exemple, ça ne prend que l'objet ID02.
J'aurais préféré pouvoir utiliser plusieurs items, mais si ce n'est pas possible je ferais avec.
en tout cas, merci beaucoup pour ton aide et tes réponses
par contre, tu as raison, ça ne prend pas en compte plusieurs objets, mais seulement le dernier demander.
dans l'exemple, ça ne prend que l'objet ID02.
J'aurais préféré pouvoir utiliser plusieurs items, mais si ce n'est pas possible je ferais avec.
en tout cas, merci beaucoup pour ton aide et tes réponses
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 13:42
C'est là qu'intervient le niveau expert dont je vais humblement essayer de me hisser lol
J'ai bricolé un "when" en plus pour gérer 2 objets :
utilisation :
Pas testé . Je suis meme pas sur que ça plante pas .
J'ai bricolé un "when" en plus pour gérer 2 objets :
- Code:
when /(\d+)[ ]ITEM:(\d+)[ ](\d+)[ ]ITEM:(\d+)/i
#---
calc_cost = self.enemy? ? 0 : $1.to_i
name = $data_items[$2.to_i].name.upcase
calc_cost = apply_skill_cost_changes(skill, calc_cost, name)
calc_cost2 = self.enemy? ? 0 : $3.to_i
name2 = $data_items[$4.to_i].name.upcase
calc_cost2 = apply_skill_cost_changes(skill, calc_cost2, name2)
#---
item = $data_items[$2.to_i]
item2 = $data_items[$4.to_i]
text_cost = calc_cost.to_s+ " " + calc_cost2.to_s
use_icon = item.icon_index
can_use = $game_party.item_number(item) >= calc_cost and $game_party.item_number(item2) >= calc_cost2
if perform and self.actor?
calc_cost.times do; $game_party.consume_item(item); end
calc_cost2.times do; $game_party.consume_item(item2); end
end
utilisation :
- Code:
<cost: 2 item:1 1 item:2>
Pas testé . Je suis meme pas sur que ça plante pas .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 16:10
ok, je test ça tout à l'heure, voir si ça fonctionne
EDIT : Alors, ça marche bien avec les deux items.
le seul hic, c'est que le sort consomme le même nombre du premier objet et du deuxième, même si je
demande des nombres différents.
en gros, si je tape :
, le sort me consommera 60 objets ID1 et ID2
et bizarrement, même si je n'ai pas 60 objet ID02.
EDIT : Alors, ça marche bien avec les deux items.
le seul hic, c'est que le sort consomme le même nombre du premier objet et du deuxième, même si je
demande des nombres différents.
en gros, si je tape :
et bizarrement, même si je n'ai pas 60 objet ID02.
- driccMembre
- Nombre de messages : 2760
Localisation : Lille
Distinction : Altruiste - Incarnation de la Patience [Mist']
Date d'inscription : 10/08/2009
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 17:11
Ouais en effet .
Je viens de telecharger la démo et implémenter mon truc , ça va pas .
Je vais débugguer un peu .
Quand meme , c'est super joli ce moteur de combat melody .
EDIT : bon , met un # devant cette ligne :
calc_cost2 = apply_skill_cost_changes(skill, calc_cost2, name2)
et ça marche . Apparement ,ça modifie le prix en fonction d'un état (pour par exemple avoir un statut -50%MP) , donc pas utile dans notre cas .
Je viens de telecharger la démo et implémenter mon truc , ça va pas .
Je vais débugguer un peu .
Quand meme , c'est super joli ce moteur de combat melody .
EDIT : bon , met un # devant cette ligne :
calc_cost2 = apply_skill_cost_changes(skill, calc_cost2, name2)
et ça marche . Apparement ,ça modifie le prix en fonction d'un état (pour par exemple avoir un statut -50%MP) , donc pas utile dans notre cas .
- PharazonStaffeux retraité
- Nombre de messages : 1701
Age : 38
Localisation : Au Pays des Bisounours
Distinction : Super distinction!
[Coco' ]
Date d'inscription : 14/04/2010
Re: Compétence en fonction de l'inventaire [résolu]
Mer 3 Nov 2010 - 17:49
Génial, ça marche parfaitement.
Merci beaucoup Dricc
Merci beaucoup Dricc
- BalbereithStaffeux retraité
- Nombre de messages : 4129
Age : 31
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 ) [Coco' ]
Date d'inscription : 13/05/2009
Re: Compétence en fonction de l'inventaire [résolu]
Ven 2 Sep 2011 - 23:42
résolu => déplacé.
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|