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

Project1

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

[已经过期] 【悬赏】找人写个装备武器改变职业的脚本

[复制链接]

Lv4.逐梦者

世界坑化协会

梦石
0
星屑
8179
在线时间
1570 小时
注册时间
2007-3-13
帖子
5545

极短25参与极短23参与极短21参与开拓者贵宾第一届化妆舞会最佳服饰奖

跳转到指定楼层
1
发表于 2010-6-17 16:07:38 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
悬赏价格可以商量,具体是:

无装备时职业为“无业” ; 装备剑类时职业为“战士”  以此类推。 判断条件可以为武器属性 或者备注。
你的肩膀上有肩周炎~♪  秒懂  ☚   \没有

Lv1.梦旅人

梦石
0
星屑
55
在线时间
174 小时
注册时间
2008-9-17
帖子
387
41
发表于 2010-6-19 17:48:07 | 只看该作者

  1. #-------------------------------------------------------
  2. # 2010-6-19
  3. # 说明
  4. # $g_weapon_class 中存放 武器与职业 的对应关系
  5. # 第一个数是职业id,另一个是武器id
  6. # 例: 1号武器对应1号职业,2号武器对应3号职业
  7. # $g_weapon_class = {1=>1, 2=>2}
  8. # 注意:每个武器只能对应一种职业,即不能出现 1=>1, 2=>1 的情况
  9. # 若 $g_bForgetSkills = true 则换武器后遗忘原有技能,为false则不会
  10. # 若 $g_bLearnSkills = true 则换武器后学习有技能,为false则不会

  11. #-------------------------------------------------------
  12. # 定义哈希表,用以存储与武器对应的职业编号
  13. $g_weapon_class = {1=>1}

  14. # 定义无职业的id号
  15. $noClass = 9

  16. # 定义布尔变量,用以判断是否遗忘原有职业技能
  17. $g_bForgetSkills = true
  18. $g_bLearnSkills = true

  19. #--------------------------------------------------------

  20. # 重定义装备数据显示界面(未实现)

  21. # 重定义装备道具部分
  22. class Game_Actor < Game_Battler
  23.   def change_equip(equip_type, item, test = false)
  24.     last_item = equips[equip_type]
  25.     unless test
  26.       return if $game_party.item_number(item) == 0 if item != nil
  27.       $game_party.gain_item(last_item, 1)
  28.       $game_party.lose_item(item, 1)
  29.     end
  30.     item_id = item == nil ? 0 : item.id
  31.     case equip_type
  32.     when 0  # 武器
  33.       @weapon_id = item_id
  34.       unless two_hands_legal?             # 非双手装备的场合,自动卸下装备
  35.         change_equip(1, nil, test)
  36.       end
  37.       
  38.       # 遗忘原职业技能
  39.       if $g_bForgetSkills
  40.         for i in self.class.learnings
  41.           forget_skill(i.skill_id) if i.level <= @level
  42.         end
  43.       end
  44.       
  45.       # 变更职业
  46.       @newClassID = $g_weapon_class.index(item_id)
  47.       if @newClassID == nil
  48.         @class_id = $noClass
  49.       else
  50.         @class_id = @newClassID
  51.       end
  52.       
  53.       # 习得新职业技能
  54.       if $g_bLearnSkills
  55.         for i in self.class.learnings
  56.           learn_skill(i.skill_id) if i.level <= @level
  57.         end
  58.       end

  59.     when 1  # 盾
  60.       @armor1_id = item_id
  61.       unless two_hands_legal?             # 非双手装备的场合,自动卸下装备
  62.         change_equip(0, nil, test)
  63.       end
  64.     when 2  # 头部防具
  65.       @armor2_id = item_id
  66.     when 3  # 身体防具
  67.       @armor3_id = item_id
  68.     when 4  # 装饰品
  69.       @armor4_id = item_id
  70.     end
  71.   end
  72. end
复制代码
写了一个比较简单的...{:nm_3:}


欢迎来到我的空间【我的空间】
回复 支持 反对

使用道具 举报

Lv4.逐梦者

世界坑化协会

梦石
0
星屑
8179
在线时间
1570 小时
注册时间
2007-3-13
帖子
5545

极短25参与极短23参与极短21参与开拓者贵宾第一届化妆舞会最佳服饰奖

40
 楼主| 发表于 2010-6-19 14:40:36 | 只看该作者
这个……怎么结贴?

点评

显然DZ论坛没有结贴这个功能……不过VX区置顶有个人工认可贴= =  发表于 2010-6-19 14:49
你的肩膀上有肩周炎~♪  秒懂  ☚   \没有
回复 支持 反对

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
1 小时
注册时间
2010-6-17
帖子
67
39
发表于 2010-6-19 13:31:32 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
38
发表于 2010-6-19 13:13:01 | 只看该作者
回复 v2sam 的帖子
bug2解决办法:game_actor页630行
for i in 0..4     # 除去不可用的装备
改成for i in 1..4
bug原因:这个方法和我写的语句里的class_id=方法互相调用,陷入死循环
第一个bug……为什么要通过脚本解决?直接设置主角初始职业和武器职业匹配不就好了么

   
回复 支持 反对

使用道具 举报

Lv4.逐梦者

世界坑化协会

梦石
0
星屑
8179
在线时间
1570 小时
注册时间
2007-3-13
帖子
5545

极短25参与极短23参与极短21参与开拓者贵宾第一届化妆舞会最佳服饰奖

37
 楼主| 发表于 2010-6-19 13:01:02 | 只看该作者
嗯……这个BUG还有许多……

BUG1:如果角色默认装备了一个武器,该武器指定的职业无用。

BUG2:如果角色把所有武器卸下(或指向一个空白),就会出错。
你的肩膀上有肩周炎~♪  秒懂  ☚   \没有
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
36
发表于 2010-6-19 12:10:08 | 只看该作者
回复 v2sam 的帖子
Project1.rar (246.64 KB, 下载次数: 26)

直接给你我昨天的测试用范例

脚本添加了两页,读取备注和武器附带技能,武器附带技能里我添加了那几行

游戏中那个npc会给一根棍棒,棍棒我设置了职业是牧师
回复 支持 反对

使用道具 举报

Lv4.逐梦者

世界坑化协会

梦石
0
星屑
8179
在线时间
1570 小时
注册时间
2007-3-13
帖子
5545

极短25参与极短23参与极短21参与开拓者贵宾第一届化妆舞会最佳服饰奖

35
 楼主| 发表于 2010-6-19 11:51:29 | 只看该作者
回复 darkdrium 的帖子

依然没有效果= =|||   可不可以给个完整的看看
   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
60
在线时间
1 小时
注册时间
2009-9-19
帖子
137
34
发表于 2010-6-18 22:28:49 | 只看该作者
回复 v2sam 的帖子
摊手,我测试了下,用沉影大大的读取备注脚本和武器改变技能脚本,加上我那5句就可以了
我用棒槌备注class=3,职业变成牧师


   
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
202
在线时间
498 小时
注册时间
2006-10-21
帖子
907
33
发表于 2010-6-18 22:27:08 | 只看该作者
其实得说清职业影响
是一换装备,就改变职业后,技能,能力都完全改变呢,还是改变职业后,升级时能学相应的技能,和相对应的能力提升。
从你前面描述的看,貌似第一种。

那就重定义下人物职业的属性吧,另外武器附加职业id和技能。这里也可以取消武器附加技能,而在换物器时附加个技能变化操作,忘记所有技能,学会对应职业等级的所有技能。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-2-16 23:14

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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