设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 1651|回复: 1
打印 上一主题 下一主题

[已经解决] 萌新求大神把喵呜喵5的高价回收物品的商店脚本加个交谈...

[复制链接]

Lv1.梦旅人

梦石
0
星屑
164
在线时间
1748 小时
注册时间
2012-1-24
帖子
177
跳转到指定楼层
1
发表于 2015-10-21 21:27:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 1561496327 于 2015-10-22 15:07 编辑

喵呜喵5的高价回收物品的商店脚本
萌新求大神把喵呜喵5的高价回收物品的商店脚本加个交谈选项,就是和下面的脚本效果差不多
RUBY 代码复制下载
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Window_ShopCommand
  4. #------------------------------------------------------------------------------
  5. #  商店画面中,选择买入/卖出的窗口。
  6. #==============================================================================
  7.  
  8. class Window_ShopCommand < Window_HorzCommand
  9.   #↓ =================== ↓#
  10.   TALK_FLAG = 85         # 用于对话后选择项位置的重置,参考范例中的【开关2】
  11.   TALK_DISP = "交谈"    # 用于交谈功能显示在商店菜单中的文字
  12.   #↑ =================== ↑#
  13.   #--------------------------------------------------------------------------
  14.   # ● 初始化对象
  15.   #--------------------------------------------------------------------------
  16.   def initialize(window_width, purchase_only)
  17.     @window_width = window_width
  18.     @purchase_only = purchase_only
  19.     super(0, 0)
  20.     self.index = 2 if $game_switches[TALK_FLAG] == true
  21.   end
  22.   #--------------------------------------------------------------------------
  23.   # ● 获取列数
  24.   #--------------------------------------------------------------------------
  25.   def col_max
  26.     return 4
  27.   end
  28.   #--------------------------------------------------------------------------
  29.   # ● 生成指令列表
  30.   #--------------------------------------------------------------------------
  31.   def make_command_list
  32.     add_command(Vocab::ShopBuy,    :buy)
  33.     add_command(Vocab::ShopSell,   :sell,   !@purchase_only)
  34.     add_command(TALK_DISP,         :talk)
  35.     add_command(Vocab::ShopCancel, :cancel)
  36.   end
  37. end

RUBY 代码复制下载
  1. #encoding:utf-8
  2. #==============================================================================
  3. # ■ Scene_Shop
  4. #------------------------------------------------------------------------------
  5. #  商店画面
  6. #==============================================================================
  7.  
  8. class Scene_Shop < Scene_MenuBase
  9.   #↓ =================== ↓#
  10.   TALK_SWITCH = 84
  11.   # 开关编号,根据此开关在事件中设置是显示对话还是直接跳出循环。参考范例中的【开关1】
  12.  
  13.   ALL_Tr = false
  14.   # 全体窗口透明开关,true为全部透明,方便自己制作合适的背景。
  15.  
  16.   # 在事件中调用脚本,内容为:
  17.   #   ---------------------------------
  18.   #   $TALK_TITLE = "请问您需要什么?"
  19.   #   $TALK_BACK = "shopback_001"
  20.   #   ---------------------------------
  21.   #   $TALK_TITLE——进入商店界面后显示的文字,通过全局变量传递。
  22.   #   $TALK_BACK ——进入商店界面后显示的背景立绘图。
  23.   #↑ =================== ↑#
  24.   #--------------------------------------------------------------------------
  25.   # ● 开始处理
  26.   #--------------------------------------------------------------------------
  27.   def start
  28.     super
  29.     create_help_window
  30.     create_gold_window
  31.     create_command_window
  32.     create_dummy_window
  33.     create_number_window
  34.     create_status_window
  35.     create_buy_window
  36.     create_category_window
  37.     create_sell_window
  38.     transparent_all if ALL_Tr
  39.     @help_window.y = Graphics.height - @help_window.height
  40.     @help_window.set_text($TALK_TITLE)
  41.     @back_sprite = Sprite.new(@viewport)
  42.     @back_sprite.bitmap = Cache.picture($TALK_BACK)
  43.   end
  44.   #--------------------------------------------------------------------------
  45.   # ● 使所有窗口透明
  46.   #--------------------------------------------------------------------------
  47.   def transparent_all
  48.     instance_variables.each do |varname|
  49.       ivar = instance_variable_get(varname)
  50.       ivar.opacity = 0 if ivar.is_a?(Window)
  51.     end
  52.   end
  53.   #--------------------------------------------------------------------------
  54.   # ● 释放所有窗口
  55.   #--------------------------------------------------------------------------
  56.   def dispose_all_windows
  57.     super
  58.     @back_sprite.bitmap.dispose
  59.     @back_sprite.dispose
  60.   end
  61.   #--------------------------------------------------------------------------
  62.   # ● 生成金钱窗口
  63.   #--------------------------------------------------------------------------
  64.   def create_gold_window
  65.     @gold_window = Window_Gold.new
  66.     @gold_window.viewport = @viewport
  67.   end
  68.   #--------------------------------------------------------------------------
  69.   # ● 生成指令窗口
  70.   #--------------------------------------------------------------------------
  71.   def create_command_window
  72.     @command_window = Window_ShopCommand.new(Graphics.width - @gold_window.width, @purchase_only)
  73.     @command_window.viewport = @viewport
  74.     @command_window.x = @gold_window.width
  75.     @command_window.set_handler(:buy,    method(:command_buy))
  76.     @command_window.set_handler(:sell,   method(:command_sell))
  77.     @command_window.set_handler(:talk,   method(:command_talk))
  78.     @command_window.set_handler(:cancel, method(:return_scene))
  79.   end
  80.   #--------------------------------------------------------------------------
  81.   # ● 生成填充窗口
  82.   #--------------------------------------------------------------------------
  83.   def create_dummy_window
  84.     wy = @command_window.y + @command_window.height
  85.     wh = Graphics.height - wy - @help_window.height
  86.     @dummy_window = Window_Base.new(0, wy, Graphics.width, wh)
  87.     @dummy_window.viewport = @viewport
  88.     @dummy_window.hide
  89.   end
  90.   #--------------------------------------------------------------------------
  91.   # ● 生成数值输入窗口
  92.   #--------------------------------------------------------------------------
  93.   def create_number_window
  94.     wy = @dummy_window.y
  95.     wh = @dummy_window.height
  96.     @number_window = Window_ShopNumber.new(0, wy, wh)
  97.     @number_window.viewport = @viewport
  98.     @number_window.hide
  99.     @number_window.set_handler(:ok,     method(:on_number_ok))
  100.     @number_window.set_handler(:cancel, method(:on_number_cancel))
  101.   end
  102.   #--------------------------------------------------------------------------
  103.   # ● 生成卖出窗口
  104.   #--------------------------------------------------------------------------
  105.   def create_sell_window
  106.     wy = @category_window.y + @category_window.height
  107.     wh = Graphics.height - wy - @help_window.height
  108.     @sell_window = Window_ShopSell.new(0, wy, Graphics.width, wh)
  109.     @sell_window.viewport = @viewport
  110.     @sell_window.help_window = @help_window
  111.     @sell_window.hide
  112.     @sell_window.set_handler(:ok,     method(:on_sell_ok))
  113.     @sell_window.set_handler(:cancel, method(:on_sell_cancel))
  114.     @category_window.item_window = @sell_window
  115.   end
  116.   #--------------------------------------------------------------------------
  117.   # ● 指令“交谈”
  118.   #--------------------------------------------------------------------------
  119.   def command_talk
  120.     $game_switches[TALK_SWITCH] = true
  121.     $game_map.need_refresh = true
  122.     return_scene
  123.   end
  124.   #--------------------------------------------------------------------------
  125.   # ● 买入“取消”
  126.   #--------------------------------------------------------------------------
  127.   def on_buy_cancel
  128.     @command_window.activate
  129.     @buy_window.hide
  130.     @status_window.hide
  131.     @status_window.item = nil
  132.     @help_window.clear
  133.     @help_window.set_text($TALK_TITLE)
  134.   end
  135.   #--------------------------------------------------------------------------
  136.   # ● 分类“取消”
  137.   #--------------------------------------------------------------------------
  138.   def on_category_cancel
  139.     @command_window.activate
  140.     @category_window.hide
  141.     @sell_window.hide
  142.     @help_window.set_text($TALK_TITLE)
  143.   end
  144. end

顺便安利一下ShareX这个软件,看多久才会有人解决这个问题

等待,可能会完成,大概吧。
我就一TM傻逼

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
22229
在线时间
9465 小时
注册时间
2012-6-19
帖子
7125

开拓者短篇九导演组冠军

2
发表于 2015-10-22 08:13:08 | 只看该作者
本帖最后由 喵呜喵5 于 2015-10-22 14:05 编辑

未测试:
喵呜喵5高价回收物品的商店脚本已更新,最新版的脚本直接把你给的第一段代码中第20行
  1. self.index = 2 if $game_switches[TALK_FLAG] == true
复制代码
改成
  1. select_symbol(:talk) if $game_switches[TALK_FLAG]
复制代码
即可兼容

点评

还装的萌萌哒  发表于 2015-10-22 11:49
你不就是喵呜喵吗= =  发表于 2015-10-22 11:48

评分

参与人数 2星屑 +30 梦石 +1 收起 理由
taroxd + 1 认可答案
1561496327 + 30 伟大的人!我要赞美你!

查看全部评分

回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-9-15 01:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表