[RPG-MAKER.FR] Oniromancie: tout l'univers de RPG Maker en français - Les forums - [RPGVX] Classe qui esquive les attaques normales [résolu]

Oniromancie: Les forums - [RPGVX] Classe qui esquive les attaques normales [résolu]


Comment ça marche?

Aëdemphia
Par Sylvanor

Fighting Robots Quest
Par Boulon

Forstale
Par Ødd Clock

Geex
Par roys

Inexistence
Par Falco

La Légende d'Ibabou
Par Zaitan

Lije
Par Gaetz

Sarcia
Par Kaëlar

Super Mario RPG - Lost Souls
Par Omegabowser

News: Le samedi, c'est best of des (...) / News: Les Alex d'Or 2019 sont lancés ! / Jeux: La lettre à Elise / News: Des jeux, des démos, des (...) / News: Des jeux, des démos, des (...) /

Chat  (48 connectés)

Bienvenue
visiteur !




publicité RPG Maker!

Statistiques

Liste des
membres


Contact

Mentions légales

46 connectés actuellement

9845642 visiteurs
depuis l'ouverture

1103 visiteurs
aujourd'hui

Groupe Facebook

Barre de séparation

Partenaires






TOP
GAMEMAKING


Les 5 plus
visités

Akademiya RPG Maker

Alex d'Or

Blog of Chaos17

BloGecko

ConsoleFun

Au hasard

Offgame

Alex d'Or

RPG Maker - La Communauté

Les deux derniers

Zarok

Akademiya RPG Maker

Nos autres partenaires

Devenir
partenaire


Barre de séparation

Un site du réseau
War Paradise

Annuaires référenceurs




forums

Index du forum > Entraide > [RPGVX] Classe qui esquive les attaques normales [résolu]


belatucadrus - posté le 04/02/2017 à 04:41:54. (87 messages postés)

Le Pape

Domaine concerné: Script
Logiciel utilisé: RPGVX
Bonsoir

Je suis en train de me prendre la tête avec les scripts.

En fait, dans mon RPG mes personnages peuvent faire évoluer leur classe. En l'occurence l'évolution du voleur a l'avantage d'avoir 100% d'évasion sur les attaques physiques.

Sauf que je ne peux pas définir l'évasion indépendamment pour chaque skill. Alors j'ai un peu triché en mettant que la classe était invulnérable aux attaques de type épée, masse, lance etc...

Par contre, les attaques de base touchent quand même car visiblement, les attaques de base n'ont aucun élément.
Est ce qu'il y a un moyen de faire en sorte que lorsque le personnage d'une classe particulière est ciblée par une attaque de base (et dans l'idéal un skill avec la case "attaque physique" cochée), le personnage évite à 100% l'attaque ?

J'ai un peu regardé du côté de Game_Battler et Game_Actor j'ai un début de piste sur comment sont calculés les dégâts notemment avec cette ligne :

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
  #--------------------------------------------------------------------------
  # * Apply Normal Attack Effects
  #     attacker : Attacker
  #--------------------------------------------------------------------------
  def attack_effect(attacker)
    clear_action_results
    unless attack_effective?(attacker)
      @skipped = true
      return
    end
    if rand(100) >= calc_hit(attacker)            # determine hit ratio
      @missed = true
      return
    end
    if rand(100) < calc_eva(attacker)             # determine evasion rate
      @evaded = true
      return
    end
    make_attack_damage_value(attacker)            # damage calculation
    execute_damage(attacker)                      # damage reflection
    if @hp_damage == 0                            # physical no damage?
      return                                    
    end
    apply_state_changes(attacker)                 # state change
  end



Ca parle d'evasion mais globalement je sais pas trop comment toucher au code

To multiply...


Vruche - posté le 06/02/2017 à 21:28:34. (74 messages postés)

Salut !

Le moyen qui me semble le plus simple serait de modifier la fonction qui définit le taux d'esquive en % d'un Game_Actor (l'objet qui représente un personnage en combat).

Donc dans Game_Actor (ligne 270 de base), il te faudrait remplacer par :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
 
  #--------------------------------------------------------------------------
  # * Get Evasion Rate
  #--------------------------------------------------------------------------
  def eva
    n = 5
    for item in armors.compact do n += item.eva end
    n = 100 if @class_id == (numéro de ta classe Voleur dans la bdd) # ligne à rajouter
    return n
  end
 



J'ai pas testé mais ça devrait marcher.

Eldrao: Le Miroir Mémoriel, Ruin (Chrono Making)


kanatos - posté le 06/02/2017 à 22:13:50. (293 messages postés)

cute rabbit

@Vruche plutôt ça non ? ^^
bon après je sais pas comment est calculé la valeur esquive sur rmvx mais
c'est marqué sur la doc.

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
  #--------------------------------------------------------------------------
  # * Get Evasion Rate
  #--------------------------------------------------------------------------
   def eva
     n = 5
    for item in armors.compact do n += item.eva end
     if @class_id == (numéro de ta classe Voleur dans la bdd) # ligne à rajouter)
     n = 100
     end
    return n
   end


Vruche - posté le 06/02/2017 à 22:38:18. (74 messages postés)

C'est pareil les 2 syntaxes fonctionnent :sourire2

Eldrao: Le Miroir Mémoriel, Ruin (Chrono Making)


belatucadrus - posté le 06/02/2017 à 23:39:22. (87 messages postés)

Le Pape

Merci pour vos réponses :)

Mais j'ai une question : Est ce qu'avec cette ligne de code, mon voleur esquive aussi les skills avec l'option "attaque physique" activée ?

To multiply...


Vruche - posté le 07/02/2017 à 00:14:06. (74 messages postés)

Oui, cette valeur est appliquée pour les attaques normales et les skills avec l'option "attaque physique".

Si tu veux voir en détail le calcul tu peux regarder ce bout de code dans Game_Battler :

Portion de code : Tout sélectionner

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  #--------------------------------------------------------------------------
  # * Calculate Final Evasion Rate
  #     user : Attacker, or user of skill or item
  #     obj  : Skill or item (for normal attacks, this is nil)
  #--------------------------------------------------------------------------
  def calc_eva(user, obj = nil)
    eva = self.eva
    unless obj == nil                       # if it is a skill or an item
      eva = 0 unless obj.physical_attack    # 0% if not a physical attack
    end
    unless parriable?                       # If not parriable
      eva = 0                               # 0%
    end
    return eva
  end



obj.physical_attack correspond à l'option "attaque physique" du skill (ou objet).
"self.eva" appelle le calcul que j'ai cité dans mon premier message.

Eldrao: Le Miroir Mémoriel, Ruin (Chrono Making)


belatucadrus - posté le 07/02/2017 à 03:30:33. (87 messages postés)

Le Pape

Merci !!! :)

To multiply...

Index du forum > Entraide > [RPGVX] Classe qui esquive les attaques normales [résolu]

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:

Activité: Accueil | News | Forum | Flash-news | Chat | Commentaires | Galerie | Blogs | Screen de la semaine | Sorties | Articles perso | Palmarès | Livre d'or | Recherche
Télécharger: Programmes | Scripts | Packs de ressources | Midis | Eléments séparés | Sprites
Jeux: Index jeux séparés | Top Classiques | Top Originaux | Les autres | Collection Oniro | RPG Maker 95 | RPG Maker 2000 | RPG Maker 2003 | RPG Maker XP | RPG Maker VX | RPG Maker VX Ace | RPG Maker MV | Autres | Jeux complets | Proposer
Rubriques: Le Wiki | Tutoriels | Guides | Gaming-Live | Tests | Making-of | Interviews | Articles perso | OST | L'Annuaire | Divers
Hébergés: Aëdemphia | Fighting Robots Quest | Forstale | Geex | Inexistence | La Légende d'Ibabou | Lije | Sarcia | Super Mario RPG - Lost Souls
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