Accueil du SiteAccueil du Site  AccueilAccueil  Dernières imagesDernières images  RechercherRechercher  ConnexionConnexion  S'enregistrerS'enregistrer  



Le Deal du moment : -20%
Ecran PC GIGABYTE 28″ LED M28U 4K ( IPS, 1 ms, ...
Voir le deal
399 €

Partagez
 

 [XP] Compétence Scan

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Cantarelle
Ancien staffeux
Ancien staffeux
Cantarelle

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
[XP] Compétence Scan 891527140049 / 10049 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Dessinateurq
[XP] Compétence Scan Charamaker
[XP] Compétence Scan Graphi10
[XP] Compétence Scan Script10


[XP] Compétence Scan Empty
MessageSujet: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 12:13

Suite à une demande, j'ai fais une compétence Scan qui fonctionne correctement.

[XP] Compétence Scan Scanu

Le scan, qu'est-ce que c'est ? C'est le fait d'analyser les données de l'adversaire pour avoir ses statistiques (et ses forces / faiblesses dans les jeux récents. Dans ce Scan, il n'est pas proposé, mais rien n'empêche à vous de l'améliorer).
Revenir en haut Aller en bas
Cantarelle
Ancien staffeux
Ancien staffeux
Cantarelle

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
[XP] Compétence Scan 891527140049 / 10049 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Dessinateurq
[XP] Compétence Scan Charamaker
[XP] Compétence Scan Graphi10
[XP] Compétence Scan Script10


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 12:13

Ce script de Scan se fait en trois étapes :

1 - Créer la compétence avec en attribut obligatoire un évent commun qui sera appelé à chaque fois. Paramétrer la aussi (ou à la fin, c'est au choix. Mais il faut absolument que la compétence fasse appel à l'event commun détaillé dessous).


2 - Créer un event commun.
Le déclenchement du code se fait selon un appel.
Dedans, il faut utiliser la fonction : insérer un script.
Et insérer ce code :

Code:

index = $scene.active_battler.current_action.target_index
target = $game_troop.smooth_target_enemy(index)
scan = Scene_Scan.new(target)


3 - Insérer ces scripts (en respectant l'ordre, de préférence), entre Scene_Debug et Main.

Premier script (à mettre avant les deux autres, de préférence) :

Code:

# ==============================================================================
# ** Scene_Battle
# ------------------------------------------------------------------------------
# Par Mikltov / Rutsuku Fushin / Cantarelle
# ------------------------------------------------------------------------------
#  Cette extention permet de mettre en lecture l'attribut active_battler,
#  nessessaire pour le scan.
#  ATTENTION : A mettre avant Scene_Scan et Window_Scan!
# ==============================================================================
class Scene_Battle
 
  attr_reader :active_battler
 
end


Deuxième script :

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
      return
    end
  end
 
  # ----------------------------------------------------------------------------
  # def update_command
  # ----------------------------------------------------------------------------
  def update_command
    $game_system.se_play($data_system.cancel_se)
    @affichage = false
  end
 
 
# ==============================================================================
# end class
# ============================================================================== 
end


Troisième script (qui est la vue, donc, tout ce qui est lié aux graphismes) du scan :

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.
# ==============================================================================
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.hp.to_s + " / " + enemy.base_maxhp.to_s)
    self.contents.draw_text(0, 64, 450, 28, "sp : " + enemy.sp.to_s + " / " + 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
Revenir en haut Aller en bas
Cantarelle
Ancien staffeux
Ancien staffeux
Cantarelle

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
[XP] Compétence Scan 891527140049 / 10049 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Dessinateurq
[XP] Compétence Scan Charamaker
[XP] Compétence Scan Graphi10
[XP] Compétence Scan Script10


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 12:13

Explication :

Ce script est séparé en plusieurs morceaux pour faciliter la maintenance.
En exceptant la surcharge de Scene_Battle (pour mettre un paramètre en lu, afin que l'event commun puisse fonctionner), Scene_Scan est le model / controler (c'est-à-dire tout le code des données et que tout ce qui se passe derrière est géré dedans). Window_Scan est la vue (c'est-à-dire que tout ce qui est visuel est géré dans ce script).
Si vous voulez modifier l'apparence et l'affichage, vous modifiez Window_Scan.
Si vous voulez modifier la structure du code, vous modifiez Scene_Scan.



Autre chose à ajouter :

Virez tous les événements que vous avez pour scanner et utilisez ça! C'est générique, propre, facile à comprendre / utiliser / maintenir / modifier (rayez les mentions inutiles) et garanti sans aucune incompatibilité (normalement... On est jamais à l'abri qu'il rentre en conflit avec un autre script codé vraiment... à vous arracher les cheveux).
Revenir en haut Aller en bas
RitoJS
Ancien staffeux
Ancien staffeux
RitoJS

Masculin
Messages postés : 1925
Date d'inscription : 22/02/2012
Jauge LPC :
[XP] Compétence Scan 8915271400100 / 100100 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Membre15
[XP] Compétence Scan Mappeu10
[XP] Compétence Scan Projet10
[XP] Compétence Scan Projet16
[XP] Compétence Scan Riche_10


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 19:14

Quoi ?! La demoiselle n'a toujours pas eut ses points ?! Scandale !!!§§§!!

Heureusement, je suis là. oui
Revenir en haut Aller en bas
http://lunarito.wordpress.com/ https://twitter.com/RitoJS http://ritojs.deviantart.com/
City Hunter
Administrateur
Administrateur
City Hunter

Masculin
Messages postés : 6523
Date d'inscription : 25/05/2011
Jauge LPC :
[XP] Compétence Scan 891527140040 / 10040 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Staffe10
[XP] Compétence Scan Mappeu10
[XP] Compétence Scan Membre15
[XP] Compétence Scan Testeu10
[XP] Compétence Scan Promot10
[XP] Compétence Scan Projet10
[XP] Compétence Scan Projet16
[XP] Compétence Scan Riche_10
[XP] Compétence Scan Travai10
[XP] Compétence Scan Collec10
[XP] Compétence Scan Collec11
[XP] Compétence Scan Collec12
[XP] Compétence Scan Collec13
[XP] Compétence Scan Pandac10
[XP] Compétence Scan 10000011


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 20:30

Merci pour ce partage Smile
Revenir en haut Aller en bas
Invité
Invité
Anonymous


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 20:49

Faudrait augmenter la coordonnée z de la fenêtre. Razz
Revenir en haut Aller en bas
Cantarelle
Ancien staffeux
Ancien staffeux
Cantarelle

Féminin
Messages postés : 353
Date d'inscription : 26/10/2012
Jauge LPC :
[XP] Compétence Scan 891527140049 / 10049 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Dessinateurq
[XP] Compétence Scan Charamaker
[XP] Compétence Scan Graphi10
[XP] Compétence Scan Script10


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyLun 3 Juin 2013 - 23:06

Rito et CH : je ne fais pas la course aux points (j'en ai rien à faire d'ailleurs). Simplement que là, vous avez un script de scan qui marche.

Zeus : Ouais, mais rien n'a fou*** :p

Je n'ai fais qu'une base, en séparant le modèle et la vue. Tout ce qui est graphisme, j'ai donné des détails pour que ceux qui utiliseront ce script modifie à leur sauce.

Surtout que je l'ai détaillé dans la partie explication. Tout ce qui est graphisme, c'est souvent du cas par cas. Sans compter que les graphismes (et surtout retoucher une fenêtre) n'est franchement pas le plus compliquer dans les scripts.
La personnalisation, ce n'est pas ma tasse de thé et je n'ai pas le temps aussi pour faire de la personnalisation.

Donc, en gros, je fournis une base.
Les utilisateurs la personnalisent à leur façon en mettant la main à la patte.

Si encore je n'avais pas commenté, ouais... Mais ce n'est pas le cas.
Revenir en haut Aller en bas
Zexion
Administrateur
Administrateur
Zexion

Masculin
Messages postés : 6228
Date d'inscription : 04/01/2012
Jauge LPC :
[XP] Compétence Scan 891527140097 / 10097 / 100[XP] Compétence Scan 8915271400

[XP] Compétence Scan Membre15
[XP] Compétence Scan Event-10
[XP] Compétence Scan Altrui10
[XP] Compétence Scan Action10
[XP] Compétence Scan Travai10
[XP] Compétence Scan Collec10
[XP] Compétence Scan Collec11
[XP] Compétence Scan Collec12
[XP] Compétence Scan Staffe11
[XP] Compétence Scan Dessin10


[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan EmptyMar 4 Juin 2013 - 1:25

Merci Cantarelle. =)
Revenir en haut Aller en bas
Contenu sponsorisé




[XP] Compétence Scan Empty
MessageSujet: Re: [XP] Compétence Scan   [XP] Compétence Scan Empty

Revenir en haut Aller en bas
 
[XP] Compétence Scan
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» [RPG Maker VX] Add_on SBS - Scan
» [VX] Yanfly Engine RD - Bestiary + Scan
» Problème lors de l'utilisation du script de scan.

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Le Palais Créatif :: ~ PARTAGE ~ :: Scripts et plugins :: RPG Maker XP :: Combat-
Sauter vers: