Night.png);">
Apprendre


Vous êtes
nouveau sur
Oniromancie?

Visite guidée
du site


Découvrir
RPG Maker

RM 95
RM 2000/2003
RM XP
RM VX/VX Ace
RM MV/MZ

Apprendre
RPG Maker

Tutoriels
Guides
Making-of

Dans le
Forum

Section Entraide

Sorties: Star Trek: Glorious Wolf - (...) / Sorties: Dread Mac Farlane - episode 3 / News: Plein d'images cools créées par (...) / Sorties: Star Trek: Glorious Wolf - (...) / Jeux: Final Fantasy 2.0 / Chat

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

283 connectés actuellement

29185321 visiteurs
depuis l'ouverture

5586 visiteurs
aujourd'hui



Barre de séparation

Partenaires

Indiexpo

Akademiya RPG Maker

Blog Alioune Fall

Fairy Tail Constellations

Le Comptoir Du clickeur

RPG Maker Détente

Offgame

Kingdom Ultimate

Tous nos partenaires

Devenir
partenaire



forums

Index du forum > Généralités > Les formules de combat de "VXAce"


Tata Monos - posté le 06/04/2012 à 21:08:41 (28 messages postés)

❤ 0

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)

❤ 0

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 (2286 messages postés)

❤ 0

Y a les compétence Demi/Quart qui sont possibles aussi.
J'ai pas testé, mais juste :

Portion de code : Tout sélectionner

1
b.hp / 4


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 :

Portion de code : Tout sélectionner

1
a.mhp - a.hp


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(X) ç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)

❤ 0

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)

❤ 0

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 (2286 messages postés)

❤ 0

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)

❤ 0

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 :p
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 :F). 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 (2286 messages postés)

❤ 0

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)

❤ 0

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 :F

Sinon, je pense que le plus pratique serait de mettre les formules directement ici (vu que c'est le titre du topic :F). 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 (2286 messages postés)

❤ 0

Okay ^^.

Donc pour commencer faut ajouter ce script au dessus de Main :

Portion de code : Tout sélectionner

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 :

Portion de code : Tout sélectionner

1
a.richesse_damage



Dans certain cas, vous aurez besoin de préciser l'argument b :

Portion de code : Tout sélectionner

1
a.darkness(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 :

Portion de code : Tout sélectionner

1
a.mhp - a.hp


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"

repondre up

Suite à de nombreux abus, le post en invités a été désactivé. Veuillez vous inscrire si vous souhaitez participer à la conversation.

Haut de page

Merci de ne pas reproduire le contenu de ce site sans autorisation.
Contacter l'équipe - Mentions légales

Plan du site

Communauté: Accueil | Forum | Chat | Commentaires | News | Flash-news | Screen de la semaine | Sorties | Tests | Gaming-Live | Interviews | Galerie | OST | Blogs | Recherche
Apprendre: Visite guidée | RPG Maker 95 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker MV | Tutoriels | Guides | Making-of
Télécharger: Programmes | Scripts/Plugins | Ressources graphiques / sonores | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Au hasard | Notre sélection | Sélection des membres | Tous les jeux | Jeux complets | Le cimetière | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Proposer
Ressources RPG Maker 2000/2003: Chipsets | Charsets | Panoramas | Backdrops | Facesets | Battle anims | Battle charsets | Monstres | Systems | Templates
Ressources RPG Maker XP: Tilesets | Autotiles | Characters | Battlers | Window skins | Icônes | Transitions | Fogs | Templates
Ressources RPG Maker VX: Tilesets | Charsets | Facesets | Systèmes
Ressources RPG Maker MV: Tilesets | Characters | Faces | Systèmes | Title | Battlebacks | Animations | SV/Ennemis
Archives: Palmarès | L'Annuaire | Livre d'or | Le Wiki | Divers