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

Project1

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

[RMXP发布] 等值交换系统

[复制链接]

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-2-13
帖子
126
跳转到指定楼层
1
发表于 2015-2-22 16:22:41 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 布冷.逆天 于 2015-2-22 20:14 编辑

使用方法忘写进去了,现在写


RUBY 代码复制
  1. =begin
  2. 作者:布冷.逆天
  3. 医院系统:一分钱一分货给多少钱就加多少血!
  4. 使用方法:事件—脚本—输入
  5. 加血=Hospital_System.new
  6. 加血.用钱加血
  7. =end
  8. class Hospital_System
  9.   def 用钱加血
  10.     add_hp = 1000  # 预设最大加血量
  11.     add_hp = [add_hp, $game_party.actors[0].maxhp -  $game_party.actors[0].hp].min
  12.     if $game_party.gold < add_hp or $game_party.actors[0].maxhp == $game_party.actors[0].hp
  13.       tip = $game_party.gold < add_hp ? "金钱不够!" : "你已经满血了"
  14.       p tip
  15.       return
  16.     end
  17.     $game_party.actors[0].hp += add_hp
  18.     $game_party.lose_gold -= add_hp
  19.    end
  20. end

本系统还有很大的提升空间,正在写中,估计等下就写好一个了!

Lv1.梦旅人

梦石
0
星屑
65
在线时间
232 小时
注册时间
2014-8-1
帖子
144

开拓者

14
发表于 2015-2-24 01:48:25 | 只看该作者
952193683 发表于 2015-2-23 15:32
有啥用?

买药不就得了?
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
65
在线时间
232 小时
注册时间
2014-8-1
帖子
144

开拓者

13
发表于 2015-2-23 15:32:08 | 只看该作者
有啥用?{:2_257:}

点评

给新手学习 这个脚本把钱变成近乎万能的了!  发表于 2015-2-23 15:38
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-2-13
帖子
126
12
 楼主| 发表于 2015-2-22 19:27:44 | 只看该作者
本帖最后由 布冷.逆天 于 2015-2-22 19:28 编辑
taroxd 发表于 2015-2-22 19:05
大概就这样?
  1. module EquivalentSystem

  2.   DEFAULT_MAX_GOLD = 1000

  3.   def self.call(max_gold = DEFAULT_MAX_GOLD)
  4.     gold_paid = [$game_party.gold, max_gold].min
  5.     $game_party.lose_gold(gold_paid)
  6.     yield gold_paid
  7.   end

  8.   def self.add_hp
  9.     actor = $game_party.actors.first#队伍的第一个人
  10.     call(actor.maxhp - actor.hp) { |v| actor.hp += v } if actor
  11.   end

  12.   def self.add_int
  13.     actor = $game_party.actors.first
  14.     call(actor.maxsp - actor.int){ |v| actor.int += v } if actor
  15. end
复制代码
看懂了一点,其他类型看不懂,怎么调用啊!
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

11
发表于 2015-2-22 19:05:57 | 只看该作者
本帖最后由 taroxd 于 2015-2-22 19:16 编辑
布冷.逆天 发表于 2015-2-22 18:44
非常感谢,这样RMVA也能用了!
不过是替换原来的,还是新增!
呵呵,我不会用! ...


大概就这样?

RUBY 代码复制
  1. module EquivalentSystem
  2.  
  3.   DEFAULT_MAX_GOLD = 1000
  4.  
  5.   def self.call(max_gold = DEFAULT_MAX_GOLD)
  6.     gold_paid = [$game_party.gold, max_gold].min
  7.     $game_party.lose_gold(gold_paid)
  8.     yield gold_paid
  9.   end
  10.  
  11.   def self.add_hp
  12.     actor = $game_party.actors.first
  13.     call(actor.maxhp - actor.hp) { |v| actor.hp += v } if actor
  14.   end
  15.  
  16.   # etc...
  17. end

点评

你...欺负我  发表于 2015-2-22 19:17
call 就是个普普通通的方法名而已,你可以叫他 yield,invoke,apply 啥的都行……  发表于 2015-2-22 19:15
继承并替换  发表于 2015-2-22 19:15
别欺负新人!call方法听都听不懂,怎么用啊,java的又不能移植  发表于 2015-2-22 19:12
其实没必要加啊。直接用 call 方法又不麻烦  发表于 2015-2-22 19:10
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-2-13
帖子
126
10
 楼主| 发表于 2015-2-22 18:44:43 | 只看该作者
taroxd 发表于 2015-2-22 18:35
想要通用化的话,还是这种接口比较好吧


非常感谢,这样RMVA也能用了!
不过是替换原来的,还是新增!
呵呵,我不会用!

点评

不会!给个例子呗  发表于 2015-2-22 18:51
……我说的是「接口」  发表于 2015-2-22 18:49
回复 支持 反对

使用道具 举报

Lv3.寻梦者 (版主)

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

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

开拓者贵宾

9
发表于 2015-2-22 18:35:18 | 只看该作者
本帖最后由 taroxd 于 2015-2-22 18:36 编辑
布冷.逆天 发表于 2015-2-22 18:25
新版,增加成功提示



想要通用化的话,还是这种接口比较好吧
  1. # max_gold: 消耗金钱的最大值
  2. # gold_paid: 支付的金钱
  3. EquivalentSystem.call(max_gold) do |gold_paid|
  4.   $game_party.actors.first.hp += gold_paid
  5. end
复制代码
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-2-13
帖子
126
8
 楼主| 发表于 2015-2-22 18:32:19 | 只看该作者
以后就不在这里发布最新版了!转帖:https://rpg.blue/thread-376813-1-1.html
到时大家在这里面看就行了!
不过只有新手需要吧!
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
37 小时
注册时间
2015-2-13
帖子
126
7
 楼主| 发表于 2015-2-22 18:25:29 | 只看该作者
新版,增加成功提示
  1. =begin
  2. 作者:一位不想透露名字的人和布冷.逆天
  3. 等值系统:脑洞大开的作品,第一个医院系统为前面的一位不想透露名字的人与我一起做的,他占90%,其余自己做的,当然有人帮忙的了!
  4. 别名:万能的钱
  5. 版本v0.5
  6. =end
  7. class Equivalent_system
  8. =begin
  9. 医院系统:一分钱一分货给多少钱就加多少血!
  10. 使用方法:事件—脚本—输入
  11. 加血=Equivalent_system.new
  12. 加血.Add_hp
  13. =end
  14.   def Add_hp
  15.     add_hp = 1000  # 预设最大加血量
  16.     add_hp = [add_hp, $game_party.actors[0].maxhp -  $game_party.actors[0].hp].min
  17.     if $game_party.gold < add_hp or $game_party.actors[0].maxhp == $game_party.actors[0].hp
  18.       tip = $game_party.gold < add_hp ? "金钱不够!" : "你已经满血了"
  19.       p tip
  20.       return
  21.     end
  22.     $game_party.actors[0].hp += add_hp
  23.     $game_party.lose_gold -= add_hp
  24.    p "交换完成!"
  25.   end
  26. end
  27. =begin
  28. 钱换经验系统
  29. 使用方法:事件—脚本—输入
  30. 加经验=Equivalent_system.new
  31. 加经验.Add_exe
  32. =end
  33. def Add_exe
  34.    add_exp = 1000#设置增加的经验数
  35.   if $game_party.gold < add_exp
  36.    p "钱不够"
  37.   else
  38.    $game_party.actors[0].exp += add_exp
  39.    $game_party.lose_gold(add_exp)
  40.   p "交换完成!"
  41.   end
  42. end
  43. =begin
  44. 钱换等级系统:100换1级
  45. 使用方法:事件—脚本—输入
  46. 加等级=Equivalent_system.new
  47. 加等级.Add_level
  48. =end
  49. def Add_level
  50.    add_level=1#设置增加的等级数
  51.   if $game_party.gold < add_level
  52.     p "钱不够"
  53.   else
  54.    $game_party.actors[0].level += add_level
  55.    $game_party.lose_gold(100)#设置钱数
  56.   p "交换完成!"
  57.   end
  58. end  
  59. =begin
  60. 钱换血的最大量
  61. 使用方法:你懂得
  62. =end
  63. def Add_maxhp
  64.     add_maxhp = 100#预设最大增加的最大量
  65.   if $game_party.gold < add_maxhp
  66.       p "金钱不够!"
  67.     else
  68.     $game_party.actors[0].maxhp += add_maxhp
  69.     $game_party.lose_gold(add_maxhp )
  70.   p "交换完成!"
  71.   end
  72. end
  73. =begin
  74. 钱换魔的最大量
  75. 使用方法:呵呵!
  76. =end
  77. def Add_maxsp
  78.     add_maxsp=100
  79.   if $game_party.gold < add_maxsp
  80.       p "金钱不够!"
  81.     else
  82.     $game_party.actors[0].maxsp += add_maxsp
  83.     $game_party.lose_gold(add_maxsp )
  84.    p "交换完成!"
  85.   end  
  86. end
复制代码
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
1803
在线时间
133 小时
注册时间
2013-10-6
帖子
193
6
发表于 2015-2-22 18:24:51 | 只看该作者
新版建议直接利用编辑帖子功能进行更新,刷楼不太好吧
另外最好还是利用事件实现
←你看到一只经常潜水的萌新。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-21 23:16

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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