查看: 2253|回复: 3

[已经解决] 求教商店处理如何用脚本实现

[复制链接]
梦石
0
星屑
28
在线时间
2 小时
注册时间
2022-7-13
回帖
1
发表于 2022-7-16 19:53:19 | 显示全部楼层 |阅读模式

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

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

×
想知道商店处理的商品列表如何用脚本指定
梦石
24
星屑
8942
在线时间
248 小时
注册时间
2020-12-4
回帖
259

极短24获奖极短23获奖极短22获奖

发表于 2022-7-17 22:38:58 | 显示全部楼层
本帖最后由 纯属小虫 于 2022-7-18 00:38 编辑

所有跟【事件指令】相关的定义都在 Interpreter 类里。

[fold=【商店处理】在 command_302 里][pre lang="ruby"]  #--------------------------------------------------------------------------
  # ● 商店的处理
  #--------------------------------------------------------------------------
  def command_302
    # 设置战斗中断标志
    $game_temp.battle_abort = true
    # 设置商店调用标志
    $game_temp.shop_calling = true
    # 设置商品列表的新项目
    $game_temp.shop_goods = [@parameters]    #》》》》这一行是导入商品列表
    # 循环
    loop do
      # 推进索引
      @index += 1
      # 下一个事件命令在商店两行以上的情况下
      if @list[@index].code == 605
        # 在商品列表中添加新项目
        $game_temp.shop_goods.push(@list[@index].parameters)
      # 事件命令不在商店两行以上的情况下
      else
        # 技术
        return false
      end
    end
  end[/pre][/fold]
如果要在【事件】的【脚本】里唤出商店的话,用command_302 就能唤出

要用脚本自定义列表的话,就得修改这个变量
@parameters = [[物品类型,物品ID], [物品类型,物品ID],[物品类型,物品ID],...]  

但是,@parameters这个变量不知为何,没法赋值......可能被初始化了吧?

那干脆再重新做一个命令吧

[pre lang="ruby"]# 插入main之前
class Interpreter
  #--------------------------------------------------------------------------
  # ● 商店的处理_Pro
  #--------------------------------------------------------------------------
  def command_302_pro(a)
    # 设置战斗中断标志
    $game_temp.battle_abort = true
    # 设置商店调用标志
    $game_temp.shop_calling = true
    # 设置商品列表的新项目
    $game_temp.shop_goods = a
  end
end

=begin
在事件脚本中使用方法如下

a = [[0,1]]             >> 第一件物品
a += [[2,1]]            >> 第二件物品
command_302_pro(a)

=end[/pre]
回复

使用道具 举报

梦石
0
星屑
4756
在线时间
389 小时
注册时间
2012-11-8
回帖
235
发表于 2022-7-18 09:34:03 | 显示全部楼层
  1. # 设置战斗中断标志
  2.     $game_temp.battle_abort = true
  3.     # 设置商店调用标志
  4.     $game_temp.shop_calling = true
  5.     # 设置商品列表的新项目
  6.     $game_temp.shop_goods = [[a,b],[c,d],[e,f]]
  7.     $scene = Scene_Shop.new
复制代码

其中$game_temp.shop_goods = [[a,b],[c,d],[e,f]]中,商品为[a,b]、[c,d]、[e,f]。格式为[商品类型,商品ID]
商品类型0--物品,1--武器,2--防具

评分

参与人数 1星屑 +50 收起 理由
RyanBern + 50 认可答案

查看全部评分

回复 2 0

使用道具 举报

梦石
0
星屑
28
在线时间
2 小时
注册时间
2022-7-13
回帖
1
 楼主| 发表于 2022-7-21 17:10:35 | 显示全部楼层
qq634488405 发表于 2022-7-18 09:34
其中$game_temp.shop_goods = [[a,b],[c,d],[e,f]]中,商品为[a,b]、[c,d]、[e,f]。格式为[商品类型,商品I ...

感谢大佬!
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部