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

Project1

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

[已经解决] 如何设置金钱上限随等级改变而改变?【修改后】

 关闭 [复制链接]
头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
136 小时
注册时间
2011-8-15
帖子
321
跳转到指定楼层
1
发表于 2011-10-7 13:19:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

Lv1.梦旅人

梦石
0
星屑
140
在线时间
0 小时
注册时间
2011-10-7
帖子
4
2
发表于 2011-10-7 13:29:17 | 只看该作者
诶,志同道合诶,我也玩暗黑,不过版规好像不让这样说什么“我玩XX游戏有XX功能……”,楼主,我也在找这个

点评

呵呵。。我没说我是仿暗黑啊,再读一遍我的问题~~  发表于 2011-10-7 13:32
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
3
发表于 2011-10-7 13:33:42 | 只看该作者
本帖最后由 Wind2010 于 2011-10-7 13:33 编辑

问题1:多个队员在队怎么办
问题2:没有队员在队怎么办

点评

2、没有队员在队?不大可能吧!自己呢?好吧,就算是没有队员在对,就默认为最高上限~一旦回到有人在队时,金钱多出来的消失~~  发表于 2011-10-7 13:37
这个当然是,取最高等级为标准~~  发表于 2011-10-7 13:35

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
140
在线时间
0 小时
注册时间
2011-10-7
帖子
4
4
发表于 2011-10-7 13:37:09 | 只看该作者
额,不好依稀,看错了,研究一下
回复

使用道具 举报

Lv1.梦旅人

虱子

梦石
0
星屑
121
在线时间
1782 小时
注册时间
2010-6-19
帖子
3597
5
发表于 2011-10-7 13:47:14 | 只看该作者
  1. class Game_Party
  2.   alias louse_gain_gold_23333 gain_gold unless defined?(louse_gain_gold_23333)
  3.   alias louse_add_actor_23333 add_actor unless defined?(louse_add_actor_23333)
  4.   alias louse_remove_actor_23333 remove_actor unless defined?(louse_remove_actor_23333)
  5.   def add_actor(actor_id)
  6.     louse_add_actor_23333(actor_id)
  7.     change_gold_23333
  8.   end
  9.   def remove_actor(actor_id)
  10.     louse_remove_actor_23333(actor_id)
  11.     change_gold_23333
  12.   end
  13.   def gain_gold(n)
  14.     louse_gain_gold_23333(n)
  15.     change_gold_23333
  16.   end
  17.   def change_gold_23333
  18.     max_lv = 0
  19.     for i in @actors
  20.       max_lv = @actors.level if @actors.level > max_lv
  21.     end
  22.     break if max_lv==0
  23.     @gold = [@gold,max_lv*(max_lv+2000)].min # 这段是公式
  24.   end
  25. end
复制代码

点评

这也太潇洒哦~就没个解释什么的?~~~  发表于 2011-10-7 13:57

http://rpg.blue/thread-175056-1-2.html
PVZ型塔防物一个
http://rpg.blue/thread-155199-1-2.html
RMXP技术讨论区手动认可帖,得到答案请认可
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
55
在线时间
157 小时
注册时间
2011-7-17
帖子
128
6
发表于 2011-10-7 13:47:24 | 只看该作者
本帖最后由 竹轩轩 于 2011-10-7 15:34 编辑

我认为用变量控制比较好。
G上限变量版.rar (186.76 KB, 下载次数: 25) 等级版2.rar (188.51 KB, 下载次数: 17)
好了,用了脚本触发公共事件来刷新钱数和检测等级


点评

1、等级版:人物的等级突然降低时,金钱上限不会随着降低~(不知能不能修改,能修改最好了) 2、变量版:很好耶~但和等级没有什么关系~  发表于 2011-10-7 14:16

评分

参与人数 1星屑 +4 收起 理由
77777741 + 4 变量版很好啊~今天就剩这么多了,明天再给~.

查看全部评分

在那遥远的地方——有一只小猫
这里没有字→
相信我吧。
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
46 小时
注册时间
2011-10-7
帖子
95
7
发表于 2011-10-7 19:02:34 | 只看该作者
本帖最后由 我不是字母君 于 2011-10-8 09:29 编辑

我懒得说明了。看这个范例吧,注意在开始地图中一定要放上那个左上角的事件。以后就不用继续放了。
那个“每级增加的金钱上限”意思是:
如果每级增加的金钱上限是9999
那么1级最多可以携带9999钱,99级可以携带99×9999钱。
刚刚赶工弄了个解决方案2,可以显示钱拿不下的提示。降级时候上限会减少。用公共事件做的

解决方案.7z

176.97 KB, 下载次数: 19

解决方案2.7z

177.11 KB, 下载次数: 23

点评

人物退化等级后,金钱上限也随着降低么?  发表于 2011-10-7 22:26
今天太晚了。。明天再细细看~~,不过看起来确实不错(⊙o⊙)哦~·  发表于 2011-10-7 22:25
我是傻逼
回复

使用道具 举报

头像被屏蔽

Lv1.梦旅人 (禁止发言)

梦石
0
星屑
50
在线时间
136 小时
注册时间
2011-8-15
帖子
321
8
 楼主| 发表于 2011-10-7 22:34:42 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

Lv2.观梦者

梦石
0
星屑
280
在线时间
1374 小时
注册时间
2005-10-16
帖子
5113

贵宾

9
发表于 2011-10-8 09:54:52 | 只看该作者
本帖最后由 亿万星辰 于 2011-10-8 09:55 编辑

  1. Class Game_Party
  2.   #--------------------------------------------------------------------------
  3.   # ● 加入同伴
  4.   #     actor_id : 角色 ID
  5.   #--------------------------------------------------------------------------
  6.   def add_actor(actor_id)
  7.     # 获取角色
  8.     actor = $game_actors[actor_id]
  9.     # 同伴人数未满 4 人、本角色不在队伍中的情况下
  10.     if @actors.size < 4 and not @actors.include?(actor)
  11.       # 添加角色
  12.       @actors.push(actor)
  13.       # 还原主角
  14.       $game_player.refresh
  15.     end
  16.     check_gold
  17.   end
  18.   #--------------------------------------------------------------------------
  19.   # ● 角色离开
  20.   #     actor_id : 角色 ID
  21.   #--------------------------------------------------------------------------
  22.   def remove_actor(actor_id)
  23.     # 删除角色
  24.     @actors.delete($game_actors[actor_id])
  25.     # 还原主角
  26.     $game_player.refresh
  27.     check_gold
  28.   end
  29.   #--------------------------------------------------------------------------
  30.   # ● 检查
  31.   #--------------------------------------------------------------------------
  32.   def check_gold
  33.     return if @actors.empty?
  34.     maxlevel = @actors.sort{|a,b|b.level - a.level}[0].level
  35.     @gold = [@gold, maxlevel * (maxlevel * 2000)].min
  36.   end
  37.   #--------------------------------------------------------------------------
  38.   # ● 增加金钱 (减少)
  39.   #     n : 金额
  40.   #--------------------------------------------------------------------------
  41.   def gain_gold(n)
  42.     @gold = [[@gold + n, 0].max, 9999999].min
  43.     check_gold
  44.   end
  45. end
  46. class Game_Actor
  47.   #--------------------------------------------------------------------------
  48.   # ● 更改 EXP
  49.   #     exp : 新的 EXP
  50.   #--------------------------------------------------------------------------
  51.   def exp=(exp)
  52.     @exp = [[exp, 9999999].min, 0].max
  53.     # 升级
  54.     while @exp >= @exp_list[@level+1] and @exp_list[@level+1] > 0
  55.       @level += 1
  56.       # 学会特技
  57.       for j in $data_classes[@class_id].learnings
  58.         if j.level == @level
  59.           learn_skill(j.skill_id)
  60.         end
  61.       end
  62.     end
  63.     # 降级
  64.     while @exp < @exp_list[@level]
  65.       @level -= 1
  66.     end
  67.     # 修正当前的 HP 与 SP 超过最大值
  68.     @hp = [@hp, self.maxhp].min
  69.     @sp = [@sp, self.maxsp].min
  70.     $game_party.check_gold
  71.   end
  72.   #--------------------------------------------------------------------------
  73.   # ● 更改等级
  74.   #     level : 新的等级
  75.   #--------------------------------------------------------------------------
  76.   def level=(level)
  77.     # 检查上下限
  78.     level = [[level, $data_actors[@actor_id].final_level].min, 1].max
  79.     # 更改 EXP
  80.     self.exp = @exp_list[level]
  81.     $game_party.check_gold
  82.   end
  83. end
复制代码
忙里偷闲过来写了一个,没测试~
至于提示,在得到金钱的事件操作中处理吧~
我只个搬答案的
叔叔我已经当爹了~
婚后闪人了……
回复

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
49
在线时间
46 小时
注册时间
2011-10-7
帖子
95
10
发表于 2011-10-8 11:30:02 | 只看该作者
本帖最后由 我不是字母君 于 2011-10-8 13:23 编辑

这的确是一个错误~只是事件不小心写错了本来是1号人物的地方写成全体同伴了
为积分拼命~~ 解决方案.7z (177.3 KB, 下载次数: 56)

本帖附件已经更新
又一次更新&&&&&本次更新加入皮袋,使用皮袋后增加1000金钱上限.另外:在maxgold=maxgold*1000处其实可以修改公式
比如说maxgold=maxgold*maxgold+100*maxgold能做成金钱上限=等级平方+100×等级的效果
比如说等级为1,改公式后金钱MAX为101
等级50,改公式后金钱MAX为7500

点评

新增要求~看看能不能实现!~  发表于 2011-10-8 12:51
呵呵。。300经验。。眼馋了吧~~马上测试!~~  发表于 2011-10-8 12:09

评分

参与人数 1星屑 +40 收起 理由
77777741 + 40 努力!不断修改,做到最好!

查看全部评分

我是傻逼
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-27 08:34

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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