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

Project1

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

[已经解决] 请教各位如何获取道具的使用目标

[复制链接]

Lv1.梦旅人

梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
帖子
216
跳转到指定楼层
1
发表于 2014-3-29 11:06:43 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 timiesea 于 2014-3-30 10:39 编辑

游戏中有一个道具:技能书。这个技能书可以遗忘旧的技能并且学习新的技能。

学习新的技能比较简单:


但是遗忘技能就比较困难了,因为在预设里面只有学习没有遗忘,而且也似乎没有简单的办法来知道是谁被使用了道具。

目前我暂时采取状态法加上少量的脚本达到效果:使用物品附加状态,然后执行公共事件。


不过我总感觉这个方法不是很效率,大家有没有别的更好的方法?
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

4
发表于 2014-3-29 13:43:55 | 只看该作者
  1. =begin
  2. ===============================================================================
  3.   能够遗忘技能的道具 By喵呜喵5
  4. ===============================================================================

  5. 【说明】

  6.   在道具的备注中加入:
  7.   
  8.   “遗忘技能 = 技能的ID”
  9.   
  10.   (不包括双引号),
  11.   使用这个道具时道具的使用者就能遗忘指定的技能
  12.   
  13.   这个脚本需要搭配
  14.   《读取备注栏脚本》(http://rpg.blue/thread-99474-1-1.html)一起共同使用
  15.   
  16. =end
  17. $m5script = {} if $m5script.nil?
  18. $m5script["M5ForgetSkill"] = true
  19. module M5ForgetSkill
  20. #==============================================================================
  21. # 设定部分
  22. #==============================================================================
  23.   
  24.   LIMIT = true  # true / false
  25.   
  26.   #设置为false的情况下,只有物品的使用者掌握有需要遗忘技能的时候遗忘道具才有用
  27.   #(否则如果遗忘道具没有其他效果(恢复HP、执行公共事件……)时无法使用)
  28.   
  29. #==============================================================================
  30. # 设定结束
  31. #==============================================================================
  32. #==============================================================================
  33. # 脚本部分
  34. #==============================================================================
  35. end
  36. class Game_Battler  
  37.   alias m5_20140329_valid? item_has_any_valid_effects?
  38.   def item_has_any_valid_effects?(user, item)
  39.     m5_20140329_valid?(user, item) || m5_forget_skill?(user,item)
  40.   end
  41.   def m5_forget_skill?(user,item)
  42.     for_skill = $data_items[item.id].read_note('遗忘技能')   
  43.     return false if !for_skill || !actor?
  44.     return true if M5ForgetSkill::LIMIT
  45.     return true if skills.include?($data_skills[for_skill])
  46.     false
  47.   end
  48.   def m5_item_effect_forget_skill(user, skill_id)
  49.     forget_skill(skill_id) if actor?
  50.     @result.success = true
  51.   end  
  52.   alias m5_20140329_item_user_effect item_user_effect
  53.   def item_user_effect(user, item)   
  54.     if (skill_id = $data_items[item.id].read_note('遗忘技能'))
  55.       m5_item_effect_forget_skill(user, skill_id)
  56.     end
  57.     m5_20140329_item_user_effect(user, item)
  58.   end
  59. end
复制代码

点评

真是太感谢了。  发表于 2014-3-29 15:53

评分

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

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
105
在线时间
297 小时
注册时间
2009-1-7
帖子
216
3
 楼主| 发表于 2014-3-29 13:19:51 | 只看该作者
taroxd 发表于 2014-3-29 12:21
既然会用脚本就不要靠公共事件,用纯脚本解决吧

我讨厌脚本!不过确实有趣!

点评

我写一个给你吧,马上就完成了……  发表于 2014-3-29 13:27
游戏群组:https://rpg.blue/forum.php?mod=group&fid=565在这里你可以看到我在制作游戏过程中分享的内容。
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

…あたしは天使なんかじゃないわ

梦石
0
星屑
2208
在线时间
4033 小时
注册时间
2010-10-4
帖子
10779

开拓者贵宾

2
发表于 2014-3-29 12:21:20 | 只看该作者
既然会用脚本就不要靠公共事件,用纯脚本解决吧
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-25 07:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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