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

Project1

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

[已经解决] 关于装备和道具的三个问题……

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7942
在线时间
958 小时
注册时间
2015-2-10
帖子
248
跳转到指定楼层
1
发表于 2017-4-15 19:47:44 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
那么,我就不多废话直接问了……
①如何设定使每个角色的4号和5号装备栏都变成饰品栏?只要是饰品类的装备都能装备在4号或5号栏?
②如何设定某些道具只有在装备了某个特定的装备后才能使用?(其实是和①的问题一起的,就是在4号或5号装备栏装备特定饰品才能使用某些道具,并且若因没有装备相应饰品而无法使用的道具不会在战斗中的物品栏里显示)
③如何记录玩家此时所持有的道具,且之后可以用一些办法将玩家现在持有的道具还原成之前所记录的?(最好这个还原的指令能在战斗中也可以用)
虽然有三个问题,但希望至少能解决其中一两题的大神也来帮一下忙啊!我会万分感谢的!

Lv4.逐梦者

梦石
0
星屑
7942
在线时间
958 小时
注册时间
2015-2-10
帖子
248
8
 楼主| 发表于 2017-4-23 17:14:53 | 只看该作者
③我已经找到解决方法了,谢了。
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7942
在线时间
958 小时
注册时间
2015-2-10
帖子
248
7
 楼主| 发表于 2017-4-22 14:05:24 | 只看该作者
魔法丶小肉包 发表于 2017-4-15 20:28
1.
class Game_Actor < Game_Battler
  def equip_slots

③的问题有办法解决吗?
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7942
在线时间
958 小时
注册时间
2015-2-10
帖子
248
6
 楼主| 发表于 2017-4-16 21:37:01 | 只看该作者
芯☆淡茹水 发表于 2017-4-16 21:19
LZ的问题2还是比较麻烦的啊,他要求是判断单个人,不是整个队伍。
比如 1号物品需装备1号防具。那么A装备 ...

哈希表是什么?怎么设置?
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33440
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

5
发表于 2017-4-16 21:19:01 | 只看该作者
魔法丶小肉包 发表于 2017-4-16 20:37
注释上应该写明白了,根据自己的需要去改
class Game_BattlerBase
  ITEM1 = [1,2] #1,2号物品


LZ的问题2还是比较麻烦的啊,他要求是判断单个人,不是整个队伍。
比如 1号物品需装备1号防具。那么A装备了1号防具,能使用1号物品,而B没有装备1号防具,就不能使用1号物品。 简单点就用哈希表设置关系 {1=>1,2=>1,.....20=>1,..... },虽然麻烦点,等LZ慢慢去设置吧。

那么,这个只是装备限制判断
def equip_limit(item)
  return true unless  hash.keys.include?(item.id)
  return item_ok?(item.id)
end

角色的装备限制判断
def item_ok?(item_id)
  equip_id = hash[item_id]
  return armors.include?($data_armors[equip_id])
end

如果再加上武器,还要更麻烦一点,,,这句话当我没说。

点评

这样的话好像还是判断所有成员的吧,而且只要有一个角色没有装备指定装备的话所有角色就都不能使用这个物品了...  发表于 2017-4-16 22:47
xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

4
发表于 2017-4-16 20:37:38 | 只看该作者
注释上应该写明白了,根据自己的需要去改
RUBY 代码复制
  1. class Game_BattlerBase
  2.   ITEM1 = [1,2] #1,2号物品
  3.   ITEM2 = [3,4] #3,4号物品
  4.   def item_conditions_met?(item)
  5.     if ITEM1.include?(item.id)
  6.       item_ok?($data_armors[1]) && usable_item_conditions_met?(item) && $game_party.has_item?(item) #只有在装备了1号防具时才能使用
  7.     elsif ITEM2.include?(item.id)
  8.       item_ok?($data_armors[2]) && usable_item_conditions_met?(item) && $game_party.has_item?(item) #只有在装备了2号防具时才能使用
  9.     else
  10.       usable_item_conditions_met?(item) && $game_party.has_item?(item)
  11.     end
  12.   end
  13.   def item_ok?(item)
  14.     return true
  15.   end
  16. end
  17. class Game_Actor < Game_Battler
  18.   def item_ok?(item)
  19.     return true if $game_party.members_equip_include?(item)
  20.     return false
  21.   end
  22. end
笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
7942
在线时间
958 小时
注册时间
2015-2-10
帖子
248
3
 楼主| 发表于 2017-4-16 17:15:31 | 只看该作者
本帖最后由 fbeds 于 2017-4-16 17:26 编辑
魔法丶小肉包 发表于 2017-4-15 20:28
1.
class Game_Actor < Game_Battler
  def equip_slots


②的脚本怎么用啊……而且你设定的貌似是单个道具的?我想设定一下多个道具对应不同装备的啊,比如1~20号道具只有装备1号防具才能用,21~50号要装备2号防具……以此类似,就是这样……

点评

第3行设定几号道具,1就是1号道具,第4行设定防具的ID,1就是1号防具,也就是说默认设定的是只有装备了1号防具才能使用1号物品  发表于 2017-4-16 20:18
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
6260
在线时间
1481 小时
注册时间
2015-7-25
帖子
652

开拓者

2
发表于 2017-4-15 20:28:04 | 只看该作者
本帖最后由 魔法丶小肉包 于 2017-4-16 09:53 编辑

1.
RUBY 代码复制
  1. class Game_Actor < Game_Battler
  2.   def equip_slots
  3.     return [0,0,2,4,4] if dual_wield?
  4.     return [0,1,2,4,4]
  5.   end
  6. end


2.
RUBY 代码复制
  1. class Game_BattlerBase
  2.   def item_conditions_met?(item)
  3.     if item.id == 1
  4.       item_ok?($data_armors[1]) && usable_item_conditions_met?(item) && $game_party.has_item?(item)
  5.     else
  6.       usable_item_conditions_met?(item) && $game_party.has_item?(item)
  7.     end
  8.   end
  9.   def item_ok?(item)
  10.     return true
  11.   end
  12. end
  13. class Game_Actor < Game_Battler
  14.   def item_ok?(item)
  15.     return true if $game_party.members_equip_include?(item)
  16.     return false
  17.   end
  18. end

评分

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

查看全部评分

笨肉包的首款像素OC游戏《花城梦之心》尝试制作中~
目前的坑 【不可思议的迷宫】幽灵契约外传:歌莉娅
持续更新中~ 当前进度 v0.28
大版本更新时才会更新网盘文件,预计下次大版本更新:v0.30
完成度:
主线 15% 支线 0% 数据库 6% 系统 86% 美术 6%
两边同时填坑~
( 这里是笨肉包~专修魔法!目标是大魔法师!
( 坑太大啦,一个人填不完啦hhh 一定会填完的嗯...
( 每天都和bug们比试魔力~吾之魔法将扫平一切!
( 弱点是美术,魔法修行之余再补补课吧~
( 哼哼哼~这便是魔法的力量!
大家都离开啦,笨肉包也不知道还能坚持多久呀...
这是属于笨肉包一个人的旅行(再见了...蚊子湯,七重酱,笨肉包永远想你们!TwT
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 10:39

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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