site consacré a vos création.
 
AccueilFAQRechercherS'enregistrerMembresGroupesConnexion

Partagez | 
 

 Coeur à la Zelda

Aller en bas 
AuteurMessage
Mimiman
Apprenti
Apprenti


Nombre de messages : 2
Date d'inscription : 24/06/2007

Fueille de participation
Niveau: 1
points d'Exp:
20/100  (20/100)

MessageSujet: Coeur à la Zelda   Dim 24 Juin - 20:18

Comme le forum a été complètement suprimé j'ai voulut faire un petit script rien que pour vous.

Comme le plus simple et le plus rapide était ma spécialité, je vous ai fait un script d'affichage de coeur à la Zelda.

Code:
module Zelda
  module HUD
    SCREEN = Sprite.new
    SCREEN.z = 1
    SCREEN.bitmap = Bitmap.new(640,480)
   
    module_function
   
    def update
      SCREEN.bitmap.clear
      Coeur.update
    end
    def clear
      SCREEN.bitmap.clear
    end
    module Coeur
      MAX = load_data('Data/Actors.rxdata')[0].final_level
      MIN = load_data('Data/Actors.rxdata')[0].initial_level
      LIGNES = 2
      VIE_PAR_COEUR = 4
      COOR_X = 10
      COOR_Y = 10
      HP = [[-1,-1],[-1,-1],[-1,-1],[-1,-1]]
     
      module_function
     
      def draw(i)
        actor = $game_party.actors[i]
        HP[i][0] = actor.hp
        HP[i][1] = actor.maxhp
        imgs = []
        for j in 0..VIE_PAR_COEUR
          imgs.push("coeur#{j}-#{VIE_PAR_COEUR}")
        end
        h = RPG::Cache.picture(imgs[0]).height
        w =RPG::Cache.picture(imgs[0]).width
        x = COOR_X
        y = COOR_Y + i*(h*LIGNES+10)
        hp = actor.hp
        nb_coeur = 0
        while(hp > VIE_PAR_COEUR)
          SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
          RPG::Cache.picture(imgs[VIE_PAR_COEUR]),Rect.new(0,0,w,h))
          nb_coeur += 1
          hp -= VIE_PAR_COEUR
        end
        if hp > 0
          SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
          RPG::Cache.picture(imgs[hp]),Rect.new(0,0,w,h))
          nb_coeur += 1
        end
        if actor.maxhp != actor.hp
          while(actor.maxhp/VIE_PAR_COEUR > nb_coeur)
            SCREEN.bitmap.blt(x+nb_coeur%(MAX/LIGNES)*w,y+nb_coeur/(MAX/LIGNES)*h,
            RPG::Cache.picture(imgs[0]),Rect.new(0,0,w,h))
            nb_coeur += 1
          end
        end
      end
     
      def update
        for i in 0...$game_party.actors.size
          actor = $game_party.actors[i]
          #if actor.hp != HP[i][0] or actor.maxhp != HP[i][1]
            draw(i)
          #end
        end
      end
    end
  end
end

class Scene_Map
  alias mimiman_zeldacoeur_scenemap_update update
  alias mimiman_zeldacoeur_scenemap_main main
  def main
    mimiman_zeldacoeur_scenemap_main
    Zelda::HUD.clear
  end
  def update
    Zelda::HUD.update
    mimiman_zeldacoeur_scenemap_update
  end
end

Vous êtes les seul à avoir cette version.

Quelque explication s'impose:

Ce script permet d'afficher les PV de tous les héros de l'équipe en coeurs sur la carte donc les modification suivante sont à faire sur tous les persos qui seront dans l'équipe!

Changé les niveau de départ et de fin pour le nombre de coeur que vous voulez au début et max.

Maintenant il faut choisir le nombre de PV que contient un coeur, normalement c'est 4, mais vous pouvez le changé dans le script

VIE_PAR_COEUR = 4

Gardé ce chiffre en mémoire et de nouveau dans la base de donnée créez une courbe de PV avec:

lvl1 : VIE_PAR_COEUR (soit 4 de base)

lvl99: VIE_PAR_COEUR*99 (soit 396 de base)

Je suis désolé, je n'ai pas fait gérer ça à mon script, mais j'essairais de le rajouter.

Voila, maintenant vous lancé le jeu, les coeurs s'affiche sur la carte ^^, mais il y a encore certaine chose à changé, seulement pour l'affichage, donc ce n'est pas obligatoire.

LIGNES = 2

Le nombre de ligne sur les lesqu'elles seront affiché les coeurs.

COOR_X = 10
COOR_Y = 10

Les coordonnées d'affichage, bon, je ne pense pas avoir à expliquer que c'est l'endroit où vous voulez que sa s'affiche.

Il ne reste plus qu'un chose, les ressources.
Il en faut autant que vous mettez de pv par coeur, je vais dire que c'est 4 pour donner un exemple.

coeur0-4
coeur1-4
coeur2-4
coeur3-4
coeur4-4

Le 0,1,2,3,4 représente la part rempli du coeur dans l'image (donc 0-4 vide, 4-4 plein)

Donc voila, je pense avoir tout dit!

PS:S'il y a des bugs prévenez moi.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
 
Coeur à la Zelda
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» pour vous mettre du boum au coeur noel en rose bonjour bis beauty
» noël du coeur
» Des petits coeur qui tombes
» Apophysis de septembre
» [résolu]Message d'erreur ... Besoin d'aide !

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
la cité de mérélia :: La forge :: Script-
Sauter vers: