Heures au format UTC + 1 heure [ Heure d’été ]


Règles du forum


Consultez la liste des Scripts : cliquez ici



Publier un nouveau sujet Répondre au sujet  [ 1 message ] 
Auteur Message
 Sujet du message: Attributs boostés avec utilisation
MessagePublié: 19 Juil 2009, 13:43 
Chevalier d'or
Chevalier d'or
Avatar de l’utilisateur

Inscrit le: 07 Jan 2007, 01:00
Messages: 3403
Localisation: Biarritz (64)
Niveau RPG Maker: Elevé
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Scripts, Events, Aide
Sexe: Masculin
Points d'aide: Illimité

Créations :

Voir ses créations

Attributs boostés
Auteur: Sh4k4


C'est un de mes vieux scripts que j'avais fait et utilisé pour mon ancien projet, que j'ai abandonné depuis 1an.
Comme ce script ne me sert plus à rien, je le partage ici.

Description :

Ce script permet de booster les attributs (éléments) lorsqu'ils sont utilisés.
Plus un héros utilise un attribut, plus son affinité avec ce dernier est grande et plus les dégats seront importants lorsque ce héros utilise cet attribut.

Principe:
Toutes les X utilisations d'un attribut par un héros, les dégats causés par cet attribut pour ce héros sont boostés de Y pourcents.


Explications :

1) Installation :
-Copier ce script dans un nouveau script au dessus de Main

2) Utilisation :
-Il n'y a rien à faire, le script est géré automatiquement une fois installé.

3) Configuration
-Régler les variables du "module Attributes" qui se trouve au tout début du script afin de configurer le système selon vos besoins.
Les explications nécessaires sont juste au dessus des variables en question.


Script
Code: Tout sélectionner
#===============================================================================
# ■ Attributs boostés
#-------------------------------------------------------------------------------
# Auteur  : Sh4k4
# Version : 1.0
# Logiciel : RMXP
# Date     : 21/12/2007
#-------------------------------------------------------------------------------
# Ce script permet de booster les attributs (éléments) lorsqu'ils sont utilisés.
# Plus un héros utilise un attribut, plus son affinité avec ce dernier est grande et
# plus les dégats seront importants lorsque ce héros utilise cet attribut.
#
#Principe:
# Toutes les X utilisations d'un attribut par un héros, les dégats causés par cet attribut pour
# ce héros sont boostés de Y pourcents.
#
# Dépendance :
# - Aucune
#
# Incompatibilités :
# - Scripts réecrivants la méthode elements_correct de Game_Battler.
#
#-------------------------------------------------------------------------------
# Utilisation :
#
#  1) Installation :
#    -Copier ce script dans un nouveau script au dessus de Main
#
#  2) Utilisation :
#    -Il n'y a rien à faire, le script est géré automatiquement une fois installé.
#
#  3) Configuration
#    -Régler les variables du "module Attributes" qui se trouve au tout début du script
#     afin de configurer le système selon vos besoins.
#-------------------------------------------------------------------------------

#===============================================================================
# Attributes
#-------------------------------------------------------------------------------
# Le module de configuration du système.
#===============================================================================
#
# COUNT_FOR_RANK_UP : ce nombre correspond au nombre de lancés de sort requit pour
#                                                 que l'attribut passe au niveau supérieur.
#
# PERCENT_INCREASE :    ce nombre correspond au bonus en % ajouté aux dégats lorsque
#                                                 un personnage fait passer un attribut au niveau supérieur.
#
# MAX_RANK :                       ce nombre correspond au niveau maximum d'amélioration d'un
#                                                attribut. Une fois atteint, l'attribut ne peut plus s'améliorer.
#--------------------------------------------------------------------------------------------------------------------------------------------
module Attributes
COUNT_FOR_RANK_UP = 8
PERCENT_INCREASE = 3
MAX_RANK = 50
# Avec ces valeurs par défaut (8,3,50) les dégats des attributs sont améliorés de 3% toutes
#   les 8 utilisations de sort de cet attribut, et le niveau maximum est 50 (donc +150% dégats)
# Chaque personnage possède des niveaux d'attributs qui lui sont propres, ils ne sont pas
#   communs aux autres héros.
end

#===============================================================================
# Attribute_Bonus
#-------------------------------------------------------------------------------
# Cette classe contient la liste des attributs de chaque personnage.
#===============================================================================
class Attribute_Bonus
  def initialize
    @data = []
    count = $data_system.elements.size > 200 ? $data_system.elements.size : 200
    (0..count).each { |i| @data[i] = Attribute.new(i) }
  end
  def [](i)
    return @data[i]
  end
end

#===============================================================================
# Attribute
#-------------------------------------------------------------------------------
# Cette classe définie chaque attribut.
#===============================================================================
class Attribute
  attr_accessor :id ; attr_accessor :multiplier ; attr_accessor :count ; attr_accessor :rank
  def initialize(i)
    @id = i
    @multiplier = 0
    @count = 0
    @rank = 0
  end
end
   
#===============================================================================
# Game_Actor
#-------------------------------------------------------------------------------
# Modification de la classe Game_Actor pour attribuer des attributs propres à chaque héros.
#===============================================================================
class Game_Actor < Game_Battler
  attr_accessor :attribute_bonus
  alias setup_actor_attribute setup
  def setup(actor_id)
   @attribute_bonus = Attribute_Bonus.new
   setup_actor_attribute(actor_id)
  end
  def attribute_bonus
    @attribute_bonus = Attribute_Bonus.new if @attribute_bonus.nil?
    return @attribute_bonus
  end
end

#===============================================================================
# Game_Battler
#-------------------------------------------------------------------------------
# Modification de Game_Battler pour à la fois améliorer les attributs lors de l'utilisation
# des compétences, mais aussi pour augmenter les dégats des dites compétences.
#===============================================================================
class Game_Battler
  alias skill_effect_attribute skill_effect
  def skill_effect(user, skill)
    @skill_user = user
    skill_effect_attribute(user, skill)
  end
  def elements_correct(element_set)
    if element_set == []
      return 100
    end
    weakest = -100
    multiplier = 0
    for i in element_set
      multiplier = [multiplier, @skill_user.attribute_bonus[i].multiplier].max if @skill_user.is_a?(Game_Actor)
      weakest = [weakest, self.element_rate(i)].max
        if @skill_user.is_a?(Game_Actor)
          @skill_user.attribute_bonus[i].count += 1 if @skill_user.attribute_bonus[i].rank < Attributes::MAX_RANK
          if @skill_user.attribute_bonus[i].count == Attributes::COUNT_FOR_RANK_UP
            @skill_user.attribute_bonus[i].multiplier += Attributes::PERCENT_INCREASE
            @skill_user.attribute_bonus[i].rank += 1
            @skill_user.attribute_bonus[i].count = 0
          end
        end
      end
    return (weakest + multiplier).to_i
  end
end

_________________
Projets: ChrystaliaPlateformeCartes/TacticalCustom Battle System
Image
My love for the rose, a beauty still. It has not faded, and never will.
This rose I hold, the one I chose. So deep and pure, a perfect rose.


Haut
 Profil  
 
Afficher les messages depuis:  Trier par  
Publier un nouveau sujet Répondre au sujet  [ 1 message ] 

Heures au format UTC + 1 heure [ Heure d’été ]


Qui est en ligne ?

Utilisateurs parcourant actuellement ce forum : Aucun utilisateur inscrit et 2 invités


Vous ne pouvez pas publier de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas insérer de pièces jointes dans ce forum

Rechercher pour:
Sauter vers:  
cron
RPG Creative Forum version 5 ; Tous droits réservés
phpBB Group (Traduit par Xaphos)
Optimisé pour une résolution 1024*728