Bienvenue visiteur !
|
Statistiques
Liste des membres
Contact
Mentions légales
591 connectés actuellement
29801005 visiteurs depuis l'ouverture
14617 visiteurs aujourd'hui
Partenaires
Tous nos partenaires
Devenir partenaire
|
Tata Monos -
posté le 06/04/2012 à 21:08:41 (28 messages postés)
| Compte Non utilisé | Yop les gens. Voici un petit topic pour parler Formule de Combat sur Ace. (Mais qui peut très certainement utile pour d'autre circonstance.
Bon j'ai besoin de formule de combat des jeux pro, on pourait les référencer ici.
Dragon Quest 6
-(Force / 2 - Defense /4) + ou - ((Force / 2 - Defense /4/16)+1)
Custom Maker
-(a.atk*2-b.def)+rand(((a.luk*2-b.luk)/2)+2)
Personnellement je n'aime pas les divisons xd. Les formules de VX et Ace en native sont en gros :
Force * 4 - Def *2
J'ai j'ai juste gardé le force *2 - def. Et aléatoirement est ajouté une valeur qui oppose la chance de l'attaquant * 2 contre la chance du défenseur le tout divisé par deux avec un ajout de 2 points. Ce qui fait une valeur minimum ajouter entre 0 et 2.
Je ne sais pas si une bonne formule mais je suis sur qu'on peut parler de pas mal de chose sur ça.
|
Kaila- -
posté le 07/04/2012 à 03:03:38 (93 messages postés)
| Hmmm ? | Dans FF12, il y avait une compétence qui s'appellait "Arithmétique" (ou un truc du style), qui faisait, de base, un seul point de dégât. À chaque réutilisation, la chance du personnage intervennait pour déterminer si les dégâts doublaient ou revenaient à 1. Au tout début, donc, on fait 1, puis 2, puis 4, puis 8, 16, 32, 64, 128, ect... Les chances de doubler sont très élevées. Arrivé à 1024 ou 2048, voire 4096 pour les plus chanceux, il y avait de fortes chances de déjà retomber à 1, et de recommencer le cycle.
Vu que dans les formules de combat on peut utiliser la valeur d'une variable, et vu que n'importe quelle compétence peut appeller un évènement commun (qui nous servirait ici à déterminer la valeur de la variable, et donc des dégâts), faire une compétence de ce style est en théorie assez simple.
Pareil, avec un système similaire on peut copier une des compétences de FF9, Guivre, qui a un taux de dégâts fixe correspondant au nombre de dragons tués au cours de la partie élevé au carré. Pour faire ça, il suffirait de faire un petit évènement dans tous les groupes de monstres contenant un dragon ("si monstre "Dragon" a ses HP à 0%, variable nbDragonsTués += 1") et d'appeller cette variable dans la formule de calcul ("v[x]*v[x]").
En fait, rien qu'avec la possibilité d'utiliser une variable pour déterminer le nombre des dégâts, la customisation des compétences passe à un tout autre niveau.
|
Rule 90 |
Mack -
posté le 07/04/2012 à 10:03:52 (2292 messages postés)
- - | | Y a les compétence Demi/Quart qui sont possibles aussi.
J'ai pas testé, mais juste :
Devrait marcher sans soucis. ( Faut désactiver la variation, et lui foutre un Elément particulier pour être sur que ça marche que sur les ennemi normaux. )
On peut faire la compétence soustraction de Steiner aussi :
Pareil, sans variation, et sans critique, ça marche très bien.
Pour g=Guivre, j'suis sur qu'un trifouillant un tout petit peu dans les scripts, on peut réussir à le faire sans utiliser d'évent commun. J'verrais ça ^^.
De même pour Arithmétiques.
Juste avec des rand( ça devrait le faire.
Si ça intéresse des gens, j'peux peut être me penché sur plein de sort comme ça.
( De mon côté, j'vais voir sur tout les FF si y a pas d'autre sorts dans ce genre. )
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
klimero -
posté le 07/04/2012 à 10:14:58 (5372 messages postés)
| | Oh, c'est intéressant ce topic, ton post aussi Kaila.
J'avais gardé un site qui expliquait les formules de XP, si certains sont plus à l'aise avec, et veulent les transférer sur Ace :
http://www.final-rpg.com/rpg_maker_xp-tutoriels-combats.html
J'ai aussi les formule de 2k, que j'ai c/c de je sais plus où :
C'est trop chiant de placer les spoiler, je livre ça brut :
Citation: The attacking character is 'A' and the attacked character is 'B'. The success or failure of the action decided at the probability is separately decided based on random numbers. The effect amount regulation is separately reflected in damage and the amount of the effect at the attack with an attribute.
Damage of attack normally:
Damage (HP decrease value)(attack power ÷= 2 of A)-(defense power ÷4 of B)
·Actual damage changes at random within the range of 80-120% of the above-mentioned value. ·Three values are multiplied for "Kill without fail" and "Critical Hit".
·Hit rate of attack is usually (%) =100-hit rate -(rate (%) of hit of equipment arms of 100-A)×+ (quickness -1 of quickness ÷ A of B)1÷2
·When the option of "Ignore Monster Evasion" is given to arms, the basic hit rate becomes a hit rate as it is. ·Hit rate change value (%) is multiplied by present "Condition".
·When B is equipped with the protector of "Rise Avoid of Physical Attack", 25% is subtracted from the hit rate. The hit rate is unconditionally assumed to be 100% when under the "Condition" that B cannot act.
·Amount of effect of special skill:
Amount of basic effect (attack power × mind implication level ÷+ 20 of A) effect amount = +(soul power × soul implication level ÷40 of A)
·It changes within the range of 5% of ± for each numeric, decentralized level 1(maximum +50--50%).
·When a special skill of the attack and setting [ the defense ignore ] is invalid, the following values are pulled from the amount of the effect. (defense power × shock implication level ÷40 of B)-(soul power × soul implication level ÷80 of B)
·The value of the amount of the effect is treated as it is as recovery rate (%) of HP for a special skill by which only the condition that it is not possible to combat is recovered (HP is not recovered)(all recoveries when the value is 100 or more).
Success rate of special skill Success rate basis (%) = success rate
·As for a special skill with two or more effects, the success rate of each effect is calculated and the success or failure is judged.
·The abnormal generation rate based on the effective condition degree of the character is crossed for a special skill by which the state is changed (The probability to which the state change actually takes place is 25%(50% and 50% at the abnormal generation rate in the state at the success rate of a special skill)).
·When the message when failing is "Etc. The attack was exchanged", the judgment type of "Hit rate of the attack normally" is applied with a special skill of a physical attack.
·When the attack by a special skill by which HP or MP is decreased fails, the attack to other ability values and states is assumed to be invalid (All are considered to be a failure).
·Escape success rate Escape success rate (%) = 1.5-(average quickness of all average quickness ÷ heroes of the entire enemy Chara)×100 (example)The escape success rate is 50% at the same both. enemy Chara and hero's average quickness rates
·The escape success rate is added by 10% every one time of the escape failure.
·It is assumed the one that it is possible to run away unconditionally for the preemptive strike inside.
Gemin-note: I had a very difficult time translating this section. I apologize that some of it may not be accurate. I believe most of it is, although you may need a good background in math to make any sense of it. I found some damage calculations from the World of Rm2k forum and I offer them to you now, maybe they will help you make more sense of it all.
From the World of RM2k forum:
(Names removed to protect the innocent).
I went through every page of the RM2k Guru (This board) and the Help board, and I Read every method, made sure I understand them, and tested it out. However, the physical attack was fine.... but the Skill/Magic wasn't, does anyone know EXACTLY how the Damage Formula Works? I'm trying to solve it myself but I just can't seem to get it. I understands How the Variable works in skills, but can't figure out the "Mind" "Hit Chance" "mind Chance." These are the #s I tested.
Mon = Mind of Monster
Cha = Mind of Character
Mind = Mind Chance
Skill = Damage of Skill
(Hit Chance, Variable =0)
Mon.=====Cha.======Mind=======Skill=======Result
200======100=======5==========10==========10
200======100=======10=========10==========10
100======100=======5==========10==========23
100======100=======10=========10==========23
100======200=======5==========10==========29
100======200=======10=========10==========48
What's Going on!! ARRRGHHHHHH!!!
-----------------------------------------------------------------------------------------------
Damage = (Mind Chance)/40*((Attacking Mind) - (Defending Mind)/2) + (Basis Effect #)
My guess is that the overall damage for a spell is therefore:
Damage = (Mind Chance)/40*((Attacking Mind) - (Defending Mind)/2) + (Hit Chance)/40*((Attacking Power) - (Defending Defense)/2) + (Basis Effect #)
Of course, you'll never deal negative damage.
-------------------The following may be inaccurate---------------------------------------------------
physical attacks:
dmg = (( 2*atk - def ) / 4) +/- 20% of the result for variance
skill attacks:
1) using hit chance:
dmg = basedmg + atk * (50*hitc/1000) - def * (25*hitc/1000) +/- (var*5%)
2) using mind chance:
dmg = basedmg + mindatk * (25*mindc/1000) - minddef * (12,5*mindc/1000) +/- (var*5%)
- if dmg <= 0 then dmg = 1
info about skills: (not confirmed yet)
- if u use both hit and mind chance in a skill rm2k will:
1. use hit chance if the enemy def>mind
2. use mind chance if the enemy mind>def
3. use the sum of hit and mind damage if def=mind (this one may be wrong)
-------------------The following may be inaccurate---------------------------------------------------
Standard Attacks--
1. For default attacks, the formula is .5HeroAttack-.25EnemyDefense, accounting for any strengths and weaknesses of the weapons. [Half me and half Chairface]
2. The variation is 2 (10%). [Chairface]
Special Attacks--
1. The formula for magic attacks is first (.5HeroAttack-.25Enemy Defense) * (HitChance/10) + (.25HeroMind-.25EnemyMind) * (MindChance/10) + (DamageAmount). [Mostly Chairface]
2. Multiply by all strengths and weaknesses. [Given]
3. Variation is 5%*(Variation) [Chairface]
What does this all mean? To start off, if you want a physical attack that is precisely twice as powerful as a normal attack, you can simply make an attribute called 2x, and set A-E, all to 200% (and set the type to Magic, so your weapons don't have to have double attack to use the move, as well). |
Bon, rien à voir avec Ace, mais certains voudront peut-être les transposer.
|
Some pirates achieved immortality by great deeds of cruelty or derring-do. Some achieved immortality by amassing great wealth. But the captain had long ago decided that he would, on the whole, prefer to achieve immortality by not dying. |
Chaös17 -
posté le 07/04/2012 à 11:17:46 (868 messages postés)
| | Récemment un anglais c'est penché sur la question et il a écrit un tutoriel : http://cobbtocs.co.uk/wp/?p=271
|
Blog of Chaos17 |
Mack -
posté le 11/05/2012 à 20:58:01 (2292 messages postés)
- - | | J'ai bossé un peu sur différent sort aux effets spéciaux et voila ce qui en ai ressortit :
- Soustraction (FF9)
- Don (FF9)
- Arithmétiques (FF12)
- Guivre (FF9)
- Ténèbres (FF9)
- Amépée (FF9)
Si quelqu'un a des idées de sorts dans le même genre / serait intéressé par les sorts déjà fait, qu'il me prévienne ^^.
J'ai déjà pensé à faire un truc similaire à Don, mais pour le nombre de pas et/ou le nombre de combat fuit.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Kaila- -
posté le 12/05/2012 à 11:25:04 (93 messages postés)
| Hmmm ? | Pour utiliser le nombre de pas, il suffit d'utiliser "$game_party.steps". Et étant donné que les dégâts son plafonnés à 9999, inutile de borner la valeur
Pour l'argent possédé, c'est pareil avec "$game_party.gold".
Par contre, en ce qui concerne le nombre de combats gagnés/perdus/fuits, je ne sais pas s'ils sont enregistrés quelque part (je n'ai pas vraiment eu le temps de me pencher sur le RGSS3 ). Au pire, passer par une variable peut être une solution, à condition de modifier les scripts pour incrémenter sa valeur si on est dans le cas d'un combat aléatoire.
... Hum. Faudrait qu'un jour je trouve le temps de m'intéresser aux scripts d'Ace...
|
Rule 90 |
Mack -
posté le 12/05/2012 à 11:30:49 (2292 messages postés)
- - | | Ouais, j'ai pas eu de mal pour l'argent, donc pour les pas me suffira de changer une ligne, mais j'sais pas si ça en faite un bon sort ou pas^^".
( Dès son niveau d'obtention suffirait de faire les 100 pas dans une ville pour avoir un sort ultra cheaté ='D )
Pour les combats, y a le nombre total de combat effectué, mais pas le nombre de fuite/gagné/défaite. Mais je pense pas que ça soit bien dure, suffit d'augmenter une variable de Game_System si je gagne/fuit/perd.
J'vais m'y attaquer, voir si c'est faisable.
EDIT : Aucune difficulté pour les combats fuis ^^.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) |
Kaila- -
posté le 12/05/2012 à 12:39:11 (93 messages postés)
| Hmmm ? | Mack a dit: mais j'sais pas si ça en faite un bon sort ou pas^^".
( Dès son niveau d'obtention suffirait de faire les 100 pas dans une ville pour avoir un sort ultra cheaté ='D ) |
Ça c'est autre chose... Faire une compétence originale et réussir à la calibrer pour qu'elle soit utile mais pas cheatée, c'est pas toujours facile
Sinon, je pense que le plus pratique serait de mettre les formules directement ici (vu que c'est le titre du topic ). Au moins, on saura de quoi on parle et ça pourra servir à d'autres °°
|
Rule 90 |
Mack -
posté le 12/05/2012 à 14:11:44 (2292 messages postés)
- - | | Okay ^^.
Donc pour commencer faut ajouter ce script au dessus de Main :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
| class Game_Battler
# Ajout de diffèrente formule de dommage.
# Pour s'en servir, dans la case "Formule de Calcul", il suffit de mettre :
# a.nom_de_la_commande.
# Exemple :
# a.richesse_damage
# Dans certain cas, vous aurez besoin de préciser l'argument b :
# a.darkness(b)
# Voila la liste des commande qui nécessité l'argument b :
# base_attack
# darkness
# soublade
# Simule une attaque standart.
#Permet de calculer des dommages sur le sort N°1.
#Utile pour calculer des dommages selons l'arme équipée. ( Cf Ténébres. )
def base_attack(target)
return $data_skills[1].damage.eval(self, target, $game_variables)
end
#Formule de dommage Darkness FF9.
# Inflige des dommages supérieurs à une attaque, mais baisse la vie du lanceur ( de 12% ).
def darkness(target)
self.hp -= self.hp/12
return self.base_attack(target) * 2
end
# Formule de dommage Amépée FF9.
#Inflige des altérations d'états selon l'arme équipé.
#Remplissez le tableau de cette façon :
# Id de l'arme => [Id du Status,%age de chance d'être infligé]
WEAPONS_ELEMENT = {
16=>[7,75],
20=>[1,100]
}
def soulblade(target)
a = self.weapons[0]
for w in self.weapons
if WEAPONS_ELEMENT.include?(w.id)
r = rand(100)
if r <= WEAPONS_ELEMENT[w.id][1]
s_id = WEAPONS_ELEMENT[w.id][0]
target.add_state(s_id)
end
end
end
d = self.base_attack(target)
return d
end
# Formule de dommage Attaque du Fuyard.
#Inflige des dommages égaux aux nombres de combat fuis.
def battle_flee
return $game_system.battle_flee.to_i
end
#Formule de dommage Arithmétique FF12.
# A chaque lancer du sort, vous avez 75% de chance de doubler les dommages ( De base ils sont à 1).
# Sinon, les dommages du sorts redeviennent à égaux à 1.
#Exemple : Premier lancer : -1. Second lancer : -2 ( J'ai eu assez de chance. )Troisième : -4 ( Encore de la chance ),
# Cinquième lancer : -8 ( Toujours de la chance ), Sixième : -1 ( Là, j'ai pas eu de chance ).
#Vous pouvez changer le pourcentage de chance à la ligne if r > 25.
# Remplacer 25 par la valeur voulue. ( Plus elle sera haute, moins le joueur aura de chance de doubler les dommages.
def arithmetique_damage
if @damage_arithmetique == nil
@damage_arithmetique = 1
else
r = rand(100)
if r > 25
@damage_arithmetique *= 2
else
@damage_arithmetique = 1
end
end
return @damage_arithmetique
end
#Formule de dommage Guivre FF9
# Les dommages du sorts sont le nonbre de dragon tué au carré.
# Pour faire qu'un monstre soit du type dragon, il suffit de mettre <dragoon> dans ses notes.
def guivre_damage
return ($game_system.dragon_killed * $game_system.dragon_killed)
end
def die
@hp = 0
clear_states
clear_buffs
if is_a_dragoon?
$game_system.dragon_killed += 1
end
end
def is_a_dragoon?
dragoon = false
if self.is_a?(Game_Actor)
note = $data_enemies[@actor_id].note
else
note = $data_enemies[@enemy_id].note
end
note.each_line do |line|
if line.include?("<dragoon>")
dragoon = true
end
end
return dragoon
end
# Formule de dommage Don FF9
def richesse_damage
return $game_party.gold
end
end
class Game_System
attr_accessor :dragon_killed
attr_accessor :battle_fleed
alias old_ini initialize
def initialize
@dragon_killed = 10
@battle_fleed = 0
old_ini
end
def battle_flee
if @battle_fleed == nil
@battle_fleed = 0
end
return @battle_fleed
end
end
module BattleManager
def self.process_escape
$game_message.add(sprintf(Vocab::EscapeStart, $game_party.name))
success = @preemptive ? true : (rand < @escape_ratio)
Sound.play_escape
if success
$game_system.battle_flee
$game_system.battle_fleed += 1
process_abort
else
@escape_ratio += 0.1
$game_message.add(Vocab::EscapeFailure)
$game_party.clear_actions
end
wait_for_message
return success
end
end |
J'ai mis dans ce script toute les compétence que j'ai déjà faite.
Pour s'en servir, dans la case "Formule de Calcul", il suffit de mettre :
a.nom_de_la_commande.
Exemple :
Dans certain cas, vous aurez besoin de préciser l'argument b :
Voila la liste des commande qui nécessité l'argument b :
base_attack
darkness
soublade
La commande base_attack permet de simuler une attaque standard, et donc de récupérer les dommages que le héros aurait fait s'il avait utilisé le sort 1.
Utile pour modifier selon un pourcentage donc.
Je pense qu'à l’intérieur du script c'est assez bien expliquer, par contre, je pense laissé à chaque fois dans un seul script.
Et pour soustraction :
Pensez aussi à changer la variance et le Coup Critique au besoin.
( Soustraction/Don/Arithmétique/Guivre/Attaque du Fuyard.
Voila voila ^^.
|
( Je prend note de tout les commentaires, même si je n'y répond pas ) | Index du forum > Généralités > Les formules de combat de "VXAce"
|
|
|