Le Deal du moment : -33%
PNY Mémoire RAM – XLR8 Gaming MAKO DDR5 ...
Voir le deal
79.99 €

Aller en bas
tim
tim
Membre

Nombre de messages : 40
Distinction : aucune
Date d'inscription : 11/12/2015

RPG Maker VX Ace Chapardage

Jeu 24 Juin 2021 - 21:11
Dans la continuité de mon précédent script, voici un nouveau script qui permet de chaparder, et plus précisément voler un objet au héros.

Il est pour l'instant très simple, mais il se pourrait que je l'enrichisse de nouvelles fonctionnalités dans l'avenir.

Actuellement, le script permet de choisir un objet de la base de données à voler, tout en respectant un pourcentage de chance (paramétrable) que le vol réussisse.

Code:

=begin
--------------------------------------------------------------------------------
**************
* ---------- *
* CHAPARDAGE *
* ---------- *
**************
AUTEUR : Tim
VERSION : 1
DATE : 24/06/2021
--------------------------------------------------------------------------------
Objectif : Permettre à un ennemi de voler un objet du héros
--------------------------------------------------------------------------------
Utilisation :
_ Copier le script dans l'onglet materials
Il y a 4 possibilités d'usage :
1) Directement dans les évènements du groupe ennemis (RECOMMANDE pour une meilleure personnalisation)
_ Ajouter l'appel de script
2) Via un évènement commun rattaché à un groupe d'ennemi
_ Crer un évenement commun "Chapardage" (peu importe le nom)
_ Ajouter dans l'évènement commmun l'appel de script
_ Appeler l'évènement commun dans les évènements du groupe ennemi
3) Via un évènement commun rattaché à une compétence
_ Crer un évenement commun "Chapardage" (peu importe le nom)
_ Ajouter dans l'évènement commmun l'appel de script
_ Créer une compétence "Chapardage" (peu importe le nom)
_ Appeler l'évènement commun comme effet de la compétence
_ Affecter cette compétence à un ennemi
4) Via un évènement
_ Ajouter dans l'évènement l'appel de script
--------------------------------------------------------------------------------
Personnalisations supplementaires en modifiant le script manuellement :
_ Modification de la valeur par défaut des valeurs d'entrée en 3) ligne def chaparder (numero_objet, pourcentage=75)
_ Modification du message par défaut en 3) ligne $game_message.add("Vous avez été dépouillé de 1 " + $data_items[@numero_objet].name.to_s + " !" )
--------------------------------------------------------------------------------
Restriction :
aucune
--------------------------------------------------------------------------------
Appels de script :
$Tim_Class_Chapardage.chaparder(numero_objet, pourcentage)
--------------------------------------------------------------------------------
Descriptif des variables d'entrées :
numero_objet == numéro correspondant à l'objet dans la base de données
pourcentage == taux (compris entre 0 et 100) de chance de se faire voler l'objet
--------------------------------------------------------------------------------
Descriptif des constantes personnalisables :
aucune
--------------------------------------------------------------------------------
Exemple :
$Tim_Class_Chapardage.chaparder(numero_objet, pourcentage)
numero_objet = 1
pourcentage = 75
Le héros a 75% de chance de se faire l'objet correspondant au numéro 1 dans la base de données
--------------------------------------------------------------------------------
Version 1
_ Script d'origine
--------------------------------------------------------------------------------
Squelette du script :
1) Introduction
 1) Titre - Auteur - Version - Date de creation
 2) Objectif
 3) Utilisation
 4) Personnalisations supplementaires dans le corps du script
 5) Restrictions
 6) Appel de script
 7) Descriptif des variables d'entrées
  Descritif des constantes personnalisables
 9) Exemple
 10) Historique des versions
 11) Squelette du script
2) Creation d'un alias pour la création de la class d'objet
3) Creation de la classe qui gere le chapardage
--------------------------------------------------------------------------------
=end


#-------------------------------------------------------------------------------
#
# 2) Creation d'un alias pour la création de la class d'objet
#
#-------------------------------------------------------------------------------

class << DataManager

    alias :aliaschapardage_call_create_game_objects :create_game_objects
    def create_game_objects
        aliaschapardage_call_create_game_objects
        $Tim_Class_Chapardage = Tim_Class_Chapardage.new #Ajout la variable qui contient les données de la class Tim_Class_Chapardage
    end
end
#-------------------------------------------------------------------------------
#
# 3) Creation de la classe qui gere le chapardage
#
#-------------------------------------------------------------------------------

class Tim_Class_Chapardage

#Description de l'algorithme de chapardage
def chaparder (numero_objet, pourcentage=75)
@numero_objet = numero_objet
@pourcentage = pourcentage
if verification_objet_possede && reussite_chapardage
retrait_objet
message_chapardage
end
end

#Verification si l'ojet est possede
def verification_objet_possede
return $game_party.item_number($data_items[@numero_objet]) >= 1
end

#Teste la probabilité que l'objet est volé
def reussite_chapardage
return @pourcentage >= ( 1+Random.rand(100)) #créer un nombre aléatoire entre 1 (1+0) et 100 (1+99)
end

# Supprime l'objet de l'inventaire
def retrait_objet
$game_party.gain_item($data_items[@numero_objet],-1)
end


# Affiche un message sur l'objet vole
def message_chapardage
$game_message.add("Vous avez été dépouillé de 1 " + $data_items[@numero_objet].name.to_s + " !" )
end

end






Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum