Project1

标题: 成就(任务)系统与装备说明增强冲突导致详细内容不显示 [打印本页]

作者: 562305484    时间: 2012-6-14 21:00
标题: 成就(任务)系统与装备说明增强冲突导致详细内容不显示
本帖最后由 562305484 于 2012-6-14 23:33 编辑

   



如图  按什么也是不显示,这个脚本就是原创技术发布区里德那个,帮帮找找原因啊



找到原因了,是与装备系统说明增强冲突,放在一起就不显示了,能否将说明增强的效果弄到任务与成就的详细内容上啊       请问怎么解决啊dsu_plus_rewardpost_czw
作者: 54酱    时间: 2012-6-14 21:09
请发完整脚本= =
作者: 562305484    时间: 2012-6-14 22:29
54酱 发表于 2012-6-14 21:09
请发完整脚本= =

咋发脚本。。。。。
作者: swbxhlh    时间: 2012-6-14 23:59
成就的原文我有

  1. #==============================================================================
  2. # ★ RGSS3_成就系统 Ver1.01
  3. #==============================================================================
  4. =begin
  5. 作者:tomoaky
  6. 素材来自:(http://hikimoki.sakura.ne.jp/)
  7. 你可以用事件中“脚本”命令获取成就
  8.   例如)gain_medal(0)   # 获得第零个成就
  9.   设置对应的编号再设置主要内容

  10. 2012.01.25  Ver1.01
  11.   修正改变场景时重置成就
  12.   
  13. 2012.01.16  Ver1.0
  14.   公開
  15. =end
  16. #==============================================================================
  17. # □ 設定項目
  18. #==============================================================================
  19. module TMMEDAL
  20.   COMMAND_MEDAL = "成就"     # 菜单命令名称
  21.   
  22.   # メダルが1枚もない状態でメダルコマンドを隠すかどうか(true で隠す)
  23.   HIDE_COMMAND = false
  24.   
  25.   # メダル獲得時の効果音
  26.   SE_GAIN_MEDAL = RPG::SE.new("Powerup", 90, 140)
  27.   
  28.   # メダル名とアイコンIDと説明文の設定
  29.   MEDAL_DATA = {}
  30.   MEDAL_DATA[0] = ["初心者", 520, "初心者的证明:完成第一轮主线。"]
  31.   MEDAL_DATA[1] = ["转生者", 2712, "转生时得到的灵魂印记转生时获得。"]
  32. end
  33. #==============================================================================
  34. # ■ Game_Party
  35. #==============================================================================
  36. class Game_Party
  37.   #--------------------------------------------------------------------------
  38.   # ● 公開インスタンス変数
  39.   #--------------------------------------------------------------------------
  40.   attr_reader   :medals                   # 獲得済みメダル
  41.   attr_reader   :new_medals               # 新規獲得メダル
  42.   attr_accessor :medal_info_count         # メダル情報表示カウント
  43.   attr_accessor :medal_info_opacity       # メダル情報表示不透明度
  44.   #--------------------------------------------------------------------------
  45.   # ● オブジェクト初期化
  46.   #--------------------------------------------------------------------------
  47.   alias tmmedal_game_party_initialize initialize
  48.   def initialize
  49.     tmmedal_game_party_initialize
  50.     @medals = []
  51.     @new_medals = []
  52.     @medal_info_count = 0
  53.     @medal_info_opacity = 0
  54.   end
  55.   #--------------------------------------------------------------------------
  56.   # ○ メダルの獲得
  57.   #--------------------------------------------------------------------------
  58.   def gain_medal(medal_id)
  59.     return if @medals.any? {|medal| medal[0] == medal_id }
  60.     t = Time.now.strftime(" (%Y/%m/%d %H:%M)")
  61.     @medals.push([medal_id, t])
  62.     @new_medals.push([medal_id, t])
  63.   end
  64.   #--------------------------------------------------------------------------
  65.   # ○ 獲得メダル情報の消去
  66.   #--------------------------------------------------------------------------
  67.   def delete_new_medal
  68.     @new_medals.shift
  69.   end
  70. end
  71. #==============================================================================
  72. # ■ Game_Interpreter
  73. #==============================================================================
  74. class Game_Interpreter
  75.   #--------------------------------------------------------------------------
  76.   # ○ メダルの獲得
  77.   #--------------------------------------------------------------------------
  78.   def gain_medal(medal_id)
  79.     $game_party.gain_medal(medal_id)
  80.   end
  81. end
  82. #==============================================================================
  83. # ■ Window_MenuCommand
  84. #==============================================================================
  85. class Window_MenuCommand
  86.   #--------------------------------------------------------------------------
  87.   # ● 独自コマンドの追加用
  88.   #--------------------------------------------------------------------------
  89.   alias tmmedal_window_menucommand_add_original_commands add_original_commands
  90.   def add_original_commands
  91.     tmmedal_window_menucommand_add_original_commands
  92.     unless TMMEDAL::HIDE_COMMAND && !medal_enabled
  93.       add_command(TMMEDAL::COMMAND_MEDAL, :medal, medal_enabled)
  94.     end
  95.   end
  96.   #--------------------------------------------------------------------------
  97.   # ○ メダルの有効状態を取得
  98.   #--------------------------------------------------------------------------
  99.   def medal_enabled
  100.     !$game_party.medals.empty?
  101.   end
  102. end
  103. #==============================================================================
  104. # □ Window_MedalInfo
  105. #==============================================================================
  106. class Window_MedalInfo < Window_Base
  107.   #--------------------------------------------------------------------------
  108.   # ● オブジェクト初期化
  109.   #--------------------------------------------------------------------------
  110.   def initialize
  111.     super(Graphics.width - window_width, 0, window_width, fitting_height(1))
  112.     self.opacity = 0
  113.     self.contents_opacity = $game_party.medal_info_opacity
  114.     refresh
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● ウィンドウ幅の取得
  118.   #--------------------------------------------------------------------------
  119.   def window_width
  120.     return 240
  121.   end
  122.   #--------------------------------------------------------------------------
  123.   # ● フレーム更新
  124.   #--------------------------------------------------------------------------
  125.   def update
  126.     super
  127.     if $game_party.medal_info_count > 0
  128.       self.contents_opacity += 16
  129.       $game_party.medal_info_count -= 1
  130.       $game_party.delete_new_medal if $game_party.medal_info_count == 0
  131.     else
  132.       self.contents_opacity -= 16
  133.       if self.contents_opacity == 0
  134.         open unless $game_party.new_medals.empty?
  135.       end
  136.     end
  137.     $game_party.medal_info_opacity = self.contents_opacity
  138.   end
  139.   #--------------------------------------------------------------------------
  140.   # ● ウィンドウを開く
  141.   #--------------------------------------------------------------------------
  142.   def open
  143.     refresh
  144.     TMMEDAL::SE_GAIN_MEDAL.play
  145.     $game_party.medal_info_count = 150
  146.     self.contents_opacity = 0
  147.     self
  148.   end
  149.   #--------------------------------------------------------------------------
  150.   # ○ リフレッシュ
  151.   #--------------------------------------------------------------------------
  152.   def refresh
  153.     contents.clear
  154.     unless $game_party.new_medals.empty?
  155.       draw_background(contents.rect)
  156.       medal = TMMEDAL::MEDAL_DATA[$game_party.new_medals[0][0]]
  157.       rect = contents.rect.clone
  158.       draw_icon(medal[1], rect.x, rect.y)
  159.       rect.x += 24
  160.       rect.width -= 24
  161.       draw_text(rect, medal[0])
  162.     end
  163.   end
  164.   #--------------------------------------------------------------------------
  165.   # ○ 背景の描画
  166.   #--------------------------------------------------------------------------
  167.   def draw_background(rect)
  168.     temp_rect = rect.clone
  169.     temp_rect.width /= 2
  170.     contents.gradient_fill_rect(temp_rect, back_color2, back_color1)
  171.     temp_rect.x = temp_rect.width
  172.     contents.gradient_fill_rect(temp_rect, back_color1, back_color2)
  173.   end
  174.   #--------------------------------------------------------------------------
  175.   # ○ 背景色 1 の取得
  176.   #--------------------------------------------------------------------------
  177.   def back_color1
  178.     Color.new(0, 0, 0, 192)
  179.   end
  180.   #--------------------------------------------------------------------------
  181.   # ○ 背景色 2 の取得
  182.   #--------------------------------------------------------------------------
  183.   def back_color2
  184.     Color.new(0, 0, 0, 0)
  185.   end
  186. end
  187. #==============================================================================
  188. # □ Window_Medal
  189. #==============================================================================
  190. class Window_Medal < Window_Selectable
  191.   #--------------------------------------------------------------------------
  192.   # ● オブジェクト初期化
  193.   #--------------------------------------------------------------------------
  194.   def initialize(x, y, width, height)
  195.     super
  196.     refresh
  197.     select(0)
  198.     activate
  199.   end
  200.   #--------------------------------------------------------------------------
  201.   # ● 桁数の取得
  202.   #--------------------------------------------------------------------------
  203.   def col_max
  204.     return 1
  205.   end
  206.   #--------------------------------------------------------------------------
  207.   # ● 項目数の取得
  208.   #--------------------------------------------------------------------------
  209.   def item_max
  210.     @data ? @data.size : 1
  211.   end
  212.   #--------------------------------------------------------------------------
  213.   # ● アイテムの取得
  214.   #--------------------------------------------------------------------------
  215.   def item
  216.     @data && index >= 0 ? @data[index] : nil
  217.   end
  218.   #--------------------------------------------------------------------------
  219.   # ● アイテムリストの作成
  220.   #--------------------------------------------------------------------------
  221.   def make_item_list
  222.     @data = $game_party.medals
  223.   end
  224.   #--------------------------------------------------------------------------
  225.   # ● 項目の描画
  226.   #--------------------------------------------------------------------------
  227.   def draw_item(index)
  228.     item = @data[index]
  229.     medal = TMMEDAL::MEDAL_DATA[item[0]]
  230.     rect = item_rect(index)
  231.     draw_icon(medal[1], rect.x, rect.y)
  232.     rect.x += 24
  233.     rect.width -= 216
  234.     draw_text(rect, medal[0])
  235.     rect.x = contents.width - 192
  236.     rect.width = 192
  237.     draw_text(rect, item[1], 2)
  238.   end
  239.   #--------------------------------------------------------------------------
  240.   # ● ヘルプテキスト更新
  241.   #--------------------------------------------------------------------------
  242.   def update_help
  243.     if item
  244.       medal = TMMEDAL::MEDAL_DATA[item[0]]
  245.       text = medal[2]
  246.       @help_window.set_text(text)
  247.     end
  248.   end
  249.   #--------------------------------------------------------------------------
  250.   # ● リフレッシュ
  251.   #--------------------------------------------------------------------------
  252.   def refresh
  253.     make_item_list
  254.     create_contents
  255.     draw_all_items
  256.   end
  257. end
  258. #==============================================================================
  259. # ■ Scene_Map
  260. #==============================================================================
  261. class Scene_Map
  262.   #--------------------------------------------------------------------------
  263.   # ● 全ウィンドウの作成
  264.   #--------------------------------------------------------------------------
  265.   alias tmmedal_scene_map_create_all_windows create_all_windows
  266.   def create_all_windows
  267.     tmmedal_scene_map_create_all_windows
  268.     create_medal_window
  269.   end
  270.   #--------------------------------------------------------------------------
  271.   # ○ メダルウィンドウの作成
  272.   #--------------------------------------------------------------------------
  273.   def create_medal_window
  274.     @medal_window = Window_MedalInfo.new
  275.   end
  276. end
  277. #==============================================================================
  278. # ■ Scene_Menu
  279. #==============================================================================
  280. class Scene_Menu
  281.   #--------------------------------------------------------------------------
  282.   # ● コマンドウィンドウの作成
  283.   #--------------------------------------------------------------------------
  284.   alias tmmedal_scene_menu_create_command_window create_command_window
  285.   def create_command_window
  286.     tmmedal_scene_menu_create_command_window
  287.     @command_window.set_handler(:medal, method(:command_medal))
  288.   end
  289.   #--------------------------------------------------------------------------
  290.   # ○ コマンド[メダル]
  291.   #--------------------------------------------------------------------------
  292.   def command_medal
  293.     SceneManager.call(Scene_Medal)
  294.   end
  295. end
  296. #==============================================================================
  297. # □ Scene_Medal
  298. #==============================================================================
  299. class Scene_Medal < Scene_MenuBase
  300.   #--------------------------------------------------------------------------
  301.   # ● 開始処理
  302.   #--------------------------------------------------------------------------
  303.   def start
  304.     super
  305.     create_help_window
  306.     create_item_window
  307.   end
  308.   #--------------------------------------------------------------------------
  309.   # ○ アイテムウィンドウの作成
  310.   #--------------------------------------------------------------------------
  311.   def create_item_window
  312.     wy = @help_window.height
  313.     wh = Graphics.height - wy
  314.     @item_window = Window_Medal.new(0, wy, Graphics.width, wh)
  315.     @item_window.viewport = @viewport
  316.     @item_window.help_window = @help_window
  317.     @item_window.set_handler(:cancel, method(:return_scene))
  318.   end
  319. end
复制代码

191544hn5zh4r4np5r3yrz.png (61 KB, 下载次数: 34)

191544hn5zh4r4np5r3yrz.png

1916016hhcsmzcmmsnkmzo.png (43.17 KB, 下载次数: 32)

1916016hhcsmzcmmsnkmzo.png





欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1