Ogłoszenie 

Uwaga! To forum jest w trybie offline.
Wszelką pomoc uzyskasz pod adresem
forum.ultimateam.pl


Administracja Forum


Poprzedni temat «» Następny temat
Emotikony nad twarzą
Autor Wiadomość
Ayene 




Ranga RM:
4 gry

Pomogła: 232 razy
Dołączyła: 18 Wrz 2007
Posty: 2424
Wysłany: Pią 23 Paź, 2009 12:38
Emotikony nad twarzą
~ Emotikony nad twarzą ~

Krótki opis
Skrypt pozwala na wyświetlanie emotikon w oknie wiadomości nad twarzą bohatera (patrz screenshot).

Autor skryptu
Nechigawara Sanzenin

Tłumaczenie i poprawki
Ayene [yurika@o2.pl]

Kompatybilność
Tylko VX

Skrypt
Spoiler:

Kod:
#=====================================================
# Emotikona nad twarzą / Emoticon on Face
#------------------------------------------------------------------------------
# Autor: Nechigawara Sanzenin
# Tłumaczenie i poprawki: Ayene
# www.ultimateam.pl
#
# ZASTOSOWANIE
# By wyświetlić emotikonkę nad twarzą w oknie wiadomości wpisz:
# "\E[Numer emotikonki]"
#
# By podejrzeć numery emotikonek otwórz plik Baloon.png, znajdujący się w folderze
# Graphics\System.
#
# Pozycja emotikonki może zostać zmieniona poprzez paramtery EMO_X i EMO_Y
#
# Jeśli w oknie wiadomości nie będzie twarzy, emotikonka się nie wyświetli.

#==============================================================================
class Window_Message < Window_Selectable
  #--------------------------------------------------------------------------
  BALLOON_WAIT = 12
  EMO_X = 93
  EMO_Y = 15
  #--------------------------------------------------------------------------
  alias inc_initialize initialize
  def initialize
    inc_initialize
    @viewport = Viewport.new(0, 0, 544, 416)
    @viewport.z = z + 50
    @balloon_face = 0
    create_balloon
  end
  #--------------------------------------------------------------------------
  alias inc_dispose dispose
  def dispose
    inc_dispose
    dispose_balloon
    @viewport.dispose
  end
  #--------------------------------------------------------------------------
  def update
    super
    update_gold_window
    update_number_input_window
    update_back_sprite
    update_show_fast
    update_balloon
    unless @opening or @closing             
      if @wait_count > 0                   
        @wait_count -= 1
      elsif self.pause                     
        input_pause
      elsif self.active                     
        input_choice
      elsif @number_input_window.visible   
        input_number
      elsif @text != nil                     
        update_message                       
      elsif continue?                       
        start_message                         
        open                                 
        $game_message.visible = true
      else                                 
        close                                 
        $game_message.visible = @closing
      end
    end
  end
  #--------------------------------------------------------------------------
  def create_balloon
    dispose_balloon
    @balloon_duration = 8 * 8 + BALLOON_WAIT
    @balloon_sprite = ::Sprite.new(@viewport)
    @balloon_sprite.bitmap = Cache.system("Balloon")
    @balloon_sprite.ox = 16
    @balloon_sprite.oy = 32
    @balloon_sprite.visible = false
    update_balloon
  end
  #--------------------------------------------------------------------------
  def refresh_balloon
    if @balloon_face == 0 or @balloon_face > 10
      @balloon_sprite.visible = false
    else
      @balloon_sprite.visible = true
    end
    update_balloon
  end
  #--------------------------------------------------------------------------
  def update_balloon
    if @balloon_duration > 0
      @balloon_duration -= 1
      if @balloon_duration == 0
        @balloon_duration = 8 * 8 + BALLOON_WAIT
        @balloon_duration -= 1
      else
        @balloon_sprite.x = x + EMO_X
        @balloon_sprite.y = y + EMO_Y
        @balloon_sprite.z = z + 50
        if @balloon_duration < BALLOON_WAIT
          sx = 7 * 32
        else
          sx = (7 - (@balloon_duration - BALLOON_WAIT) / 8) * 32
        end
        sy = (@balloon_face - 1) * 32
        @balloon_sprite.src_rect.set(sx, sy, 32, 32)
      end
    end
  end
  #--------------------------------------------------------------------------
  def dispose_balloon
    if @balloon_sprite != nil
      @balloon_sprite.dispose
      @balloon_sprite = nil
    end
  end
  #--------------------------------------------------------------------------
  alias inc_terminate_message terminate_message
  def terminate_message
    inc_terminate_message
    @balloon_sprite.visible = false
  end
  #--------------------------------------------------------------------------
  alias inc_convert_special_characters convert_special_characters
  def convert_special_characters
    inc_convert_special_characters
    @text.gsub!(/\\E\[([0-9]+)\]/i) { "\x09[#{$1}]" }
  end
  #--------------------------------------------------------------------------
  def update_message
    loop do
      c = @text.slice!(/./m)           
      case c
      when nil                         
        finish_message                 
        break
      when "\x00"                       
        new_line
        if @line_count >= MAX_LINE     
          unless @text.empty?           
            self.pause = true         
            break
          end
        end
      when "\x01"                       
        @text.sub!(/\[([0-9]+)\]/, "")
        contents.font.color = text_color($1.to_i)
        next
      when "\x02"                     
        @gold_window.refresh
        @gold_window.open
      when "\x03"                       
        @wait_count = 15
        break
      when "\x04"                       
        @wait_count = 60
        break
      when "\x05"                       
        self.pause = true
        break
      when "\x06"                       
        @line_show_fast = true
      when "\x07"                       
        @line_show_fast = false
      when "\x08"                       
        @pause_skip = true
      when "\x09"
        @text.sub!(/\[([0-9]+)\]/, "")
        unless $game_message.face_name.empty?
          @balloon_face = $1.to_i
          refresh_balloon
        end
      else                             
        contents.draw_text(@contents_x, @contents_y, 40, WLH, c)
        c_width = contents.text_size(c).width
        @contents_x += c_width
      end
      break unless @show_fast or @line_show_fast
    end
  end
end


Demo
niepotrzebne

Screenshot


Instrukcja
1. Wklej skrypt nad "Main" w Edytorze Skryptu.
2. Reszta instrukcji znajduje się w treści skryptu.

Emotikony
Spoiler:


Piszcie w razie problemów.

emotikona_nad_twarza.txt
Pobierz SKRYPT
Pobierz Plik ściągnięto 410 raz(y) 5,93 KB

________________________


 
 
 
Kyovu 




Preferowany:
RPG Maker VX

Dołączył: 02 Lis 2012
Posty: 23
Wysłany: Sob 03 Lis, 2012 10:45
Daje 2/5 nie przyda mi się. :-P
________________________
Dołącz do koto-makerowców !
 
 
 
makerowiec64 




Preferowany:
RPG Maker 95

Pomógł: 2 razy
Dołączył: 02 Wrz 2012
Posty: 181
Skąd: się tu wziąłem?
Wysłany: Sob 03 Lis, 2012 15:08
Cytat:
Daje 2/5 nie przyda mi się.

I dlatego dajesz 2/5?Mi też się nie przyda,a mi się podoba.Ja daję 4,5/5.
________________________
99 % świrów czyta mój podpis z ręką na myszce.
Nie odchylaj ręki - jest już za późno :haha:

Wiem,to mogłem zrobić w większym rozmiarze.Przypatrz się bardziej!
 
 
 
Kyovu 




Preferowany:
RPG Maker VX

Dołączył: 02 Lis 2012
Posty: 23
Wysłany: Sob 03 Lis, 2012 16:59
Cytat:
Daje 2/5 nie przyda mi się.

I dlatego dajesz 2/5?Mi też się nie przyda,a mi się podoba.Ja daję 4,5/5.


Daje 2/5 bo mi się nie podoba , po co to komu? ale to moje zdanie.
________________________
Dołącz do koto-makerowców !
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group | Template Klam by Ayene