collapse collapse

 Community


 User Info




Willkommen Gast. Bitte einloggen oder registrieren.

 Partnerseiten

rpgvx.net

Das Forum ist offline

Autor Thema: Script: Phone System - Problem mit Speichern  (Gelesen 933 mal)

Offline Valentine

  • Eventmeister
  • ***
  • Beiträge: 352
Script: Phone System - Problem mit Speichern
« am: Juni 05, 2011, 13:02:57 »
Hiho,
Habe das Phone System Script von ner anderen Seite. Klappt auch alles bestens, aber ich kann jetzt "Speichern gesperrt" nicht mehr machen. Dann wird der Eintrag "Phone" im Menü deaktiviert, aber Speichern bleibt verfügbar.

Wüsste da jemand weiter wie ich das fixen kann?...
Ist ja sonst bissel blöd, das man überall speichern kann, was ich nicht so haben möchte im Spiel.

Re: Script: Phone System - Problem mit Speichern

Offline Domin0e

  • Leaf in the Wind
  • Mr. MACK-Tile
  • ***
  • Beiträge: 237
    • Mein kleiner Blog~
Re: Script: Phone System - Problem mit Speichern
« Antwort #1 am: Juni 05, 2011, 13:38:11 »
Damit dir jemand mit deinem Problem helfen kann, müssen wir wissen welches Skript du nutzt und wo du ggf. in anderen Skripts änderungen vorgenommen hast. (:
"Twelve highlanders and a bagpipe make a rebellion." - Scottish Proverb

Mein kleiner Blog

Re: Script: Phone System - Problem mit Speichern

Offline Valentine

  • Eventmeister
  • ***
  • Beiträge: 352
Re: Script: Phone System - Problem mit Speichern
« Antwort #2 am: Juni 05, 2011, 14:47:37 »
Ah stimmt... voll vergessen, dachte das kennt vllt jemand.

Das hier ist das Script: Phone System 0.1BETA by Necrozard

Wurde aber schon ewig nix mehr gemacht dran... der wollt noch neue dinge einbauen, aber da kam nichts mehr. Ist wohl inaktiv gegangen, keine Ahnung, kenn den auch nicht weiter.

Hier der Code:

Spoiler for Hiden:
#############################################################################
#==================================================================#
# Name: Phone System 0.1BETA
# By: Necrozard
# Date: 19/07/08
#==================================================================#
#==================================================================#
# Description:
# The Phone allows you to receive SMS (Messages) from NPC when and where you want, just
# doing it in a easy way with "Call script".
# You can also Delete this messages, because in this version, the Message Box has a limit
# of 10 Messages. If you have the Message Box full, a notification will notice you what is
# happening until you delete a message.
#==================================================================#
# User Guide:
# All the commands next, have to be written in Call script.
#
# Allow the player open the Phone (Set the option in the Menu):
# Mod::ADD_MENU_OPTION = true/false
#
# Send a SMS (Message) to the player:
# Phone_Msg.new(title,autor,message)
#
# Open the phone In-Game:
# $scene = Phone.new
#
# Set the phone On-line (Common) or Off-line (You cant receive any message, for example
# in caves):
# $phone_online = true/false
#
# Set a phone background In-Game:
# Mod::BACK_PATH="directory" (Where directory is the path to the image)
# It has to be 163x230 px.
#
#==================================================================#
# Modifications:
# You can modify certain things to make the phone different.
module Mod
  # MAX_MSGS_IN_BOX
  # Set here the max. messages you can have in your message box.
  MAX_MSGS_IN_BOX=20
 
  # MAX_TRACKS_IN_MUSICLIST
  # Set here the max. messages you can have in your message box.
  MAX_TRACKS_IN_MUSICLIST=20
 
  # ICON_TITLES:
  # Are the titles of each icon, in the main menu of the phone.
  # Max. 8 letters per word.
  ICON_TITLES=["SMS","Kalender","Pictures","Camera",
                          "Rechner","Datein","Appstore","Wetter","Notizen",
                          "Clock","Settings","E-Mail","Call","Internet","Music"]
  # BACK_PATH
  # Its the path to the background image.
  # It has to be 163x230 px.
  BACK_PATH="CellPhone/background.png"
 
  # MSG_TITLE
  # Its a word that will take part before the Message Title.
  MSG_TITLE="Betreff"
 
  # MSG_OPS
  # Are the Message Options.
  MSG_OPS=["Öffnen","Löschen"]
 
  # SMS_TONE
  # Here you can set the path to the Sound when you receive
  # a Message..
  SMS_TONE="Audio/SE/Haze"
 
  # MENU_OPTION_TITLE and ADD_MENU_OPTION
  # With MENU_OPTION_TITLE, you can set the name of the
  # option in the Menu. Only if ADD_MENU_OPTION its true.
  # If its false, it won´t show itself.
  MENU_OPTION_TITLE = "Handy"
  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
# Modification for Phone Notifications
#==================================================================#
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
# Modification for Phone Option in Menu.
#==================================================================#
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          # ??????? 0 ????
      @command_window.draw_item(0, false)     # ????????
      @command_window.draw_item(1, false)     # ???????
      @command_window.draw_item(2, false)     # ??????
      @command_window.draw_item(3, false)     # ?????????
    end
    if $game_system.save_disabled             # ????????
      @command_window.draw_item(4, false)     # ???????
    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          # ??????? 0 ????
      @command_window.draw_item(0, false)     # ????????
      @command_window.draw_item(1, false)     # ???????
      @command_window.draw_item(2, false)     # ??????
      @command_window.draw_item(3, false)     # ?????????
    end
    if $game_system.save_disabled             # ????????
      @command_window.draw_item(4, false)     # ???????
    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      # ????
        $scene = Scene_Item.new
      when 1,2,3  # ????????????
        start_actor_selection
      when 4
        $scene = Phone.new
      when 5      # ???
        $scene = Scene_File.new(true, false, false)
      when 6      # ?????
        $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      # ????
        $scene = Scene_Item.new
      when 1,2,3  # ????????????
        start_actor_selection
      when 4      # ???
        $scene = Scene_File.new(true, false, false)
      when 5      # ?????
        $scene = Scene_End.new
      end
    end
  end
end
end

Änderungen so hab ich nicht viel gemacht... außer einige Texte geändert zu deutsch. Im Handy unter den Icons stand zbsp. Calc. , hab dann das wort im script zu Rechner umgeschrieben.
Dann das es im Menü nicht Phone heißt, sondern Handy.
Das war alles, sonst nichts, also eher kleinigkeiten.

Mir scheints ja, das irgendwas mit den Menüpunkten wohl da durcheinander kommt, wenn man speichern sperrt macht auf ner map, weil der wohl immer dann von nem Punkt im Menü ausgeht, wo jetzt das Phone liegt. Ich weiß nur einfach nicht wie und wo man das ändern müsste oder obs an was anderem liegt.

Wäre echt Top, wenn da jemand die Lösung kennt.

Ich habe das Script mal in eine Codeboy gepackt und schaue mir bei Zeiten das Problem an - scheint recht simpel zu sein. #Herendil
« Letzte Änderung: Juni 06, 2011, 21:12:11 von Herendil »

Re: Script: Phone System - Problem mit Speichern

Offline FlipelyFlip

  • Will sein Alter nicht verraten xD
  • Administrator
  • VX-Großmeister
  • ****
  • Beiträge: 884
  • Heyho (=
    • Flips Musik Kariere auf Facebook xD
Re: Script: Phone System - Problem mit Speichern
« Antwort #3 am: Juni 07, 2011, 21:31:29 »
heyey,

der "Fehler" ist auch recht simpel (:

such nach folgendem Code:

      @command_window.draw_item(4, false)     # ???????
und ersetz ihn durch:

      @command_window.draw_item(5, false)     # ???????
das ganze musst du zwei mal machen (:

lg flip

Re: Script: Phone System - Problem mit Speichern

Offline Valentine

  • Eventmeister
  • ***
  • Beiträge: 352
Re: Script: Phone System - Problem mit Speichern
« Antwort #4 am: Juni 08, 2011, 12:47:56 »
Hat wunderbar funktioniert.
Musste zwar etwas rumprobieren, weil ich keine 4 hatte, aber habs hingekriegt.
Besten Dank!

 


 Bild des Monats

rooftop party

Views: 3615
By: papilion

 Umfrage

  • Wer soll das BdM gewinnen?
  • Dot Kandidat 1
  • 3 (25%)
  • Dot Kandidat 2
  • 1 (8%)
  • Dot Kandidat 3
  • 2 (16%)
  • Dot Kandidat 4
  • 0 (0%)
  • Dot Kandidat 5
  • 6 (50%)
  • Stimmen insgesamt: 12
  • View Topic

 Schnellsuche





SimplePortal 2.3.3 © 2008-2010, SimplePortal