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

Project1

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

[已经解决] 如何使每升1级,增加"固定数量"的一个物品(与主角数量无关)

 关闭 [复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
跳转到指定楼层
1
发表于 2011-11-18 20:55:34 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
class Game_Actor < Game_Battler
  def level_up
    @level += 1


$game_party.gain_item($data_items[1], 2)


在脚本中加了上面这一句。本来想升一级增加2个1号物品。
但是1个主角是2个物品
    2个主角却变成了4个?
想说希望无论几个主角都只是两个物品,要如何修改呢??

Lv1.梦旅人

梦石
0
星屑
56
在线时间
342 小时
注册时间
2011-10-29
帖子
368
2
发表于 2011-11-18 21:14:35 | 只看该作者
把脚本相互替换...
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
3
 楼主| 发表于 2011-11-18 21:39:45 | 只看该作者
创造达人 发表于 2011-11-18 21:14
把脚本相互替换...

什么脚本 替换??

$game_party.gain_item($data_items[1], 2)

  @level += 1
这样吗?? 好像 效果还是 一样的~~~
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
448
在线时间
628 小时
注册时间
2011-9-27
帖子
3996
4
发表于 2011-11-18 22:19:42 | 只看该作者
本帖最后由 小白玩家 于 2011-11-18 22:21 编辑

肯定与角色数量有关啊,你是设定升一级加2个
如果你设定角色1升1级+2个就可以了吗,我不知道怎么写脚本哦,飘过
回复

使用道具 举报

Lv1.梦旅人

小黑

梦石
0
星屑
50
在线时间
140 小时
注册时间
2011-8-23
帖子
536
5
发表于 2011-11-19 13:47:54 | 只看该作者
这个还是用事件最好不过了,容易。
带入变量之后不等于。加一。
起码对得起自己。
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

6
发表于 2011-11-19 18:56:03 | 只看该作者
  1. #==============================================================================
  2. # ■ Game_Party
  3. #------------------------------------------------------------------------------
  4. #  处理同伴的类。包含金钱以及物品的信息。本类的实例请参考 $game_party。
  5. #==============================================================================

  6. class Game_Party < Game_Unit
  7.   attr_accessor :highest_level
  8.   alias get_item_level_up_initialize initialize
  9.   #--------------------------------------------------------------------------
  10.   # ● 初始化对像
  11.   #--------------------------------------------------------------------------
  12.   def initialize
  13.     get_item_level_up_initialize
  14.     get_highest_actor_level
  15.   end
  16.   #--------------------------------------------------------------------------
  17.   # ● 获取最高角色的等级
  18.   #--------------------------------------------------------------------------
  19.   def get_highest_actor_level
  20.     @highest_level = 1
  21.     for member in members
  22.       if member.level > @highest_level
  23.         @highest_level = member.level
  24.       end
  25.     end
  26.   end
  27. end
  28. #==============================================================================
  29. # ■ Game_Actor
  30. #------------------------------------------------------------------------------
  31. #  处理角色的类。本类在 Game_Actors 类 ($game_actors) 的内部使用、
  32. # Game_Party 类请参考 ($game_party) 。
  33. #==============================================================================

  34. class Game_Actor < Game_Battler
  35.   alias get_item_level_up level_up
  36.   #--------------------------------------------------------------------------
  37.   # ● 升级
  38.   #--------------------------------------------------------------------------
  39.   def level_up
  40.     get_item_level_up
  41.     while @level > $game_party.highest_level
  42.       $game_party.gain_item($data_items[1], 2)
  43.       $game_party.highest_level += 1
  44.     end
  45.   end
  46. end
复制代码
直接插Main上头。把第44行的1换成你想要的道具ID。
具体自己看语句吧。有点不好说。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
7
 楼主| 发表于 2011-11-20 10:01:07 | 只看该作者
feizhaodan 发表于 2011-11-19 18:56
直接插Main上头。把第44行的1换成你想要的道具ID。
具体自己看语句吧。有点不好说。 ...

十分感谢,
我试了一下,基本上能实现,不够有个  bug ,就是 当 加入一个 等级高的队友时, 指定物品直接变为这个高等级队友的 倍数。

比如 1级主角A 升一级得到 2个物品X
当加入 一个40级 主角B 升一级 则得到 80个物品,再生第二级时才再加上2,但是如果主角B离开后,1级主角再升一级已经无法得到 物品X
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

8
发表于 2011-11-20 11:45:14 | 只看该作者
yanglibin0409 发表于 2011-11-20 10:01
十分感谢,
我试了一下,基本上能实现,不够有个  bug ,就是 当 加入一个 等级高的队友时, 指定物品直 ...

就是这样的。
最高等级X2的物品数量。最多99X2 = 198个
或者是指定一个角色,根据他来获得物品。
选一个吧,我来做。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
211 小时
注册时间
2010-12-30
帖子
85
9
 楼主| 发表于 2011-11-20 12:16:09 | 只看该作者
feizhaodan 发表于 2011-11-20 11:45
就是这样的。
最高等级X2的物品数量。最多99X2 = 198个
或者是指定一个角色,根据他来获得物品。

太感谢啦!!!
第二个吧,不过我的游戏 第一主角有四个(四选一那种)可否做到 指定这四个人中的任何一个?
最好不是$game_party.members[0]了……
回复

使用道具 举报

Lv1.梦旅人

Mr.Gandum

梦石
0
星屑
226
在线时间
2070 小时
注册时间
2007-1-31
帖子
3039

贵宾

10
发表于 2011-11-20 17:31:47 | 只看该作者
  1. #==============================================================================
  2. # ■ Game_Actor
  3. #------------------------------------------------------------------------------
  4. #  处理角色的类。本类在 Game_Actors 类 ($game_actors) 的内部使用、
  5. # Game_Party 类请参考 ($game_party) 。
  6. #==============================================================================

  7. class Game_Actor < Game_Battler
  8.   ACTOR_ID_VAR_ID = 5
  9.   alias get_item_level_up level_up
  10.   #--------------------------------------------------------------------------
  11.   # ● 升级
  12.   #--------------------------------------------------------------------------
  13.   def level_up
  14.     get_item_level_up
  15.     if @actor_id == $game_variables[ACTOR_ID_VAR_ID]
  16.       $game_party.gain_item($data_items[1], 2)
  17.     end
  18.   end
  19. end
复制代码
第九行的5改成一个未使用的变量ID,之后把玩家选择的角色ID代入到这个变量。
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2025-1-2 06:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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