- CantarelleMembre
- Nombre de messages : 28
Age : 37
Distinction : aucune
Date d'inscription : 11/11/2017
Compétence Scan
Jeu 18 Jan 2018 - 18:10
Bonjour ou bonsoir,
On n'est plus très nombreux à utiliser RPG Maker XP, mais je me dis que ça peut toujours servir.
Mais bon, vu le nombre étonnant de scripts mal codés et/ou qui plantent... Et la compétence Scan a eu énormément de versions... Et plus de la majorité était aussi pourrie les unes des autres. Et ce, malgré la simplicité de ce que je vais proposer... Ça montre à quel point, à l'époque, il suffisait qu'on fasse un truc dégueulasse pour qu'on ait le profil "scripteur".
Ce script marche parfaitement sur un projet vierge, mais aussi sur énormément de projets usine à gaz.
Avant de le poster, je tiens à préciser une chose. Pour l'aspect visuel, pour être franche, je m'en balance. Le visuel diffère d'un projet à l'autre. Donc, si vous voulez un truc qui vous ressemble visuellement, ce n'est pas mes affaires! Pour être encore plus franche, démerdez-vous.
I - Mise en pratique
1 - Mettre ces lignes dans un event commun avec l'event : insérer un script. Dans notre exemple, on va l'appeler "competence_scan"
1 bis - Créer une compétence scan
2 - Mettre dans cette compétence scan l'event commun (dans notre exemple : "competence_scan")
3 - Mettre ces scripts avant le main (le premier avant les autres. De préférence aussi, respectez l'ordre).
II - In visu...
Quand je vous disais que j'en avais rien à faire du visuel...
J'espère que ça vous servira quand même.
On n'est plus très nombreux à utiliser RPG Maker XP, mais je me dis que ça peut toujours servir.
Mais bon, vu le nombre étonnant de scripts mal codés et/ou qui plantent... Et la compétence Scan a eu énormément de versions... Et plus de la majorité était aussi pourrie les unes des autres. Et ce, malgré la simplicité de ce que je vais proposer... Ça montre à quel point, à l'époque, il suffisait qu'on fasse un truc dégueulasse pour qu'on ait le profil "scripteur".
Ce script marche parfaitement sur un projet vierge, mais aussi sur énormément de projets usine à gaz.
Avant de le poster, je tiens à préciser une chose. Pour l'aspect visuel, pour être franche, je m'en balance. Le visuel diffère d'un projet à l'autre. Donc, si vous voulez un truc qui vous ressemble visuellement, ce n'est pas mes affaires! Pour être encore plus franche, démerdez-vous.
I - Mise en pratique
1 - Mettre ces lignes dans un event commun avec l'event : insérer un script. Dans notre exemple, on va l'appeler "competence_scan"
- Code:
index = $scene.active_battler.current_action.target_index
target = $game_troop.smooth_target_enemy(index)
scan = Scene_Scan.new(target)
1 bis - Créer une compétence scan
2 - Mettre dans cette compétence scan l'event commun (dans notre exemple : "competence_scan")
3 - Mettre ces scripts avant le main (le premier avant les autres. De préférence aussi, respectez l'ordre).
- Code:
# ==============================================================================
# ** Scene_Battle
# ------------------------------------------------------------------------------
# Par Mikltov / Rutsuku Fushin / Cantarelle
# ------------------------------------------------------------------------------
# Cette extension permet de mettre en lecture l'attribut active_battler,
# necessaire pour le scan.
# ATTENTION : A mettre avant Scene_Scan et Window_Scan, a cause du attr_reader!
# ==============================================================================
class Scene_Battle
attr_reader :active_battler
end
- Code:
# ==============================================================================
# ** Scene_Scan
# ------------------------------------------------------------------------------
# Par Mikltov / Rutsuku Fushin / Cantarelle
# ------------------------------------------------------------------------------
# Un script pour montrer le resultat des scans en combat. Ceci n'est que la
# partie modele / controleur.
# ==============================================================================
class Scene_Scan < Window_Base
# ----------------------------------------------------------------------------
# def initialize
# ----------------------------------------------------------------------------
def initialize(enemy)
@scan_window = Window_Scan.new(enemy)
@affichage = true
Graphics.transition
loop do
Graphics.update
Input.update
update
if @affichage == false
break
end
end
@scan_window.dispose
end
# ----------------------------------------------------------------------------
# def update
# ----------------------------------------------------------------------------
def update
if Input.trigger?(Input::B)
update_command
end
end
# ----------------------------------------------------------------------------
# def update_command
# ----------------------------------------------------------------------------
def update_command
$game_system.se_play($data_system.cancel_se)
@affichage = false
end
# ==============================================================================
# end class
# ==============================================================================
end
- Code:
# ==============================================================================
# ** Window_Scan
# ------------------------------------------------------------------------------
# Par Mikltov / Rutsuku Fushin / Cantarelle
# ------------------------------------------------------------------------------
# Un script pour montrer le resultat des scans en combat. Ceci n'est que la
# partie visuelle.
# Sachant que le visuel differe selon les projets, demerdez-vous pour avoir
# ce que vous voulez. Je n'ai fait qu'une base
# ==============================================================================
class Window_Scan < Window_Base
# ----------------------------------------------------------------------------
# def update
# ----------------------------------------------------------------------------
def initialize(enemy)
# --------------------------------------------------------------------------
# 4 valeurs obligatoires dans le super
# - position du x de depart
# - position du y de depart
# - position de x a l'arrivee
# - position de y a l'arrivee
# --------------------------------------------------------------------------
super(20, 10, 300, 350)
self.contents = Bitmap.new(width - 32, height - 32)
# --------------------------------------------------------------------------
# definition de la police et de sa taille
# --------------------------------------------------------------------------
self.contents.font.name = $fontface
self.contents.font.size = $fontsize
# --------------------------------------------------------------------------
# definit l'opacite de la boite de dialogue
# --------------------------------------------------------------------------
self.back_opacity = 255
refresh(enemy)
end
# ----------------------------------------------------------------------------
# def refresh
# ----------------------------------------------------------------------------
def refresh(enemy)
self.contents.clear
self.contents.draw_text(0, 0, 450, 28, "name : " + enemy.name.to_s)
self.contents.draw_text(0, 32, 450, 28, "hp : " + enemy.base_maxhp.to_s)
self.contents.draw_text(0, 64, 450, 28, "sp : " + enemy.base_maxsp.to_s)
self.contents.draw_text(0, 96, 450, 28, "atk : " + enemy.base_atk.to_s)
self.contents.draw_text(0, 128, 450, 28, "pdf : " + enemy.base_pdef.to_s)
self.contents.draw_text(0, 160, 450, 28, "mdf : " + enemy.base_mdef.to_s)
self.contents.draw_text(0, 192, 450, 28, "str : " + enemy.base_str.to_s)
self.contents.draw_text(0, 224, 450, 28, "agi : " + enemy.base_agi.to_s)
self.contents.draw_text(0, 256, 450, 28, "dex : " + enemy.base_dex.to_s)
self.contents.draw_text(0, 288, 450, 28, "int : " + enemy.base_int.to_s)
end
# ==============================================================================
# end class
# ==============================================================================
end
II - In visu...
Quand je vous disais que j'en avais rien à faire du visuel...
J'espère que ça vous servira quand même.
- SpytjeAdministrateur
- Nombre de messages : 5935
Localisation : La terre
Distinction : Spiraliste [Korn']
Forestia : Projet du mois juillet 2014
Papy Pulkigrat [Yama']
Date d'inscription : 16/03/2008
Re: Compétence Scan
Sam 24 Fév 2018 - 23:48
Effectivement on est plus très nombreux à utiliser XP mais merci quand même pour le partage de cette "technique"
_________________
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum