查看: 2405|回复: 9

[已经解决] 如何进一步扩展装备选择处理,例如仅列出有特定特征的?

[复制链接]
梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
发表于 2014-10-10 22:29:22 | 显示全部楼层 |阅读模式

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

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

×
用了物品选择处理扩张的脚本(作者:影月千秋)

想在进行武器/防具选择的时候不列出全部,仅列出符合特定特征的(如装备图标id为168啦,装备价格在10000以上啦,武器or护甲类型是xxxx等等)

拜托了……土下座。

点评

抱歉,今天临时有点事,明天给你……  发表于 2014-10-14 21:15
脚本基本已经完成,明天给你吧。  发表于 2014-10-13 21:57

卑微的梦

梦石
0
星屑
547
在线时间
820 小时
注册时间
2013-2-23
回帖
1121

短篇九勇士组季军

发表于 2014-10-10 22:45:04 | 显示全部楼层
把影月的脚本放上来我看看

点评

orz%没事,不介意的啦。毕竟是你在帮我。  发表于 2014-10-14 21:24
没关系的-w-也不是很急。  发表于 2014-10-11 13:43
只能试试看,最近在写系统,可能要延期啥的  发表于 2014-10-11 13:29
于是有劳子弹君了……  发表于 2014-10-11 13:01
嗯,子弹去帮楼主写一个吧。  发表于 2014-10-11 12:18
回复

使用道具 举报

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
 楼主| 发表于 2014-10-11 11:48:17 | 显示全部楼层
子弹君 发表于 2014-10-10 22:45
把影月的脚本放上来我看看

[pre lang="ruby" line="1"]#==============================================================================
# ■ 物品选择处理扩张
#  作者:影月千秋
#------------------------------------------------------------------------------
# ● 简介
#  使事件中物品选择处理允许选择武器、防具、普通物品
#------------------------------------------------------------------------------
# ● 使用方法
#  安装此脚本后,在事件中物品选择处理之前加上一句脚本:
#    mca_change(symbol)
#  其中symbol是【:item】【:armor】【:weapon】之一,分别对应物品、防具、武器
#  这样的话,这一个物品选择处理就会处理对应项目
#  但是注意!!该脚本的作用域只有一个物品选择处理
#  如果连续使用两个物品选择处理,第一个会是对应项目,第二个则会是关键物品
#------------------------------------------------------------------------------
# ● 声明
#   本脚本来自【影月千秋】,使用、修改和转载请保留此信息
#==============================================================================
module MoVar;@ckiaddition = :key_item;end
class Game_Interpreter;def mca_change(symbol)
  MoVar.instance_variable_set("@ckiaddition", symbol)
end;end
class Window_KeyItem
  def enable?(item);true;end
  def category=(category)
    @category = MoVar.instance_variable_get("@ckiaddition") rescue category
    MoVar.instance_variable_set("@ckiaddition", category)
    refresh
    self.oy = 0
  end
end
#==============================================================================#
#=====                        =================================================#
           "■ 脚 本 尾"
#=====                        =================================================#
#==============================================================================#[/pre]
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2014-10-11 12:49:55 | 显示全部楼层
没记错的话,重写 include? 方法应该就可以了


@子弹君  不写个玩玩嘛
回复

使用道具 举报

卑微的梦

梦石
0
星屑
547
在线时间
820 小时
注册时间
2013-2-23
回帖
1121

短篇九勇士组季军

发表于 2014-10-15 18:37:29 | 显示全部楼层
888000 发表于 2014-10-11 11:48
#==============================================================================
# ■ 物品选择处理 ...


[pre lang="ruby" line="1"]#==============================================================================
#  物品选择扩张  by 子弹君
#==============================================================================
#  使用说明:
#    在事件中使用指令,
#    变量XXX = 脚本 :item
#    脚本指令分别有 :item :weapon :armor :key_item
#    指令使用一次之后就会自动还原成贵重物品选择,需要再设定一次。
#  脚本设置说明:
#    ITEMKEY那个开关如果打开的话就会和物品大于多少价格出现冲突,方法可以有多种,或者
#    直接到XX行将那一段屏蔽了。
#==============================================================================
$BombScript ||= {};$BombScript["物品选择扩张 "] = "物品选择扩张20141014"
#==============================================================================
#  设定部分
#==============================================================================
module BOMB
    KEYVAR = 1
#   设置一个变量。
    ITEMKEY = 2
#   设置一个开关,开关开启时,选择物品为默认设置。   
    ITEMPRI = 10000
#   设置物品的价格,只有大于这个价格的才能出现。
    WEAPRI = 10000
#   设置武器的价格,只有大于这个价格的才能出现。
    ARMPRI = 10000
#   设置防具的价格,只有大于这个价格的才能出现。
    WEAYP = 1
#   设置武器的类型,只有是这个类型的才能出现。
    ARMYP = 1
#   设置防具的类型,只有是这个类型的才能出现。
end

class Window_KeyItem < Window_ItemList
  #--------------------------------------------------------------------------
  # ● 开始输入的处理
  #--------------------------------------------------------------------------
  def start
    unless $game_variables[BOMB::KEYVAR] == :null
      self.category = $game_variables[BOMB::KEYVAR]
      $game_variables[BOMB::KEYVAR] = :null
    else
      self.category = :key_item
    end
    update_placement
    refresh
    select(0)
    open
    activate
  end
end
class Window_ItemList < Window_Selectable
  #--------------------------------------------------------------------------
  # ● 查询列表中是否含有此物品
  #--------------------------------------------------------------------------
  def include?(item)
    case @category
    when :item
      item.is_a?(RPG::Item) && item.price > BOMB::ITEMPRI
      item.is_a?(RPG::Item) && !item.key_item? if
      $game_switches[BOMB::ITEMKEY]
    when :weapon
      item.is_a?(RPG::Weapon) && item.price > BOMB::WEAPRI
      item.is_a?(RPG::Weapon) && item.wtype_id == BOMB::WEAYP
    when :armor
      item.is_a?(RPG::Armor) && item.price > BOMB::ARMPRI
      item.is_a?(RPG::Armor) && item.wtype_id == BOMB::ARMYP
    when :key_item
      item.is_a?(RPG::Item) && item.key_item?
    else
      false
    end
  end
end[/pre]

点评

你自己试着改改看?我最近没空。。  发表于 2014-10-27 12:36
0 0变量版有意做么,没有的话就结贴吧-w-  发表于 2014-10-26 19:56
不过我貌似只弄了物品的有开关限制= =  发表于 2014-10-15 20:43
恩,一打开那些限制就没用了  发表于 2014-10-15 20:42
啊……好像是我自己误解了……默认设置指的是忽视接下来的一堆限制的吧……  发表于 2014-10-15 20:40

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 塞糖

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
 楼主| 发表于 2014-10-15 20:46:12 | 显示全部楼层
子弹君 发表于 2014-10-15 18:37
#==============================================================================
#  物品选择扩张   ...


虽然有点贪婪……但把这个设置的数值改为另一个变量来决定可以么?
(这样的话,在使用中的灵活性就会非常高了吧……)
如”设置一个变量,只有武器的价格大于这个变量的数值才能出现“这种样子……
啊,因为是比较贪婪的请求所以拒绝也没关系的。

点评

= =弓箭手么么哒  发表于 2014-10-16 12:32
那里难了啊?把你做价格的常量改成变量不就好了。  发表于 2014-10-16 00:21
略难啊……只能试试看(其实我对这次写的也不满意  发表于 2014-10-15 20:48
回复

使用道具 举报

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
 楼主| 发表于 2014-10-17 13:45:58 | 显示全部楼层
888000 发表于 2014-10-15 20:46
虽然有点贪婪……但把这个设置的数值改为另一个变量来决定可以么?
(这样的话,在使用中的灵活性就会非 ...

@子弹君    @VIPArcher   0 0有把常量改成变量的方法么……直接在设置数值的地方写变量的话似乎会报错……

点评

是说把常量改成用变量,不是直接在设置数值的地方写变量。  发表于 2014-10-17 22:30
回复

使用道具 举报

梦石
0
星屑
9292
在线时间
2504 小时
注册时间
2011-5-20
回帖
14521

开拓者

发表于 2014-10-17 22:26:22 | 显示全部楼层
888000 发表于 2014-10-16 20:45
@子弹君    @VIPArcher   0 0有把常量改成变量的方法么……直接在设置数值的地方写变量的话似乎会报错… ...

不会报错吧?你是怎么写的···
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复

使用道具 举报

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
 楼主| 发表于 2014-10-18 22:20:00 | 显示全部楼层
chd114 发表于 2014-10-17 22:26
不会报错吧?你是怎么写的···


直接在设置数值的地方写了变量(于是妥妥报错)……不知道怎么把常量改成用变量orz
回复

使用道具 举报

梦石
0
星屑
50
在线时间
178 小时
注册时间
2011-2-6
回帖
41
 楼主| 发表于 2014-10-20 21:58:25 | 显示全部楼层
本帖最后由 888000 于 2014-10-20 22:00 编辑

@VIPArcher
@子弹君
脚本盲终于还是哭瞎了……可以帮忙把常量改成用变量么(拜托了)

点评

自己多试试的话对你学脚本会有帮助,实在不懂再说吧。(话说你的艾特没成功  发表于 2014-10-26 22:18
在include?方法里把BOMB::WEAPRI一类的东西改成$game_variables[变量ID]啥的。具体做法可以参考我的组群里的各种脚本或者其他人的一些脚本的做法。  发表于 2014-10-26 22:16
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部