UltimaForum

Skrypty [VX] - Komórka w VX!

Loki - Nie 17 Cze, 2012 16:28
Temat postu: Komórka w VX!

BezimiennyKot1 - Czw 21 Cze, 2012 13:02

Skrypcik niczemu sobie (tylko denerwujące jest, że kilka opcji nie działa :-( )
kolkav5 - Pią 22 Cze, 2012 14:06

Co ci ludzie nie wymyślą....

Komórka w RPG?!
:shock: :shock: :shock: :shock: :shock:

Squall - Pią 22 Cze, 2012 14:56

kolkav5 napisał/a:
Co ci ludzie nie wymyślą....

Komórka w RPG?!
:shock: :shock: :shock: :shock: :shock:


W Rpg maker'ku :-P Nie musisz na siłę robić gry rpg :) Mogą być i współczesne czasy a wtedy ten skrypt ma sens.

Loki - Pią 22 Cze, 2012 19:38

Skrypt przetłumaczony przezemnie:
Spoiler:

Kod:
#############################################################################
#==================================================================#
# Nazwa: Phone System 0.1BETA
# Przez: Necrozard
# Data: 19/07/08
# Przetłumaczone przez Igor
#==================================================================#
#==================================================================#
# Opis:
# Komórka umożliwia ci wysyłanie SMS (wiadomości) od npc gdziekolwiek jesteś.
# Robiąc to łatwo wywołując"Call script".
# Zawsze możesz usunąć wiadomości, ponieważ w tej wersji komórki ma limit
# Do 20 wiadomości.
#==================================================================#
# User Guide:
# Wszystkie następne komendy powinny być wywołane w ,,call script''.
# Pozwól otworzyć graczowi komórkę (Zmień opcje w menu):
# Mod::ADD_MENU_OPTION = true/false
#
# Wyślij SMS (wiadomość) do gracza:
# Phone_Msg.new(nagłówek,autor,wiadomość)
#
# Otwórz komórkę w grze:
# $scene = Phone.new
#
# Ustaw komórkę On-line albo Off-line (w offline niemożesz otrzymywać
# wiadomości):
# $phone_online = true/false
#
# Zmień tło komórki w grze:
# Mod::BACK_PATH="directory"
# Tło musi być 163x230 px.
#
#==================================================================#
# Modyfikacje:
# Możesz zmieniać modyfikacje żeby zrobić komórkę inną.
module Mod
  # Maksymalna ilość wiadomości w skrzynce
  # Zmień tutaj max. ilość wiadomości jaką chcesz mieć w komórce
  MAX_MSGS_IN_BOX=20
 
  # Maksymalna ilość muzyk
  # Zmień tutaj max. ilość muzyk jaką chcesz mieć w komórce
  MAX_TRACKS_IN_MUSICLIST=20
 
  # Ikony tytułowe:
  # To ikony w ekranie tytułowym w komórce.
  # Max. 8 liter w słowie.
  ICON_TITLES=["SMS","Kalendarz","Obrazki","Aparat",
                          "Kalk.","Grafika","Mapa","Pogoda","Notatki",
                          "Zegar","Ustawienia","E-Mail","Połączenia","Różne","Muza"]
  # Tło
  # To tło w obrazie komórki.
  # Musi być 163x230 px.
  BACK_PATH="CellPhone/background.png"
 
  # Ekran tytułowy wiadomości
  # To słowo przed ekranem tytułowym wiadomości.
  MSG_TITLE="Ekran tytułowy"
 
  # Opcje wiadomości
  # To opjce wiadomości.
  MSG_OPS=["Czytaj","Usuń"]
 
  # Dźwięk SMS
  # Tutaj możesz ustawić dźwięk odbioru wiadomości
  SMS_TONE="Audio/SE/Chime2"
 
  # Menu opcje tytułowe i dodawanie opcji w menu
  # W ekranie tytułowym opjci możesz zmienić nazwy opcji.
  # Tylko jeśli ADD_MENU_OPTION jest true.
  # jeśli będzie na false, niepokaże się.
  MENU_OPTION_TITLE = "Komórka"
  ADD_MENU_OPTION = true
end

$messages=[]
$phone_online = true   
$full_msgbox=false

class Phone < Scene_Base
 
  def start
   
    @level=0
    @aux=0
    @aux2=0
    @aux3=0
    @map = Spriteset_Map.new
   
    @phone = Sprite.new
    @phone.bitmap = Cache.system("CellPhone/phone.png")
    @phone.x=150
    @phone.y=20
   
    @background = Sprite.new
    @background.bitmap = Cache.system(Mod::BACK_PATH)
    @background.x=188
    @background.y=98
   
    @cursor=0
    @icons=[]
    @msgbox_slots=[]
    @msgbox_options_slots=[]
    @aux_fullmsg=true
    create_icons
  end
 
  def update
    $game_map.update
    @map.update
    if @phone_new != nil
      @phone_new.update
    end
   
    if @level==0
      update_input_lvl0
      update_icon_animation
    end
    if @level==1
      update_input_lvl1
      update_msgbox_cursor
    end
    if @level==2
      update_input_lvl2
    end
    if @level==3
      update_input_lvl3
    end
    if @level==4
      update_input_lvl4
    end
    if @level==5
      update_input_lvl5
      update_ipod_cursor
    end
    if @level==6
      update_input_lvl6
    end
  end

  # ICONS - LVL 0 - MAIN MENU 
  def update_input_lvl0
    if @aux_fullmsg==true
    if Input.trigger?(Input::RIGHT) && @cursor <14
      @cursor=@cursor+1
      replace_icons
    elsif (Input.trigger?(Input::DOWN)) && !(@cursor >= 11 && @cursor <=14)
      @cursor=@cursor+4
      replace_icons
    elsif Input.trigger?(Input::DOWN) && (@cursor>=11 && @cursor <=14)
      @cursor=@cursor
      replace_icons
    elsif Input.trigger?(Input::LEFT) && @cursor >0
      @cursor=@cursor-1
      replace_icons
    elsif Input.trigger?(Input::UP) && !(@cursor>=0 && @cursor<=3)
      @cursor=@cursor-4
      replace_icons
    elsif Input.trigger?(Input::UP) && (@cursor>=0 && @cursor<=3)
      @cursor=@cursor
      replace_icons
    elsif Input.trigger?(Input::B)
      @level=nil
      @icons_base.contents.clear
      @icons_base.dispose
      for i in 0..14
        @icons[i].bitmap.dispose
        @icons[i]=nil
      end
      @phone.bitmap.dispose
      @phone=nil
      @background.bitmap.dispose
      @background=nil
      $scene=Scene_Map.new
    elsif Input.trigger?(Input::C)
     
      case @cursor
      when 0
        delete_icons
        create_slots(0)
      when 1
        delete_icons
        create_calendar
      when 14
        delete_icons
        create_ipod
        end
      end
  else
    if Input.trigger?(Input::C) || Input.trigger?(Input::B)
      @full_msgbox_new_back.bitmap.dispose
      @full_msgbox_new_back=nil
      @aux_fullmsg=true
    end
  end
end
 
 
 

  def create_icons
    @level=0
    @phone.bitmap = Cache.system("CellPhone/phone.png")
    @background.bitmap = Cache.system(Mod::BACK_PATH)
   
    if $full_msgbox==true
      @aux_fullmsg=false
      @full_msgbox_new_back = Sprite.new
      @full_msgbox_new_back.bitmap = Cache.system("CellPhone/msgbox_full.png")
      @full_msgbox_new_back.x=188
      @full_msgbox_new_back.y=155
      @full_msgbox_new_back.z=105
    end
   
    if @icons[0] != nil
      for i in 0..14
        @icons[i].bitmap.dispose
       
        @icons[i]=nil
      end
    end
   
    @icons_base = Window_Base.new(145,20,237,374)
    @icons_base.opacity=0
   
    @icons_base.contents.font.size=11
    if $phone_online==true
      @icons_base.contents.draw_text(30,43,60,20,"Status: ",0)
      @icons_base.contents.font.color=@icons_base.text_color(3)
      @icons_base.contents.draw_text(62,43,60,20,"Online",0)
    else
       @icons_base.contents.draw_text(30,43,60,20,"Status: ",0)
      @icons_base.contents.font.color=@icons_base.knockout_color
      @icons_base.contents.draw_text(62,43,60,20,"Offline",0)
    end
    @icons_base.contents.font.color=@icons_base.normal_color
   
    a = 194
    b = 110
    c = 0
    title_x=0
    title_y=110
    for i in 0..4
      for j in 0..3
        if(i==3 && j==3)
          break
        end
        @icons[j+c] = Sprite.new
        @icons[j+c].bitmap = Cache.system("CellPhone/"+(j+c).to_s+".png")
        @icons[j+c].x = a
        @icons[j+c].y = b
        @icons_base.contents.draw_text(title_x,title_y,100,20,Mod::ICON_TITLES[j+c],1)
        a=a+38
        title_x=title_x+38
      end
      if(i==3 && j==3)
          break
      end
      b=b+56
      title_y=title_y+55
      a=194
      title_x=0
      c=c+4
    end
  end
 
  def delete_icons
    for i in 0..14
        @icons[i].bitmap.dispose
       
        @icons[i]=nil
      end
      @icons_base.contents.clear
      @icons_base.dispose
  end

    def update_icon_animation
      if @icons[@cursor]!=nil
          if(@aux>=0 && @aux<=5)
            @icons[@cursor].y=@icons[@cursor].y-1
            @aux=@aux+0.5
          end
          if(@aux>=5 &&@aux<=10)
            @icons[@cursor].y=@icons[@cursor].y+1
            @aux=@aux+0.5
          end
          if(@aux>=10)
            @aux=0
          end
        end
      end
     
  def replace_icons
    if @icons[0] != nil
    a = 194
    b = 110
    c = 0
    for i in 0..4
      for j in 0..3
        if(i==3 && j==3)
          break
        end
        @icons[j+c].x = a
        @icons[j+c].y = b
        a=a+38
      end
      if(i==3 && j==3)
          break
      end
      b=b+56
      a=194
      c=c+4
    end
    @aux=0
  end
  end

 
  # SLOTS - LVL 1 - MSG BOX
  def create_slots(cursor_index)
   
    @slots_scroll=0
   
    for i in 0+@slots_scroll..9+@slots_scroll
      if ($messages[i]==nil && $messages[i+1]!=nil)
        $messages[i]=$messages[i+1]
        $messages[i+1]=nil
      end
    end
   
    @aux3=0
   
    if @msgbox_slots[0] !=nil
      for i in 0+@slots_scroll..9+@slots_scroll
        @msgbox_slots[i].bitmap.dispose
        @msgbox_slots[i]=nil
      end
     
      @msgbox_base.contents.dispose
      @msgbox_cursor_graphic.bitmap.dispose
      @msgbox_title.bitmap.dispose
      @msgbox_title2.bitmap.dispose
    end
 
    @msgbox_cursor=cursor_index
   
    @msgbox_base = Window_Base.new(150,20,237,374)
    @msgbox_base.opacity=0
   
    aux=123
    aux2=86
    for i in 0+@slots_scroll..9+@slots_scroll
      @msgbox_slots[i] = Sprite.new
      @msgbox_slots[i].bitmap = Cache.system("CellPhone/msgbox_slot.png")
      @msgbox_slots[i].x=188
      @msgbox_slots[i].y=aux
      @msgbox_slots[i].z=3
      n=i+1
      if $messages[i] != nil
        @msgbox_base.contents.font.size=12
        @msgbox_base.contents.draw_text(25,aux2,200,20,(n.to_s+" - "+Mod::MSG_TITLE+": "+$messages[i][0]),0)
      else
        @msgbox_base.contents.font.size=12
        @msgbox_base.contents.draw_text(25,aux2,200,20,(n.to_s+" - "),0)
      end
      aux=aux+19
      aux2=aux2+19
    end
   
    @msgbox_arrow_down=Sprite.new
    @msgbox_arrow_down.bitmap = Cache.system("CellPhone/arrow_down.png")
    @msgbox_arrow_down.x = @msgbox_slots[9].x+74
    @msgbox_arrow_down.y = @msgbox_slots[9].y+10
    @msgbox_arrow_down.z = 100
   
    @msgbox_arrow_up=Sprite.new
    @msgbox_arrow_up.bitmap = Cache.system("CellPhone/arrow_up.png")
    @msgbox_arrow_up.x = @msgbox_slots[0].x+74
    @msgbox_arrow_up.y = @msgbox_slots[0].y-10
    @msgbox_arrow_up.z = 100
    @msgbox_arrow_up.opacity=0
   
    @msgbox_cursor_graphic=Sprite.new
    @msgbox_cursor_graphic.bitmap = Cache.system("CellPhone/msgbox_cursor.png")
    @msgbox_cursor_graphic.x = @msgbox_slots[0].x
    @msgbox_cursor_graphic.y = @msgbox_slots[0].y
    @msgbox_cursor_graphic.z = 4
   
    @msgbox_title=Sprite.new
    @msgbox_title.bitmap = Cache.system("CellPhone/msgbox_title.png")
    @msgbox_title.x=188
    @msgbox_title.y=83
    @msgbox_title.z=4
   
    @msgbox_title2=Sprite.new
    @msgbox_title2.bitmap = Cache.system("CellPhone/msgbox_title2.png")
    @msgbox_title2.x=188
    @msgbox_title2.y=313
    @msgbox_title2.z=4
   
    @level=1
  end
 
  def replace_slots
    aux2=86
    @msgbox_base.contents.clear
    for i in 0+@slots_scroll..9+@slots_scroll
      n=i+1
        if $messages[i] != nil
        @msgbox_base.contents.font.size=12
        @msgbox_base.contents.draw_text(25,aux2,200,20,(n.to_s+" - "+Mod::MSG_TITLE+": "+$messages[i][0]),0)
       else
        @msgbox_base.contents.font.size=12
        @msgbox_base.contents.draw_text(25,aux2,200,20,(n.to_s+" - "),0)
      end
      aux2=aux2+19
    end
  end

  def update_msgbox_cursor
    if @msgbox_slots[@msgbox_cursor-@slots_scroll] != nil
      @msgbox_cursor_graphic.y = @msgbox_slots[@msgbox_cursor-@slots_scroll].y
    end
  end
 
    def update_arrow_animation
          if(@aux>=0 && @aux<=5)
            @msgbox_arrow_down.y=@msgbox_arrow_down.y-1
            @msgbox_arrow_up.y=@msgbox_arrow_up.y-1
            @aux=@aux+0.5
          end
          if(@aux>=5 &&@aux<=10)
            @msgbox_arrow_down.y=@msgbox_arrow_down.y+1
            @msgbox_arrow_up.y=@msgbox_arrow_up.y+1
            @aux=@aux+0.5
          end
          if(@aux>=10)
            @aux=0
          end
        end
      end
     
  def update_input_lvl1
    update_arrow_animation
   
    if @msgbox_cursor==Mod::MAX_MSGS_IN_BOX-1
        already=true
      end
     
      if @msgbox_cursor==0
        already=false
      end

     
        if @msgbox_cursor < (9-@slots_scroll)
          @msgbox_arrow_down.opacity=255
        else
          if already==true
            @msgbox_arrow_down.opacity=0
          end
        end
       
        if @msgbox_cursor > (9-@slots_scroll)
          @msgbox_arrow_up.opacity=255
        else
          if already==false
            @msgbox_arrow_up.opacity=0
          end
        end
       
    if Input.trigger?(Input::DOWN) && @msgbox_cursor<Mod::MAX_MSGS_IN_BOX-1
      @msgbox_cursor=@msgbox_cursor+1
      if @msgbox_cursor_graphic.y == @msgbox_slots[9].y
        @slots_scroll = @slots_scroll + 1
        replace_slots
      end
       
    end
   
    if Input.trigger?(Input::UP) && @msgbox_cursor>0
      @msgbox_cursor=@msgbox_cursor-1
      if @msgbox_cursor_graphic.y == @msgbox_slots[0].y
        @slots_scroll = @slots_scroll - 1
        replace_slots
      end
   
    end

   
    if Input.trigger?(Input::B)
    for i in 0..8
      @msgbox_slots[i].bitmap.dispose
      @msgbox_slots[i]=nil
    end
    @msgbox_base.contents.dispose
    @msgbox_cursor_graphic.bitmap.dispose
    @msgbox_title.bitmap.dispose
    @msgbox_title2.bitmap.dispose
    @msgbox_arrow_down.bitmap.dispose
    @msgbox_arrow_up.bitmap.dispose
    create_icons
  end
 
  @aux3=@aux3+1
  if @aux3>=5
   
   if Input.trigger?(Input::C)
     if $messages[@msgbox_cursor] != nil
       @aux3=0
       @msgbox_arrow_down.bitmap.dispose
       @msgbox_arrow_up.bitmap.dispose
       make_msgbox_options
      end
    end
  end
 
end

  # MSG_OPTIONS - LVL2 - READ - DELETE
  def make_msgbox_options
   
    @msgbox_options_cursor=0
    @msgbox_options_base = Window_Base.new(@msgbox_slots[@msgbox_cursor].x-38,@msgbox_slots[@msgbox_cursor].y-38,237,374)
    @msgbox_options_base.opacity=0
    @msgbox_options_base.z=101
   
    for i in 0..1
      @msgbox_options_slots[i]=Sprite.new
      @msgbox_options_slots[i].bitmap=Cache.system("CellPhone/msgbox_options_slot.png")
      @msgbox_options_slots[i].x=10+@msgbox_slots[@msgbox_cursor].x+(80*i)
      @msgbox_options_slots[i].y=@msgbox_slots[@msgbox_cursor].y-10
      @msgbox_options_slots[i].z=100
    end
    @msgbox_options_cursor_graphic=Sprite.new
    @msgbox_options_cursor_graphic.bitmap=Cache.system("CellPhone/msgbox_options_cursor.png")
    @msgbox_options_cursor_graphic.x=10+@msgbox_slots[@msgbox_cursor].x
    @msgbox_options_cursor_graphic.y=@msgbox_slots[@msgbox_cursor].y-10
    @msgbox_options_cursor_graphic.z=100
   
    @msgbox_options_base.contents.font.size=16
    @msgbox_options_base.contents.draw_text(37,12,50,20,Mod::MSG_OPS[0],1)
    @msgbox_options_base.contents.draw_text(117,12,50,20,Mod::MSG_OPS[1],1)
    @level=2
   
  end
 
  def update_input_lvl2
    if Input.trigger?(Input::RIGHT)
      @msgbox_options_cursor=1
      @msgbox_options_cursor_graphic.x=10+@msgbox_slots[@msgbox_cursor].x+80
    elsif Input.trigger?(Input::LEFT)
      @msgbox_options_cursor=0
      @msgbox_options_cursor_graphic.x=10+@msgbox_slots[@msgbox_cursor].x
    end
   
    if Input.trigger?(Input::B)
      @msgbox_options_slots[0].bitmap.dispose
      @msgbox_options_slots[1].bitmap.dispose
      @msgbox_options_cursor_graphic.bitmap.dispose
      @msgbox_options_base.contents.clear
      @msgbox_options_base=nil
 
      create_slots(@msgbox_cursor)
    end
   
    @aux3=@aux3+1
    if @aux3>=5
    if Input.trigger?(Input::C)
      case @msgbox_options_cursor
      when 0
        for i in 0..8
          @msgbox_slots[i].bitmap.dispose
          @msgbox_slots[i]=nil
        end
        @msgbox_base.contents.clear
        @msgbox_cursor_graphic.bitmap.dispose
        @msgbox_options_slots[0].bitmap.dispose
        @msgbox_options_slots[1].bitmap.dispose
        @msgbox_options_cursor_graphic.bitmap.dispose
        @msgbox_options_base.contents.clear
        @msgbox_options_base=nil
        show_msg(@msgbox_cursor)
        @aux3=0
      when 1
        @msgbox_options_slots[0].bitmap.dispose
        @msgbox_options_slots[1].bitmap.dispose
        @msgbox_options_cursor_graphic.bitmap.dispose
        @msgbox_options_base.contents.clear
        @msgbox_options_base=nil
        $messages[@msgbox_cursor]=nil
        $full_msgbox=false
        create_slots(@msgbox_cursor)
      end
    end
  end
end

   
   
 
 
 
  # MSG - LVL 3 - MESSAGE
  def show_msg(msg)
    $messages[msg][3]=true
   
    @msgbox_base.contents.font.size=16
    a = 0
   
    for i in $messages[msg][2]
      @msgbox_base.contents.draw_text(25,122+13*a,200,20,i,0)
      a += 1
    end
   
    @msgbox_base.contents.draw_text(3,84,200,20,$messages[msg][1],1)
    @msgbox_base.contents.draw_text(2,96,200,20,$messages[msg][0],1)
   
    @msgbox_back=Sprite.new
    @msgbox_back.bitmap = Cache.system("CellPhone/msgbox_back.png")
    @msgbox_back.x=188
    @msgbox_back.y=123
    @msgbox_back.z=4
   
    @level=3
  end
 
  def update_input_lvl3
    if Input.trigger?(Input::B)
      @msgbox_base.contents.clear
      @msgbox_title.bitmap.dispose
      @msgbox_title2.bitmap.dispose
      @msgbox_back.bitmap.dispose
      create_slots(@msgbox_cursor)
    end
  end
 
 #end

 
  # CALENDAR - LVL 4 - INTERFACE
  def create_calendar
    @c_index=1
   
    @calendar_arrow_left=Sprite.new
    @calendar_arrow_left.bitmap = Cache.system("CellPhone/arrow_left.png")
    @calendar_arrow_left.x=208
    @calendar_arrow_left.y=146
    @calendar_arrow_left.z=5
    @calendar_arrow_left.opacity=0
   
    @calendar_arrow_right=Sprite.new
    @calendar_arrow_right.bitmap = Cache.system("CellPhone/arrow_right.png")
    @calendar_arrow_right.x=315
    @calendar_arrow_right.y=146
    @calendar_arrow_right.z=5
    @calendar_arrow_right.opacity=0
   
    @calendar_title=Sprite.new
    @calendar_title.bitmap = Cache.system("CellPhone/calendar_title.png")
    @calendar_title.x=188
    @calendar_title.y=83
    @calendar_title.z=4
   
    @calendar_title2=Sprite.new
    @calendar_title2.bitmap = Cache.system("CellPhone/Calendar/bottom.png")
    @calendar_title2.x=188
    @calendar_title2.y=293
    @calendar_title2.z=4
   
    @calendar = Sprite.new
    @calendar.bitmap = Cache.system("CellPhone/Calendar/1.png")
    @calendar.x=188
    @calendar.y=123
    @calendar.z=4
   
    @level=4
  end
 
  def calendar_arrow_update
    if(@aux>=0 && @aux<=5)
            @calendar_arrow_left.x=@calendar_arrow_left.x-1
            @calendar_arrow_right.x=@calendar_arrow_right.x-1
            @aux=@aux+0.5
          end
          if(@aux>=5 &&@aux<=10)
            @calendar_arrow_left.x=@calendar_arrow_left.x+1
            @calendar_arrow_right.x=@calendar_arrow_right.x+1
            @aux=@aux+0.5
          end
          if(@aux>=10)
            @aux=0
          end
      end
   
  def update_input_lvl4
    calendar_arrow_update
   
    if @c_index==1
      @calendar_arrow_left.opacity=0
      @calendar_arrow_right.opacity=255
    end
   
    if @c_index>1 && @c_index<12
      @calendar_arrow_left.opacity=255
      @calendar_arrow_right.opacity=255
    end
 
    if @c_index==12
      @calendar_arrow_left.opacity=255
      @calendar_arrow_right.opacity=0
    end
   
    if Input.trigger?(Input::RIGHT) && @c_index<12
      @c_index=@c_index+1
      @calendar.bitmap = Cache.system("CellPhone/Calendar/"+@c_index.to_s+".png")
    elsif Input.trigger?(Input::LEFT) && @c_index>1
      @c_index=@c_index-1
      @calendar.bitmap = Cache.system("CellPhone/Calendar/"+@c_index.to_s+".png")
    end
   
      if Input.trigger?(Input::B)
      @calendar_title.bitmap.dispose
      @calendar_title2.bitmap.dispose
      @calendar.bitmap.dispose
      @calendar_arrow_left.bitmap.dispose
      @calendar_arrow_right.bitmap.dispose
      create_icons
    end
  end
 
 
  # I-POD - LVL 5 - MUSIC LIST
  def create_ipod
   
    @files=Dir.entries("Graphics/System/CellPhone/Memory/Music/")
    @files.delete(".")
    @files.delete("..")

    @ipod_scroll=0
    @ipod_slots=[]
   
    @aux3=0
 
    @ipod_cursor=0
   
    @ipod_base = Window_Base.new(150,20,237,374)
    @ipod_base.opacity=0
   
    aux=123
    aux2=86
    for i in 0+@ipod_scroll..9+@ipod_scroll
      @ipod_slots[i] = Sprite.new
      @ipod_slots[i].bitmap = Cache.system("CellPhone/msgbox_slot.png")
      @ipod_slots[i].x=188
      @ipod_slots[i].y=aux
      @ipod_slots[i].z=3
      n=i+1
      if @files[i] != nil
        @ipod_base.contents.font.size=10
        @ipod_base.contents.draw_text(25,aux2,150,20,(n.to_s+" - "+@files[i]),0)
      else
        @ipod_base.contents.font.size=10
        @ipod_base.contents.draw_text(25,aux2,150,20,(n.to_s+" - "),0)
      end
      aux=aux+19
      aux2=aux2+19
    end
   
    @ipod_arrow_down=Sprite.new
    @ipod_arrow_down.bitmap = Cache.system("CellPhone/arrow_down.png")
    @ipod_arrow_down.x = @ipod_slots[9].x+74
    @ipod_arrow_down.y = @ipod_slots[9].y+10
    @ipod_arrow_down.z = 100
   
    @ipod_arrow_up=Sprite.new
    @ipod_arrow_up.bitmap = Cache.system("CellPhone/arrow_up.png")
    @ipod_arrow_up.x = @ipod_slots[0].x+74
    @ipod_arrow_up.y = @ipod_slots[0].y-10
    @ipod_arrow_up.z = 100
    @ipod_arrow_up.opacity=0
   
    @ipod_cursor_graphic=Sprite.new
    @ipod_cursor_graphic.bitmap = Cache.system("CellPhone/msgbox_cursor.png")
    @ipod_cursor_graphic.x = @ipod_slots[0].x
    @ipod_cursor_graphic.y = @ipod_slots[0].y
    @ipod_cursor_graphic.z = 4
   
    @ipod_title=Sprite.new
    @ipod_title.bitmap = Cache.system("CellPhone/ipod_title.png")
    @ipod_title.x=188
    @ipod_title.y=83
    @ipod_title.z=4
   
    @ipod_title2=Sprite.new
    @ipod_title2.bitmap = Cache.system("CellPhone/msgbox_title2.png")
    @ipod_title2.x=188
    @ipod_title2.y=313
    @ipod_title2.z=4
   
    @level=5
  end
 
  def replace_ipod_slots
    aux2=86
    @ipod_base.contents.clear
    for i in 0+@ipod_scroll..9+@ipod_scroll
      n=i+1
        if @files[i] != nil
        @ipod_base.contents.font.size=10
        @ipod_base.contents.draw_text(25,aux2,150,20,(n.to_s+" - "+@files[i]),0)
       else
        @ipod_base.contents.font.size=10
        @ipod_base.contents.draw_text(25,aux2,150,20,(n.to_s+" - "),0)
      end
      aux2=aux2+19
    end
  end

  def update_ipod_cursor
    if @ipod_slots[@ipod_cursor-@ipod_scroll] != nil
      @ipod_cursor_graphic.y = @ipod_slots[@ipod_cursor-@ipod_scroll].y
    end
  end
 
    def update_ipod_arrow_animation
          if(@aux>=0 && @aux<=5)
            @ipod_arrow_down.y=@ipod_arrow_down.y-1
            @ipod_arrow_up.y=@ipod_arrow_up.y-1
            @aux=@aux+0.5
          end
          if(@aux>=5 &&@aux<=10)
            @ipod_arrow_down.y=@ipod_arrow_down.y+1
            @ipod_arrow_up.y=@ipod_arrow_up.y+1
            @aux=@aux+0.5
          end
          if(@aux>=10)
            @aux=0
          end
      end
     
  def update_input_lvl5
    update_ipod_arrow_animation
   
    if @ipod_cursor==Mod::MAX_TRACKS_IN_MUSICLIST-1
        already=true
      end
     
      if @ipod_cursor==0
        already=false
      end

     
        if @ipod_cursor < (9-@ipod_scroll)
          @ipod_arrow_down.opacity=255
        else
          if already==true
            @ipod_arrow_down.opacity=0
          end
        end
       
        if @ipod_cursor > (9-@ipod_scroll)
          @ipod_arrow_up.opacity=255
        else
          if already==false
            @ipod_arrow_up.opacity=0
          end
        end
       
    if Input.trigger?(Input::DOWN) && @ipod_cursor<Mod::MAX_TRACKS_IN_MUSICLIST-1
      @ipod_cursor=@ipod_cursor+1
      if @ipod_cursor_graphic.y == @ipod_slots[9].y
        @ipod_scroll = @ipod_scroll + 1
        replace_ipod_slots
      end
       
    end
   
    if Input.trigger?(Input::UP) && @ipod_cursor>0
      @ipod_cursor=@ipod_cursor-1
      if @ipod_cursor_graphic.y == @ipod_slots[0].y
        @ipod_scroll = @ipod_scroll - 1
        replace_ipod_slots
      end
   
    end

   
    if Input.trigger?(Input::B)
    for i in 0..8
      @ipod_slots[i].bitmap.dispose
      @ipod_slots[i]=nil
    end
    @ipod_base.contents.dispose
    @ipod_cursor_graphic.bitmap.dispose
    @ipod_title.bitmap.dispose
    @ipod_title2.bitmap.dispose
    @ipod_arrow_down.bitmap.dispose
    @ipod_arrow_up.bitmap.dispose
    create_icons
  end
 
  @aux3=@aux3+1
  if @aux3>=5
   
   if Input.trigger?(Input::C)
     if @files[@ipod_cursor] != nil
       @aux3=0
        for i in 0..8
          @ipod_slots[i].bitmap.dispose
          @ipod_slots[i]=nil
        end
        @ipod_base.contents.clear
        @ipod_cursor_graphic.bitmap.dispose
        @ipod_title.bitmap.dispose
        @ipod_title2.bitmap.dispose
        @ipod_arrow_down.bitmap.dispose
        @ipod_arrow_up.bitmap.dispose
        create_ipod_player(@ipod_cursor,1)
      end
    end
   
  end
 
end


# I-POD - LVL 6 - PLAYER
  def create_ipod_player(index,cursor)
   
    @file=index
   
    @ipod_player_cursor_index=cursor
   
    @ipod_player_col=Sprite.new
    @ipod_player_col.bitmap = Cache.system("CellPhone/ipod_player_col.png")
    @ipod_player_col.x = 198
    @ipod_player_col.y = 142
    @ipod_player_col.z = 7
   
    @ipod_player=Sprite.new
    @ipod_player.bitmap = Cache.system("CellPhone/ipod_player.png")
    @ipod_player.x = 188
    @ipod_player.y = 84
    @ipod_player.z = 6
   
    @ipod_player_cursor=Sprite.new
    @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor.png")
    @ipod_player_cursor.x = 247
    @ipod_player_cursor.y = 220
    @ipod_player_cursor.z = 7
   
    @ipod_base.contents.font.size=12
    @ipod_base.contents.draw_text(28,62,150,20,(@files[@file]),1)
   
    @level=6
  end
 
  def update_input_lvl6
    if Input.trigger?(Input::RIGHT) && @ipod_player_cursor_index<2
      @ipod_player_cursor_index=@ipod_player_cursor_index+1
    end
    if Input.trigger?(Input::LEFT) && @ipod_player_cursor_index>0
      @ipod_player_cursor_index=@ipod_player_cursor_index-1
    end
    if Input.trigger?(Input::DOWN)
      @ipod_player_cursor_index=3
      @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor4.png")
      @ipod_player_cursor.x = 247
      @ipod_player_cursor.y = 254
      @ipod_player_cursor.z = 7
    end
    if Input.trigger?(Input::UP)
      @ipod_player_cursor_index=1
      @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor.png")
      @ipod_player_cursor.x = 247
      @ipod_player_cursor.y = 220
      @ipod_player_cursor.z = 7
    end
   
    case @ipod_player_cursor_index
    when 0
      @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor2.png")
      @ipod_player_cursor.x = 210
      @ipod_player_cursor.y = 220
      @ipod_player_cursor.z = 7
    when 1
      @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor.png")
      @ipod_player_cursor.x = 247
      @ipod_player_cursor.y = 220
      @ipod_player_cursor.z = 7
    when 2
      @ipod_player_cursor.bitmap = Cache.system("CellPhone/ipod_cursor3.png")
      @ipod_player_cursor.x = 280
      @ipod_player_cursor.y = 222
      @ipod_player_cursor.z = 7
    end
   
    if Input.trigger?(Input::C)
      case @ipod_player_cursor_index
      when 0
        if @files[@file-1]!=nil
        Audio.bgm_stop
        @ipod_player_col.bitmap.dispose
        @ipod_player.bitmap.dispose
        @ipod_player_cursor.bitmap.dispose
        @ipod_base.contents.clear
        create_ipod_player(@file-1,0)
        end
      when 1
        Audio.bgm_play("Graphics/System/CellPhone/Memory/Music/"+@files[@file])
      when 2
        if @files[@file+1]!=nil
        Audio.bgm_stop
        @ipod_player_col.bitmap.dispose
        @ipod_player.bitmap.dispose
        @ipod_player_cursor.bitmap.dispose
        @ipod_base.contents.clear
        create_ipod_player(@file+1,2)
        end
      when 3
        Audio.bgm_stop
      end
    end
   
    if Input.trigger?(Input::B)
      @ipod_player_col.bitmap.dispose
      @ipod_player.bitmap.dispose
      @ipod_player_cursor.bitmap.dispose
      @ipod_base.contents.clear
      create_icons
    end
  end


#==================================================================#
# Phone_Msg
# Send messages to yhe player
#==================================================================#
class Phone_Msg < Window_Base
 
  def initialize(autor="Unknown",title="No title",msg="")
    super(0,0,40,42)
    self.opacity=0
    if $phone_online==true
    if $messages[9] == nil
      $full_msgbox=false
      Audio.se_play(Mod::SMS_TONE)
      msg = msg.delete("\n")
      autor = autor.delete("\n")
      title= title.delete("\n")
      msg_array = msg.ltrim(190,self.contents.font.size,self.contents.font.name)
      array = [autor,title,msg_array,false,false] # readed, sended, deleted
      for i in 0..9
        if $messages[i]==nil
          $messages[i]=array
          break
        end
      end
      $scene.one_time=true
    end
    if $messages[9] != nil
      $full_msgbox=true
    end
    end
  end
end

#==================================================================#
# String Modification
# RGSS++
#==================================================================#
class String
  def trim
    @subself = self.clone
    loop do
      @subself[0,1] = "" if @subself[0,1] == " "
      @subself[-1,1] = "" if @subself[-1,1] == " "
      break if @subself[0,1] != " " and @subself[-1,1] != " "
    end
    return @subself
  end
  def ltrim (width, fontsize, fontname=0)
    str = self.trim.clone
    bit = Bitmap.new(1,1)
    bit.font.name = fontname
    bit.font.size = fontsize
    wordcount = 0
    size = 0
    line = ""
    word = ""
    result = []
    while ((c = str.slice!(/./m)) != nil)
      wordcount += bit.text_size(c).width if c != " "
      word += c
      if c == " " and (wordcount + size) <= width
        line += word
        word = ""
        size += wordcount + bit.text_size(c).width
        wordcount = 0
      end
      if c == " " and (wordcount + size) >= width
        result.push(line)
        line = word
        word = ""
        size = wordcount
        wordcount = 0
      end
      if c == "\n" and line != ""
        result.push(line)
        line = ""
        size = 0
        wordcount = 0
      end
    end
    line += word if word != ""
    if line != ""
      result.push(line)
    end
    return result
  end
end

#==================================================================#
# Scene_Map
# Modyfikacje powiadomień w komórce.
#==================================================================#
class Scene_Map < Scene_Base

  attr_accessor :one_time
 
  alias start_phone start
  def start
    start_phone
    @one_time=true
    for i in 0..9
      if $messages[i] !=nil
      if $messages[i][3] == false
          if @unreaded_msg == nil
            @unreaded_msg=0
            @unreaded_msg=@unreaded_msg + 1
            $messages[i][4]=true
          else
          @unreaded_msg=@unreaded_msg + 1
          $messages[i][4]=true
          end
        end
        end
    end
   
    if @unreaded_msg !=nil
    if @unreaded_msg != 0
        if @alert != nil
          @alert.bitmap.dispose
        end
        if @msg_alert_base != nil
          @msg_alert_base.contents.clear
          @msg_alert_base.dispose
        end
      @alert=Sprite.new
      @alert.bitmap = Cache.system("CellPhone/new_msgs.png")
      @alert.x=10
      @alert.y=10
      @msg_alert_base = Window_Base.new(-6,0,130,130)
      @msg_alert_base.contents.draw_text(0,74,100,20,@unreaded_msg.to_s,1)
      @msg_alert_base.opacity=0
    end
    end
 
  end
 
  alias terminate_phone terminate
  def terminate
    terminate_phone
    if @msg_alert_base != nil
      super
      @msg_alert_base.contents.clear
      @msg_alert_base.dispose
      @alert.bitmap.dispose
    end
  end
 
  alias update_phone update
  def update
    update_phone
   
    if @msg_alert_base != nil
      @msg_alert_base.update
    end
   
    if @one_time==true
      for i in 0..9
      if $messages[i] !=nil
      if $messages[i][3] == false
        if $messages[i][4]== false
          if @unreaded_msg == nil
            @unreaded_msg=0
            @unreaded_msg=@unreaded_msg + 1
            $messages[i][4]=true
          else
          @unreaded_msg=@unreaded_msg + 1
          $messages[i][4]=true
          end
          end
        end
      end
      end
      if @unreaded_msg !=nil
      if @unreaded_msg != 0
        if @alert != nil
          @alert.bitmap.dispose
        end
        if @msg_alert_base != nil
          @msg_alert_base.contents.clear
          @msg_alert_base.dispose
        end
        @alert=Sprite.new
        @alert.bitmap = Cache.system("CellPhone/new_msgs.png")
        @alert.x=10
        @alert.y=10
        @msg_alert_base = Window_Base.new(-6,0,130,130)
        @msg_alert_base.contents.draw_text(0,74,100,20,@unreaded_msg.to_s,1)
        @msg_alert_base.opacity=0
      end
    end
      @one_time=false
    end
   
     
  end
end

#==================================================================#
# Scene_Menu
# Modyfikacje opcji w komórce.
#==================================================================#
class Scene_Menu < Scene_Base
 
def create_command_window
  if Mod::ADD_MENU_OPTION==true
    s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Mod::MENU_OPTION_TITLE
    s6 = Vocab::save
    s7 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6, s7])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # &#12497;&#12540;&#12486;&#12451;&#20154;&#25968;&#12364; 0 &#20154;&#12398;&#22580;&#21512;
      @command_window.draw_item(0, false)     # &#12450;&#12452;&#12486;&#12512;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(1, false)     # &#12473;&#12461;&#12523;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(2, false)     # &#35013;&#20633;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(3, false)     # &#12473;&#12486;&#12540;&#12479;&#12473;&#12434;&#28961;&#21177;&#21270;
    end
    if $game_system.save_disabled             # &#12475;&#12540;&#12502;&#31105;&#27490;&#12398;&#22580;&#21512;
      @command_window.draw_item(4, false)     # &#12475;&#12540;&#12502;&#12434;&#28961;&#21177;&#21270;
    end
  end
  if Mod::ADD_MENU_OPTION==false
  s1 = Vocab::item
    s2 = Vocab::skill
    s3 = Vocab::equip
    s4 = Vocab::status
    s5 = Vocab::save
    s6 = Vocab::game_end
    @command_window = Window_Command.new(160, [s1, s2, s3, s4, s5, s6])
    @command_window.index = @menu_index
    if $game_party.members.size == 0          # &#12497;&#12540;&#12486;&#12451;&#20154;&#25968;&#12364; 0 &#20154;&#12398;&#22580;&#21512;
      @command_window.draw_item(0, false)     # &#12450;&#12452;&#12486;&#12512;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(1, false)     # &#12473;&#12461;&#12523;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(2, false)     # &#35013;&#20633;&#12434;&#28961;&#21177;&#21270;
      @command_window.draw_item(3, false)     # &#12473;&#12486;&#12540;&#12479;&#12473;&#12434;&#28961;&#21177;&#21270;
    end
    if $game_system.save_disabled             # &#12475;&#12540;&#12502;&#31105;&#27490;&#12398;&#22580;&#21512;
      @command_window.draw_item(4, false)     # &#12475;&#12540;&#12502;&#12434;&#28961;&#21177;&#21270;
    end
  end
end

def update_command_selection
  if Mod::ADD_MENU_OPTION==true
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # &#12450;&#12452;&#12486;&#12512;
        $scene = Scene_Item.new
      when 1,2,3  # &#12473;&#12461;&#12523;&#12289;&#35013;&#20633;&#12289;&#12473;&#12486;&#12540;&#12479;&#12473;
        start_actor_selection
      when 4
        $scene = Phone.new
      when 5      # &#12475;&#12540;&#12502;
        $scene = Scene_File.new(true, false, false)
      when 6      # &#12466;&#12540;&#12512;&#32066;&#20102;
        $scene = Scene_End.new
      end
    end
  end
  if Mod::ADD_MENU_OPTION==false
    if Input.trigger?(Input::B)
      Sound.play_cancel
      $scene = Scene_Map.new
    elsif Input.trigger?(Input::C)
      if $game_party.members.size == 0 and @command_window.index < 4
        Sound.play_buzzer
        return
      elsif $game_system.save_disabled and @command_window.index == 4
        Sound.play_buzzer
        return
      end
      Sound.play_decision
      case @command_window.index
      when 0      # &#12450;&#12452;&#12486;&#12512;
        $scene = Scene_Item.new
      when 1,2,3  # &#12473;&#12461;&#12523;&#12289;&#35013;&#20633;&#12289;&#12473;&#12486;&#12540;&#12479;&#12473;
        start_actor_selection
      when 4      # &#12475;&#12540;&#12502;
        $scene = Scene_File.new(true, false, false)
      when 5      # &#12466;&#12540;&#12512;&#32066;&#20102;
        $scene = Scene_End.new
      end
    end
  end
end
end



Sorry że nie w spojlerze ale mi coś niełapało : P
Poprawione, tak jak powinno być. do skryptów używa się "code" ~Amelanduil
BezimiennyKot1 napisał/a:
Skrypcik niczemu sobie (tylko denerwujące jest, że kilka opcji nie działa )

Zdaje sie że można w skrypcie poustawiać sobie tak że te wszystkie opcje będą działały.

kolkav5 - Sob 23 Cze, 2012 21:20

Squall napisał/a:
kolkav5 napisał/a:
Co ci ludzie nie wymyślą....

Komórka w RPG?!
:shock: :shock: :shock: :shock: :shock:


W Rpg maker'ku :-P Nie musisz na siłę robić gry rpg :) Mogą być i współczesne czasy a wtedy ten skrypt ma sens.


Co racja, to racja.
Tylko, że to jest RPG maker. :lol2:


Powered by phpBB modified by Przemo © 2003 phpBB Group