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: Consomation de PV à la place des PM
MessagePublié: 10 Fév 2009, 19:21 
Membre royal(e)
Avatar de l’utilisateur

Inscrit le: 05 Avr 2008, 00:00
Messages: 643
Niveau RPG Maker: Bon
Logiciel(s) préféré(s): RMXP
Point(s) Fort(s): Ruby, Scénario
Sexe: Masculin
Points d'aide: 8/60

Créations :

Voir ses créations

[]Consomation de PV à la place des PM
version 1.0



Auteur : aminedbz1234
Version : 1.0
Compatibilité : Avec tout l'SDK (toute verisons) et la majorité des Custom Battle System (SAUF le RATB)

Introduction :

J'ai créé ce script suite à une demande d'un membre du forum, qui -dans sa demande- voulait perdre des PV au lieu des PM, lors de l'utilisation de certains skills.
En bonus, j'ai ajouté 2 Statuts "Demi PM", et "Zero PM", qui rendent la consommation des PM (ou PV) sur 2 ou la rendre à zero (pas de consommation)


Le script :

Placez le script APRES le Custom Battle System que vous utilisez (Sauf le RTAB)
Code: Tout sélectionner
#====================================================================
# ** Consomation de PV à la place des PM
# ------------------------------------------------------------------------------------
# Auteur : aminedbz1234
# Date de création : 09/02/2009 à 20:32
# Version : 1.0
# Compatible avec le SDK, mais pas avec RTAB
#
# ------------------------------------------------------------------------------------
# Introduction :
#
# Ce script est une reponse à une petite demande par un ami sur créative.
# Le but de ce script est de consommer les PV à la place des PM lors de
# l'utilisation des compétences.
# En bonus, vous pouvez ajouter des stats qui devisent le cout du skill par 2
# ou le rendre zéro (pas de consommation), et ça va donner aussi son effet
# sur la consommation des PV au lieu des PM !
#
# Utilisation :
#
# Vous pouvez préciser les compétences qui consomment les PV à la place des
# PM, en mettant leurs ID (qui est le numéro a coté de la compétence dans la Base
# des données)
#  Ici :
# PV_CONSOMMATION = [57, 60]  (par exemple)
#
# Donc, les compétence dont l'id ne figurent pas dans la liste n'y seront pas affectés
# En bonus, vous pouvez avoir des statuts qui devisent la consommation des PM
# par 2, ou la rendre à 0
#
# DEMI_PM_STAT = "Le nom de votre stat"
#
# ZERO_PM_STAT = "Le nom de votre stat
#
# Les noms doivent figurer dans votre Base de Données
#
# Notes d'auteur :
#
# J'ai créé ce script EXEPTIONELLEMENT pour RPG CREATIVE.(et pour un ami en plus)
# Alors, si vous voulez le poster sur un autre forum que créative, la moindre
# chose a faire, c'est de m'informer. Merci de bien respecter cela.
#
# J'ai redifinis toute cette methode :  make_skill_action_result  de la class
# Scene_Battle(4 exactement)
# Donc, mettez ce script APRES n'importe quel Custom Battle System que vous utilisez,
# de préférence, aprés Scene_Debug (Ou aprés le SDK si vous l'utilisez aussi)
# sinon, le script pourra causer des bugs, ou peut étre il ne fonctionnra plus.
#
# Si vous voulez : Demander/Rapports de bugs, contactez moi sur
# [url=]rpgcreative.forumpro.fr[/url] (aminedbz1234 !)
#
#==================================================================

#==================================================================
#                         * Configuration *
#==================================================================
module AMN

PV_CONSOMMATION = [57, 60] # ID des compétence qui utilisent les PV aulieu des PM

DEMI_PM_STAT = "Demi PM"  # Le nom du statut pour les PM / 2

ZERO_PM_STAT = "Zero PM"  # Le nom du statut pour les zero PM (Pas de consommation)

# Ne touchez pas ici ! Ceci est resérvé au system !
$data_states = load_data("Data/States.rxdata")
$data_states.each_index do |index| $demi_pm=index if ($data_states[index]!=nil and $data_states[index].name==DEMI_PM_STAT) end
$data_states.each_index do |index| $zero_pm=index if ($data_states[index]!=nil and $data_states[index].name==ZERO_PM_STAT) end

end
#===================================================================
#                * Fin de la configuration*
#===================================================================

# Tester si l'SDK est definit ?
if Object.const_defined?('SDK')
  # Inscrir le script dans l'SDK
  SDK.log('Consomation de PV à la place des PM', 'aminedbz1234', 2, '09.02.09')
  # Ne pas désactiver le script si le SDK a confirmé le script
  @amn_pm_disactive = true if !SDK.enabled?('Consomation de PV à la place des PM')
end

# Si le script n'est pas désactivé
if !@amn_pm_disactive
#------------------------------------------------------------------------------
# * Commencer le test SDK
#------------------------------------------------------------------------------
#------------------------------------------------------------------------------
# * Debut du script officiel
#------------------------------------------------------------------------------

#==============================================================================
# ** Scene_Battle
#------------------------------------------------------------------------------
#  Cette class contorle le déroulement des combats sur l'ecran.
#==============================================================================

class Scene_Battle
 
  #--------------------------------------------------------------------------
  # * Make Skill Action Results  (Resultat d'une action : compétence)
  # ----------------------
  # Note : J'ai pas mis d'alias, j'ai tout redefinis du début
  #--------------------------------------------------------------------------
 def make_skill_action_result
    # Avoir la compétence
    @skill = $data_skills[@active_battler.current_action.skill_id]
    # Si c'est pas une action forcée
    unless @active_battler.current_action.forcing
      # Si les PM sont à zéro
      unless @active_battler.skill_can_use?(@skill.id)
        # Disposer le battler qui a une action forcée
        $game_temp.forcing_battler = nil
        # Passer à step 1
        @phase4_step = 1
        return
      end
    end
     @id = @skill.id # Initialiser l'ID du skill
     if AMN::PV_CONSOMMATION.include?(@id)  # Verifier si l'ID de la compétence
       # se trouve dans la liste
       # Si oui
       if @active_battler.state?($demi_pm)
           @active_battler.hp -= @skill.sp_cost / 2 # Deviser le cout sur 2
         elsif
           @active_battler.state?($zero_pm)
           @active_battler.hp -= 0  # Rendre le cout 0
        else
          # Sinon
      @active_battler.hp -= @skill.sp_cost 
      end
    end
    if !AMN::PV_CONSOMMATION.include?(@id)  # Verifier si l'ID de la compétence
       # ne figure pas dans la liste
       # Si oui
       if @active_battler.state?($demi_pm)
           @active_battler.sp -= @skill.sp_cost / 2 # Deviser le cout sur 2
         elsif
           @active_battler.state?($zero_pm) 
           @active_battler.sp -= 0  # Rendre le cout zéro
        else
          # Sinon
      @active_battler.sp -= @skill.sp_cost  # Normal
      end
    end
    # Rafréchir la fenétre statuts
    @status_window.refresh
    # Montrer le nom du skill
    @help_window.set_text(@skill.name, 1)
    # Jouer les animations
    @animation1_id = @skill.animation1_id
    @animation2_id = @skill.animation2_id
    # Verifier les events communs
    @common_event_id = @skill.common_event_id
    # Verifier la cible
    set_target_battlers(@skill.scope)
    # Appliquer les effets du skill
    for target in @target_battlers
      target.skill_effect(@active_battler, @skill)
    end
  end
end
#------------------------------------------------------------------------------
# * Fin du test SDK
#------------------------------------------------------------------------------
end


Explications : Lisez bien l'entéte du script avant de poster des comments juste comme ça.

DEMO :
http://www.megaupload.com/?d=6VNYJLAS

_________________
"Embrace your dreams, and, whatever happends, protect your honor, AS SOLDIER ! Come and get it !" -Zack Fair -FF7 Crisis Core


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