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

Project1

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

[已经解决] 分享一个复杂装备系统脚本 另其中一个脚本出错求解释

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-6
帖子
45
跳转到指定楼层
1
发表于 2012-9-13 04:54:04 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
version 1.00_83164938.rar (279.89 KB, 下载次数: 87)
其中当在菜单中点击装备按钮,进而点击某一件装备时,提示”魔力石·附加·描述“脚本提示62行出错,请问为什么?把该脚本删除后则不提示出错。求大神解释~
#------------------------------------------------------------------------------
#  装备画面、显示角色现在装备的物品的窗口。
#==============================================================================

class Window_EquipRight < Window_Selectable
  
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    text = ""
    unless self.item.nil?
      unless self.item.stone_record.empty?
        text = "附加"
        self.item.stone_record.each{|i| text += $data_items.name+" "}
      end
    end
    @help_window.set_text(self.item.nil? ? "" : (self.item.description + text))
  end
end
#==============================================================================
# ■ Window_EquipItem
#------------------------------------------------------------------------------
#  装备画面、显示浏览变更装备的候补物品的窗口。
#==============================================================================

class Window_EquipItem < Window_Selectable
  
  #--------------------------------------------------------------------------
  # ● 刷新帮助文本
  #--------------------------------------------------------------------------
  def update_help
    text = ""
    unless self.item.nil? and self.item.stone_record.empty?
      text = "附加"
      self.item.stone_record.each{|i| text += $data_items.name+" "}
    end
    @help_window.set_text(self.item.nil? ? "" : (self.item.description + text))
  end
end

Lv3.寻梦者

梦石
0
星屑
3593
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
6
发表于 2012-9-13 14:55:17 | 只看该作者
这个变量是用于CASE的分歧 可以自己改成1 或0  默认是1  所以魔力石 是区间判定 拿1来说
when 1 # 批量連續ID修改
      sdfa_b = 34 # 開始ID
      sdfa_e = 87 # 結束ID

就是 34号到 87号ID判定为魔力石
如果把变量改成0的话
@sxca_materia += [34,35,36,37]
      @sxca_materia += [46]
      @sxca_materia += [51,52,56,57,58,61,65]
魔力石 就是这些数组里的数字代表的ID 看你自己选择类型

评分

参与人数 1梦石 +2 收起 理由
hcm + 2 认可答案

查看全部评分

回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-6
帖子
45
5
 楼主| 发表于 2012-9-13 13:37:54 | 只看该作者
yagami 发表于 2012-9-13 12:59
你试试看这个1.11版

求问魔力石系统应该如何使用?在哪里修改id参数使得某一段内被认为是魔力石物品可以镶嵌而其他物品不能呢?
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-6
帖子
45
4
 楼主| 发表于 2012-9-13 13:09:48 | 只看该作者
yagami 发表于 2012-9-13 12:59
你试试看这个1.11版

唔。。。其实是一个东西 话说第一个问题凑巧解决了 求问第二个问题
回复

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
3593
在线时间
3065 小时
注册时间
2011-11-17
帖子
980
3
发表于 2012-9-13 12:59:01 | 只看该作者
version 1.11.rar (280.44 KB, 下载次数: 53) 你试试看这个1.11版
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
24 小时
注册时间
2012-9-6
帖子
45
2
 楼主| 发表于 2012-9-13 04:59:54 | 只看该作者
另有一个小问题求助,在脚本魔力石基本定义中,在materia_set中修改id的开始值和结束值,是不是代表着物品编号位于这两者之间的被默认为魔力石,可以进行镶嵌操作而其他的物品功能照旧?有一个case语句,请问为何有when 0这个东西呢,前面明明指定了变量为1的。。。
=begin
==============================================================================
使用方法及注意事項:
1.在物品道欄中設定魔力石
   (消耗、分散度、命中率統統沒有用)<-保留改造的空間

2.分散度=atk_附加量, 能力值 & 上昇量=str/dex/agi/int_附加量,
  物理防禦=pdef_附加量,物魔法防禦=mdef_附加量,
    hp 回復量 =hp_附加量, sp回復量 =sp_附加量

  效果範圍=添加位置:無=任意,敵單體=武器,敵全體=盾,我方單體=頭
                      我方全體=身體,我方單體(HP0)=裝飾


3.屬性附加=武器之屬性攻擊 & 裝備之屬性防禦

4.狀態+=武器之攻擊狀態附加 & 裝備之狀態防禦附加

5.狀態-=武器之自動狀態 & 裝備之自動狀態(裝備原本之自動狀態仍然能够使用)

6.請在Materia_Set當中先設定魔力石的id,否則不會顯示(或者自己重新寫一個窗口)

7.默認的開啓方法是在事件的腳本當中寫入「$scene = Materia_Shop.new」
  或者「$scene = Materia_Shop_Plus.new」單獨開啓添加窗口
  或者「$scene = Materia_Shop_Minus.new」單獨開啓减少窗口

8.引用請保留作者信息

9.以下變量用於防止泄露不想顯示之武器、物品、裝備之特殊狀態以及屬性
  @forbident_elements = []
  @forbident_states = []

10.衝突或者bug不知道

11.修改了內部注釋,可信度上昇;添加了添加位置的設定;添加了其他界面的描述修正
   修改了少量bug,修改了存檔後裝備消失的問題

12.特殊狀態附帶特殊技能機制

13.有不明白請看範例中「物品->魔力石」的設置

14.斯版本爲1.4(以前版本無人問津T.T)

==============================================================================
=end
#==============================================================================
# ■ Materia_Set
#------------------------------------------------------------------------------
#  設定魔力石的id(主界面Plus用)
#==============================================================================
class Materia_Set
  def initialize
    @sxca_materia = []
    #-----------------------------------------------------------------------
    # ● 批量修改開關
    # 0爲凌散修改,1爲批量連續ID修改
    #-----------------------------------------------------------------------
    sxca_control = 1
    case sxca_control
    when 0 # 凌散ID修改
      @sxca_materia += [34,35,36,37]
      @sxca_materia += [46]
      @sxca_materia += [51,52,56,57,58,61,65]
    when 1 # 批量連續ID修改
      sdfa_b = 34 # 開始ID
      sdfa_e = 87 # 結束ID
      for i in sdfa_b..sdfa_e
        @sxca_materia.push(i)
      end
    end
    # 禁止顯示的屬性(幫助用)
    @forbident_elements = [17,18]
    # 禁止顯示的狀態(幫助用)
    @forbident_states = []
    for i in 17..36
      @forbident_states.push(i)
    end
    return
  end
  attr_reader :sxca_materia
  attr_reader :forbident_elements
  attr_reader :forbident_states
end
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-11 18:43

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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