AccueilAccueil  PortailPortail  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  



Le deal à ne pas rater :
Smartphone Xiaomi 14 – 512 Go- 6,36″ 5G Double SIM à 599€
599 €
Voir le deal

Partagez
 

 [VX] Differents effet des degats

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
lecode234
Citadin Lv.7
Citadin Lv.7
lecode234


Masculin Age : 28
Inscrit le : 09/01/2010
Messages : 219

[VX] Differents effet des degats Empty
MessageSujet: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeLun 6 Déc 2010 - 9:18

Edit:C'est bon tout est fonctionnel.
Dites moi ce que vous en penser.


Important:
Il y a un bug dans l'effet "vulne_damage".
Lorsqu'il y a soin,les dégât sont aussi doublé!
Pour corriger ce problème, remplacer la ligne " If VULNE_DAMAGE" par:
Code:
 if VULNE_DAMAGE?
       
        if @hp_damage < 0 #Verifit si les degats son negatif (soin)
            @hp_damage = @hp_damage #les degats ne sont pas doublé
            else
      @hp_damage = @hp_damage * 2
      @mp_damage = @mp_damage
    end
   
    end


Auteur:Lecode
Remerciement:Tomy de KGC

Description:
Ce script permet de changer la valeur des dégâts reçus sur un personnage ayant un état spécificité.
Voire la demo pour plus de compréhension.

Instruction:
Placer les codes suivant dans la note box d'un état.

Code:
<demi_damage>
Lorsque la cible a cet état,les dégâts qu'il reçoit sont divisé par 2.

Code:
<quart_damage>
Lorsque la cible a cet état,les dégâts qu'il reçoit sont divisé par 3.

Code:
<vulne_damage>
Lorsque la cible a cet état,il devient vulnérable et les dégâts qu'il reçoit sont multiplié par 2.

Code:
<invulne_damage>
Lorsque la cible a cet état,il devient invulnérable et les dégâts qu'il reçoit sont nul.

Code:
<gourman_damage>
Lorsque la cible a cet état,une fois taper il se fait absorber des dégâts.

Note:
Vous pouvez vous même créer vos état a effet.
Il suffit de fouiller le script.
Vous comprendrez très vite le systeme.
Le script est compatible avec tout type de combat.
Voici le script:

Code:
#=================================
###Degat basé sur les états
#Script crée par Lecode234
#30 Novembre 2010
#=================================
#Placer <demi_damage> dans la note d'un etat pour faire en sorte que les degats recus sois diviser par 2

#Placer <quart_damage> dans la note d'un etat pour faire en sorte que les degats recus sois diviser par 3

#Placer <vulne_damage> dans la note d'un etat pour rendre vulnerable un ennemie.Les degats poorté sur
#lui se multiplie par2

#Placer <invulne_damage> dans la note d'un etat pour rendre invulnerable la bicle.il ne recoie aucun degat.

#Placer <gourman_damage> dans la note d'un etat pour faire en sorte que la cible,une fois taper se fait absorber les degats.
#==========================================================================

$imported = {} if $imported == nil
$imported["Advanced damage"] = true

module Lecode_Demi_DAMAGE
  module DemiDamage
    module Regexp
      module State
        DEMI_DAMAGE = /<(?:DEMI_DAMAGE|demi_damage)>/i
          QUART_DAMAGE = /<(?:QUART_DAMAGE|quart_damage)>/i
          VULNE_DAMAGE = /<(?:VULNE_DAMAGE|vulne_damage)>/i
          INVULNE_DAMAGE = /<(?:INVULNE_DAMAGE|invulne_damage)>/i
          GOURMAN_DAMAGE = /<(?:GOURMAN_DAMAGE|gourman_damage)>/i
      end
    end
  end
end

#====================================================
class RPG::State
  #--------------------------------------------------------------------------
  # cache DEMI_DAMAGE
  #--------------------------------------------------------------------------
  def create_DEMI_DAMAGE_cache
    @DEMI_DAMAGE = false

    self.note.each_line { |line|
      case line
      when Lecode_Demi_DAMAGE::DemiDamage::Regexp::State::DEMI_DAMAGE
        @DEMI_DAMAGE = true
      end
    }
  end
    #--------------------------------------------------------------------------
  # cache QUART_DAMAGE
  #--------------------------------------------------------------------------
  def create_QUART_DAMAGE_cache
    @QUART_DAMAGE = false

    self.note.each_line { |line|
      case line
      when Lecode_Demi_DAMAGE::DemiDamage::Regexp::State::QUART_DAMAGE 
        @QUART_DAMAGE = true
      end
    }
  end
  #--------------------------------------------------------------------------
  # cache VULNE_DAMAGE
  #--------------------------------------------------------------------------
  def create_VULNE_DAMAGE_cache
    @VULNE_DAMAGE = false

    self.note.each_line { |line|
      case line
      when Lecode_Demi_DAMAGE::DemiDamage::Regexp::State::VULNE_DAMAGE
        @VULNE_DAMAGE = true
      end
    }
end
  #--------------------------------------------------------------------------
  # cache INVULNE_DAMAGE
  #--------------------------------------------------------------------------
  def create_INVULNE_DAMAGE_cache
    @INVULNE_DAMAGE = false

    self.note.each_line { |line|
      case line
      when Lecode_Demi_DAMAGE::DemiDamage::Regexp::State::INVULNE_DAMAGE 
        @INVULNE_DAMAGE = true
      end
    }
  end
  #--------------------------------------------------------------------------
  # cache GOURMAN_DAMAGE
  #--------------------------------------------------------------------------
  def create_GOURMAN_DAMAGE_cache
    @GOURMAN_DAMAGE = false

    self.note.each_line { |line|
      case line
      when Lecode_Demi_DAMAGE::DemiDamage::Regexp::State::GOURMAN_DAMAGE 
        @GOURMAN_DAMAGE = true
      end
    }
  end
  ######################################################################
  #####################################################################
  #--------------------------------------------------------------------------
  # Si DEMI_DAMAGE
  #--------------------------------------------------------------------------
  def DEMI_DAMAGE?
    create_DEMI_DAMAGE_cache if @DEMI_DAMAGE == nil
    return @DEMI_DAMAGE
  end
  #--------------------------------------------------------------------------
  # Si QUART_DAMAGE
  #--------------------------------------------------------------------------
  def QUART_DAMAGE?
    create_QUART_DAMAGE_cache if @QUART_DAMAGE == nil
    return @QUART_DAMAGE
  end
  #--------------------------------------------------------------------------
  # Si VULNE_DAMAGE
  #--------------------------------------------------------------------------
  def VULNE_DAMAGE?
    create_VULNE_DAMAGE_cache if @VULNE_DAMAGE == nil
    return @VULNE_DAMAGE
  end
#--------------------------------------------------------------------------
  # Si INVLUNE_DAMAGE
  #--------------------------------------------------------------------------
  def INVULNE_DAMAGE?
    create_INVULNE_DAMAGE_cache if @INVULNE_DAMAGE == nil
    return @INVULNE_DAMAGE
  end
  #--------------------------------------------------------------------------
  # Si INVLUNE_DAMAGE
  #--------------------------------------------------------------------------
  def GOURMAN_DAMAGE?
    create_GOURMAN_DAMAGE_cache if @GOURMAN_DAMAGE == nil
    return @GOURMAN_DAMAGE
  end
end

#--------------------------------------------------------------------------


#=========================================================
class Game_Battler
  #--------------------------------------------------------------------------
  # Si DEMI_DAMAGE est appliquer dans un etat
  #--------------------------------------------------------------------------
  def DEMI_DAMAGE?
    self.states.each { |state|
      return true if state.DEMI_DAMAGE?
    }
    return false
  end
  #--------------------------------------------------------------------------
  # Si QUART_DAMAGE est appliquer dans un etat
  #--------------------------------------------------------------------------
  def QUART_DAMAGE?
    self.states.each { |state|
      return true if state.QUART_DAMAGE?
    }
    return false
  end
  #--------------------------------------------------------------------------
  # Si VULNE_DAMAGE est appliquer dans un etat
  #--------------------------------------------------------------------------
  def VULNE_DAMAGE?
    self.states.each { |state|
      return true if state.VULNE_DAMAGE?
    }
    return false
  end
  #--------------------------------------------------------------------------
  # Si INVULNE_DAMAGE est appliquer dans un etat
  #--------------------------------------------------------------------------
  def INVULNE_DAMAGE?
    self.states.each { |state|
      return true if state.INVULNE_DAMAGE?
    }
    return false
  end
    #--------------------------------------------------------------------------
  # Si GOURMAN_DAMAGE est appliquer dans un etat
  #--------------------------------------------------------------------------
  def GOURMAN_DAMAGE?
    self.states.each { |state|
      return true if state.GOURMAN_DAMAGE?
    }
    return false
  end
  #--------------------------------------------------------------------------
  # Execute les degats en fonction des condition
  #    user : The user of the damaging command
  #    @hp_damage, @mp_damage, @absorbed
  #--------------------------------------------------------------------------
  alias execute_damage_Lecode_Demi_DAMAGE_DemiDamage execute_damage
  def execute_damage(user)
    if DEMI_DAMAGE?
      @hp_damage = @hp_damage / 2
      @mp_damage = @mp_damage / 2
    end
   
      if QUART_DAMAGE?
      @hp_damage = @hp_damage / 3
      @mp_damage = @mp_damage / 3
    end
   
      if VULNE_DAMAGE?
      @hp_damage = @hp_damage * 2
      @mp_damage = @mp_damage
    end
   
    if INVULNE_DAMAGE?
      @hp_damage = 0
      @mp_damage = 0
    end
   
    if GOURMAN_DAMAGE?
    @absorbed = @hp_damage * 2
    end
   
    # Run original process
    execute_damage_Lecode_Demi_DAMAGE_DemiDamage(user)
  end
end

Demo:
Elle ne pèse rien ^^ .
Suivez bien ce qui est dit au début.
Mediafire!


Dernière édition par lecode234 le Jeu 9 Déc 2010 - 15:46, édité 2 fois
Revenir en haut Aller en bas
Zangther
Maître des Duels
Maître des Duels
Zangther


Masculin Age : 32
Inscrit le : 29/07/2009
Messages : 7841

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeMar 7 Déc 2010 - 21:25

Un script bien sympa ^^

De quoi ajouter un peu de piquant à ses combats.

Niveau script une petite remarque : /<(?:DEMI_DAMAGE|demi_damage)>/i c'est mieux de l'écrire //i

En effet, le "/i" rend le tout insenssible à la casse. Donc pas besoin de mettre le (?:-|-).

Merci du partage !
Revenir en haut Aller en bas
lecode234
Citadin Lv.7
Citadin Lv.7
lecode234


Masculin Age : 28
Inscrit le : 09/01/2010
Messages : 219

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeMer 8 Déc 2010 - 8:10

Ha d'accord merci ^^
Revenir en haut Aller en bas
Blockade
Ex-Admin Cruelle
Ex-Admin Cruelle
Blockade


Féminin Age : 32
Inscrit le : 03/07/2008
Messages : 2441

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeMer 8 Déc 2010 - 17:13

Courageux de s'attaquer tout de suite aux expressions régulières !

Bon début en tout cas, on voit que tu t'es inspiré de Yanfly pour écrire tes scripts ce qui est pas plus mal !

Par contre tes variables evite de les mettre en majuscule, les majuscules sont réservées aux constantes normalement. Bon c'est sur dans l'absolu ca changera absolument rien, mais c'est une convention qu'il est mieux de respecter !

Donc évite les @INVULNE_DAMAGE la prochaine fois =)

+5 points en scripts, + 2 en participation !
Revenir en haut Aller en bas
BARVACHE
Vache Folle
Vache Folle
BARVACHE


Masculin Age : 29
Inscrit le : 22/05/2010
Messages : 3005

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeMer 8 Déc 2010 - 17:19

Très bon script, merci du partage=D
Revenir en haut Aller en bas
lecode234
Citadin Lv.7
Citadin Lv.7
lecode234


Masculin Age : 28
Inscrit le : 09/01/2010
Messages : 219

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeJeu 9 Déc 2010 - 15:40

Merci bien ^^, et aussi pour l'info Blockade.
Je profite pour donner une info.
Citation :
Important:
Il y a un bug dans l'effet "vulne_damage".
Lorsqu'il y a soin,les dégât sont aussi doublé!
Pour corriger ce problème, remplacer la ligne " If VULNE_DAMAGE" par:

Code:
if VULNE_DAMAGE?
     
        if @hp_damage < 0 #Verifit si les degats son negatif (soin)
            @hp_damage = @hp_damage #les degats ne sont pas doublé
            else
      @hp_damage = @hp_damage * 2
      @mp_damage = @mp_damage
    end
 
    end

Revenir en haut Aller en bas
Garruk
Aventurier Lv.16
Aventurier Lv.16
Garruk


Age : 40
Inscrit le : 03/09/2009
Messages : 1503

[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitimeJeu 9 Déc 2010 - 16:03

Sympa, de quoi rendre ses alliées invincibles.
Merci du partage. =)
Revenir en haut Aller en bas
Contenu sponsorisé




[VX] Differents effet des degats Empty
MessageSujet: Re: [VX] Differents effet des degats   [VX] Differents effet des degats Icon_minitime

Revenir en haut Aller en bas
 

[VX] Differents effet des degats

Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1

 Sujets similaires

-
» Problème d'affichage - Dégâts sort ne s'affiche pas/Sort ne fait pas de dégâts !
» Différents types de compétences...
» Besoin de Face Set un peu différents ...
» Demande de script: Differents types de capacités
» Problemes avec les Maps de projets différents

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
RPG Maker VX :: Entraide :: Scripts :: Scripts VX - RGSS2 :: Combat-
Créer un forum | ©phpBB | Forum gratuit d'entraide | Signaler un abus | Cookies | Forumactif.com