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

Project1

 找回密码
 注册会员
搜索
打印 上一主题 下一主题

如何实现买了东西自动使用

 关闭 [复制链接]

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3304
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

21
 楼主| 发表于 2008-7-3 02:10:41 | 只看该作者
以下引用诡异の猫于2008-7-2 18:07:29的发言:

我测试了没问题啊- -
但是又发现了一个问题.
错误信息给出来

如果买一个的话就没有错误信息了……
奇怪……突然又没错误信息了……本来还什么GAME什么的错误的……

不过话说这样的话直接是对第一个人使用了……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
22
发表于 2008-7-3 02:11:56 | 只看该作者
估计你方法名打错了- -
难道你还想指定对谁使用- -
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
23
发表于 2008-7-3 02:23:21 | 只看该作者
  1. # 使用说明(在事件中按一下操作)
  2. # 插入脚本:$game_party.get_items_num
  3. # 商店处理
  4. # 插入脚本:$game_party.auto_use_items

  5. class Game_Party < Game_Unit
  6.   # 获得当前物品数量数组
  7.   def get_items_num
  8.     @oin = []
  9.     for i in $game_party.items
  10.       @oin.push($game_party.item_number(i))
  11.     end
  12.   end
  13.   
  14.   # 自动使用物品
  15.   def auto_use_items
  16.     a = $game_party.items
  17.     for i in 0...a.size
  18.       b = $game_party.item_number(a[i])
  19.       c = @oin[i]
  20.       if c == nil
  21.         c = 0
  22.       end
  23.       if b != c
  24.         x = b - c
  25.         for j in 0...x
  26.           $game_party.members[0].item_effect($game_party.members[0],a[i])
  27.         end
  28.         $game_party.lose_item(a[i],x)
  29.       end
  30.     end
  31.   end
  32. end
复制代码

刚那个有一点漏洞.
用这个吧
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3304
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

24
 楼主| 发表于 2008-7-3 02:30:42 | 只看该作者
话说如果这个物品有恢复效果,
是不是如果HP和MP满的时候就不会使用了………|||
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
25
发表于 2008-7-3 02:37:41 | 只看该作者
依旧使用
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3304
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

26
 楼主| 发表于 2008-7-3 02:41:33 | 只看该作者
以下引用诡异の猫于2008-7-2 18:37:41的发言:

依旧使用


[本贴由作者于 2008-7-2 18:37:53 最后编辑]

那为什么没有效果啊……
我用了一个给物品增加一个给人物增加经验的脚本,但是这个就是当作经验食品在饭店卖的。结果自动使用后经验似乎只有第一次加了。
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
27
发表于 2008-7-3 02:46:02 | 只看该作者
我测试了不会啊.
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3304
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

28
 楼主| 发表于 2008-7-3 02:54:14 | 只看该作者
以下引用诡异の猫于2008-7-2 18:46:02的发言:

我测试了不会啊.

多买几次……
经验是这个脚本:
  1. module RPG
  2.   class Item < UsableItem
  3.     def name
  4.       name = @name.split(/,/)[0]
  5.       return name != nil ? name : ''
  6.     end
  7.     def i_iexp
  8.       i_iexp = @name.split(/,/)[1]
  9.       return i_iexp != nil ? i_iexp.to_i : 0
  10.     end
  11.   end
  12. end
  13. #==============================================================================
  14. # ■ Game_Battler
  15. #------------------------------------------------------------------------------
  16. #  处理战斗者的类。这个类作为 Game_Actor 类与 Game_Enemy 类的
  17. # 超级类来使用。
  18. #==============================================================================

  19. class Game_Battler
  20.   #--------------------------------------------------------------------------
  21.   # ● 发动物品效果
  22.   #     user : 物品使用者
  23.   #     item : 物品
  24.   #--------------------------------------------------------------------------
  25.   def item_effect(user, item)
  26.     clear_action_results
  27.     unless item_effective?(user, item)
  28.       @skipped = true
  29.       return
  30.     end
  31.     if rand(100) >= calc_hit(user, item)          # 计算命中率
  32.       @missed = true
  33.       return
  34.     end
  35.     if rand(100) < calc_eva(user, item)           # 计算闪躲率
  36.       @evaded = true
  37.       return
  38.     end
  39.     hp_recovery = calc_hp_recovery(user, item)    # 计算体力回复量
  40.     mp_recovery = calc_mp_recovery(user, item)    # 计算魔力回复量
  41.     make_obj_damage_value(user, item)             # 计算伤害
  42.     @hp_damage -= hp_recovery                     # 体力伤害减去回复量
  43.     @mp_damage -= mp_recovery                     # 魔力伤害减去回复量
  44.     make_obj_absorb_effect(user, item)            # 计算吸收效果
  45.     execute_damage(user)                          # 伤害效果
  46.     item_growth_effect(user, item)                # 能力值提升效果
  47.     if item.physical_attack and @hp_damage == 0   # 判断是否物理伤害
  48.       return                                    
  49.     end
  50.     apply_state_changes(item)                     # 增减状态
  51.     gain_exp = item.i_iexp
  52.     #self.exp += gain_exp
  53.     user.change_exp(user.exp+gain_exp,true)
  54.    
  55.   end
  56. end
复制代码

物品名后加“,经验数值”……
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
466 小时
注册时间
2006-2-25
帖子
1863
29
发表于 2008-7-3 04:20:25 | 只看该作者
哦..对..
hp满了item_effective?是false的..
所以hp满了物品没作用效果.
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (暗夜天使)

名侦探小柯

梦石
0
星屑
3304
在线时间
3619 小时
注册时间
2006-9-6
帖子
37400

开拓者贵宾第3届短篇游戏大赛主流游戏组亚军第5届短篇游戏比赛亚军

30
 楼主| 发表于 2008-7-3 04:21:01 | 只看该作者
以下引用诡异の猫于2008-7-2 20:20:25的发言:

哦..对..
hp满了item_effective?是false的..
所以hp满了物品没作用效果.

那么怎么办……||
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-12-27 10:23

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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