WR Heart rpg
Vuoi reagire a questo messaggio? Crea un account in pochi click o accedi per continuare.

Emotion Script

Andare in basso

Iconxp Emotion Script

Messaggio Da JillChelsea Gio Ago 23, 2012 1:47 pm

- Nome: Emotion Script
- Versione: 1.0
- Autore: Ánemus

Descrizione
Questo script permette di mostrare baloons con emozioni come in RPG Maker VX.

Screenshot
Emotion Script Emotionlh0

Istruzioni
Inserire lo script sopra Main e sotto gli altri.
Ulteriori istruzioni all'interno dello script.

Script
Codice:
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>SCRIPT<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                              #
#                        Emotions Script                        #
#                by Ánemus (www.arcadiumrpg.net)                #
#                                                              #
#  This script shows emotions over the player or over the other #
#                    characters of the map.                    #
#                                                              #
#                  $scene.emotion(id,ev,image)                  #
#                                                              #
#          For any comments: anemus@arcadiumrpg.net            #
#                                                              #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>SETTINGS<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                              #
# Numero di Ripetizioni o LOOP:                                #
# Indica quante volte l'animazione si ripeterà.  #
# Si raccomanda 1, perché numeri maggiori fanno risultare l'animazione ripetitiva. #
LOOP = 1
#                                                              #
# Ritardo:                                                        #
# Indica la lentezza dell'animazione. Si raccomanda 3 o 4,      #
# perché numeri minori rendono l'animazione un flash, risultando inutile.    #
DELAY = 4
#                                                              #
# File di Default per le emozioni:                                    #
# Questo è un file per rendere più facile l'utilizzo, in questo modo    #
# basta scrivere l'ID dell'animazione e l'evento su cui va mostrata.  #
DEFAULTFILE = "Balloon"
#                                                              #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>ISTRUZIONI<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
#                                                              #
# Per attivare lo script, usare un Call Script      #
# e scrivere:                                                  #
# $scene.emotion(id, ev, image)                                #
# 'ID' è il numero della emozione nel file (la prima è 0 e l'ultima 9) #
# 'ev' è l'evento su cui viene mostrata l'animazione ( -1 per il player #
# e qualsiasi altro numero per gli eventi) e 'image', che è il file      #
# usato per le animazioni. Il file deve essere posizionato all'interno #
# della cartella Pictures e deve essere 256x320 px.                  #
#                                                              #
# Note:                                                    #
# Se state usando il file specificato in DEFAULTFILE      #
# non avete bisogno di includere 'image' nel call script. #
# $scene.emotion(id, ev)                                        #
# Se state usando il file di default e state posizionando    #
# l'animazione sul Player, il call script diventa:    #
# $scene.emotion(id)                                            #
#                                                              #
#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>>END<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#

#===============================================================#
#>>>>>>>>>>>>>>>>>>>>>>>>>>>>CODE<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<#
#===============================================================#
class Sprite_Character < RPG::Sprite
  alias :old_updateEmo :update
  def update
    old_updateEmo
    if @frames != nil
      @pic.x = (@character.screen_x + 5)
      @pic.y = (@character.screen_y - @ph - @ch.to_i+2)
      if @frames > (1 + LOOP*7)*DELAY
        @pic.zoom_x = 0.6
        @pic.zoom_y = 0.6
        @pic.opacity = 100
        @frames -= 1
        return
      elsif @frames > (LOOP*7)*DELAY
        @pic.zoom_x = 1
        @pic.zoom_y = 1
        @pic.opacity = 255
        @frames -= 1
        @iframe = 1
        @gota = 0
        return
      elsif @frames == 0
        @frames = nil
        @pic.bitmap.dispose
        @pic.dispose
        @picid = nil
        return
      else
        @pic.bitmap.clear
        @pic.bitmap.blt(0,0,RPG::Cache.picture(@picig),Rect.new(@iframe*32, @picid*32, 32, 32))
        @pic.zoom_x = 1
        @pic.zoom_y = 1
        @pic.opacity = 255
        @frames -= 1
        if @gota == DELAY
          @iframe += 1
          if @iframe > 7
            @iframe = 1
          end
          @gota = 0
        end
        @gota +=1
      end
    end
  end
  def emotion (id,ig="Balloon",wt=false)
    if !FileTest.exist?("Graphics/Pictures/"+ig+".png")
      return 0
    end
    @frames = (2 + LOOP*7)*DELAY
    @picid = id > 9 ? 9 : id
    @picig = ig
    @pic = Sprite.new
    @pic.bitmap = Bitmap.new(32,32)
    @pic.bitmap.blt(0, 0, RPG::Cache.picture(@picig), Rect.new(0,32*@picid,32,32))
    @pic.ox = @pic.bitmap.width / 2
    @pic.oy = @ph = @pic.bitmap.height / 2
    @pic.z = 100
    if wt
      return @frames
    else
      return 0
    end
  end
  def dispose
    super
    if @pic != nil
      @pic.bitmap.dispose
      @pic.dispose
    end
  end
end
class Spriteset_Map
  def emotion (id,ev=-1,ig=DEFAULTFILE,wt=false)
    if ev.to_i > -1
      @frames = @character_sprites[ev].emotion (id,ig,wt)
    else
      @frames = @character_sprites[@character_sprites.size - 1].emotion(id,ig,wt)
    end
    return @frames
  end
end
class Scene_Map
  def emotion (id,ev=-1,ig=DEFAULTFILE,wt=false)
    $game_system.map_interpreter.wait_count = @spriteset.emotion (id,ev,ig,wt)
  end
end
class Interpreter
  def wait_count=(frames)
    @wait_count = frames.to_i
  end
end

File Necessari
Inserite questo file all'interno della cartella Graphics/Pictures e rinominatelo Baloon.png.
Emotion Script Ballooniv9

Potete modificare il file graficamente, e se volete modificare il nome assicuratevi anche di cambiarlo alla linea:
Codice:
  def emotion (id,ig="Balloon",wt=false)

Note
L'ID dell'Evento NON è uguale a quello contenuto nel nome ("EV001").
Per ottenere quello giusto, bisogna sottrarvi 1. Quindi 'EV001' non sarà '1', ma sarà '0'.
L'ID del Player è -1.

Se usate lo script, creditate l'autore.
JillChelsea
JillChelsea

Data d'iscrizione : 15.07.11
Età : 25
Località : Sessa Aurunca (CE)

Torna in alto Andare in basso

Torna in alto

- Argomenti simili

 
Permessi in questa sezione del forum:
Non puoi rispondere agli argomenti in questo forum.