- NérylisMembre
- Nombre de messages : 615
Age : 35
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014
Script - Modification de formule de skill
Mar 10 Fév 2015 - 22:54
Bonsoir,
Je souhaiterai avoir un script permettant d'appliquer un coefficient multiplicateur à mes formules de skill sous certaines conditions. Je m'explique :
Actuellement, j'utilise un système de météo et un système jour/nuit que j'ai fait moi-même sans aucun script. Ces systèmes ne sont pas là que pour faire jolis, ils ont un impact sur les skills utilisés. Par exemple, quand il pleut, les skills de feu sont moins puissants tandis que les skills de foudre marchent mieux. De même, lorsqu'il fait nuit, les skills de lumière sont plus efficaces. Pour effectuer les changements de skills, j'ai créé des doublons dans la BDD avec des formules différentes. Ainsi, lorsqu'il pleut, je procède au changement de skill et c'est transparent pour le joueur. L'ennui, en-dehors d'être contraignant, c'est que j'utilise le script Skill Master (présent ici, voir dernier post : https://rpgmakervx.1fr1.net/t17462-nmscript-skill_mastery-v1) et bien entendu, mes changements de skill ne sont pas pris en compte.
Plutôt que de toucher à ce script, je préfère avoir un autre script qui permet donc d'appliquer un coefficient multiplicateur en fonction des interrupteurs activés pour la météo et pour le moment de journée. Je possède 8 interrupteurs de la sorte : 4 pour la météo (Normal, Pluie, Orage et Neige) et 4 pour les moments de journée (Matin, Jour, Soir et Nuit).
Pensez-vous que cela est réalisable ? Cela m'éviterai d'avoir 36000 doublons dans ma BDD et permettrait à mon système d'upgrade de skill d'être totalement optimisé.
Je souhaiterai avoir un script permettant d'appliquer un coefficient multiplicateur à mes formules de skill sous certaines conditions. Je m'explique :
Actuellement, j'utilise un système de météo et un système jour/nuit que j'ai fait moi-même sans aucun script. Ces systèmes ne sont pas là que pour faire jolis, ils ont un impact sur les skills utilisés. Par exemple, quand il pleut, les skills de feu sont moins puissants tandis que les skills de foudre marchent mieux. De même, lorsqu'il fait nuit, les skills de lumière sont plus efficaces. Pour effectuer les changements de skills, j'ai créé des doublons dans la BDD avec des formules différentes. Ainsi, lorsqu'il pleut, je procède au changement de skill et c'est transparent pour le joueur. L'ennui, en-dehors d'être contraignant, c'est que j'utilise le script Skill Master (présent ici, voir dernier post : https://rpgmakervx.1fr1.net/t17462-nmscript-skill_mastery-v1) et bien entendu, mes changements de skill ne sont pas pris en compte.
Plutôt que de toucher à ce script, je préfère avoir un autre script qui permet donc d'appliquer un coefficient multiplicateur en fonction des interrupteurs activés pour la météo et pour le moment de journée. Je possède 8 interrupteurs de la sorte : 4 pour la météo (Normal, Pluie, Orage et Neige) et 4 pour les moments de journée (Matin, Jour, Soir et Nuit).
Pensez-vous que cela est réalisable ? Cela m'éviterai d'avoir 36000 doublons dans ma BDD et permettrait à mon système d'upgrade de skill d'être totalement optimisé.
- GelartoGelato Della Mamma
- Nombre de messages : 2919
Age : 29
Distinction : Grand bêta-testeur de la communauté Curse
Personne avec du goût
Je ne suis pas une glace italienne, bordel de merde! [Gel']
Mon plus grand fan [Yama']
Mon ptit bichon [encore Yama']
Jeau-Paul II[Mist']
Saint-Gelato Le Frais [Mist']
Écrivain du dimanche [Amal']
FF IV Fanatic [LaCommu']
Collectionneur de distinctions de merde [Yama]
ModoGel [Un staffieux mais lequel?]
RNGel 2.0 [Zeal']
Date d'inscription : 31/07/2012
Re: Script - Modification de formule de skill
Mer 11 Fév 2015 - 20:48
Pas sûr qu'il y ait besoin de script pour ça [je sais ça colle pas avec la demande]
Dans la formule tu peux mettre des conditions (et un tas d'autres trucs).
Exemple: $game_switches[5] ? 100 + a.atk * 5 – b.def * 2 : a.atk * 5 – b.def * 2
Cela signifie que si l'interrupteur 5 est activé, la formule sera "500 + a.mat * 4 – b.mdf * 2", et si il l'est pas "200 + a.mat * 4 – b.mdf * 2"
J'en suis pas certains mais tu dois pouvoir imbriqué les conditions.(vu que le feu se voit surement diminuer quand il pleut ou quand il neige)
Dans la formule tu peux mettre des conditions (et un tas d'autres trucs).
Exemple: $game_switches[5] ? 100 + a.atk * 5 – b.def * 2 : a.atk * 5 – b.def * 2
Cela signifie que si l'interrupteur 5 est activé, la formule sera "500 + a.mat * 4 – b.mdf * 2", et si il l'est pas "200 + a.mat * 4 – b.mdf * 2"
J'en suis pas certains mais tu dois pouvoir imbriqué les conditions.(vu que le feu se voit surement diminuer quand il pleut ou quand il neige)
- NérylisMembre
- Nombre de messages : 615
Age : 35
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014
Re: Script - Modification de formule de skill
Sam 14 Fév 2015 - 17:31
Je n'avais pas vu ta réponse. J'ai essayé mais j'ai une erreur de syntaxe avec les ":".
Edit : J'ai réussi à corriger sans trop savoir comment j'ai fais mais il y a le problème de la limite de caractères dans les formules.
Edit : J'ai réussi à corriger sans trop savoir comment j'ai fais mais il y a le problème de la limite de caractères dans les formules.
- NérylisMembre
- Nombre de messages : 615
Age : 35
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014
Re: Script - Modification de formule de skill
Jeu 19 Fév 2015 - 21:52
Bon, en final j'ai trouvé quelque chose pour écrire les formules dans un script sans avoir de problème de longueur de caractères. En fonction de mes interrupteurs liés aux conditions météorologiques et au système jour/nuit, voilà ce que ça donne :
Pour que ces formules soient appliqués, il suffit simplement de rentrer, dans la BDD des skills, à l'endroit où on écrit les formules, l'appel de script "a.Nom_skill(a,b)".
Du coup, plus besoin de faire des doublons dans la BDD lorsque la météo change ou lorsque la nuit apparaît par exemple. Du coup, le script Skill Master cité plus haut est optimisé.
Les formules s'appliquent en fonction des lieux, à savoir si on est à l'air libre ou dans un donjon. Et cela est applicable pour les héros comme pour les ennemis.
Avant de clôturer ce sujet, j'attends que mon fameux scripteur jette un œil et me dise ses remarques au cas où.
- Code:
class Game_BattlerBase
#--------------------------------------------------------------------------
# * Skills
#--------------------------------------------------------------------------
def Brasier_skill(a, b)
damage = $game_switches[31] ? 50 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 50 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 300 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Brasierplus_skill(a, b)
damage = $game_switches[31] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 500 + a.mat * 2 - b.mdf * 2 :
400 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Murdefeu_skill(a, b)
damage = $game_switches[31] ? 50 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 50 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 400 + a.mat * 3 - b.mdf * 2 :
250 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Tornadedefeu_skill(a, b)
damage = $game_switches[31] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 600 + a.mat * 3 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Glacier_skill(a, b)
damage = $game_switches[31] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 50 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Glacierplus_skill(a, b)
damage = $game_switches[31] ? 400 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 400 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 100 + a.mat * 2 - b.mdf * 2 :
400 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Frimas_skill(a, b)
damage = $game_switches[31] ? 250 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 250 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 50 + a.mat * 2 - b.mdf * 2 :
250 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Toundra_skill(a, b)
damage = $game_switches[31] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 100 + a.mat * 2 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Foudre_skill(a, b)
damage = $game_switches[31] ? 250 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 300 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 200 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Foudreplus_skill(a, b)
damage = $game_switches[31] ? 500 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 600 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 400 + a.mat * 2 - b.mdf * 2 :
400 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Choc_skill(a, b)
damage = $game_switches[31] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 350 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 300 + a.mat * 3 - b.mdf * 2 :
300 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Plasma_skill(a, b)
damage = $game_switches[31] ? 600 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 800 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 500 + a.mat * 3 - b.mdf * 2 :
500 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Ecume_skill(a, b)
damage = $game_switches[31] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 300 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 200 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Marée_skill(a, b)
damage = $game_switches[31] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 500 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 400 + a.mat * 3 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Tremblement_skill(a, b)
damage = $game_switches[31] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 200 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Séisme_skill(a, b)
damage = $game_switches[31] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 400 + a.mat * 3 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Tourbillon_skill(a, b)
damage = $game_switches[31] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[32] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[33] ? 200 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Tornade_skill(a, b)
damage = $game_switches[31] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[32] ? 400 + a.mat * 3 - b.mdf * 2 :
$game_switches[33] ? 400 + a.mat * 3 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Flash_skill(a, b)
damage = $game_switches[24] ? 300 + a.mat * 3 - b.mdf * 2 :
$game_switches[21] ? 100 + a.mat * 2 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Sidéral_skill(a, b)
damage = $game_switches[24] ? 600 + a.mat * 5 - b.mdf * 2 :
$game_switches[21] ? 200 + a.mat * 2 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
def Ténèbres_skill(a, b)
damage = $game_switches[24] ? 100 + a.mat * 2 - b.mdf * 2 :
$game_switches[21] ? 300 + a.mat * 3 - b.mdf * 2 :
200 + a.mat * 2 - b.mdf * 2
damage.to_i
end
def Damnation_skill(a, b)
damage = $game_switches[24] ? 200 + a.mat * 2 - b.mdf * 2 :
$game_switches[21] ? 600 + a.mat * 5 - b.mdf * 2 :
400 + a.mat * 3 - b.mdf * 2
damage.to_i
end
end
Pour que ces formules soient appliqués, il suffit simplement de rentrer, dans la BDD des skills, à l'endroit où on écrit les formules, l'appel de script "a.Nom_skill(a,b)".
Du coup, plus besoin de faire des doublons dans la BDD lorsque la météo change ou lorsque la nuit apparaît par exemple. Du coup, le script Skill Master cité plus haut est optimisé.
Les formules s'appliquent en fonction des lieux, à savoir si on est à l'air libre ou dans un donjon. Et cela est applicable pour les héros comme pour les ennemis.
Avant de clôturer ce sujet, j'attends que mon fameux scripteur jette un œil et me dise ses remarques au cas où.
Re: Script - Modification de formule de skill
Jeu 19 Fév 2015 - 22:47
Je suis content, que tu a trouver ton problème, mais le forum, ce n'est pas le cas:
Réglement & Généralités
La fonction "Edite" existe, ta juste a copier et a supprimer l'ancien et d'écrire un nouveau, en copiant celui d'avant et d'ajouter ton édite!
Le forum sera plus propre et mieux organisé!
Réglement & Généralités
La fonction "Edite" existe, ta juste a copier et a supprimer l'ancien et d'écrire un nouveau, en copiant celui d'avant et d'ajouter ton édite!
Le forum sera plus propre et mieux organisé!
- ZangtherMembre
- Nombre de messages : 913
Distinction : aucune
Date d'inscription : 06/02/2013
Re: Script - Modification de formule de skill
Jeu 19 Fév 2015 - 23:00
Non mais au pire tais toi.
Re: Script - Modification de formule de skill
Ven 20 Fév 2015 - 14:08
Je le prévient juste, pour pas qui se prend des avertissements!
Et j'ai rien dit de mal dans ma phrase.
Et j'ai rien dit de mal dans ma phrase.
- NérylisMembre
- Nombre de messages : 615
Age : 35
Localisation : Seine Maritime
Distinction : aucune
Date d'inscription : 23/11/2014
Re: Script - Modification de formule de skill
Ven 20 Fév 2015 - 17:03
J'édite mon message lorsque je fais une modification après avoir validé un message (souvent quand je viens de tester quelque chose ou que j'ai oublié un détail, d'ailleurs c'est ce que j'ai fais dans mon second post). Mais quand j'ai un pavé à mettre au bout d'une semaine pour expliquer les nouveautés liés à mon problème, je fais double post. Ce n'est pas gênant car ça apporte tellement de choses. Ce n'est pas la première fois que je fais ça, et les modérateurs sont plutôt indulgents et c'est tant mieux.
Pour en revenir au sujet initial, j'attends que Vincent26 soit à nouveau dispo pour me dire s'il y a des choses qui le choquent sur ce que j'ai fais (je ne fais pas de script en temps normal et je ne comprends pas tout).
Pour en revenir au sujet initial, j'attends que Vincent26 soit à nouveau dispo pour me dire s'il y a des choses qui le choquent sur ce que j'ai fais (je ne fais pas de script en temps normal et je ne comprends pas tout).
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum
|
|